Estudo comparativo entre filtros digitais FIR e...

Post on 09-Oct-2018

215 views 0 download

Transcript of Estudo comparativo entre filtros digitais FIR e...

Centro Federal de Educação Tecnológica de Santa Catarina - CEFET-SC CST em Sistemas de Telecomunicações

1 de 10 São José, Santa Catarina, de 19 de Dezembro de 2008

Estudo comparativo entre filtros digitais FIR e IIR

José Paulo de Oliveira Petry petrybr@gmail.com

Resumo: Neste artigo será realizado o projeto de filtros, analógicos e digitais, passa baixa e passa faixa utilizando os métodos IIR e FIR para os filtros digitais. Pretende-se realizar uma comparação entre os dois métodos analisando as respostas em freqüência de magnitude, fase, resposta ao impulso e seus pólos e zeros de modo a encontrar a melhor solução entre os filtros disponíveis. Palavras-chave: filtro digital; FIR; IIR;. 1. Introdução

Um filtro tem como objetivo restringir a passagem de freqüências não desejáveis. Essa restrição é realizada atenuando as freqüências indesejadas. Pode ser definido como:

· Filtro Passa Baixa: Deve permitir apenas a passagem de freqüências abaixo de uma freqüência de corte especificada.

· Filtro Passa Faixa: Deve permitir apenas a passagem de freqüências que estejam entre uma freqüência de corte inferior e uma freqüência de corte superior.

· Filtro Rejeita Faixa: Deve rejeitar a passagem de freqüências que estejam entre uma freqüência de corte inferior e uma freqüência de corte superior

· Filtro Passa Alta: Deve permitir apenas a passagem de freqüências acima de uma freqüência de corte especificada.

Um filtro digital é um sistema temporal discreto e tem como função de transferência um filtro em forma de janela espectral, através da qual somente é permitida a passagem da parte desejada do espectro de entrada. Podem ser classificados em dois grupos:

· Filtros digitais de resposta ao impulso de duração finita (FIR): As saídas do sistema dependem somente da entrada presente e de um número finito de entradas passadas.

· Filtros digitais de resposta ao impulso de duração infinita (IIR): Depende do ssinais de entrada presentes e passados e dos sinais de saída passados. Essa dependência das saídas passadas faz com que a duração da resposta seja infinita.

Este artigo tem como objetivo encontrar o melhor tipo de filtro para as especificações solicitadas. Entende-se como melhor filtro aquele que atende as especificações com a menor ordem. 2. Especificações dos Filtros

Neste ítem serão apresentadas as especificações solicitadas.

Moecke
Highlight
Moecke
Highlight
Moecke
Highlight
Moecke
Underline
Moecke
Typewriter
C+
Moecke
Typewriter
Artigo recomedado

Centro Federal de Educação Tecnológica de Santa Catarina - CEFET-SC CST em Sistemas de Telecomunicações

2 de 10 São José, Santa Catarina, de 19 de Dezembro de 2008

2.1. Filtro Passa Baixa

Tabela 1 – Especificações do filtro passa baixa

2.2. Filtro Passa Faixa

Tabela 2 – Especificações do filtro passa faixa 3. Desenvolvimento

Neste item serão apresentados gráficos onde poderemos comparar as respostas dos filtros.

3.1. Filtro analógico

A título de aprendizado, os filtros especificados anteriormente foram simulados no MatLab como filtros analógicos.

Para o filtro passa baixa, foi realizado testes com diversos tipos e ordens de filtro, sendo que o que obteve melhor resultado foi do tipo Chebyshev 2 de ordem 15. Na figura 1 temos a resposta em magnitude dele.

Figura 1 – Resposta em magnitude do filtro passa baixas tipo Chebyshev 2 de ordem 15

Especificação Valor Ganho na componente contínua(G0) -20 Frequência de corte (rd/s) 200k Banda de transição (bt) 20k Ripple máximo na banda passante (Ap) 0.1 Atenuação mínima na frequência de rejeição (As) (dB) 30

