You are on page 1of 14

UNIVERSIDADE FEDERAL DA BAHIA

DEPARTAMENTO DE ENGENHARIA ELÉTRICA

RAÍ ALDEBARAN
BRUNO SCHETTINI

Síntese de Filtro Rejeita - Faixa


Função de Aproximação Butterworth
e
Arquitetura Tow-Thomas

Salvador

2011
RAÍ ALDEBARAN
BRUNO SCHETTINI

Síntese de Filtro Rejeita - Faixa

Função de Aproximação Butterworth


e
Arquitetura Tow-Thomas

Tra
balho apresentado à professora Ana Isabela
Cunha para compor uma avaliação parcial da
disciplina Síntese de Circuitos do
Departamento de Engenharia Elétrica,
Universidade Federal da Bahia.

Salvador

2011
1-ESPECIFICAÇÕES DO PROJETO

O objetivo deste projeto é construir um filtro Rejeita-Faixa utilizando o


conhecimento adquirido na disciplina de Síntese de Circuitos. Inicialmente, será
necessário o cálculo da função de transferência do filtro através da aproximação
Butterworth. Feito isso, será dimensionado e simulado um circuito utilizando cascata
de biquads Tow-Thomas, a fim de comparar os resultados obtidos na simulação com
os resultados obtidos teoricamente.

O Filtro a ser elaborado possui as especificações contidas na tabela A abaixo:

Tabela A – Especificações do Filtro Rejeita-Faixa


Banda de Banda de
Amáx Amin Função de
Passagem Rejeição Arquitetura
(dB) (dB) Aproximação
(Hz) * (Hz) *

20k 8M 500k 800k 0,2 60 Butterworth Tow-Thomas

F3 F4 F1 F2

2-APROXIMAÇÃO BUTTERWORTH (MATLAB)

Projeto de filtro rejeita-faixa


f1 = 500e3;
f2 = 800e3;
f3 = 20e3;
f4 = 8e6;
f4x = (f1*f2)/f3
w1=2*pi*f1;
w2=2*pi*f2;
w3=2*pi*f3;
w4=2*pi*f4x;
wp=[w3 w4];
ws=[w1 w2];
Amax=0.2;
Amin=60;
f=logspace(3,8,27)';
s=j*2*pi*f;
format long e

Filtro de Butterworth
[Nb, Wnb] = buttord(wp, ws, Amax, Amin, 's')
[B,A] = butter(Nb,Wnb,'stop','s')
numb=polyval(B,s);
denb=polyval(A,s);
Tbut=numb./denb;
TbutdB = 20*log10(abs(Tbut));
semilogx(f,TbutdB)
pause

Resultados (após execução do código):

Nb = 3

Wnb = [ 8.035067907052165e+005 1.965305973800411e+007]

B = [9.999999999999997e-001 0 4.737410112522888e+013 0
7.481018191411374e+026 0 3.937850136884438e+039]

A= [1.000000000000000e+000 3.769910589459774e+007
7.579853934989130e+014 7.887993422963255e+021 1.196962549725850e+028
9.400923133089285e+033 3.937850073953065e+039]

Gráfico da função (aproximação Butterworth):

Ganho em dB

Freqüência em HZ

-Plotagem da Função de Transferência Aproximada-

COMPARAÇÃO DA APROXIMAÇÃO COM O GABARITO


Ganho em dB (Zoom da Função de Transferência)

Freqüência em HZ

Como podemos ver a banda de rejeição se encaixa no gabarito.A banda de


passagem é corrigida pelo próprio matlab para que possa ficar de maneira
simétrica,obedecendo a seguinte relação F1xF2=F3xF4(500k x 800k=10^4.895 x
10^6,71),o que pode ser visto nos gráficos acima.Mas atendendo aos pré-
requisitos ,estando na área delimitada pelo gabarito.

3-REDE ATIVA

3.1 Esquemático

Por se tratar de um filtro de sexta ordem, foi necessário utilizar 3 biquads Tow-
Thomas em cascata.Dessa forma, cada um dos biquads utilizados apresenta uma
arquitetura similar ao biquad apresentado abaixo:

-Esquemático do biquad Tow-Thomas (Genérico)-

Função de Transferência (Tow-Thomas):

 1 RPA 1  s  1 R 1  1
s2        PA 
VO  s RF2  R3 RPF R2  C  RR1 RPB RR2  C 2

VI s RPA 1 1
s2  s
R3C R1RC2

3.2 Cálculo dos Componentes

A fim de calcular o valor de cada componente dos biquads, foi desenvolvida em


Matlab uma rotina que compara a expressão da função de transferência acima com a
expressão da função de transferência aproximada (obtida utilizando os zeros e pólos
encontrados). Segue o código da rotina mencionada:
Código:

%Os vetores A e B são encontrados na aproximação butterworth


%eles são respectivamente o denominador e numerador da função de
%transferência
p=roots(A)% retorna os pólos da função de transferência
z=roots(B)% retorna os zeros da função de transferência

a1=poly([p((1) p(2)]) % a1,a2,a3 representam os pólos da função


a2=poly([p(3) p(4)])
a3=polyy([p(5) p(6)])

b1=poly([z(1)) z(2)]) % b1,b2,b3 representam os zeros da função


b2=poly([z(3) z(4)])
b3=poly([z(5) z(6)])
pause
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

C=2.2e-11;
R=1e4;
Rpa=6e4;
R2=1e4;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%valores de resistência do 1°biquad

a11=b1(2);
a12=b1(3);
b11=a1(2);
b12=a1(3);

