27.01.2015 Views

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

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!