Escolar Documentos
Profissional Documentos
Cultura Documentos
Observação: Estas notas de aula estão baseadas no livro: “Discrete-Time Signal Processing”,
A.V. Oppenheim and R.W. Schafer, Prentice Hall, 1989/1999.
Filtros Digitais tipo FIR 3 Filtros Digitais tipo FIR 4
0, ωc < |ω| ≤ π
A correspondente resposta impulsiva ideal é: 0.6
sin ωc (n − nd ) 0.4
hd [n] = −∞<n<∞ M = 6 (FIR tipo I)
π(n − nd )
0.2
Nota-se que a resposta impulsiva tem duração infinita e é não-causal.
Uma solução para isso é truncar a resposta impulsiva, tomando N amos- 0
tras:
−0.2
−10 −5 0 5 10 15
hd [n], 0 ≤ n ≤ M = N − 1
h[n] =
0, caso contrário
0.6
o que equivale a multiplicar a resposta impulsiva ideal hd [n] por uma janela
0.4
de duração finita w[n]: M = 5 (FIR tipo II)
0.2
h[n] = hd [n] · w[n]
0
onde no caso de um simples truncamento, w[n] é uma janela retangular:
−0.2
1, 0 ≤ n ≤ M = N − 1 −10 −5 0 5 10 15
w[n] = n
0, caso contrário
Filtros Digitais tipo FIR 5 Filtros Digitais tipo FIR 6
n=−∞
• Blackman:
• Hamming:
0.54 − 0.46 cos(2πn/M)
• Hanning:
0.5 − 0.5 cos(2πn/M)
• Kaiser:
I0[β(1 − [(n − M/2)/(M/2)]2)1/2]
, β≥0
I0(β)
Hamming 1
1 Hanning β=0
Blackman β=3
Bartlett β=6
0.8
0.8
0.6
0.4
0.6
0.2
0.4
0
0 5 10 15 20
n
0
0.2 β=0
−10 β=3
β=6
−20
0 −30
0 20 40 60 80 100 120
n −40
0 0 −60
−70
−20 −20
−80
−100
−60 −60 0 0.1 0.2 0.3 0.4 0.5
ω/π
0
N=10
−80 −80 N=20
−10 N=30
β=6
−100 −100 −20
0 0.02 0.04 0 0.02 0.04
−30
0 0 −50
−60
−20 −20
−70
−90
−60 −60
−100
0 0.1 0.2 0.3 0.4 0.5
−80 −80 ω/π
−100 −100
0 0.02 0.04 0 0.02 0.04
w w
Filtros Digitais tipo FIR 11 Filtros Digitais tipo FIR 12
Janela retangular
0.2 0 0
0 0.5 1 0 0.5 1
0 N = 31 N = 61
1 1
−0.2
−6 −4 −2 0 2 4 6 0.8 0.8
0.6 0.6
Hamming 0.4 0.4
0.6
0.2 0.2
0 0
0.4 0 0.5 1 0 0.5 1
ω/π ω/π
0.2
N =3 N = 15
0
1 1
0.8 0.8
−0.2
−6 −4 −2 0 2 4 6 0.6 0.6
n 0.4 0.4
Janela de Hamming
0.2 0.2
0 0
• Notar a simetria das janelas - manutenção da fase linear. 0 0.5 1 0 0.5 1
N = 31 N = 61
1 1
0.8 0.8
0.6 0.6
0.4 0.4
0.2 0.2
0 0
0 0.5 1 0 0.5 1
ω/π ω/π
Filtros Digitais tipo FIR 13 Filtros Digitais tipo FIR 14
Exemplo: Filtro Passa-Baixas - janela de Hamming Exemplo: Filtro Passa-Baixas - janela de Hamming
0.6 0
0.4 −20
amplitude
dB
−40
0.2
−60
0
−80
0 0.2 0.4 0.6 0.8 1
−0.2
0 10 20 30 40 50 60 Resposta de Fase
0
resposta obtida h[n]=hd[n].w[n]. Janela de Hamming N=53
0.6 −10
−20
rad
0.4
−30
amplitude
0.2 −40
−50
0 0 0.2 0.4 0.6 0.8 1
ω/π
Faixa de Passagem − Hamming
−0.2
0 10 20 30 40 50 60
amostra n 1.002
0.998
0
0.5 0.6 0.7 0.8 0.9 1
ω/π
Filtros Digitais tipo FIR 19 Filtros Digitais tipo FIR 20
Exemplo: Filtro Passa-Baixas - janela de Kaiser Exemplo: Filtro Passa-Baixas - janela de Kaiser
• A = 50
Resposta em frequencia
−20
• N > (A − 8)/(2.285∆ω) = 47.9 ⇒ N = 48, M = 47
dB
−40
• No MATLAB: w=kaiser(N,beta);
−60
Resposta de Fase
0.4 0
amplitude
−10
0.2
rad
−20
0
−30
−0.2
0 10 20 30 40 50 −40
0 0.2 0.4 0.6 0.8 1
resposta obtida h[n]=hd[n].k[n]. Janela de Kaiser N=48 ω/π
Faixa de Passagem − Kaiser
0.6
0.4 1.002
amplitude
0.2 1
0 0.998
0
0.5 0.6 0.7 0.8 0.9 1
ω/π
Filtros Digitais tipo FIR 21 Filtros Digitais tipo FIR 22
Para obter um filtro FIR, multiplica-se a resposta ideal por uma janela
0
w[n], de comprimento N = M + 1:
2.5
Magnitude
2
1.5
0.5
0
0 0.2 0.4 0.6 0.8 1
ω/π
Filtros Digitais tipo FIR 23 Filtros Digitais tipo FIR 24
0.8
entrada
0.6 1
0.4
0.2 0.5
0
0 5 10 15 20 25 30 35 40
0
2
1 −0.5
saída
0
−1
−1
−2 −1.5
0 5 10 15 20 25 30 35 40 0 1 2 3 4 5
amostra amostra
Diferenciador, M=5, retangular Diferenciador, resposta em freq., M=5
20 3.5
15
3
entrada
10
2.5
5
Magnitude
0 2
0 5 10 15 20 25 30 35 40
4 1.5
2
1
saída
0
0.5
−2
−4 0
0 5 10 15 20 25 30 35 40 0 0.2 0.4 0.6 0.8 1
amostra ω/π
Filtros Digitais tipo FIR 25 Filtros Digitais tipo FIR 26
0.8
0.6
Entrada
0.6
0.4 0.4
0.2
0.2
0
0 5 10 15 20 25 30 35 40
0
2
−0.2
1
−0.4
Saída
−1 −0.6
−2 −0.8
0 5 10 15 20 25 30 35 40 0 1 2 3 4 5 6
amostra amostra
Diferenciador, M=5 Diferenciador, resposta em freq., M=6
20 3.5
15
3
Entrada
10
2.5
5
Magnitude
0 2
0 5 10 15 20 25 30 35 40
4 1.5
2
1
Saída
0
0.5
−2
−4 0
0 5 10 15 20 25 30 35 40 0 0.2 0.4 0.6 0.8 1
amostra ω/π
Filtros Digitais tipo FIR 27 Filtros Digitais tipo FIR 28
0.2
Amostrando Hd (ejω ) em L pontos equiespaçados entre ω = 0 e 2π,
tem-se:
0
0 5 10 15 20 25 30 35 40
H[k] = Hd (ejω )|ω=2πk/L, k=0..L−1
1
A partir de H[k] calcula-se a DFT inversa, obtendo-se a resposta im-
0.5 pulsiva.
Saída
0
0 5 10 15 20 25 30 35 40
2
Saída
−2
−4
0 5 10 15 20 25 30 35 40
amostra
Filtros Digitais tipo FIR 29 Filtros Digitais tipo FIR 30
0.4
Considere um filtro passa-baixas com as seguintes especificações em relação
às frequências de corte: 0.2
ωp = 0.4π ωs = 0.5π 0
−40
1 −60
−80
0 0.2 0.4 0.6 0.8 1
0.8
ω/π
0.2
0.4
0.2 −0.2
0 5 10 15 20 25 30
0
0 0.5 1 1.5 2 0
ω/π
−20
Dos valores de Hd [k], incorpora-se uma fase linear e calcula-se a DFT −40
inversa, obtendo-se a resposta impulsiva h[n]. Esta resposta pode ainda
−60
ser multiplicada por uma janela de Hanning, por exemplo. Os gráficos
seguintes mostram as respostas impulsivas e as magnitudes: −80
0 0.2 0.4 0.6 0.8 1
ω/π
Filtros Digitais tipo FIR 31 Filtros Digitais tipo FIR 32
• Problema: determinar os coeficientes d[n] que melhor aproximem a considerando os erros nas faixas de passagem e rejeição, nas freq.
resposta desejada. ωi escolhidas. A solução é dada pelo algoritmo de Remez (Parks-
McClellan).
Escolhendo L pontos da resposta desejada, nas freq. ωi, i = 0..L − 1,
procura-se o melhor A(ωi) que aproxima D(ωi ) segundo um critério de erro.
Filtros Digitais tipo FIR 33 Filtros Digitais tipo FIR 34
Considere um filtro FIR tipo I (simétrico, M par), cuja resposta é repre- A solução é dada pelo Teorema da Alternância:
sentada por:
A função peso W (ω) serve para normalizar os erros nas faixas de passagem
e rejeição, que podem ter desvios diferentes.
O problema consiste em determinar os coeficientes d[n] que minimizem
o máximo erro absoluto |E(ω)| quando ω estiver nas faixas de passagem e
rejeição.
Filtros Digitais tipo FIR 35 Filtros Digitais tipo FIR 36
ou
L δ
d[n] cos(nωi) − (−1)i+1
X
= D(ωi), i = 1, 2, . . . , (L + 2)
n=0 W (ωi)
A solução é dada pela melhor aproximação polinomial que obedeça ao
teorema da alternância, com as seguintes condições:
Calcula o d ótimo no
conjunto wi
Não
Melhor
aproximação
Filtros Digitais tipo FIR 39 Filtros Digitais tipo FIR 40
Exemplo: Algoritmo de Remez Calculando agora a função erro: e(x) = a(x) − d(x), tem-se o gráfico
seguinte, de onde tira-se que as frequências extremantes e os respectivos
Deseja-se aproximar a função d(x) = x4 + x por uma função do segundo erros são:
grau: a(x) = a0 + a1 x + a2 x2 no intervalo [0, 1] usando a técnica da mini-
mização do erro máximo absoluto. X2 = {0, 0.23, 0.76, 1}
Solução: Como o polinômio do segundo grau tem L = 2, há pelo menos
e(X2 ) = {0.0337, −0.0405, 0.1142, −0.0337}
L + 2 = 4 frequências extremantes. Considerando a primeira estimativa,
incluindo os extremos, como:
Primeira iteração
0.12
X1 = {0, 0.3, 0.5, 1}
0.1
0.06
W (xi)[a(xi) − d(xi)] = (−1)i+1δ, i = 1, 2, 3, 4.
0.04
e(x)
ou, considerando a função peso igual a 1:
0.02
i+1
a(xi) − (−1) δ = d(xi), i = 1, 2, 3, 4. 0
−0.02
1 0.3 0.32 −1
a1
0.34 + 0.3 0.3081 Como o resultado do erro não é equiripple, utilizando X2 , repete-se o
=
=
1 0.5 0.52 1 a 0.54 + 0.5 0.5625 procedimento, conseguindo o seguinte resultado:
2
1 1 12 −1 δ 14 + 1 2
a0 0.0619
A nova função erro e as frequências extremantes são dadas por: Terceira iteração
0.08
0.02
Segunda iteração
0.08
e(x)
0
0.06
−0.02
0.04
−0.04
0.02
−0.06
e(x)
0
−0.08
0 0.2 0.4 0.6 0.8 1
−0.02 x
1.4
a0 0.0634
a 0.0615
1.2
1
a
=
1.8116
2
1
δ −0.0634 0.8
0.6
0.2
e(X3 ) = {0.0634, −0.0634, 0.0634, −0.0634}
0
0 0.2 0.4 0.6 0.8 1
x
Filtros Digitais tipo FIR 43 Filtros Digitais tipo FIR 44
Exemplo: Filtro Passa-Baixas - Algoritmo de Remez Alguns comandos no MATLAB - Filtros FIR
• N = 44, M = 43 • Janelas:
– hamming
resposta obtida h[n]. Algoritmo de Remez N=44
0.6 – hanning
0.4
– kaiser
amplitude
0.2
– blackman
0
– bartlett
−0.2
0 5 10 15 20 25
amostra n
30 35 40 45 – chebwin
Resposta em frequencia
– boxcar
0
−20 • Projeto
dB
−40
– kaiserord
−60
– fir1
−80
0 0.2 0.4 0.6 0.8 1 – fir2
Resposta de Fase
0 – remezord, pmord
−10 – remez, pm
rad
−20
• Análise
−30
– filter
−40
0 0.2 0.4
ω/π
0.6 0.8 1 – freqz
Faixa de Passagem − Remez
1.002
0.998
0
0.5 0.6 0.7 0.8 0.9 1
ω/π