R3biquad1=1/(b11*C)
R1biquad1=1/(R*C^2*b12)
Rpfbiquad1=(Rpa*R3biquad1)/R2
Rpbbiquad1=Rapa/(R*R2*C^2*(b12-a12))
Rf2=Rpa;
pause

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%valores de resistência do 2°biquad
C2=1e-10;
R12=55e3;
R22=25e2;
Rpa=1e2
%Rpbbiquad2=5e4

a21=b2(2);
a22=b2(3);
b21=a2(2);
b22=a2(3);

R3biquad2=1/(b21*C2)
R1biquad2=1/(R12*C2^2*b22)
Rpbbiquad2=Rpa/(R12*R22*C2^2*(a22-b22))
Rpfbiquad2=(Rpa*R3bbiquad2)/R22
Rf22=Rpa;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%valores de resistencia do 3°biquad

C3=1e-10;
R33=1e4;
Rpa3=1e4;
R23=1e3;

a31=b3(2);
a32=b3(3);
b31=a3(2);
b32=a3(3);

R3biquad3=1/(b31*C3)
R1biquad3=1/(R33*C3^2*b32)
Rpfbiquad3=(Rpa3*R3biquad3)/R23
Rpbbiquad3=Rpa3/(R33*R23*C3^2*(a32-b32))
Rf23=Rpa3;
pause

Resultados:

Pólos =[ -5.759672691583396e+006 +1.194456143144849e+007i


-5.759672691583396e+006 -1.194456143144849e+007i
-1.113572466495023e+007
-1.418081671096487e+006
-5.172304764399719e+005 +1.072646230241981e+006i
-5.172304764399719e+005 -1.072646230241981e+006i]
Zeros=[1.963249173234362e+001 +3.973846641015032e+006i
-1.963249173234362e+001 -3.973846641015032e+006i
1.963248617033241e+001 +3.973846641024708e+006i
1.963248617033241e+001 -3.973846641024708e+006i
5.561549187405035e-006 +3.973812636915595e+006i
5.561549187405035e-006 -3.973812636915595e+006i]

1º Biquad:

Coeficientes dos pólos =[ 1.000000000000000e+000 1.151934538316679e+007


1.758463773038183e+014]

Coeficientes dos zeros1 =[ 1.000000000000000e+000 3.926498346468725e+001


1.579145712669189e+013]
Valores encontrados para os componentes:
-Valores arbitrados
C=2.2e-11
R=1e4
Rpa=6e4
R2=1e4
Rf2=6e4

-Valores encontrados
R3 =3.945931295798122e+003
R1 =1.174954943148821e+003
Rpf= 2.367558777478873e+004
Rpb =7.745275309973042e+003

2º Biquad:

Coeficientes do pólos =[ 1.000000000000000e+000 1.255380633604671e+007


1.579136704174298e+013]

Coeficientes dos zeros =[ 1.000000000000000e+000 -3.926497234066483e+001


1.579145712676879e+013]

Valores encontrados para os componentes:


-Valores arbitrados
C=1e-10
R=55e3
R2=25e2
Rpa=1e2
Rf2=1e2

-Valores encontrados
R3 = 7.965711539842882e+002
R1 =1.151377086844747e+002
Rpb =8.073181094516380e+005
Rpf=3.186284615937153e+001

3º Biquad:
Coeficientes dos pólos=[ 1.000000000000000e+000 1.034460952879944e+006
1.418097301010653e+012]

Coeficientes dos zeros =[ 1.000000000000000e+000 -1.112309837481007e-005


1.579118687331008e+013]

Valores encontrados para os componentes:


-Valores arbitrados
C3=1e-10
R=1e4
Rpa=1e4
R2=1e3
Rf2=1e4

-Valores encontrados
R3 =9.666870433494813e+003
R1 =7.051702300591909e+003
Rpf=9.666870433494813e+004
Rpb=6.957446379011320e+003

4-Simulação

De acordo com os valores dos componentes calculados, foi montado no Multisim o


circuito (com sub-circuitos) para a simulação:

1º biquad
2º biquad

3º biquad

CIRCUITOS INTERCONECTADOS
CIRCUITO SIMULADO (MULTISIM):

Simulando o circuito acima utilizando análise AC do Multisim, obteve-se o seguinte


gráfico para a função de transferência (Ganho em dB):

COMPARAÇÃO DA REDE ATIVA COM A APROXIMAÇÃO

A fim de comparar, em nível de função de transferência, o resultado encontrado


na simulação (em vermelho) da rede ativa e o resultado encontrado com a função de
transferência aproximada (em azul), foi desenvolvida uma rotina no Matlab.Primeiro
exportamos os dados do simulador para uma tabela Excel.De posse desses dados
importamos os pontos para o matlab e plotamos os dois gráficos em um só.

Código:
X=P(1:71,1)% usando vetores armazenados no workspace
Y=P(1:71,2)
semilogx(X,20*log10(Y),'-r')% gráfico dos pontos importados do
multisim
[Nb, Wnb] = buttord(wp, ws, Amax, Amin, 's')
[B,A] = butter(Nb,Wnb,'stop','s')
numb=polyval(B,s);
denb=polyval(A,s);
Tbut=numb./denb;
TbutdB = 20*log10(abs(Tbut));
semilogx(f,TbutdB,X,20*log10(Y),'-r') %gráfico do multisim e matlab
plotados simultaneamente

Ganho em dB

Freqüência em HZ

- Plotagem da Função de Transferência Simulada-

Ganho em dB
Freqüência em HZ

- Plotagem da Função de Transferência Simulada simultaneamente com a função do matlab-

You might also like