Especificação Valor Ganho na componente contínua(G0) 0 Frequência central (rd/s) 200k Largura de banda(B), banda passante(bt) (rd/s) 20k Ripple máximo na banda passante (Ap) 0.5 Atenuação mínima na frequência de rejeição (As) (dB) 60

Moecke
Highlight
Moecke
Highlight

Centro Federal de Educação Tecnológica de Santa Catarina - CEFET-SC CST em Sistemas de Telecomunicações

3 de 10 São José, Santa Catarina, de 19 de Dezembro de 2008

Na Tabela 3 temos o código do Matlab usado para gerar o filtro analógico passa baixas.

Tabela 3 – Código do Matlab para gerar o Filtro Passa Baixas

%% % Centro Federal de Educação Tecnológica de Santa Catarina % Unidade de São José % Curso Superior de Tecnologia em Sistemas de Telecomunicações % Disciplina: Processamento de Sinais Digitais % Aluno: José Paulo de Oliveira Petry % Projeto de Filtros Analógicos %% clc; clear all; syms Hp H p s S = 8; % tamanho da letra nos gráficos H0=-20; % Ganho do filtro em w = 0 G0 = 10^(H0/20); N = 15; % N é a ordem do Filtro Passa baixa e Passa alta % 2N é a ordem do Filtro Passa faixa e Rejeita faixa FILTER = 'Chebyshev 2'; Rp = 0.1; % ripple na faixa de passagem em dB - cheb1 e ellip Rs = 10;% ripple na faixa de rejeição em dB - cheb2 e ellip % Filtro Chebyshev 1 ordem N>2 %cheb1: %[zeros,polos,k]=cheb1ap(N,Rp); pF=poly(polos); zF=poly(zeros); %cheb2 (nao funciona) [zeros,polos,k]=cheb2ap(N,Rs); pF=poly(polos); zF=poly(zeros); % Filtro Butterworth ordem N>2 %[zeros,polos,k]=buttap(N); pF=poly(polos); zF=poly(zeros); % Filtro Elliptico ordem N>2 %[zeros,polos,k]=ellipap(N,Rp,Rs); pF=poly(polos); zF=poly(zeros); sz = size(zF); Nz = sz(2)-1; str = ['(']; for k=1:Nz+1 str = [str '+' num2str(zF(k)) '*p.^' num2str(Nz-k+1)]; end str = [str ')./(']; for k=1:N+1 str = [str '+' num2str(pF(k)) '*p.^' num2str(N-k+1)]; end str = [str ')']; H=inline(str); Hp = G0*eval(str); Hps= simplify(Hp); %pretty(Hps);; Hp0=H(j*0); % Ganho em DC de H(p) P = 1e-2:1e-3:100; %% Convertendo para Passa Baixas com wp = 10 rd/s wp = 220000; w = P*wp; jw = w*j; Hsw = (G0/Hp0)*H(jw./wp); figure(1); semilogx(w,20*log10(abs(Hsw)));grid on; ylabel('|H(jw)| (dB)'); xlabel('w (rd/s)'); title(['Filtro tipo ' FILTER ' de ordem N = ' num2str(N)]); p = s/wp; Hs = eval(Hp);Hss= simplify(Hs); %pretty(Hss);; figure(2); clf; axis off; set(2, 'Position', [2 100 1024 40] ... , 'MenuBar', 'none') text('Interpreter','latex',... 'String',['$$' latex(Hss) '$$'],... 'Position', [-0.15 0 ], .... 'FontSize',S)

Centro Federal de Educação Tecnológica de Santa Catarina - CEFET-SC CST em Sistemas de Telecomunicações

4 de 10 São José, Santa Catarina, de 19 de Dezembro de 2008

Figura 2 – Resposta em magnitude para o filtro passa faixa do tipo Butterworth de ordem 20

Já para o filtro passa faixa, os testes resultaram no filtro tipo Butterworth de ordem 20

como melhor implementação. A Figura 2 apresenta a resposta em magnitude deste filtro e a Tabela 4 temos o código do Matlab para gerar esse filtro.

Moecke
Note
Porque foi melhor?

Centro Federal de Educação Tecnológica de Santa Catarina - CEFET-SC CST em Sistemas de Telecomunicações

