Projeto de Filtro Analógico utilizando a Aproximação de Chebyshev e Arquitetura Deliyannis

download Projeto de Filtro Analógico utilizando a Aproximação de Chebyshev e  Arquitetura Deliyannis

of 9

description

Projeto de Filtro Analógico utilizando a Aproximação de Chebyshev e Arquitetura Deliyannis

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