Projeto Fir Iir

72
Projeto de Filtros FIR e IIR Disciplina: Processamento Digital de Sinais Professores: Eddie Filho e Waldir Sabino

description

Filtros

Transcript of Projeto Fir Iir

Ps-graduao em Televiso Digital

Projeto de Filtros FIR e IIR

Disciplina: Processamento Digital de SinaisProfessores: Eddie Filho e Waldir Sabino

1

Projeto de Filtros FIR e IIRRelembrando sobre a avaliao: Prova 1 (j realizado) Prova 2 (j realizado) Projetos 1 e 2 (longo) Trabalhos em sala (por volta de 15) (curto)

2

Parte 1

Filtros FIR

3

IntroduoProjetar filtros discretos com resposta ao impulso finita.Quatro tipos bsicos de filtros: Passa-baixa, Passa-alta, Passa-faixa, Rejeita-faixa. Em todos os casos usaremos a formulao matemtica e o projeto em si realizado em Matlab.Algumas etapas do projeto podem ser implementadas em linguagem C.

4

IntroduoProcedimentos para Projetar filtrosDefinir qual ser a resposta em freqncia do filtro conforme a aplicao desejada.Determinar a resposta ao impulso que produz a resposta em freqncia desejada.Modificar a resposta ao impulso para que o filtro possa ser utilizado na prtica.Implementar o filtro utilizando alguma linguagem.

5

Aproximaes para filtros FIRFiltros IdeaisOs filtros ideais, que normalmente so o objetivo, no so passveis de implementao, pois exigem infinitos coeficientes e so no-causais (prejudica implementao em tempo real).Exemplo:

Descrio Matemtica do FiltroResposta de Magnitude do Filtro

Note que: A resposta em magnitude peridica (=2)

6

Aproximaes para filtros FIRFiltros IdeaisResposta de Magnitude dos filtros ideais

7

Aproximaes para filtros FIRFiltros IdeaisResposta de Magnitude e Resposta ao Impulso.12

8

Aproximaes para filtros FIRFiltros IdeaisProjeto de Filtros Ideais (Trabalho 1).

Projetar um filtro passa-baixa ideal com ganho unitrio com freqncia de corte igual a 5 kHz e considerando que a freqncia de amostragem 60 kHz.Projetar um filtro passa-alta ideal com ganho unitrio com freqncia de corte igual a 12 kHz e considerando que a freqncia de amostragem 60 kHz.Projetar um filtro passa-faixa ideal com ganho unitrio com freqncia de passagem entre 12 kHz e 16 kHz. A freqncia de amostragem 60 kHz.Aumente a ordem dos filtros. Neste caso, o que acontece?

Dicas: Cuidado com a relao entre freqncias digitais (smbolo ) e analgicas (smbolo ). A relao . A freqncia digital de amostragem equivalente analgica sempre igual a 2.

9

Idia principal:

Aproximao por amostragem na freqncia: a DFT do filtro corresponde s amostras da resposta em freqncia desejada. As amostras so tomadas em sk/N,com 0kN-1.Aproximaes para filtros FIRAmostragem na Freqncia

10

Supondo a resposta em freqncia desejada igual a D() e a DFT do filtro h(n) igual a H(ej) temos:

Note que: (1) O erro de aproximao zero nas freqncias amostradas.(2) O erro de aproximao maior nas transies e menor fora delas.(3) A transio pode ser controlada pois consegue-se impor um zero em H(ej).

Aproximaes para filtros FIRAmostragem na Freqncia

11

Aproximaes para filtros FIRAmostragem na Freqncia

Resposta ao Impulso.

12

Aproximaes para filtros FIRAmostragem na Freqncia Correspondncia entre os tipos de filtros.

13

Aproximaes para filtros FIR Amostragem na Freqncia Projeto de Filtros por Amostragem na Freqncia (Trabalho 2).

Projetar um filtro passa-baixa com ganho unitrio com freqncia de corte igual a 5 kHz com transio de 2 kHz e considerando que a freqncia de amostragem 60 kHz.Projetar um filtro passa-alta com ganho unitrio com freqncia de corte igual a 12 kHz e transio de 3 kHz e considerando que a freqncia de amostragem 60 kHz.

Dicas: O termo A(k) igual a resposta de magnitude desejada. Para determin-la basta observar a resposta em freqncia do filtro. A(s) freqncia(s) de transio iram indicar os valores de k tal que A(k) zero ou um.

14

Uma maneira de contornar o problema das respostas com durao infinita, apresentada pelos filtros ideais, truncar a mesma com funes janelaO Truncamento interpretado como um produto no tempo discreto por uma funo janela w(n). Assim, supondo hd(n) a resposta ao impulso de durao infinita, temos:

