Analog Filters: Network Functions Franco Maloberti Introduction Magnitude characteristic Network function Realizability Can be implemented with real-world components No poles in the right half-plane Instability: Franco Maloberti goes in the non-linear region of operation of the active or passive components Self destruct Analog Filters: Network Functions 2 General Procedure The approximation phase determines the magnitude characteristics H (jw) H(s)H (s) s jw 2 This step determines the network function H(s) H(s)H (s) H ( jw ) w 2 s 2 2 Assume that H(s) P(s) Q(s) P(s)P(s) A(w ) 2 2 w s 2 A(w 2 ) B(w 2) w 2 s 2 and Q(s)Q(s) B(w ) 2 w 2 s 2 The procedure to obtain P(s) for a given A(w2) and that for obtaining Q(s) are the same Franco Maloberti Analog Filters: Network Functions 3 General Procedure (ii) P(s) is a polynomial with real coefficients Zeros of P(s) are real or conjugate pairs Zeros of P(-s) are the negative of the zeros of P(s) 2 Zeros of A(w ) are Quadrant symmetry Franco Maloberti Analog Filters: Network Functions 4 General Procedure (iii) P(s)P(s) A(w ) 2 w 2s 2 In A(w2) replace jw by -s2 Factor A(-s2) and determine zeros Split pair of real zeros and complex mirrored conjugate Example A(s 2 ) (s 2)(s 2)(s 2 2s 5)(s2 2 s 5)(s 2 6) Four possible choices, but …. B(s) must be Hurwitz, for a the choice depends on minimum-phase requirements The polynomial A(s) [or B(s)] results Franco Maloberti Analog Filters: Network Functions 5 General Procedure (iv) EXAMPLE w2 3 H (jw) 2 4 w (w 6w 2 25) 2 s 2 3 H(s)H (s) (s 6 6s 4 25) (s 3)(s 3) H(s)H (s) 2 s (s 1 2 j)(s 1 2 j )(s 1 2j )(s 1 2 j) one NO Franco Maloberti Analog Filters: Network Functions 6 Use of Matlab % Specify coefficient vector % a=w^6+3*w^4+12*w^2+100 a=[1 0 3 0 12 0 -100] 2 1.5 % Obtain zero roots b= roots(a) Imaginary part 1 % Plot the zeros zplane(b) % Form the polynomial x1=input('first zero is # ') x2=input('second zero is # ') x3=input('third zero is # ') c= poly([b(x1) b(x2) b(x3)]) Franco Maloberti 0.5 0 -0.5 TextEnd -1 -1.5 -2 -2.5 -2 -1.5 -1 -0.5 Analog Filters: Network Functions 0 0.5 Real part 1 1.5 2 2.5 7 Butterworth Network Functions Remember that Bn jw 1 2 1 w 2n therefore: Bn sB n s 1 1 (s 2 ) n The zeros of Q are obtained by 1 (s2 ) n (s 2 ) n 1 e j( 2 k ) Therefore s2 e Franco Maloberti j 2k1 n or s2 e 2k1 j n sk e Analog Filters: Network Functions 2k1 j 2 2n 8 Butterworth NF with Matlab »ButterNet order of the filter 5 n= 5 a= 1 0 0 0 b= -1.0000 -0.8090 + 0.5878i -0.8090 - 0.5878i -0.3090 + 0.9511i -0.3090 - 0.9511i 0.3090 + 0.9511i 0.3090 - 0.9511i 1.0000 0.8090 + 0.5878i 0.8090 - 0.5878i c = 1.0000 3.2361 Franco Maloberti Result with n=5 0 0 0 0 0 0 m-file -1 clear all; n=input('order of the filter ') zerocoeff=2*n-1; lastcoeff=(-1)^n; a=[1 zeros(1,zerocoeff) lastcoeff] b=roots(a) c=poly([b(1:n)]) 5.2361 5.2361 3.2361 1.0000 Analog Filters: Network Functions 9 Butterworth NF with Matlab (ii) BUTTAP Butterworth analog lowpass filter prototype. [Z,P,K] = BUTTAP(N) returns the zeros, poles, and gain for an N-th order normalized prototype Butterworth analog lowpass filter. The resulting filter has N poles around the unit circle in the left half plane, and no zeros. 1 0.8 0.6 0.4 Imaginary part clear all; n=input('order of the filter ') [z p k] =buttap(n) zplane(p) c=poly(p) 0.2 0 -0.2 TextEnd -0.4 -0.6 -0.8 -1 -1 Franco Maloberti -0.5 Analog Filters: Network Functions 0 Real part 0.5 1 10 Chebyshev Network Functions Remember that CH n jw 2 1 ; 1 2Cn2 (w) w 2 s 2 Therefore 1 1 CH n sCH n s Q(s)Q(s) 1 2Cn2 ( js) The zeros of Q are obtained by Cn js cosn cos1 ( js) j Let cos1 ( js) u jv js cos(u jv ) cos u cosh v j sin u sinh v Franco Maloberti Analog Filters: Network Functions 11 Chebyshev Network Functions (ii) Equation cosn cos ( js) j 1 Becomes cosn(u jv) cos nucoshnv j sinnusinhnv j Equating real and imaginary parts cosnucos hnv 0; cosn u 0 (2 k 1) u 2n Franco Maloberti s innus inhnv For a real v this is > 1 1 s inn u 1 v Analog Filters: Network Functions 1 11 s in h n 12 Chebyshev Network Functions (iii) Remember that js cos(u jv) cosu coshv jsinusinhv sinu sinhv j cosu coshv 1 (2k 1) 11 v s inh u n 2n Therefore (2k 1) (2k 1) sk k jw k sin sinhv j cos coshv 2n 2n The real and the imaginary part of wk are such that k2 sinh2 v w 2k cosh2 v 1 Zeros lie on an ellipse. Franco Maloberti Analog Filters: Network Functions 13 Chebyshev NF with Matlab CHEB1AP Chebyshev type I analog lowpass filter prototype. [Z,P,K] = CHEB1AP(N,Rp) returns the zeros, poles, and gain of an N-th order normalized prototype type I Chebyshev analog lowpass filter with Rp decibels of ripple in the passband. Type I Chebyshev filters are maximally flat in the stopband. 1 0.1 dB 0.8 0.6 0.4 Imaginary part %CHEBYNET clear all; N=input('order of Chebyshev ') Rp=input('ripple in the pb (dB) ') [z,p,k]=cheb1ap(N,Rp) figure zplane(p) e=poly(p) k 0.2 0 -0.2 TextEnd -0.4 -0.6 -0.8 -1 -1 Franco Maloberti Analog Filters: Network Functions -0.5 0 Real part 0.5 1 14 NF for Elliptic Filters Obtained without obtaining the prior magnitude characteristics Based on the use of the Conformal transformation Mapping of points in one complex plane onto another complex plain (angular relationships are preserved) Mapping of the entire s-plane onto a rectangle in the p-plane sn is the Jacobian elliptic sine function Derivation complex and out of the scope of the Course Design with the help of Matlab Franco Maloberti Analog Filters: Network Functions 15 Elliptic NF with Matlab ELLIPAP Elliptic analog lowpass filter prototype. [Z,P,K] = ELLIPAP(N,Rp,Rs) returns the zeros, poles, and gain of an N-th order normalized prototype elliptic analog lowpass filter with Rp decibels of ripple in the passband and a stopband Rs decibels down. Franco Maloberti 2.5 N=4 Rp=1dB Rs=25dB 2 1.5 1 Imaginary part %ElliptNet clear all; N=input('order of the Elliptic ') Rp=input('ripple in the pb (dB) ') Rs=input('stopband attenuation (dB) ') [z,p,k]=ellipap(N,Rp,Rs) figure zplane(z,p) num=poly(z) den=poly(p) k 0.5 0 TextEnd -0.5 -1 -1.5 -2 -2.5 -3 -2 Analog Filters: Network Functions -1 0 Real part 1 2 3 16 Elliptic NF with Matlab (ii) [n1 n2]=size(num); [n3 n4]=size(den); xmax = input('what is the max plotted freq? '); npoints=500; w0=linspace(0,xmax,npoints); p1=0; for m=1:npoints w=w0(m); p1=0; for j=1:n2 p1=p1+num(j)*(i*w)^(n2-j); end numer=abs(p1); p1=0; for j=1:n4 p1=p1+den(j)*(i*w)^(n4-j); end denom=abs(p1); H(m)=k*numer/denom; end figure plot(w0,H) Franco Maloberti Estimate the Module response Analog Filters: Network Functions 17 Elliptic NF with Matlab (iii) »ElliptResp 1 order of the Elliptic 4 0.9 N=4 0.8 ripple in the pb (dB) 1 stopband attenuation (dB) 20 0.7 0.6 z = 0 - 2.0392i 0.5 0 + 2.0392i 0 - 1.1243i 0.4 0 + 1.1243i 0.3 p = -0.4003 - 0.6509i 0.2 -0.4003 + 0.6509i 0.1 -0.0516 - 1.0036i 0 0 -0.0516 + 1.0036i k = 0.1000 what is the max plotted freq? 10 Franco Maloberti 1 2 3 4 5 Analog Filters: Network Functions 6 7 8 9 10 18 Bessel-Thomson Filter Function Useful when the phase response is important Video applications require a constant group delay in the pass band Design target: maximally flat delay Storch procedure h(t) (t ) H (s) e s H(s) 1 e s Franco Maloberti 1 sinh(s ) cosh(s ) sinh(s ) cosh(s ) 1 sinh(s ) Analog Filters: Network Functions 19 Bessel-Thomson Filter Function (ii) M (s) coshx Find an approximation of in the form N (s) sinhx And set Approximations of K H(s) M (s) N (s) s 2 s4 s6 cos hx 1 2! 4! 6! s3 s 5 s 7 s inhx s 3! 4! 7! Example H 3 (s) Franco Maloberti 15 s3 6s 2 15s 15 Analog Filters: Network Functions 20 Delay Equalizer It is a filter cascaded to a filter able to achieve a given magnitude response for changing the phase response It does not disturb the magnitude response Made by all-pass filter (s s ) H(s) (s s ) i i i i The magnitude response is 1 since jw si jw si Moreover Franco Maloberti jw si (w wi ) phase 2 tan1 ; si i j w i ( i ) jw si Analog Filters: Network Functions 21 Examples Delay Response 2 Delay Response 4 s 1 s 1 1.8 1.6 1.4 s2 2 s 1 s2 2 s 1 3.5 3 2.5 1.2 2 1 0.8 1.5 0.6 1 0.4 0.5 0.2 0 0 0.2 0.4 0.6 0.8 Franco Maloberti 1 1.2 1.4 1.6 1.8 2 0 0 0.2 0.4 Analog Filters: Network Functions 0.6 0.8 1 1.2 1.4 1.6 1.8 2 22 Examples Delay Response 8 s2 4 s 1 s2 4 s 1 7 6 Delay Response 9 s2 0.5 s 1 s2 0.5 s 1 8 7 6 5 5 4 4 3 3 2 2 1 1 0 0 0 0.2 0.4 0.6 0.8 Franco Maloberti 1 1.2 1.4 1.6 1.8 2 0 0.2 0.4 0.6 Analog Filters: Network Functions 0.8 1 1.2 1.4 1.6 1.8 2 23