Filtros Digitais
FIR
(Finite Impulse Response)
Prof. José Mauricio Neto
[email protected]
1
Filtros FIR (Finite Impulse Response)
• Para um sistema FIR de ordem M
M 1
y[n]   bk x[n  k ]
k 0
• Com função de transferência
M 1
H ( z )   bk z  k
k 0
• E resposta ao impulso
bn ,
h[n]  
0,
0  n  M 1
caso contrario
2
Estrutura FIR: Forma Direta I
M 1
y[n]   hk x[n  k ]
k 0
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 de
comprimento 3, com frequência de corte 800 Hz e
frequência de amostragem 8000 amostras/s
fc
800 
 c  2  2
 rad
fs
8000 5
2M  1  3 tap
tamanho
c
Para n  0  h(0) 

sin  c n  sin  0.2n 
Para n  0  h(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
-20
grados
|H| dB
-30
-40
-40
-60
-50
-80
-60
-100
-70
-80
-120
0
500
1000
1500
2000
Hz
2500
3000
3500
4000
-140
0
500
1000
1500
2000
Hz
2500
3000
3500
4000
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 de
comprimento 5, com frequência de corte inferior 2000 Hz,
frequência de corte superior 2400, e frequência de
amostragem 8000 amostras/s
2M  1  5 tap
f
2000 
 L  2  L  2
 rad
fs
8000 2
fH
2400 3
 H  2
 2

rad
fs
8000 5
 H  L


h( n)  
 sin   H    sin   L  

n
n
n0
n0
2 n  2
18
Exemplo 2
• Calculo dos coeficientes:
19
Exemplo 2
• Função de Transferência:
• Resposta em Frequência:
H  e j   0.09355  0.01558e  j  0.1e  j 2   0.01558e  j 3  0.09355e  j 4
H  e j   e  j 2  0.09355e j 2  0.01558e j  0.1  0.01558e  j  0.09355e  j 2 
e jx  e jx  2cos( x)
H  e j   e  j 2  0.09355(e j 2  e  j 2  )  0.1  0.01558(e j  e  j ) 
H  e j   e  j 2  0.1871cos(2)  0.1  0.03116cos() 
20
Exemplo 2
• Magnitude e Fase
H  e j   e j 2  0.1871cos(2)  0.1  0.03116cos() 
H  e j   0.1871cos(2)  0.1  0.03116cos()
si  0.1871cos(2)  0.1  0.03116cos()  0
2
H  e   
2   si  0.1871cos(2)  0.1  0.03116cos()  0
j
0
-10
-20
|H| dB
-30
-40
-50
-60
-70
-80
0
500
1000
1500
2000
Hz
2500
3000
3500
4000
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
hw[n]  h[n]w[n]
Convolução na
Frequência
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
M  n  M
JANELAS
Boxcar
Blackman
Barlett
w[n]  1
 n 
 2n 
w[n]  0.42  0.5cos 

0.08cos



M 
 M 
n
w[n]  1 
M
Hanning
 n 
w[n]  0.5  0.5cos 

M 
Hamming
 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
hw (n)  h(n)w(n)
n  M ,...., 0,1,...., M
3. Aplicar o atraso à resposta truncada hw (n) de M amostras
bn  hw (n  M )
Para n  0,1,..., 2M
24
Exemplo 3
• Projetar um filtro FIR passa-baixo de 3-Coeficientes, 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
 rad
fs
8000 5
2M  1  3 tap
c
Para n  0  h(0) 

sin  c n  sin  0.2n 
Para n  0  h(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)  b0  b1 z 1  b2 z 2
29
Exemplo 3
• Resposta em Frequência
30
Comparação da Resposta em Frequência
31
Especificações de Projeto de Filtros FIR PassaBaixo Usando a Janela de Hamming
• Especificações da resposta em frequência.
• Banda de Transição Normalizada
f 
f stop  f pass
fs
32
Especificações de Projeto de Filtros FIR PassaBaixo Usando a Janela de Hamming
• O comprimento do Filtro é dada por
• Ripple na banda passante
• Ripple na banda de parada
• Frequência de Corte
fc 
f pass  f stop
2
33
Especificações de Projeto de Filtros FIR PassaBaixo
34
Exemplo 4
• Projetar um filtro FIR passa-baixo, utilizando a janela
rectangular, com as seguintes especificações:
f s  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 desta 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
 2000 Hz
2
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
 rad
fs
8000 2
2M  1  25 tap
M  12
12  n  12
c
Para n  0  h(0) 

sin  c n  sin  0.5n 
Para n  0  h(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(4)  0
 h( 3)
 h( 4)
h(5)  0.0636
 h( 5)
h(6)  0
 h( 6)
h(7)  0.0454  h( 7)
h(8)  0
h(9)  0.0353
 h( 8)
 h( 9)
h(10)  0
 h( 10)
h(11)  0.0289  h( 11)
h(12)  0
 h( 12)
40
Exemplo 4
20
Magnitude (dB)
0
fc = 2000;
-20
fs = 8000;
-40
M= 12;
-60
0
500
tap = 2*M+1;
i=1;
0
for n=-12:12
-500
if n==0
-1000
h(i)=(pi/2)/pi;
-1500
else
0
500
h(i)=sin(0.5*pi*n)/(n*pi);
end
i= i+1;
end
freqz(h,1,tap,fs)
1500
2000
2500
Frequency (Hz)
3000
3500
4000
1000
1500
2000
2500
Frequency (Hz)
3000
3500
4000
Phase (degrees)
1000
41