Aproximaes para filtros FIRProjeto com Funes Janela

15

w(n)hd(n)

Neste exemplo, podemos visualizar o efeito do truncamento no domnio do tempo.

Note que o filtro truncado obtido por um produto da funo janela pela resposta ideal

M

16

Utilizando o Teorema da Modulao podemos determinar a resposta em freqncia para o filtro truncado.Dessa forma, o produto no domnio do tempo equivale a convoluo no domnio na freqncia. Observe que a convoluo peridica pois os sinais so peridicos.Supondo:

Aproximaes para filtros FIRProjeto com Funes Janela

17

hd(n)

18

w(n)hd(n)

MM2/M

19

w(n)hd(n)

h(n)MM2/M

20

Antes de observar a resposta em freqncia do filtro truncado H, vamos definir alguns termos referentes funo janela e ao filtro truncadoAproximaes para filtros FIRProjeto com Funes Janela

Lbulo principal

Lbulos laterais ou secundrios

21

Observando a resposta em freqncia do filtro truncado H, temos:(1) A Banda de Transio aumenta se a Largura do Lbulo Principal aumentar. Aproximaes para filtros FIRProjeto com Funes Janela

22

Aproximaes para filtros FIRProjeto com Funes Janela

Observando a resposta em freqncia do filtro truncado H, temos: (2) As ondulaes (ripples) aumentam se as rea dos Lbulos Laterais (ou secundrios) aumentarem.

23

Assim, a forma da funo janela modifica diversas especificaes da resposta em freqncia do nosso filtro. Resumidamente, procuramos uma janela com as seguintes caractersticas: Razo entre a amplitude do lbulo principal e a do lbulo lateral deve ser alta;Largura do lbulo principal determina a largura da faixa de transio. Logo, este valor deve ser pequeno;Nesse sentido, algumas funes foram propostas. So elas:Aproximaes para filtros FIRProjeto com Funes Janela

24

A janela retangular, j estudada anteriormente.Aproximaes para filtros FIRProjeto com Funes Janela Retangular

25

Aproximaes para filtros FIRProjeto com Funes Janela Retangular

26

A janela retangular origina muita ondulao nas extremidades, que no pode ser controlada. Para reduzir essas ondulaes, vrias janelas foram propostas. A janela triangular dada por:Aproximaes para filtros FIRProjeto com Funes Janela Triangular

27

Aproximaes para filtros FIRProjeto com Funes Janela Triangular

28

A janela retangular origina muita ondulao nas extremidades, que no pode ser controlada. Para reduzir essas ondulaes, vrias janelas foram propostas. A janela de hamming (=0,54) dada por:

Se =0,50, o filtro conhecido como janela de hanning.

Aproximaes para filtros FIRProjeto com Funes Janela Hamming e Hanning

29

Aproximaes para filtros FIRProjeto com Funes Janela Hamming e Hanning

30

Aproximaes para filtros FIRProjeto com Funes Janela Hamming e Hanning

31

A janela de blackman introduz um outro termo cossenoidal, visando um maior controle da faixa de transio.

Aproximaes para filtros FIRProjeto com Funes Janela Blackman

32

Aproximaes para filtros FIRProjeto com Funes Janela Blackman

33

Procedimento geral:

Selecione a funo janela apropriada;Especifique a resposta em freqncia do filtro ideal Hd;Calcule os coeficientes do filtro ideal hd Multiplique os coeficientes do filtro ideal pela funo janela para obter os coeficientes do filtro h; Determine a resposta em freqncia do filtro h e faa iteraes se necessrio (tipicamente, altere o valor da ordem).

Aproximaes para filtros FIRProjeto com Funes Janela Procedimento Geral

34

Procedimento geral (Especificaes):

Aproximaes para filtros FIRProjeto com Funes Janela Procedimento Geral

35

Procedimento geral (Especificaes):

Aproximaes para filtros FIRProjeto com Funes Janela Procedimento Geral

36

Trabalho 3, 4, 5, 6 e 7:Projete um filtro usando as cinco primeiras funes janelas com as seguintes especificaesRejeita-faixaAproximaes para filtros FIRProjeto com Funes Janela Retangular , Triangular, Hanning, Hamming, Blackman

37

Exerccio:RetangularHamming

Aproximaes para filtros FIRProjeto com Funes Janela Retangular , Triangular, Hanning, Hamming, Blackman

38

Implementaes no MatLabO MatLab tem diversas funes para implementar janelas:w = rectwin(M+1): Janela retangularw = bartlett(M+1): Janela triangularw = hann(M+1): Janela de Hanningw = hamming(M+1): Janela de Hammingw = blackman(M+1): Janela de Blackmanw = kaiser(M+1, Beta): Janela de Kaiserw = chebwin(M+1): Equiriple39Aproximaes para filtros FIRProjeto com Funes Janela Procedimento Geral

