6 (ESS)
Filter Approximation Concepts How do you translate filter specifications into a mathematical expression which can be synthesized? Approximation Techniques Why an ideal Brick Wall Filter can not be implemented? Causality: Ideal filter is non-causal Rationality: No rational transfer function of finite degree (n) can have such abrupt transition H(jω) h(t) Passband Stopband -ω c ω c ω -T c T c t
Filter Approximation Concepts Practical Implementations are given via window specs. H(jω) A max A min ω c ω s A max = A p is the maximum attenuation in the passband A min = A s is the minimum attenuation in the stopband ω s -ω c is the Transition Width 3 ω
Approximation Types of Lowpass Filter Definitions A p A s Ripple = -A p Stopband attenuation =A s Passband (cutoff frequency) = w c Stopband frequency = w s wc ws Filter specs Maximally flat (Butterworth) Equal-ripple (Chebyshev) Elliptic 4
Approximation of the Ideal Lowpass Filter Since the ideal LPF is unrealizable, we will accept a small error in the passband, a non-zero transition band, and a finite stopband attenuation H jω = H jω : filter s transfer function K jω : Characteristic function (deviation of T jω from unity) + K jω H(jω) For ω ω c K jω For ω > ω c K jω increases very fast Passband Stopband ω c 5 ω
Maximally Flat Approximation (Butterworth) Stephen Butterworth showed in 93 that the gain of an n th order maximally flat magnitude filter is given by H jω = H jω H jω = + ε ω n K jω in the passband in a maximally flat sense d k K jω d ω k ω= = for k =,,, n The corresponding pole locations (for ε = ) can be determined as follows H s = + s j n = s p = e jπ + n s n s p n = n = ejπ k +n k +n n k =,, n 6
Pole Locations: Maximally flat (ε=) The poles are located on the unity circle at equispaced angles s p = e jθ k where θ k = π The real and imaginary parts are Re S p = sin k π n k +n n k =,,, n Im S p = cos k π n Poles in the LHP are associated with H s and poles in the RHP are associated with H s θ k ±35 ±, 8 ±. 5, ±57. 5 ±8, ±44, 8
Magnitude Response of Butterworth Filter 8
Design Example Design a -KHz maximally flat lowpass filter with: Attenuation at khz Normalized prototype: ω c = rad s, ω s = rad s H jω s = +ω s n n 4 6 or n 3.3 Choose n = 4 Pole locations s p = e jθ k where θ k = ±.5, ±57.5 s p, =.383 ± j.94 s p3,4 =.94 ± j.383 Normalized transfer function H s = s +.765s + s +.848s + H Q =.36, ω c = H Q =.54, ω c = 9
Design Example Denormalized transfer function s = s ω c.5585 5 H s = s + 4.8 3 s + 3.95 7 s +.6 4 s + 3.95 7 H Q =.36, ω c = π 3 H Q =.54, ω c = π 3
Design Example -Discussion We can sharpen the transition in the previous example by increasing the quality factor of one of the two cascaded filters (Q =3.5 instead of.3) To alleviate the peaking problem in the previous response, we can reduce ω c ω c =.6ω c Passband ripples are now existing They can be tolerated in some applications The resulting response has steeper transition than Butterworth response
Equiripple Filter Approximation (Chebyshev I) This type has a steeper transition than Butterworth filters of the same order but at the expense of higher passband ripples H(jω) Magnitude response of this type is given by /(+ε ) H jω = K jω + K jω = εc n ω - K(jω) ω C n ω = cos n cos ω ω Going back and forth in ± range for ω C n is called Chebyshev s polynomial - ε - K(jω) ε ω ω - - Defining the passband area of K jω
Equiripple Filter Approximation (Chebyshev I) Chebyshev s Polynomial C n ω = cos n cos ω = ejnφ +e jnφ For the stopband (ω > ) Since and Then φ = cos ω is complex Thus, C n > cos nφ jφ = cosh ω = cosh njφ C n ω = cosh n cosh ω for ω > n C n ω ω 3 4ω 3 3ω 4 8ω 4 8ω + n ωc n C n 3
Properties of the Chebyshev polynomials C n cos(ncos ( w)) w Faster response in the stopband For n>3 and w> In the passband, w<, Cn is limited to, then, the ripple is determined by e C w Butterwort h n n nw Chebyshev 3 n n w N( jw) e C n The -3 db frequency can be found as: e C w w 3dB n cosh 3dB cosh n e w w 4
Pole Locations (Chebyshev Type I) 5
Magnitude Response (Chebyshev Type I) 6
Comparison of Design Steps for Maximally Flat and Chebyshev Cases Step Maximally Flat Chebyshev Find n n = log.α min /.α max log ω s Round up to an integer n = cosh.α min.α max.5 cosh ω s Round up to an integer Find ε.α max.α max Find pole locations If n is odd θ k =, ±k 8 n If n is even θ k = ±k 8 n Find θ k as in Butterworth case Find α = n sinh Radius = Ω = ε n ω p σ k = Ω cos θ k ±ω k = Ω sin θ k Then, σ k = sin θ k ±ω k = cos θ k ε sinh α cosh(α) 7
Inverse Chebyshev Approximation (Chebyshev Type II) This type has Steeper transition compared to Butterworth filters (but not as steep as type I) No passband ripples Equal ripples in the stopband Magnitude response of this type is given by H jω = K jω = εc n ω C n ω + K jω = cos n cos ω Going back and forth in ± range for ω ω ω - - - H(jω) K(jω) ε K(jω) /(+ε - ) ε - - ω ω ω C n is Chebyshev s polynomial Defining the stopband area of K jω
Inverse Chebyshev Approximation (Chebyshev Type II) For the passband (ω < ) C n = cosh n ω cosh ω C n ω n n ω Attenuation α α = log + db ε C n α max = log + ω ε C n ωp for ω < for ω α min = log + ε To find the required order for a certain filtering template C n ω p = cosh n cosh ω p = α min α max n = cosh α min α max cosh ω p 9
Pole/zero Locations (Inverse Chebyshev) Pole/zero locations H jω = + ε C n ω We have imaginary zeros at ±ω z,k where = ε C n ω + ε C n ω C n = ω z,k ω z,k = sec kπ, k =,3,5,, n n If s k = σ k + jω k are the poles of Chebyshev filter Then, p k = α k + jβ k = s k are the poles of inverse Chebyshev filter Magnitude and quality factor of imaginary poles p k = s k Q icheb = Q Cheb
Pole/zero Locations (Inverse Chebyshev) Poles of Chebyshev and inverse Chebyshev filters are reciprocal Since the poles are on the radial line, they have the same pole Q Imaginary zeros creates nulls in the stopband n= n=3 n=4 n=5
Magnitude Response (Inverse Chebyshev)
Elliptic Filter Approximation Elliptic filter Equal ripple passband and stopband H jw Nulls in the stopband Sharpest transition band compared to same-order Butterworth and Chebyshev (Type I and II) I m w R e Ellipse
Pole/zero Locations (Elliptic) Imaginary zeros creates nulls in the stopband n= n=3 n=4 n=5 4
Magnitude Response (Elliptic) 5
Design a lowpass filter with: ω p = R p = db ω s =.5 R s = 4 db Design Example Matlab function buttord, chebord, chebord, and ellipord are used to find the least order filters that meet the given specs. 6
Design Example Magnitude response Filter approximation meeting the same specification yield Order (Butterworth)> Order (Chebyshev)> Order (Elliptic) 7
Design Example Pole/zero locations Note that Chebyshev and Eliptic approximations needs high-q poles 8
Filter order for R p = and R s = 4 Design example Eliptic filter always yields the least order. Is it always the best choice? 9
Step response of the design example Inverse Chebyshev filter has the least overshoot and ringing Ringing and overshoots can be problematic in some applications The pulse deformation is due to the fact that the filter introduces different time delay to the different frequency components (Phase distortion) 3
Phase Distortion Consider a filter with a transfer function H jω = H jω ejφ ω Let us apply two sine waves at different frequencies v in t = A sin ω t + A sin ω t The filter output is v out t = A H jω sin ω t + φ ω + A H jω sin ω t + φ ω Assuming that the difference between H jω and H jω is small, the shape of the time domain output signal will be preserved if the two signals are delays by the same amount of time φ ω = φ ω ω ω This condition is satisfied for φ ω = t ω t = constant A filter with this characteristic is called linear phase 3
Linear Phase Filters For this type of filters: The magnitude of the signals is scaled equally, and they are delayed by the same amount of time v out (t) Kv in (t t ) Vin Filter Vout V out (s) V in (s) Ke jw(t ) The filter transfer function is H s = Ke jωt H jω = K φ jω = t ω In this types of filters the phase delay τ PD = dφ jω ω are constant and equal φ jω ω, and the group delay τ GD = 3
Linear Phase Filter Approximation For a typical lowpass filter K H s = + a s + a s + = K a ω + + jω a a 3 ω 3 + Thus the phase shift is given by φ ω = arg H jω = tan a a 3 ω 3 + a ω + Using power-series expansion tan x = x x3 3 + x5 5 The condition for linear phase is satisfied if ω tan x = ω x3 x 3 + x5 5 = constant These are called Bessel polynomials, and the resulting networks are called Thomson filters 33
Linear Phase Filter Approximation Typically the phase behavior of these filters shows some deviation τ GD Ideal response t Errors are measured in time Actual response w τ GD is the Group Delay τ GD = φ ω 34
All poles Bessel (Thomson) Filter Approximation Poles are relatively low Q Maximally flat group delay (Maximally linear phase response) Poor stopband attenuation http://www.rfcafe.com/references/electrical/bessel-poles.htm 35
Bessel Filter Approximation 36
Comparison of various LPF Group delay Ref: A. Zverev, Handbook of filter synthesis, Wiley, 967. 37
Filter Design Conventional Procedure Transform your filter specs into a normalized LPF Filter order, zeros, poles and/or values for the passive elements can be obtained from tables or from a software package like FIESTA or Matlab If you use biquadratic sections, you need poles and zeros matching For ladder filters, the networks can be obtained from tables Transform the normalized transfer function to your filter by using Filter transformation (LP to BP, HP, BR) Frequency transformation Impedance denormalization You obtain the transfer function or your passive network 38
Frequency Transformations Lowpass to Highpass s p then H lp (s) n H i a i s i H hp (p) n i a H i i p n H i a i p p n ni H(s) H(p).5.5 w.66.5.66.5 p 39
Lowpass to Highpass H lp (s) n H i a i s i H hp (p) n H i a i p p n ni N zeros at are translated to zero Poles are not the same!!! The main characteristics of the lowpass filter are maintained for a highpass filter with cutoff frequency at w, then w s p This transformation scheme translates w= to p=w H(p) p.66.5 p/w 4
Frequency Transformations The Lowpass to Highpass transformation can also be applied to the elements Element Resistor inductor capacitor impedance R sl sc transforme d R wl p p w C The resistors are not affected L is transformed in a capacitor Ceq=/w L C is transformed in an inductor Leq=/w C Example: Design a KHz HP-filter from a LP prototype..44.x -4.44.x -4 4
Frequency Transformations Lowpass to Bandpass transformation s p p then H lp (s) n zeros at w= and n zeros at even number of poles The bandwidth of the BP is equal to the bandwidth of the LP n H i a i s i H bp (p) H n i b i p n p i In the p-domain p jv s s or w v w v.5.5 v.5.5 - w - Bandwidth= v 4
Frequency Transformations Note that v v and v v w v - v v Lowpass prototype Bandpass filter 43
Frequency Transformations General transformation BWw v BWw s w BW p w p v v BW BW BW BW w w w BW w v - v v w Lowpass prototype Bandpass filter 44
Frequency Transformations The Lowpass to Bandpass transformation can also be applied to the elements Element Resistor impedance R transforme d R L BW BW Lw inductor capacitor sl sc L BW C BW w L p BW w C p BW p p BW Cw Note that for w=w C BW for the inductor Zeq= for the capacitor Yeq= (Zeq=) 45
Frequency Transformations In general, for double-resistance terminated ladder filters R in Lossless ladder R L around w=w H s ww R in R L R L R R L in In the passband, the transfer function can be very well controlled Low-sensitivy 46
Frequency Transformations Lowpass to Bandreject transformation s BW p w p Lowpass to Highpass transformation (notch at w=) Shifting the frequency to w and adjusting the bandwidth to BW. Bandpass transformation!!! BW w w p 47
Transformation Methods Transformation methods have been developed where a low pass filter can be converted to another type of filter by simply transforming the complex variable s. Matlab lplp, lphp, lpbp, and lpbs functions can be used to transform a low pass filter with normalized cutoff frequency, to another low-pass filter with any other specified frequency, or to a high pass filter, or to a band-pass filter, or to a band elimination filter, respectively. 48
LPF with normalized cutoff frequency, to another LPF with any other specified frequency Use the MATLAB buttap and lplp functions to find the transfer function of a third-order Butterworth low-pass filter with cutoff frequency fc=khz. % Design 3 pole Butterworth low-pass filter (wcn= rad/s) [z,p,k]=buttap(3); [b,a]=zptf(z,p,k); % Compute num, den coefficients of this filter (wcn=rad/s) f=:5/5:; % Define frequency range to plot w=*pi*f; % Convert to rads/sec fc=; % Define actual cutoff frequency at KHz wc=*pi*fc; % Convert desired cutoff frequency to rads/sec [bn,an]=lplp(b,a,wc); % Compute num, den of filter with fc = khz Gsn=freqs(bn,an,w); % Compute transfer function of filter with fc = khz semilogx(w,abs(gsn)); grid; xlabel('radian Frequency w (rad/sec)') ylabel('magnitude of Transfer Function') title('3-pole Butterworth low-pass filter with fc= khz or wc =.57 kr/s') 49
Magnitude of Transfer Function LPF with normalized cutoff frequency, to another LPF with any other specified frequency.9.8 3-pole Butterworth low-pass filter with fc= khz or wc =.57 kr/s.7.6.5.4.3.. 3 4 5 Radian Frequency w (rad/sec) 5
High-Pass Filter Use the MATLAB commands chebap and lphp to find the transfer function of a 3-pole Chebyshev high-pass analog filter with cutoff frequency fc = 5KHz. % Design 3 pole Type Chebyshev low-pass filter, wcn= rad/s [z,p,k]=chebap(3,3); [b,a]=zptf(z,p,k); % Compute num, den coef. with wcn= rad/s f=::; % Define frequency range to plot fc=5; % Define actual cutoff frequency at 5 KHz wc=*pi*fc; % Convert desired cutoff frequency to rads/sec [bn,an]=lphp(b,a,wc); % Compute num, den of high-pass filter with fc =5KHz Gsn=freqs(bn,an,*pi*f); % Compute and plot transfer function of filter with fc = 5 KHz semilogx(f,abs(gsn)); grid; xlabel('frequency (Hz)'); ylabel('magnitude of Transfer Function') title('3-pole Type Chebyshev high-pass filter with fc=5 KHz ') 5
Magnitude of Transfer Function High-Pass Filter 3-pole Chebyshev high-pass filter with fc=5 KHz.9.8.7.6.5.4.3.. 3 4 5 Frequency (Hz) 5
Band-Pass Filter Use the MATLAB functions buttap and lpbp to find the transfer function of a 3-pole Butterworth analog band-pass filter with the pass band frequency centered at fo = 4kHz, and bandwidth BW =KHz. [z,p,k]=buttap(3); % Design 3 pole Butterworth low-pass filter with wcn= rad/s [b,a]=zptf(z,p,k); % Compute numerator and denominator coefficients for wcn= rad/s f=::; % Define frequency range to plot f=4; % Define centered frequency at 4 KHz W=*pi*f; % Convert desired centered frequency to rads/s fbw=; % Define bandwidth Bw=*pi*fbw; % Convert desired bandwidth to rads/s [bn,an]=lpbp(b,a,w,bw); % Compute num, den of band-pass filter % Compute and plot the magnitude of the transfer function of the band-pass filter Gsn=freqs(bn,an,*pi*f); semilogx(f,abs(gsn)); grid; xlabel('frequency f (Hz)'); ylabel('magnitude of Transfer Function'); title('3-pole Butterworth band-pass filter with f = 4 KHz, BW = KHz') 53
Magnitude of Transfer Function Band-Pass Filter.4 3-pole Butterworth band-pass filter with f = 4 KHz, BW = KHz..8.6.4. 3 4 5 Frequency f (Hz) 54
Band-Elimination (band-stop) Filter Use the MATLAB functions buttap and lpbs to find the transfer function of a 3-pole Butterworth band-elimination (band-stop) filter with the stop band frequency centered at fo = 5 khz, and bandwidth BW = khz. [z,p,k]=buttap(3); % Design 3-pole Butterworth low-pass filter, wcn = r/s [b,a]=zptf(z,p,k); % Compute num, den coefficients of this filter, wcn= r/s f=::; % Define frequency range to plot f=5; % Define centered frequency at 5 khz W=*pi*f; % Convert centered frequency to r/s fbw=; % Define bandwidth Bw=*pi*fbw; % Convert bandwidth to r/s % Compute numerator and denominator coefficients of desired band stop filter [bn,an]=lpbs(b,a,w,bw); % Compute and plot magnitude of the transfer function of the band stop filter Gsn=freqs(bn,an,*pi*f); semilogx(f,abs(gsn)); grid; xlabel('frequency in Hz'); ylabel('magnitude of Transfer Function'); title('3-pole Butterworth band-elimination filter with f=5 KHz, BW = KHz') 55
Magnitude of Transfer Function Band-Elimination (band-stop) Filter 3-pole Butterworth band-elimination filter with f=5 KHz, BW = KHz.9.8.7.6.5.4.3.. 3 4 5 Frequency in Hz 56
How to find the minimum order to meet the filter specifications? The following functions in Matlab can help you to find the minimum order required to meet the filter specifications: Buttord for butterworth Chebord for chebyshev Ellipord for elliptic Chebord for inverse chebyshev 57
Calculating the order and cutoff frequency of a inverse chebyshev filter Design a 4MHz Inverse Chebyshev approximation with Ap gain at passband corner. The stop band is 5.75MHz with -5dB gain at stop band. clear all; Fp = 4e6; Wp=*pi*Fp; Fs=.4375*Fp; Ws=*pi*Fs; Fplot = *Fs; f = e6:fplot/e3:fplot ; w = *pi*f; Ap = ; As = 5; % Chebord helps you find the order and wn (n and Wn) that %you can pass to cheby command. [n, Wn] = chebord(wp, Ws, Ap, As, 's'); [z, p, k] = cheby(n, As, Wn, 'low', 's'); [num, den] = cheby(n, As, Wn, 'low', 's'); bode(num, den) 58
Phase (deg) Magnitude (db) Bode Plot Bode Diagram -5 - -5-6 8 9 7 54 5 6 7 8 9 Frequency (rad/sec) 59
References [] S. T. Karris, Signals and Systems with Matlab Computing and Simulink Modeling, Fifth Edition. Orchard Publications [] Matlab Help Files 6
gain (db) Ladder Filters The ladder filter realization can be found in tables and/or can be obtained from FIESTA The elements must be transformed according to the frequency and impedance normalizations -4-8 - -6 4.E+6 8.E+6.E+7.6E+7.E+7 Frequency (Hz) 6
6 Sensitivity Definition x y y x S y x Y= transfer function and x = variable or element n i i n i x i y x n i x y x x x y x y x y x y x y x y x y x y x / y x / x x x kx y x y kx ky x y S y S S S S S S S n S ns S S S S S S S S S y i n i i y i n i i n n Some properties: w w w w w w i i j j i i j a a i i j a H H(s) a j a j a j a S j a S i i j i i j For a typical H(s)
Sensitivity Sensitivity is a measure of the change in the performance of the system due to a change in the nominal value of a certain element. S y x x y y x S y x x y Dy Dx or Dy y S y x D x x Normalized variations at the output are determined by the sensitivity function and the normalized variations of the parameter Example: If the senstivity function is, then variations of Dx/x=.(%) produce Dy/y=.(%) For a good design, the sensitivity functions should be < 5. Effects of the partial positive feedback (negative resistors)? 63
64 Sensitivity For a typical amplifier S, S v v m A g A g The larger the gain improvment the larger the sensitivity!!!! Sometimes the dc gain is enhanced by using a negative resistor m v g g A m m v g g g g g g g A For large dc gain g =g g g A g A g g g g g S g S, S v v m
Properties of Stable Network Functions A(s) b N(s) K B(s) a sb sa s s.... Typically the transfer function presents the form of a ratio of two polynomials For non-negative elements the coefficients are real and positive The poles are located in the left side of the s-plane H(s) sa at h(t) e t System is stable BOUNDED OUTPUT FOR BOUNDED INPUT 65
Properties of Network Functions: Frequency Transformation Most of the filter approximations are normalized to rad/sec. Hence, it is necessary to denormalize the transfer function. Using the frequency transformation For inductors and capacitors: jp jp L C L jw w C j n n p w n rad/sec is translated to / n rad/sec 66
Impedance denormalization Typically the network elements are normalized to. Hence an impedance denormalization scheme must be used or Z n Z R L C C n n R L n Note that the transfer function is invariant with the impedance denormalization (RC and LC products remain constant!!!!) In general both frequency and impedance denormalizations are used 67
There is a number of conventional filter magnitude approximations The choice of a particular approximation is application dependent Besides the magnitude specifications, there exists also a phase (group delay) specification. For this the Thompson (Bessel) approximation is used There are a host of Filter approximation software programs, including Matlab, Filsyn, and Fiesta developed at TAMU Acknowledgment: Thanks to my colleague Dr. Silva-Martínez for providing some of the material for this presentation 68