Optimized filter parameters design for digital IF programmable downconverter
The present invention discloses a method for finding an optimized filter parameters design to meet input specifications and hardware constraints in accordance with a typical single channel digital IF programmable downconverter. Said typical single channel digital IF programmable downconverter comprises four stages, including a high speed down-sampling stage, a spectral shaping stage, a rate matching stage and an oversampling stage. According to input specifications, said method firstly determines a number of Halfband interpolation filters used in said oversampling stage, secondly obtains optimized parameters for a CIC decimation filter and a Halfband decimation filter in said high speed down-sampling stage, using as many Halfband decimation filters as possible. Then determine if it is necessary to use re-sampling FIR filter for rate matching. Finally, use various function window to design programmable FIR filter for spectral shaping, obtains an overall synthesized spectral response which meets input specifications.
1. A method for finding an optimized filter parameters design for a digital IF programmable downconverter, comprises the following steps:
(1) receiving an input specification, said input specification comprising an input signal sampling rate, an input data rate, an oversampling factor R, an available number of Halfband decimation filters, a passband frequency, a stopband frequency, a passband ripple, a stopband attenuation and a optimal filter parameter satisfying said input specification;
(2) determining if said oversampling factor R is equal to 1;
(3) obtaining an largest available number nHB of Halfband decimation filters and setting an initial value of nHB equal to a total of Halfband decimation filters;
(4) obtaining an largest available first number of Halfband decimation filters satisfying said input specification and determining if re-sampling FIR filter is necessary;
(5) obtaining an optimized combination of Halfband decimation filters satisfying said input specification;
(6) obtaining a total n of window function for designing filters;
(7) obtaining a window function index j and setting said windows function index to 1; and
(8) obtaining a programmable FIR filter satisfying said input specification.
2. The method of claim 1 , wherein the step (4) further comprises the following steps:
A: estimating a decimation factor M based on said largest available number nHB of Halfband decimation filters and obtaining a minimum decimation factor M CIC,min of CIC decimation filter;
B: determining if said minimum decimation factor M CIC,min of CIC decimation filter is equal to said decimation factor M; and
C: obtaining a decimation factor threshold M V of CIC decimation filter and determining if said minimum decimation factor M CIC,min of CIC decimation filter is larger or equal to said decimation factor threshold M V of CIC decimation filter.
3. The method of claim 2 , wherein in step C if M CIC,min is less than M V , subtracting 1 from said largest available number nHB of Halfband decimation filters and determining if said nHB is larger or equal to O.
4. The method of claim 2 , wherein said decimation factor M obtained from said largest available number nHB of Halfband decimation filters is further obtained by dividing said input signal sampling rate by twice said input data rate, then divided by a decimation factor M nHB of Halfband decimation filter having said largest available number nHB, wherein MnHB=2 nHB .
5. The method of claim 2 , wherein said minimum decimation factor M CIC,min of CIC decimation filter is less than or equal to a positive integer of said decimation factor M obtained from said largest available number nHB of Halfband decimation filter.
6. The method of claim 1 , wherein the step (5) further comprises the following steps:
A: estimating a decimation factor M 1 based on a combination number nHB,i of Halfband decimation filters having a priority index i and obtaining a decimation factor M CIC of CIC decimation filter;
B: obtaining a combination threshold M ORF of Halfband decimation filters having said priority index i; and
C: determining if said decimation factor M CIC of CIC decimation filter is larger or equal to said combination threshold M ORF of Halfband decimation filters having said priority index i.
7. The method of claim 6 , wherein if step C is true, then determining if said decimation factor M CIC of CIC decimation filter is equal to said decimation factor M 1 .
8. The method of claim 6 , wherein said decimation factor M 1 obtained from said combination number nHB,i of Halfband decimation filters having a priority index I is further obtained from dividing said input signal sampling rate by twice said input data rate, then divided by said decimation factor M nHB,i of Halfband decimation filter having said combination number nHB,i of Halfband decimation filters and said priority index i, wherein M nHB,i =2 nHB,i .
9. The method of claim 6 , wherein said decimation factor M CIC is less than or equal to a largest positive integer of said decimation factor M 1 obtained from said combination number nHB,i of Halfband decimation filter having said priority index i.
10. The method of claim 1 , wherein the step (8) generating a coefficient of said programmable FIR filter based on said window function of window function index j and determining if a synthesized frequency response of said digital IF programmable down-converter satisfying said input specification.
11. The method of claim 10 , wherein if said synthesized frequency response is not satisfying said input specification, add 1 to said window function index j and determine if said window function index j is greater than said total n of window function.
12. A method for finding an optimized filter parameters design for a digital IF programmable downconverter, comprises the following steps:
(1) receiving an input specification, said input specification comprising an input signal sampling rate, an input data rate, an oversampling factor R, an available number of Halfband decimation filters, a passband frequency, a stopband frequency, a passband ripple, a stopband attenuation and a optimal filter parameter satisfying said input specification;
(2) determining if said oversampling factor R is equal to 1;
(3) obtaining an largest available number nHB of Halfband decimation filters and setting an initial value of nHB equal to a total of Halfband decimation filters;
(4) obtaining an largest available first number of Halfband decimation filters satisfying said input specification and determining if re-sampling FIR filter is necessary;
(5) obtaining an optimized combination of Halfband decimation filters satisfying said input specification;
(6) obtaining a total n of window function for designing filters;
(7) obtaining a window function index j and setting said windows function index to 1; and
(8) obtaining a programmable FIR filter satisfying said input specification; wherein the step (4) further comprises the following steps:
A: estimating a decimation factor M based on said largest available number nHB of Halfband decimation filters and obtaining a minimum decimation factor M CIC,min of CIC decimation filter;
B: determining if said minimum decimation factor M CIC,min of CIC decimation filter is equal to said decimation factor M; and
C: obtaining a decimation factor threshold M V of CIC decimation filter and determining if said minimum decimation factor M CIC,min of CIC decimation filter is larger or equal to said decimation factor threshold M V of CIC decimation filter; wherein the obtaining said decimation factor threshold M V of CIC decimation filter step further comprises the following steps:
(1) obtaining a total clock cycle CLK R of re-sampling FIR filters and Halfband interpolation filters based on an existing index q and a oversampling factor R, wherein
COK R =CLK res ×q+N L
(2) obtaining a threshold CLK TH of re-sampling FIR filters and Halfband interpolation filters by dividing said total clock cycle CLK R of re-sampling FIR filters and Halfband interpolation filters by said decimation factor M nHB of Halfband decimation filter having said largest available number nHB;
(3) estimating a minimum clock cycle CLK nHB,min of all combinations of Halfband decimation filter having said largest available number nHB by:
CLKnHB
,
mm
=
{
∑
i
=
1
nHB
(
TDi
-
3
4
+
2
)
/
2
i
1
,
nHB
>
0
1
,
nHB
=
0
;
(4) obtaining said decimation factor threshold M V of CIC decimation filter by determining a maximum between said threshold CLK TH of re-sampling FIR filters and Halfhand interpolation filters and said minimum clock cycle CLK nHB,min of all combinations of Halfband decimation filter having said largest available number nHB.
13. A method for finding an optimized filter parameters design for a digital IF programmable downconverter, comprises the following steps:
(1) receiving an input specification, said input specification comprising an input signal sampling rate, an input data rate, an oversampling factor R, an available number of Halfband decimation filters, a passband frequency, a stopband frequency, a passband ripple, a stopband attenuation and a optimal filter parameter satisfying said input specification;
(2) determining if said oversampling factor R is equal to 1;
(3) obtaining an largest available number nHB of Halfband decimation filters and setting an initial value of nHB equal to a total of Halfband decimation filters;
(4) obtaining an largest available first number of Halfband decimation filters satisfying said input specification and determining if re-sampling FIR filter is necessary;
(5) obtaining an optimized combination of Halfband decimation filters satisfying said input specification;
(6) obtaining a total n of window function for designing filters;
(7) obtaining a window function index j and setting said windows function index to 1; and
(8) obtaining a programmable FIR filter satisfying said input specification; wherein the step (5) further comprises the following steps:
A: estimating a decimation factor M 1 based on a combination number nHB,i of Halfband decimation filters having a priority index i and obtaining a decimation factor M CIC of CIC decimation filter;
B: obtaining a combination threshold M ORF of Halfband decimation filters having said priority index i; and
C: determining if said decimation factor M CIC of CIC decimation filter is larger or equal to said combination threshold M ORF of Halfband decimation filters having said priority index i; wherein said combination threshold M ORF of Halfband decimation filters having said priority index i is an overclock rate factor of said combinations of Halfband decimation filters having priority index i, said M ORF is obtained by:
M
ORF
=
∑
i
=
k
1
(
HBDFi
)
2
∑
j
=
k
1
HBDFj
(
TD
i
-
3
4
+
2
)
/
2
nHB
,
1