39

Aproximaes para filtros FIRProjeto com Funes Janela - Janela Flexvel

40

A janela de kaiser permite controlar as ondulaes nas faixas de passagem e rejeio. =a(M/2)T e I0(x) a funo de bessel modificada de primeira classe de ordem zero.

Aproximaes para filtros FIRProjeto com Funes Janela Kaiser (Janela Flexvel)

41

Aproximaes para filtros FIRProjeto com Funes Janela Kaiser (Janela Flexvel)

42

A janela de Dolph-chebyshev (equiripple) permite que a largura do lbulo principal e a faixa de transio sejam controlados pelo mesmo parmetro (M) e a sua faixa de rejeio tem ondulao constante.

Aproximaes para filtros FIRProjeto com Funes Janela Equiriple

43

Aproximaes para filtros FIRProjeto com Funes Janela Equiriple

44

Passos para o projeto de um filtro com janela de kaiser:Passo 1: Se PB ou PA, c=(p+ r)/2 e Tr=|p- r|; Se PF ou RF, Tr=min{|p1- r1|,|p2- r2|}, c1= p1+Tr/2 e c2= p2-Tr/2;Passo 2: p=(100,05Ap-1)/(100,05Ap+1), r=(10-0,05Ar) e =min(p,r);Passo 3: Ap=20log{(1+)/(1-)}, Ar=-20log()Passo 4:

Aproximaes para filtros FIRProjeto com Funes Janela Kaiser

45

Passos para o projeto de um filtro com janela de kaiser:Passo 5: M(sD)/Tr;

Passo 6: Calcular wk(n) e depois h(n)= wk(n)hd(n);Passo 7: H(z)=z-M/2{h(n)}.

Aproximaes para filtros FIRProjeto com Funes Janela Kaiser

46

Trabalho 8:Projete um filtro de kaiser com as seguintes especificaesRejeita-faixa RespostaAproximaes para filtros FIRProjeto com Funes Janela Kaiser

47

Exerccio:Resposta em freqnciaAproximaes para filtros FIRProjeto com Funes Janela Kaiser

48

Exerccio:Resposta em freqnciaAproximaes para filtros FIRProjeto com Funes Janela Kaiser

49

Aproximaes para filtros FIR Projeto com Funes Janela Dolph-chebyshev (equiripple) Passos para o projeto:Passo1: Executar passos 1 e 2 da janela de kaiser;Passo 2: Determinar r;Passo 3: Executar os passos 3 e 5 a 6 de kaiser, substituindo Ar por Ar + 2,5 no clculo de D, pois a atenuao na banda de rejeio maior.Passo 4: Calcular x0;Passo 5: Proceder como na janela de kaiser.

50

Trabalho 9Exerccio: Projete novamente o filtro anterior com este mtodo.Aproximaes para filtros FIR Projeto com Funes Janela Dolph-chebyshev (equiripple)

51

Para se utilizar algoritmos de otimizao, interessante descrever os filtros de forma mais generalizada.Utilizando os tipos I, II, III e IV podemos projetar filtros todos os tipos de filtros e ainda com a fase sendo linear.A forma generalizada que utiliza a funo auxiliar P() igual a

para todos os tipos, pode ser encontrada como: Aproximaes para filtros FIRProjeto utilizando Otimizao Formulao do Problema

52

A forma generalizada, para tipos I, II, III e IV pode ser expressa como:

Aproximaes para filtros FIRProjeto utilizando Otimizao Formulao do Problema

53

Se D() for a resposta desejada, define-se a funo erro ponderada por W() como:

Definindo:

Aproximaes para filtros FIRProjeto utilizando Otimizao Formulao do Problema

54

Temos a funo de erro ponderada por Wq() como:

De posse da funo de erro ponderada, podemos definir o nosso problema de otimizao para os filtros FIR como:

Determine o conjunto de coeficientes p(l) que minimiza alguma funo objetivo da funo de erro ponderada E() sobreum conjunto prescrito de freqncias.

Aproximaes para filtros FIRProjeto utilizando Otimizao Formulao do Problema

55

A otimizao ento determinar o conjunto de coeficientes p(l) que minimizar o erro E(). Tal funo avaliada num conjunto de freqncias 0i. possvel descartar os pontos nas faixas de transio. Colocando em notao matricial:

Aproximaes para filtros FIRProjeto utilizando Otimizao Formulao do Problema

56

A otimizao pelo mtodo dos mnimos quadrados ponderados tem como objetivo minimizar o quadrado da energia da funo erro E():

Aproximaes para filtros FIRProjeto utilizando Otimizao Mnimos Quadrados (WLS)

