Franco Maloberti

advertisement
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 2s 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 sB 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
2k1

n
or s2  e
2k1

j 
   


 n


sk  e
Analog Filters: Network Functions
 2k1
 
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 sCH n s 

Q(s)Q(s) 1 2Cn2 ( js)

The zeros of Q are obtained by
Cn  js  cosn cos1 ( js)  

j

Let
cos1 ( 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
cosn cos ( js)  
j
1

Becomes
cosn(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
11
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) 
11
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 tan1
; 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
Download