Franco Maloberti
Download
Report
Transcript Franco Maloberti
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