5 de 10 São José, Santa Catarina, de 19 de Dezembro de 2008

Tabela 4 - Código do Matlab para gerar o filtro passa faixa

%% % Centro Federal de Educação Tecnológica de Santa Catarina % Unidade de São José % Curso Superior de Tecnologia em Sistemas de Telecomunicações % Disciplina: Processamento de Sinais Digitais % Aluno: José Paulo de Oliveira Petry % Projeto de Filtros Analógicos %% clc; clear all; syms Hp H p s S = 8; % tamanho da letra nos gráficos H0=0; % Ganho do filtro em w = 0 G0 = 10^(H0/20); N = 10; % N é a ordem do Filtro Passa baixa e Passa alta % 2N é a ordem do Filtro Passa faixa e Rejeita faixa FILTER = 'Butterworth'; Rp = 0.5; % ripple na faixa de passagem em dB - cheb1 e ellip Rs = 10;% ripple na faixa de rejeição em dB - cheb2 e ellip % Filtro Butterworth [zeros,polos,k]=buttap(N); pF=poly(polos); zF=poly(zeros); sz = size(zF); Nz = sz(2)-1; str = ['(']; for k=1:Nz+1 str = [str '+' num2str(zF(k)) '*p.^' num2str(Nz-k+1)]; end str = [str ')./(']; for k=1:N+1 str = [str '+' num2str(pF(k)) '*p.^' num2str(N-k+1)]; end str = [str ')']; H=inline(str); Hp = G0*eval(str); Hps= simplify(Hp); %pretty(Hps);; Hp0=H(j*0); % Ganho em DC de H(p) P = 1e-2:1e-3:100; %% Convertendo para Passa Faixa com w0 = 200k rd/s e B = 20k w0 = 200000; B = 20000; sw = P*w0; sj = sw*j; Hsw = (G0/Hp0)*H(1/B*(sj.^2+w0^2)./sj); figure(1); semilogx(sw,20*log10(abs(Hsw)));grid on; ylabel('|H(jw)| (dB)'); xlabel('w (rd/s)'); title(['Filtro tipo ' FILTER ' de ordem N = ' num2str(2*N)]); p = 1/B*(s^2+w0^2)/s; Hs = eval(Hp);Hss= simplify(Hs); %pretty(Hss);; figure(2); clf; axis off; set(2, 'Position', [2 100 1024 40] ... , 'MenuBar', 'none') text('Interpreter','latex',... 'String',['$$' latex(Hss) '$$'],... 'Position', [-0.15 0 ], .... 'FontSize',S)

Centro Federal de Educação Tecnológica de Santa Catarina - CEFET-SC CST em Sistemas de Telecomunicações

6 de 10 São José, Santa Catarina, de 19 de Dezembro de 2008

3.2 Filtros Digitais

Para o desenvolvimento da simulação dos filtros digitais foi utilizado a ferramenta fdatool do aplicativo Matlab. Esta ferramenta não permite acrescentar um ganho em magnitude na banda de passagem. Por isso, o ganho na componente contínua do filtro passa baixas foi setado como zero e a atenução mínima de frequência de rejeição foi modificado para 10dB.

3.2.1 Passa Baixas

Para os filtros digitais passa baixa, após testes com diversos tipos de filtros foi escolhido utilizar o tipo Chebyshev 2 para o IIR, e a janela Kaiser para o FIR. 3.2.1.1 Resposta em magnitude

Na Figura 3 temos a comparação da resposta em magnitude dos filtros IIR e FIR desenvolvidos. Podemos observar a melhor performance do filtro IIR, pois o mesmo apresenta um ripple imperceptível na banda de passagem e permanece com ganho zero numa faixa maior de frequências de passagem.

Figura 3 – Resposta em magnitude dos filtros IIR e FIR

3.2.1.2 Resposta em fase

Na Figura 4 é apresentado a comparação da resposta em fase dos filtros. Observa-se uma maior estabilidade na frequência de passagem do filtro IIR, porém este se apresenta com maior variações próximos a frequência de corte.

