Filtros Digitais FIR (Finite Impulse Response) Prof. Juan Mauricio Villanueva jmauricio@cear.ufpb.br www.cear.ufpb.br/juan 1
Filtros FIR (Finite Impulse Response) Para um sistema FIR de ordem M Com função de transferência M 1 y[ n] b x[ n k] k 0 k H ( z) M 1 bk z k 0 k E resposta ao impulso bn, 0 n M 1 h[ n] 0, caso contrario 2
Estrutura FIR: Forma Direta I M 1 y[ n] h x[ n k] k 0 k 3
Projeto de Filtros Digitais FIR O projeto de filtros, implica na seleção de uma sequência finita que represente a resposta ao impulso de um filtro ideal Os filtros FIR sempre são estáveis, e com fase linear (atraso no tempo) Métodos comuns para o projeto de filtros FIR: Janelas, usando a resposta ao impulso dos filtros ideais Amostragem em frequência Projeto iterativo baseado em restrições ótimas 4
Projeto de Filtros FIR por Transformada de Fourier Para uma resposta ideal de um filtro passa-baixo 5
Projeto de Filtros FIR por Transformada de Fourier Função de Transferência: Simetria 6
Projeto de Filtros FIR por Transformada de Fourier Função de Transferência (simetria): 7
Projeto de Filtros FIR por Transformada de Fourier 8
Exemplo 1 Calcular os coeficientes do Filtro Passa-Baixo FIR com 3- tap, com frequência de corte 800 Hz e frequência de amostragem 8000 amostras/s fc 800 c 2 2 f 8000 5 2M 1 3 tap s rad Para n 0 c h(0) Para n 0 sin c sin 0.2 h( n) n n n n 9
Exemplo 1 10
Exemplo 1 Resposta em Frequência 11
Exemplo 1 Em genal, o filtro FIR com coeficientes simétricos têm uma resposta de Fase Linear, dado por 12
Exemplo 1 Magnitude e Fase 13
Exemplo 1 14
Exemplo 1 fc = 800; fs = 8000; M = 1; tap = 2*M+1; omega = 0:0.001:pi; hertz = omega*fs/(2*pi) moduloh = 20*log10(abs(0.2+0.3742*cos(omega))); for i = 1:length(omega) if (0.2+0.3742*cos(omega(i)))>0 faseh(i) = -M*omega(i); elseif (0.2+0.3742*cos(omega(i)))<0 faseh(i) = -M*omega(i)+pi; end end figure plot(hertz,moduloh) axis([0 4000-80 0]),grid figure plot(hertz,faseh*180/pi), grid 15
Exemplo 1 Magnitude e Fase 0 60-10 40-20 20 0-30 -20 H db -40 grados -40-50 -60-60 -80-100 -70-120 -80 0 500 1000 1500 2000 2500 3000 3500 4000 Hz -140 0 500 1000 1500 2000 2500 3000 3500 4000 Hz 16
Exemplo 1 Para M = 1 (2M + 1 = 3 tap) Para M = 8 (2M + 1 = 17 tap) 17
Exemplo 2 Calcular os coeficientes do Filtro Passa-Faixa FIR com 5- tap, com frequência de corte inferior 2000 Hz, frequência de corte superior 2400, e frequência de amostragem 8000 amostras/s 2M 1 5tap fl 2000 L 2 2 f 8000 2 fh 2400 3 H 2 2 f 8000 5 h( n) s s rad rad H L n 0 sin H sin L n 0 2 n 2 n n 18
Exemplo 2 Calculo dos coeficientes: 19
Exemplo 2 Função de Transferência: Resposta em Frequência: j j j2 j3 j4 0.09355 0.01558 0.1 0.01558 0.09355 j j2 j2 j j j2 0.09355 0.01558 0.1 0.01558 0.09355 H e e e e e H e e e e e e jx jx e e 2cos( x) j j2 j2 j2 j j 0.09355( ) 0.1 0.01558( ) j j2 e 0.1871cos(2 ) 0.1 0.03116cos( ) H e e e e e e H e 20
Não é possível exibir esta imagem no momento. Exemplo 2 Magnitude e Fase j j 2 e 0.1871cos(2 ) 0.1 0.03116 cos( ) H e H e j 0.1871cos(2 ) 0.1 0.03116cos( ) j 2 si 0.1871cos(2 ) 0.1 0.03116cos( ) 0 H e 2 si 0.1871cos(2 ) 0.1 0.03116cos( ) 0 21
Projeto de Filtros FIR pelo Método de Janelas Se realiza o truncamiento da resposta ao impulso ideal h[n] por uma janela w[n]: Multiplicação em tempo discreto Convolução na Frequência h [ ] [ ] [ ] w n h n w n H ( ) ( ) ( ) w F H F W F 22
Projeto de Filtros FIR pelo Método de Janelas Características das Funções que caracterizam Janelas JANELAS M n M Boxcar Blackman Barlett Hanning Hamming w[ n] 1 n 2n w[ n] 0.42 0.5 cos 0.08 cos M M n w[ n] 1 M n w[ n] 0.5 0.5 cos M n w[ n] 0.54 0.46 cos M 23
Projeto de Filtros FIR pelo Método de Janelas Processo de Projeto: 1. Obter os coeficientes do Filtro FIR utilizando o Método da Transformada de Fourier 2. Multiplicar os Coeficientes do Filtro FIR pela sequência da janela selecionada h ( ) ( ) ( ),...,0,1,..., w n h n w n n M M 3. Aplicar o atraso à resposta truncada h ( w n ) de M amostras b ( ) 0,1,...,2 n hw n M Para n M 24
Exemplo 3 Projetar um filtro FIR passa-baixo de 3-tap, com frequência de corte de 800 Hz e frequência de amostragem 8000 amostras/s, utilizando a janela de Hamming. fc 800 c 2 2 f 8000 5 2M 1 3 tap s rad Para n 0 c h(0) Para n 0 sin c sin 0.2 h( n) n n n n 25
Exemplo 3 Calculo dos coeficientes do filtro FIR 26
Exemplo 3 Calculo dos coeficientes da Janela de Hamming 27
Exemplo 3 Multiplicando os coeficientes do filtro FIR com os coeficientes da Janela de Hamming 28
Exemplo 3 Atrasando a resposta truncada por M = 1 Função de Transferência H( z) b bz b z 1 2 0 1 2 29
Exemplo 3 Resposta em Frequência 30
Comparação da Resposta em Frequência 31
Especificações de Projeto de Filtros FIR Passa- Baixo Usando a Janela de Hamming Especificaciones de la Respuesta en Frecuencia Banda de Transición Normalizada f f stop f s f pass 32
Especificações de Projeto de Filtros FIR Passa- Baixo Usando a Janela de Hamming O comprimento do Filtro é dada por Ripple na banda passante Ripple na banda de parada Frequência de Corte f c f pass 2 f stop 33
Especificações de Projeto de Filtros FIR Passa- Baixo 34
Exemplo 4 Projetar um filtro FIR passa-baixo, utilizando a janela rectangular, com as seguintes especificações: fs 8000 amostras / seg Banda de transição normalizada 35
Exemplo 4 Usando uma janela rectangular, o Ripple na banda passante é de 0.74 db e a atenuação na banda de parada é de 21 db A seleção de esta janela satisfaz os requerimentos de ripple na banda passante de 1 db e atenuação na banda de parada de 20 db. 36
Exemplo 4 O comprimento do Filtro é: É escolhido um valor maior N=25 para garantir as especificações do projeto. Frequência de Corte fc 1850 2150 2 2000 Hz 37
Exemplo 4 O comprimento do Filtro 25-tap Frequência de Corte fc = 2000 Hz Frequência de amostragem fs = 8000 amostras/s Janela Rectangular Projetar o Filtro FIR passa-baixo usando o método de janelas 38
Exemplo 4 Frequência de corte normalizada fc 2000 c 2 2 f 8000 2 2M 1 25 tap M 12 12 n 12 s rad Para n 0 c h(0) Para n 0 sin c sin 0.5 h( n) n n n n 39
Exemplo 4 Calculo dos coeficientes (M=12) h(0) 0.5 h(1) 0.3183 h( 1) h(2) 0 h( 2) h(3) 0.106 h( 3) h(4) 0 h( 4) h(5) 0.0636 h( 5) h(6) 0 h( 6) h(7) 0.0454 h( 7) h(8) 0 h( 8) h(9) 0.0353 h( 9) h(10) 0 h( 10) h(11) 0.0289 h( 11) h(12) 0 h( 12) 40
Exemplo 4 fc = 2000; fs = 8000; M= 12; tap = 2*M+1; i=1; for n=-12:12 if n==0 h(i)=(pi/2)/pi; else h(i)=sin(0.5*pi*n)/(n*pi); end i= i+1; end freqz(h,1,tap,fs) Phase (degrees) Magnitude (db) 20 0-20 -40-60 0 500 1000 1500 2000 2500 3000 3500 4000 Frequency (Hz) 0-500 -1000-1500 0 500 1000 1500 2000 2500 3000 3500 4000 Frequency (Hz) 41