Projeto de Filtro Analógico utilizando a Aproximação de Chebyshev e Arquitetura Deliyannis
-
Upload
franklin-lima -
Category
Documents
-
view
247 -
download
13
description
Transcript of Projeto de Filtro Analógico utilizando a Aproximação de Chebyshev e Arquitetura Deliyannis
-
Projeto de Filtro Analogico usando Aproximacao de Chebyshev
e Arquitetura Deliyannis
Franklin Lima, Isadora Queiroz
Departamento de Engenharia Eletrica
Escola Politecnica
Universidade Federal da Bahia
Salvador, Bahia, Brasil
27 de Junho de 2015
1 Especificacoes
As especificacoes do filtro sao mostradas na Tabela 1.
Tabela 1: Especificacoes do filtro a ser projetado
Banda de Passagem (Hz) Banda de Rejeicao (Hz) Amax (dB) Amn (dB)
25 - 30 k 1 - 70 k 0,1 60
O filtro analogico deve ser aproximado por Chebyshev e possuir arquitetura Deliyannis.
2 Parte I: Aproximacao
Com base nas especificacoes, utilizando-se o software MATLAB (codigo em anexo), obtem-se a seguinte funcao detransferencia:
H(s) =5.079e13s3
s6 + 6.091e04s5 + 9.142e10s4 + 3.658e15s3 + 2.707e21s2 + 5.34e25s + 2.596e31(1)
O diagrama de Bode pode ser visto na Figura 1.
Mag
nitu
de (d
B)
-150
-100
-50
0
100 101 102 103
Phas
e (de
g)
-360
-180
0
180
360
Bode Diagram
Frequency (kHz)
Figura 1: Diagrama de Bode para H(s)
1
-
A Figura 2 mostra o grafico da funcao gerada com destaque para as especificacoes do gabarito do filtro.
Frequency (Hz)103 104 105
-60
-50
-40
-30
-20
-10
0
Figura 2: Funcao de transferencia gerada e gabarito do filtro
As regioes (a) inferior e (b) superior da banda de rejeicao podem ser vistas na Figura 3, enquanto a Figura 4mostra a regiao da banda de passagem.
Frequency (Hz)103 104
-68
-66
-64
-62
-60
-58
-56
-54
-52
Frequency (Hz) 1050.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 2.2
-70
-65
-60
-55
-50
Figura 3: Funcao de transferencia gerada e gabarito do filtro na regiao da banda de rejeicao (a) inferior (b) superior
Frequency (Hz) 1042.5 2.6 2.7 2.8 2.9 3
-0.8
-0.6
-0.4
-0.2
0
0.2
Figura 4: Funcao de transferencia gerada e gabarito do filtro na regiao da banda de passagem
2
-
3 Parte II: Realizacao
A arquitetura sugerida para o projeto do filtro e a Deliyannis, cujo circuito pode ser visto na Figura 5.
-
++-
R1
R2
C2
C1
vi vo
RB = RA (k 1)RA
Figura 5: Arquitetura Deliyannis
A unidade biquad deste filtro possui a seguinte funcao de transferencia:
T (s) = kk 1
s
R1C1
s2 +
(1
R2C2+
1
R2C1 1
(k 1)R1C1
)s +
1
R1R2C1C2
(2)
Se for possvel fatorar H(s) de modo que
H(s) = H1(s)H2(s)H3(s) (3)
onde:
H1(s) =k1s
(s2 + b1s + c1)H2(s) =
k2s
(s2 + b2s + c2)H3(s) =
k3s
(s2 + b3s + c3)(4)
Entao o filtro de 6 ordem podera ser implementado atraves de tres filtros biquad Deliyannis em cascata, comomostra a Figura 6.
H (s)1 H (s)2 H (s)3
Figura 6: Blocos em cascata para a realizacao do filtro de 6 ordem
De modo a obter os biquads, fatora-se o denominador de H(s), determinando-se assim os seus polos e, atraves dafuncao poly e possvel se determinar o polinomio de segunda ordem referente a cada biquad. Os biquads apresentamos seguintes fatores de qualidade Q = 1.62, Q = 0.9 e Q = 2.0. Utilizando a regra de bolso onde a cascata serafeita do maior para o menor Q, temos:
H(s) =k1s
(s2 + 1.36e04s + 2.38e10) H1(s)
k2s(s2 + 1.69e04s + 3.69e10)
H2(s)
k3s(s2 + 3.05e04s + 2.96e10)
H3(s)
(5)
Segundo [1] a distribuicao dos ganhos pode ser realizada por:
k1 =max |H(j)|max |H1(j)| = 1.69 10
4 (6)
k2 =max |H1(j)|
max |H1(j)H2(j)| = 4.73 104 (7)
k3 =K
k1k2=
5.079 10131.69 104 4.73 104 = 6.35 10
4 (8)
3
-
Onde K e o ganho estatico global e vale para este projeto K = k1k2k3 = 5.0791013. Os maximos acima indicadosforam obtidos com a funcao findpeaks aplicada ao modulo da funcao de transferencia.
Para determinar os valores dos componentes da rede passiva, compara-se os coeficientes da funcao desejada com aEq. (2).
Primeiro Biquad, H1(s)
(1
R2C2+
1
R2C1 1
(k 1)R1C1
)= 1.36 104 (9)
1
R1R2C1C2= 2.38 1010 (10)
k
(k 1)R1C1 = 1.69 104 (11)
k =RA + RB
RA(12)
Seja C1 = C2 = 1nF e R1 = 10k, tem-se e k = 1, 22 e R2 = 4, 20k e ainda RA = 10k, tem-se RB = 2, 16k
Segundo Biquad, H2(s)
(1
R4C4+
1
R4C3 1
(k 1)R3C3
)= 1.69 104 (13)
1
R3R4C3C4= 3.69 1010 (14)
k
(k 1)R3C3 = 4.73 104 (15)
k =RA + R
B
RA(16)
Seja C3 = C4 = 1nF e R3 = 10k, tem-se k = 1, 14 e R4 = 2, 71k e ainda RA = 10k, tem-se R
B = 1, 39k
Terceiro Biquad, H3(s)
(1
R6C6+
1
R6C5 1
(k 1)R5C5
)= 3.05 104 (17)
1
R5R6C5C6= 2.96 1010 (18)
k
(k 1)R5C5 = 6.35 104 (19)
k =RA + R
B
RA(20)
Seja C5 = C6 = 1nF e R5 = 10k, tem-se k = 1, 78 e R6 = 3, 38k e ainda RA = 10k, tem-se R
B = 1, 78k
4
-
4 Simulacao e Resultados
De maneira a validar o circuito projetado e realizar pequenos ajustes, o circuito proposto foi simulado com auxlio doMultisim. O amplificador na sada do filtro e usado para reduzir o ganho e aproximar o valor da simulacao ao valorteorico na banda de passagem.
Figura 7: Circuito implementado em Multisim
Figura 8: Ganho aproximado na banda de passagem
5
-
Figura 9: Ganhos aproximados nas bandas de rejeicao inferior e superior
Figura 10: Atenuacao na frequencia s = 25kHz
Referencias
[1] Y. S. T . Deliyannis and J. . k . Fidler. Continuous-Time Active Filter Design.
6
-
5 Apendice
5.1 Rotina para o Calculo da Aproximacao
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Universidade Federal da Bahia %
% Escola Politecnica %
% Departamento de Engenharia Eletrica %
% ENGC46 - Sintese de Circuitos %
% Franklin & Isadora %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%% Especificacoes - Filtro Analogico Delyiannis %%%%
% f1 = 25 kHz; f2 = 30 kHz; f3 = 1 kHz; f4 = 70 kHz %
% Amax = 0,1 dB; Amin = 60 dB %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Ajuste das frequencias:
f1 = 25e3;
f2 = 30e3;
f3 = 1e3;
f4 = 70e3;
fo=sqrt(f1*f2);
w1=2*pi*f1;
w2=2*pi*f2;
w3=2*pi*f3;
w4=2*pi*f4;
wp=[w1 w2];
ws=[w3 w4];
Amax=0.1;
Amin=60;
f=logspace(2,6,500);
s=j*2*pi*f;
format long e
% Calculo da Funcao Aproximada por de Chebyshev
[Nc, Wnc] = cheb1ord(wp, ws, Amax, Amin, s) %retorna minima ordem e Wnc = Wp
[Bc,Ac] = cheby1(Nc,Amax, Wnc,s) %retorna os coeficientes b/a da FT
H = tf(Bc,Ac) %FT em tempo continuo
Hmod = freqs(Bc,Ac,f); %vetor com o modulo de H
%Polos
roots(Ac);
%Resultados
% -8.447772726843461e+03 + 1.918927683587050e+05i
% -8.447772726843461e+03 - 1.918927683587050e+05i
% -1.522738926918413e+04 + 1.713970239511578e+05i
% -1.522738926918413e+04 - 1.713970239511578e+05i
% -6.779616542340713e+03 + 1.540002825343689e+05i
% -6.779616542340713e+03 - 1.540002825343689e+05i
%Determina os polinomios dos biquads atraves dos polos
poly([-8.447772726843461e+03 + 1.918927683587050e+05i; -8.447772726843461e+03 - 1.918927683587050e+05i]);
poly([-1.522738926918413e+04 + 1.713970239511578e+05i;-1.522738926918413e+04 - 1.713970239511578e+05i]);
poly([-6.779616542340713e+03 + 1.540002825343689e+05i;-6.779616542340713e+03 - 1.540002825343689e+05i]);
%Resultados
% ans =
%
% 1.000000000000000e+00 1.689554545368692e+04 3.689419941241203e+10
% ans =
%
% 1.000000000000000e+00 3.045477853836826e+04 2.960881320326903e+10
% ans =
%
% 1.000000000000000e+00 1.355923308468143e+04 2.376205022112663e+10
%H = H1*H2*H3 -> Determina as FTs parciais (Ganho estatico unitario)
7
-
H1 = tf([0 1 0], [1.000000000000000e+00 1.355923308468143e+04 2.376205022112663e+10]);
H2 = tf([0 1 0], [1.000000000000000e+00 1.689554545368692e+04 3.689419941241203e+10 ]);
H3 = tf([0 1 0], [1.000000000000000e+00 3.045477853836826e+04 2.960881320326903e+10 ]);
%Calcula os fatores de qualidade para determinar a ordem da cascata (regra
%de bolso)
%biquad 1
Q1 = fo/(1.689554545368692e+04); %h1 h2
%biquad 2
Q2 = fo/(3.045477853836826e+04); %h2 h3
%biquad 3
Q3 = fo/(1.355923308468143e+04); %h3 h1
%Resultados
% Q1 = H2
%
% 1.620908182593309e+00
% Q2 = H3
%
% 8.992391076085503e-01
% Q3 = H1
%
% 2.019740180305466e+00
%Plota o diagrama de Bode
opts = bodeoptions;
opts.Title.FontSize = 14;
opts.FreqUnits = kHz;
h = bodeplot(H,opts);
grid
5.2 Rotina para Determinacao dos Ganhos dos Biquads
f=logspace(2,7,10000)
w=2*pi*f
Tcheb=abs(freqs(Bc,Ac,w));
tmax = findpeaks(Tcheb); % tmax = 9.999856960669230e-001
DEN01 = poly([-8.447772726843461e+03 + 1.918927683587050e+05i; -8.447772726843461e+03 -
1.918927683587050e+05i]);
DEN02 = poly([-1.522738926918413e+04 + 1.713970239511578e+05i;-1.522738926918413e+04 -
1.713970239511578e+05i]);
DEN03 = poly([-6.779616542340713e+03 + 1.540002825343689e+05i;-6.779616542340713e+03 -
1.540002825343689e+05i]);
t01=abs(freqs([0 1 0], DEN01, w));
t02=abs(freqs([0 1 0], DEN02, w));
t01max = findpeaks(t01); % t01max = 5.911508639519595e-005
t02max = findpeaks(t02); % t02max = 3.273465648669020e-005
k1 = tmax/t01max; % k1 = 1.691591363635710e+004
DEN0102=conv(DEN01,DEN02);
t0102=abs(freqs([1 0 0],DEN0102,w)); % t0102max = 1.249700284672425e-009
t0102max=findpeaks(t0102)
k2 = t01max/t0102max; % k2 = 4.730341116205425e+004
K=5.079e+013;
k3 = K/(k1(1)*k2); % k3 = 6.347318537470824e+004
5.3 Rotina para Plotagem do Gabarito
TchebdB=20*log10(Tcheb);
semilogx(f,TchebdB)
hold on
a1=[1 1 1000 1000];
a2=[0 -60 -60 0];
fill(a1,a2,[205/255 205/255 205/255]);
a3=[25000 25000 30000 30000];
a4=[-0.1 -150 -150 -0.1];
fill(a3,a4,[205/255 205/255 205/255]);
8
-
a5=[70e+03 70e+03 1e+08 1e+08];
a6=[0 -60 -60 0];
fill(a5,a6,[205/255 205/255 205/255]);
5.4 Rotina para o Calculo da Rede Passiva
%biquad 1
R1=10e3;
C1=1e-9;
C2=1e-9;
A=1.36e4;
B=2.38e10;
R2=1/(R1*C1*C2*B)
klinha1=1/((1/(R2*C2)+1/(R2*C1)-A)*R1*C1)+1
%R2 = 4.2017e+003
%klinha1 = 1.2163
%biquad 2
R3=10e3;
C3=1e-9;
C4=1e-9;
A2=1.69e4;
B2=3.69e10;
R4=1/(R3*C3*C4*B2)
klinha2=1/((1/(R4*C4)+1/(R4*C3)-A2)*R3*C3)+1
%R4 = 2.7100e+003
%klinha2 = 1.1387
%biquad 3
R5=10e3;
C5=1e-9;
C6=1e-9;
A3=3.05e4;
B3=2.96e10;
R6=1/(R5*C5*C6*B3)
klinha3=1/((1/(R6*C6)+1/(R6*C5)-A3)*R5*C5)+1
%R6 = 3.3784e+003
%klinha3 = 1.1781
9