Moecke
Note
Não entendi este 10dB
Moecke
Highlight
Moecke
Highlight
Moecke
Note
Porque?
Moecke
Note
Este em verde está fora da especificação

Centro Federal de Educação Tecnológica de Santa Catarina - CEFET-SC CST em Sistemas de Telecomunicações

7 de 10 São José, Santa Catarina, de 19 de Dezembro de 2008

Figura 4 – Resposta em fase dos filtro IIR e FIR

3.2.1.3 Resposta ao impulso

Na Figura 5 temos a comparação da resposta ao impulso dos filtros realizados.

Figura 5 – Resposta ao impulso dos filtros IIR e FIR

3.2.1.4 Diagrama de pólos e zeros

Na Figura 6 é apresentado o diagrama de pólos e zeros dos filtros projetados.

Moecke
Note
Aqui não tem nenhum FIR.
Moecke
Note
Para que é mostrado?

Centro Federal de Educação Tecnológica de Santa Catarina - CEFET-SC CST em Sistemas de Telecomunicações

8 de 10 São José, Santa Catarina, de 19 de Dezembro de 2008

Figura 6 – Diagrama de pólos e zeros dos filtros IIR e FIR

3.2.2 Passa Faixa

Para os filtros digitais passa faixa, após testes com diversos tipos de filtros foi escolhido utilizar o tipo Butterworth para o IIR e a janela Kaiser para o FIR. 3.2.2.1 Resposta em magnitude

Na figura 7 temos a resposta em magnitude dos filtro IIR e FIR. Podemos observar que o filtro FIR só começa a atenuar nas frequências mais próximas das frequências de corte, o que o torna mais vantajoso comparado ao IIR. Observa-se tambem que o IIR apresenta uma atenuação maior, comparado ao FIR, nas frequências que devem ser rejeitadas.

Figura 7 – Resposta em magnitude para os filtros IIR e FIR

3.2.2.2 Resposta em fase

Na Figura 8 temos a resposta em fase dos filtros. Pode-se observar uma maior linearidade no filtro FIR na banda passante.

Moecke
Note
O que é para ver aqui?
Moecke
Highlight
Moecke
Highlight
Moecke
Highlight

Centro Federal de Educação Tecnológica de Santa Catarina - CEFET-SC CST em Sistemas de Telecomunicações

9 de 10 São José, Santa Catarina, de 19 de Dezembro de 2008

Figura 8 – Resposta em fase para os filtros IIR e FIR

3.2.2.3 Resposta ao impulso

Na Figura 9 temos a comparaçao da resposta ao impulso dos filtros analisados.

Figura 9 – Resposta ao impulso para os filtros IIR e FIR

3.2.2.4 Diagrama de polos e zeros

Na Figura 10 temos o diagrama de polos e zeros. Podemos observar que os polos do filtro FIR estão todos no centro, pois nesse filtro não realimentação de saídas, existindo apenas os zeros.

Moecke
Note
Aqui tem um FIR, mas a legenda não é legivel, descreva a legenda da figura (linha verde) filtro FIR, etc.
Moecke
Underline
Moecke
Underline
Moecke
Underline

Centro Federal de Educação Tecnológica de Santa Catarina - CEFET-SC CST em Sistemas de Telecomunicações

10 de 10 São José, Santa Catarina, de 19 de Dezembro de 2008

Figura 10 – Diagrama de polos e zeros para os filtros IIR e FIR

4. Considerações Finais

Após a conclusão desse trabalho, foi verificado a dificuldade em desenvolver um filtro ideal. Ao melhorar alguma característica sempre se degradava outra. Com isso, conclue-se que o objetivo final do filtro é o fator mais importante para a escolha de qual tipo e ordem será escolhido, já que saberemos em quais características poderemos ter mais ou menos fidelidade as especificações.

A ferramenta fdatool do aplicativo MatLab é bem eficiente para a criação dos filtros,

podendo rapidamente alterar entre um tipo e outro facilitando o trabalho de pesquisa pela melhor opção de filtro. Referências

SHENOI, B.B. Introduction to digital Signal Processing and Filter Design, 2006

Moecke
Note
Se não foi citado, não é referencia.