EEM478-DSPHARDWARE WEEK12:FIR & IIR Filter Design
Transcript of EEM478-DSPHARDWARE WEEK12:FIR & IIR Filter Design
EEM478-DSPHARDWARE
WEEK12:FIR & IIR Filter Design
PART-I : Filter Design/Realization
• Step-1 : define filter specs (pass-band, stop-band, optimization criterion,…)
• Step-2 : derive optimal transfer functionFIR or IIR design
• Step-3 : filter realization (block scheme/flow graph)direct form realizations, lattice realizations,…
• Step-4 : filter implementation (software/hardware)accuracy issues, …question: implemented filter = designed filter ?
Lecture-2 : FIR & IIR Filter Design • FIR filters
• Linear-phase FIR filters• FIR design by optimization
Weighted least-squares design, Minimax design• FIR design in practice
`Windows’, Equiripple design, Software (Matlab,…)
• IIR filters• Poles and Zeros• IIR design by optimization
Weighted least-squares design, Minimax design• IIR design in practice
Analog IIR design : Butterworth/Chebyshev/ellipticAnalog->digital : impulse invariant, bilinear transform,…Software (Matlab)
FIR Filters
FIR filter = finite impulse response filter
• Also known as `moving average filters’ (MA)• N poles at the origin z=0 (hence guaranteed stability) • N zeros (zeros of B(z)), `all zero’ filters• corresponds to difference equation
• impulse response
Linear Phase FIR Filters
• Non-causal zero-phase filters :example: symmetric impulse response
h[-L],….h[-1],h[0],h[1],...,h[L]h[k]=h[-k], k=1..L
frequency response is
i.e. real-valued (=zero-phase) transfer function
kL
Linear Phase FIR Filters• Causal linear-phase filters = non-causal zero-phase + delayexample: symmetric impulse response & N even
h[0],h[1],….,h[N]N=2L (even)h[k]=h[N-k], k=0..L
frequency response is
= i.e. causal implementation of zero-phase filter, by introducing (group) delay
kN0
Linear Phase FIR Filters
Type-1 Type-2 Type-3 Type-4N=2L=even N=2L+1=odd N=2L=even N=2L+1=oddsymmetric symmetric anti-symmetric anti-symmetrich[k]=h[N-k] h[k]=h[N-k] h[k]=-h[N-k] h[k]=-h[N-k]
zero at zero at zero atLP/HP/BP LP/BP BP HP
PS: `modulating’ Type-2 with 1,-1,1,-1,.. gives Type-4 (LP->HP)PS: `modulating’ Type-4 with 1,-1,1,-1,.. gives Type-2 (HP->LP)PS: `modulating’ Type-1 with 1,-1,1,-1,.. gives Type-1 (LP<->HP)PS: `modulating’ Type-3 with 1,-1,1,-1,.. gives Type-3 (BP<->BP)PS: IIR filters can NEVER have linear-phase property ! (proof see literature)
Filter Specification
Ex: Low-pass
FIR Filter Design by Optimization
(I) Weighted Least Squares Design :• select one of the basic forms that yield linear phase
e.g. Type-1
• specify desired frequency response (LP,HP,BP,…)
• optimization criterion is
where is a weighting function
FIR Filter Design by Optimization
• …this is equivalent to
= `Quadratic Optimization’ problem
FIR Filter Design by Optimization
• Example: Low-pass design
optimization function is
i.e.
FIR Filter Design by Optimization• a simpler problem is obtained by replacing the F(..) by…
where the wi’s are a set of (n) selected sample frequenciesThis leads to an equivalent (`discretized’) quadratic optimization problem:
+++ : simple- - - : unpredictable behavior in between sample freqs.
Compare to p.27
FIR Filter Design by Optimization
• …then all this is often supplemented with additional constraints
Example: Low-pass (LP) design (continued)pass-band ripple control :
stop-band ripple control :
FIR Filter Design by Optimization
Example: Low-pass (LP) design (continued) a realistic way to implement these constraints, is to impose the
constraints (only) on a set of sample frequencies , e.g. in the pass-band
and in the stop-bandThe resulting optimization problem is :
minimize :
subject to (pass-band constraints)(stop-band constraints)
= `Quadratic Programming’ problem (see HG94)
FIR Filter Design by Optimization
(II) `Minimax’ Design :• select one of the basic forms that yield linear phase
e.g. Type-1
• specify desired frequency response (LP,HP,BP,…)
• optimization criterion is
where is a weighting function
FIR Filter Design by Optimization
• this is equivalent to
• the constraint is equivalent to a so-called `semi-definiteness’ constraint
where D>=0 denotes that the matrix is positive semi-definite
Filter Design by Optimization
• a realistic way to implement these constraints, is to impose the constraints (only) on a set of sample frequencies :
i.e. a `Semi-Definite Programming’ (SDP) problem, for which efficient interior-point algorithms and software are available.
FIR Filter Design by Optimization
• Conclusion:(I) weighted least squares design(II) minimax designprovide general `framework’, procedures to translate filter
design problems into standard optimization problems • In practice (and in textbooks):
emphasis on specific (ad-hoc) procedures : - filter design based on `windows’- equiripple design
FIR Filter Design using `Windows’
Example : Low-pass filter design• ideal low-pass filter is
• hence ideal time-domain impulse response is
• truncate hd[k] to N+1 samples :
• add (group) delay to turn into causal filter
FIR Filter Design using `Windows’
Example : Low-pass filter design (continued)• ps : it can be shown that time-domain truncation corresponds to solving a
weighted least-squares optimization problem with the given Hd, and weighting function
• truncation corresponds to applying a `rectangular window’ :
• +++: simple procedure (also for HP,BP,…)• - - - : truncation in the time-domain results in `Gibbs effect’ in the frequency
domain, i.e. large ripple in pass-band and stop-band (at band edge (=discontinuity)), which cannot be reduced by increasing the filter order N.
FIR Filter Design using `Windows’
Remedy : apply windows other than rectangular window:• time-domain multiplication with a window function w[k] corresponds to
frequency domain convolution with W(z) :
• candidate windows : Han, Hamming, Blackman, Kaiser,…. • window choice/design = trade-off between side-lobe levels (define peak
pass-/stop-band ripple) and width main-lobe (defines transition bandwidth)
FIR Equiripple Design
• Starting point is minimax criterion, e.g.
• Based on theory of Chebyshev approximation and the `alternation theorem’, which (roughly) states that the optimal d’s are such that the `max’ (maximum weighted approximation error) is obtained at L+2 extremal frequencies…
…that hence will exhibit the same maximum ripple (`equiripple’)• Iterative procedure for computing extremal frequencies, etc. (Remez
exchange algorithm, Parks-McClellan algorithm) • Very flexible, etc., available in many software packages• Details omitted here (see textbooks)
FIR Filter Design Software
• FIR Filter design abundantly available in commercial software• Matlab:
b=fir1(n,Wn,type,window), windowed linear-phase FIR design, n is filter order, Wn defines band-edges, type is `high’,`stop’,…b=fir2(n,f,m,window), windowed FIR design based on inverse Fourier transform with frequency points f and corresponding magnitude response mb=remez(n,f,m), equiripple linear-phase FIR design with Parks-McClellan (Remez exchange) algorithm
IIR filters
Rational transfer function :•
N poles (zeros of A(z)) , N zeros (zeros of B(z))• infinitely long impulse response• stable iff poles lie inside the unit circle• corresponds to difference equation
= also known as `ARMA’ (autoregressive-moving average)
IIR filtersFrequency response versus pole-zero location :(cfr. frequency response is z-transform evaluated on the unit circle)
Example-1 : Low-pass filter
poles at
DC (z=1)
Nyquist freq (z=-1)
pole pole
ReIm
IIR filtersFrequency response versus pole-zero location :
Example-2 : Low-pass filter
poles at
zeros at
DC
Nyquist freq
zero
pole pole
IIR filtersFrequency response versus pole-zero location :
Example-3 : Band-pass filter
poles at
zeros at
DCzero
zero
pole
IIR filtersFrequency response versus pole-zero location :
* pole near unit-circle introduces `peak’ in frequency responsehence pass-band can be set by pole placement
* zero near unit-circle introduces `dip’ in frequency responsezero on unit-circle introduces `transmission zero’ in frequency
responsehence stop-band can be emphasized by zero placement
IIR Filter Design
+++• low-order filters can produce sharp frequency response• low computational cost
- - -• design more difficult• stability should be checked/guaranteed• phase response not easily controlled
(e.g. no linear-phase IIR filters)• coefficient sensitivity, quantization noise, etc. can be a
problem
IIR Filter Design by Optimization
(I) Weighted Least Squares Design :• IIR filter transfer function is
• specify desired frequency response (LP,HP,BP,…)
• optimization criterion is
where is a weighting function• stability constraint :
IIR Filter Design by Optimization
(II) `Minimax’ Design :• IIR filter transfer function is
• specify desired frequency response (LP,HP,BP,…)
• optimization criterion is
where is a weighting function• stability constraint :
IIR Filter Design by Optimization
These optimization problems are significantly more complex than those for the FIR design case… :• Problem-1: presence of denominator polynomial leads to rational
approximation, and hence to highly non-linear optimization (instead of -for instance- quadratic optimization in the FIR design case)• A possible procedure (`Steiglitz-McBride’) consists in iteratively (k=1,2,…)
minimizing
…which leads to iterative Quadratic Programming, etc.. (similar for minimax)
IIR Filter Design by Optimization
• Problem-2: stability constraint (zeros of a high-order polynomial are related to the polynomial’s coefficients in a highly non-linear manner)
• Solutions based on alternative stability constraints, that e.g. are affine functions of the filter coefficients, etc…
• Topic of ongoing research, details omitted here
IIR Filter Design by Optimization
• Conclusion:(I) weighted least squares design(II) minimax designprovide general `framework’, procedures to translate filter
design problems into ``standard’’ optimization problems • In practice (and in textbooks):
emphasis on specific (ad-hoc) procedures : - IIR filter design based analog filter design (s-domain design) and analog->digital conversion
- IIR filter design by modeling = direct z-domain design(Pade approximation, Prony, etc., not addressed here)
Analog IIR Filter Design
Commonly used analog filters :• Lowpass Butterworth filters
all-pole filters characterized by magnitude response…. (N=filter order)
Poles of H(s)H(-s) are equally spaced points on a circle of radius in s-plane
poles of H(s)N=4
poles of H(-s)
Analog IIR Filter Design
Commonly used analog filters :• Lowpass Butterworth filters
monotonic in pass-band & stop-band
`maximum flat response’: (2N-1) derivatives are zero atand
N
Analog IIR Filter Design
Commonly used analog filters :• Lowpass Chebyshev filters (type-I)
all-pole filters characterized by magnitude response (N=filter order)
is related to passband ripple are Chebyshev polynomials:
Analog IIR Filter Design
Commonly used analog filters :• Lowpass Chebyshev filters (type-I)
All-pole filters, poles of H(s)H(-s) are on ellipse in s-planeEquiripple in the pass-bandMonotone in the stop-band
• Lowpass Chebyshev filters (type-II)Pole-zero filters based on Chebyshev polynomialsMonotone in the pass-bandEquiripple in the stop-band
• Lowpass Elliptic (Cauer) filtersPole-zero filters based on Jacobian elliptic functionsEquiripple in the pass-band and stop-band
(hence) yield smallest-order for given set of specs
Analog IIR Filter Design
Frequency Transformations :• Principle : prototype low-pass filter (e.g. cut-off frequency = 1 rad/sec)
is transformed to properly scaled low-pass, high-pass, band-pass, band-stop,… filter• example: replacing s by moves cut-off frequency to
• example: replacing s by turns LP into HP, with cut-off frequency
• example: replacing s by turns LP into BP
• etc...
Analog -> Digital
• Principle :design analog filter (LP/HP/BP/…), and then convert it to a digital filter.
• Conversion methods: - convert differential equation into difference equation- convert continuous-time impulse response into discrete-time impulse response
- convert transfer function H(s) into transfer function H(z)• Requirement: the left-half plane of the s-plane should map into the
inside of the unit circle in the z-plane, so that a stable analog filter is converted into a stable digital filter.
Analog -> Digital
• Conversion methods: (I) convert differential equation into difference equation : -in a difference equation, a derivative dy/dt is replaced by a `backward difference’ (y(kT)-y(kT-T))/T=(y[k]-y[k-1])/T, where T=sampling interval.-similarly, a second derivative, etc…-eventually (details omitted), this corresponds to replacing s by (1-1/z)/T in Ha(s) (=analog transfer function) :
-stable analog filters are mapped into stable digital filters, but pole location for digital filter confined to only a small region (o.k. only for LP or BP)
jws-plane z-plane
j
1
Analog -> Digital• Conversion methods: (II) convert continuous-time impulse response into discrete-time impulse response : -given continuous-time impulse response ha(t), discrete-time impulse response is where T=sampling interval.
-eventually (details omitted) this corresponds to a (many-to-one) mapping
-aliasing (!) if continuous-time response has significant frequency content above the Nyquist frequency
s-planejw
z-planej
1
Analog -> Digital
• Conversion methods: (III) convert continuous-time system transfer function into discrete-time system transfer function : Bilinear Transform-mapping that transforms (whole!) jw-axis of the s-plane into unit circle in the z-plane only once, i.e. that avoids aliasing of the frequency components.
-for low-frequencies, this is an approximation of-for high frequencies : significant frequency compression (`warping’)(sometimes pre-compensated by `pre-warping’)
s-planejw
z-planej
1
IIR Filter Design Software
• IIR filter design considerably more complicated than FIR design (stability, phase response, etc..)
• (Fortunately) IIR Filter design abundantly available in commercial software
• Matlab:[b,a]=butter/cheby1/cheby2/ellip(n,…,Wn),
IIR LP/HP/BP/BS design based on analog prototypes, pre-warping, bilinear transform, … immediately gives H(z) (oef!)
analog prototypes, transforms, … can also be called individuallyfilter order estimation tooletc...