Chebyshev IIR filter sharpening implemented on FPGA - Telfor 2008
Chebyshev IIR filter sharpening implemented on FPGA - Telfor 2008
Chebyshev IIR filter sharpening implemented on FPGA - Telfor 2008
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
is 1:<br />
R ( x min ) = 1, R(1)<br />
= 1<br />
(4)<br />
The positi<strong>on</strong> of maximum can be found from<br />
2<br />
T r ( x max ) − k = 0<br />
(5)<br />
2 2<br />
ε − µε<br />
k = N D , µ = 2,3,4,... (6)<br />
2 2<br />
ε N ε D ( µ − 1)<br />
The ripple factor (the maximal variati<strong>on</strong> of the<br />
magnitude functi<strong>on</strong>)<br />
2<br />
2<br />
ε = R(<br />
xmax<br />
) − 1<br />
(7)<br />
becomes<br />
2<br />
2<br />
µ −1<br />
2 ε ⎛ ( 1) ⎞<br />
⎜ µ − ε<br />
ε = N N ⎟ − 1 (8)<br />
µ 2 ⎜ 2 2<br />
µ ε<br />
⎟<br />
D ⎝ ε N − ε D ⎠<br />
The c<strong>on</strong>stant k can be expressed as a functi<strong>on</strong> of ε N or<br />
ε D<br />
i = µ<br />
⎛ µ ⎞ 2i<br />
∑ ⎜ ⎟ε<br />
D<br />
i i<br />
k = 2 ⎝ ⎠<br />
(9)<br />
=<br />
i = µ<br />
2i<br />
⎛ µ ⎞ 2i<br />
( µ − 1) ε D ∑ ⎜ ⎟ε<br />
D<br />
i = 1 ⎝ i ⎠<br />
All roots of equati<strong>on</strong> (5) are real for 0 < ε D < 1 and<br />
µ > 2 , which provide the equiripple character of the<br />
magnitude functi<strong>on</strong>.<br />
The positi<strong>on</strong>s of the minima x min are not functi<strong>on</strong> of<br />
ε N or ε D . The positi<strong>on</strong>s of the maxima x max change<br />
slightly with µ and ε N or ε D . Therefore, the shape of<br />
the magnitude is practically the same for any µ and ε N<br />
or ε D for 0 ≤ x ≤ 1 . C<strong>on</strong>versely, the magnitude functi<strong>on</strong><br />
decreases 6 µ r dB/octave.<br />
The equiriple rati<strong>on</strong>al functi<strong>on</strong> can be used as<br />
approximating functi<strong>on</strong> for <str<strong>on</strong>g>filter</str<strong>on</strong>g> <str<strong>on</strong>g>sharpening</str<strong>on</strong>g> because it is<br />
based <strong>on</strong> processing the date µ times with the same startup<br />
<str<strong>on</strong>g>filter</str<strong>on</strong>g> (<str<strong>on</strong>g>Chebyshev</str<strong>on</strong>g> <str<strong>on</strong>g>filter</str<strong>on</strong>g>).<br />
III. DESIGN METHOD<br />
The simplest soluti<strong>on</strong> of <str<strong>on</strong>g>filter</str<strong>on</strong>g> <str<strong>on</strong>g>sharpening</str<strong>on</strong>g> is <str<strong>on</strong>g>filter</str<strong>on</strong>g>ing the<br />
data k times with the existing <str<strong>on</strong>g>filter</str<strong>on</strong>g>. If the original <str<strong>on</strong>g>filter</str<strong>on</strong>g>’s<br />
transfer functi<strong>on</strong> is H(z), then the new transfer functi<strong>on</strong> is<br />
(H(z)) k . The new <str<strong>on</strong>g>filter</str<strong>on</strong>g> has the same band edges and the<br />
minimum attenuati<strong>on</strong>, in decibels, is k times larger in the<br />
stopband. The drawback is that the passband ripple is also<br />
k times larger in decibels. This soluti<strong>on</strong> improves the<br />
stopband but degrades the passband.<br />
The <str<strong>on</strong>g>filter</str<strong>on</strong>g> <str<strong>on</strong>g>sharpening</str<strong>on</strong>g> of analog <str<strong>on</strong>g>filter</str<strong>on</strong>g>s [3] provides very<br />
low passband ripple and the Q factors of the dominant<br />
transfer-functi<strong>on</strong> pole pairs are reduced. An active RC<br />
<str<strong>on</strong>g>filter</str<strong>on</strong>g> cannot be efficiently <str<strong>on</strong>g>implemented</str<strong>on</strong>g> as a selective <str<strong>on</strong>g>filter</str<strong>on</strong>g><br />
with very high pole-Q factors, while multiple low-Q factor<br />
SOS <str<strong>on</strong>g>filter</str<strong>on</strong>g>s can be massively produced. Using the bilinear<br />
transformati<strong>on</strong>, analog <str<strong>on</strong>g>filter</str<strong>on</strong>g>s with low-Q factors are<br />
transformed into digital <str<strong>on</strong>g>filter</str<strong>on</strong>g>s that are more robust for<br />
fixed point implementati<strong>on</strong> [4]. Therefore, the same<br />
method as used in [3] can be used for digital <str<strong>on</strong>g>filter</str<strong>on</strong>g><br />
<str<strong>on</strong>g>sharpening</str<strong>on</strong>g>.<br />
The standard <str<strong>on</strong>g>filter</str<strong>on</strong>g> H s (z) should be chosen to be simple<br />
for implementati<strong>on</strong>. For example, the standard <str<strong>on</strong>g>filter</str<strong>on</strong>g> can be<br />
the fourth-order <str<strong>on</strong>g>Chebyshev</str<strong>on</strong>g> <str<strong>on</strong>g>filter</str<strong>on</strong>g> that has small passband<br />
ripple (say A s =0.1 dB) and it c<strong>on</strong>sists of two SOS <str<strong>on</strong>g>filter</str<strong>on</strong>g>s<br />
−1<br />
−2<br />
−1<br />
−2<br />
1 + 2z<br />
+ z 1 + 2z<br />
+ z<br />
H ( z)<br />
=<br />
(10)<br />
s<br />
−1<br />
− 2 −1<br />
− 2<br />
1 + as1z<br />
+ as2<br />
z 1 + as3z<br />
+ as4<br />
z<br />
The coefficients are shown in Table 1.<br />
The <str<strong>on</strong>g>filter</str<strong>on</strong>g> has a stopband attenuati<strong>on</strong> of 8 dB at the<br />
stopband edge f s =0.135; the passband edge frequency is<br />
f p =0.1. The target <str<strong>on</strong>g>filter</str<strong>on</strong>g>, the cascaded c<strong>on</strong>necti<strong>on</strong> of µ basic<br />
<str<strong>on</strong>g>filter</str<strong>on</strong>g>s, should have the minimum stopband attenuati<strong>on</strong> 40<br />
dB; it also has large passband ripple 0.1•µ dB. To achieve<br />
a stopband attenuati<strong>on</strong> of 40 dB, the number of cascades µ<br />
is equal to 5. Let us design the fourth-order <str<strong>on</strong>g>Chebyshev</str<strong>on</strong>g><br />
<str<strong>on</strong>g>filter</str<strong>on</strong>g> H i (z) that has the passband ripple 0.5 dB for µ=5.<br />
The coefficients are shown in Table 1.<br />
TABLE 1: COEFFICIENTS OF THE FILTER.<br />
Coefficients<br />
a s1<br />
–1.26232<br />
a s2<br />
0.44004<br />
a s3<br />
–1.310268<br />
a s4<br />
0.73834<br />
a c1<br />
–1.46622<br />
a c2<br />
0.58087<br />
a c3<br />
–1.44789<br />
a 0.814144<br />
c4<br />
The transfer functi<strong>on</strong> of the new <str<strong>on</strong>g>filter</str<strong>on</strong>g><br />
H(z)=(H s (z)) µ /H i (z) can be simplified H(z)=(H s (z)) µ-1 H c (z)<br />
in such a way that a new forth order <str<strong>on</strong>g>filter</str<strong>on</strong>g> becomes H c (z)=<br />
H s (z)/H i (z)<br />
−1<br />
−2<br />
−1<br />
−2<br />
1 + a 1z<br />
+ a 2z<br />
1 + a<br />
( )<br />
3z<br />
+ a 4z<br />
H z = c c<br />
c c (11)<br />
c<br />
−1<br />
−2<br />
−1<br />
−2<br />
1 + as1z<br />
+ as2z<br />
1 + as3z<br />
+ as4<br />
z<br />
The transfer functi<strong>on</strong> of cascaded c<strong>on</strong>necti<strong>on</strong> of m<br />
standard and n compensati<strong>on</strong> secti<strong>on</strong>s becomes<br />
m<br />
H ( z)<br />
= ( H s ( z)<br />
) ( H c ( z)<br />
) n (12)<br />
In Figures 1, 2 and 3, the attenuati<strong>on</strong>s of <str<strong>on</strong>g>filter</str<strong>on</strong>g>s are<br />
shown for a number of combinati<strong>on</strong>s of m and n. The<br />
minimum stopband attenuati<strong>on</strong> increases with the number<br />
of H s (z) secti<strong>on</strong>s while the passband ripple is the same as<br />
for the standard secti<strong>on</strong>, in this case 0.1 dB. The passband<br />
ripple is smaller than the ripple of the standard <str<strong>on</strong>g>filter</str<strong>on</strong>g><br />
⎛<br />
µ −1<br />
µ µ ⎞<br />
⎜ 1 ( µ − 1) ( α − 1)<br />
A = 10 n log<br />
⎟ (13)<br />
n 10<br />
µ −1<br />
µ µ −1<br />
µ −1<br />
⎝ ( α − 1) α µ ( α − 1) ⎠<br />
for<br />
A /10<br />
α = 10 s , m = n(<br />
µ − 1) (14)<br />
For example, for µ=5, n=1, A s =0.1 dB, the input data is<br />
<str<strong>on</strong>g>filter</str<strong>on</strong>g>ed 4 times using the standard <str<strong>on</strong>g>filter</str<strong>on</strong>g> H s (z) and <strong>on</strong>es<br />
using the compensati<strong>on</strong> <str<strong>on</strong>g>filter</str<strong>on</strong>g> H c (z); the overall passband<br />
ripple is A n =0.0058 dB and the minimum stopband<br />
attenuati<strong>on</strong> is A s min =26 dB. For n=2, the data is <str<strong>on</strong>g>filter</str<strong>on</strong>g>ed 8<br />
times using H s (z) and twice using H c (z), the overall<br />
passband ripple is A n =0.0116 dB and A s min =52 dB.<br />
Attenuati<strong>on</strong> of <str<strong>on</strong>g>filter</str<strong>on</strong>g>s depends <strong>on</strong> the number of<br />
433