57

A otimizao pelo mtodo de chebyshev (minimax) procura minimizar o mximo valor absoluto da funo erro:

A ordem aproximada do filtro pode ser calculada com a frmula:

Aproximaes para filtros FIRProjeto utilizando Otimizao Chebyshev (minimax)

58

A otimizao pelo mtodo de WLS-chebyshev utilizada em projeto de filtros de faixa estreita, levando em considerao tanto a atenuao mnima quanto a energia na faixa de rejeio.

Tal tcnica combina os mtodos WLS e Chebyshev.Aproximaes para filtros FIRProjeto utilizando Otimizao WLS-Chebyshev

59

Comandos do MATLAB para projetar filtros por otimizao Filtros WLS: firls e fircls.Filtros Chebyshev (minimax): firpm, usar tambm firpmord.Filtros WLS-chebyshev: no implementado no Matlab.

Aproximaes para filtros FIRProjeto utilizando Otimizao - Funes do Matlab

60

Trabalho 10Exerccio: Projete o filtro abaixo utilizando os mtodos chebyshev e wlsPassa-baixasAp=1dB p/ 0 2KHzAr=40dB p/ 2,5KHz s=10KHz

Trabalho 11Exerccio: Projete o filtro multibanda abaixo utilizando o mtodo de chebyshev.r1=40dB p/ 0 2KHzp1=1dB p/ 2,5 3,5KHzr2=40dB p/ 4 6KHzp2=1dB p/ 6,5 7,5KHzpr3=40dB p/ 8 10KHzs=20KHzAproximaes para filtros FIRProjeto utilizando Otimizao

61

Parte 2

Filtros IIR

62

Aproximaes para filtros IIRIntroduoFiltros IIR so representados por funes de transferncia que consistem na razo de polinmios. Isso geralmente resulta numa resposta ao impulso com durao infinita.

possvel projetar filtros IIR que necessitem de um nmero de multiplicaes menor que o dos filtros FIR, o que os torna atrativos para aplicaes em tempo real.

63

Aproximaes para filtros IIRIntroduoO projeto de filtros digitais IIR utiliza mtodos clssicos para aproximao de filtros analgicos (especificaes de mdulo). Esses filtros analgicos (obviamente) so definidos no domnio de tempo contnuo.

Os diferentes tipos de filtros analgicos (passa-alta, passa-faixa e rejeita-faixa) so obtidos a partir de um filtro analgico prottipo passa-baixa.

64

Aproximaes para filtros IIRIntroduoA partir do filtro analgico prottipo passa-baixa podemos obter qualquer filtro digital IIR. Esquematicamente, temos duas opes, a primeira :Especificar Filtro prottipo analgico passa-baixa (FPPB)Especificar Filtro tipo X que se deseja projetar(passa-baixa,passa-alta, passa-faixa ou rejeita-faixa)ProjetarFPPBTransformar FPPB no Filtro XTransformar Filtro X em um filtro digitalDigital

Analgico

Analgico

Analgico

Analgico ParaDigital

65

Aproximaes para filtros IIRIntroduoA segunda :Especificar Filtro prottipo analgico passa-baixa (FPPB)Especificar Filtro tipo X que se deseja projetar(passa-baixa,passa-alta, passa-faixa ou rejeita-faixa)ProjetarFPPBTransformar FPPB analgico em um filtro FPPB digitalTransformar Filtro digital FPPB em um filtro digital do tipo XDigital

Analgico

Analgico

Analgico ParaDigitalDigitalParaDigital

66

Aproximaes para filtros IIRIntroduoO projeto de um filtro passa baixas analgico requer a especificao de resposta em mdulo e fase que se deseja. p e r so as freqncias de passagem e rejeio e Ap e Ar so as ondulaes mximas permitidas.

67

Aproximaes para filtros IIRButterworth A aproximao de butterworth trata de filtros do tipo s-plos, e a sua atenuao dada por:

A freqncia normalizada pela freqncia de passagem (p) e E(j) o polinmio que aproxima A(j ). Para que o mesmo tenha mdulo reduzido em altas freqncias e elevando em baixas, define-se:

68

A atenuao em dB em dada por:

A atenuao na faixa de passagem ento dada por:

A ordem mnima do filtro dada por

Aproximaes para filtros IIRButterworth

69

|A(j)|2 pode ser dado por:

As razes do polinmio so dadas por:

Aproximaes para filtros IIRButterworth

70

Para que o filtro seja estvel, escolhe-se as razes na metade esquerda do plano S:

Aproximaes para filtros IIRButterworth

71

Para que o filtro seja estvel, escolhe-se as razes na metade esquerda do plano S:

Aproximaes para filtros IIRButterworth

72