Escolar Documentos
Profissional Documentos
Cultura Documentos
Aproximaes
Projeto do filtro especificamente (H(z))
Implementaes
Transcrio do projeto para hardware ou software
Especificaes relativas
Requisitos definidos em decibis (dB)
Escala dB =
Banda de Corte
|H(jw)| 2, para |w| ws
Banda de Transio
Largura finita igual a ws wp
Carlos Alexandre Mello cabm@cin.ufpe.br 6
10
11
12
14
15
16
A ideia bsica de um projeto por janelas selecionar um filtro seletor de frequncias ideal apropriado (que sempre no-causal e de resposta ao impulso infinita) e ento truncar sua resposta ao impulso em uma janela para obter um filtro FIR causal e de fase linear
Assim, o foco est na escolha de uma funo de janelamento e um filtro ideal apropriados
17
Vamos considerar o FPB ideal Hd(ejw) com magnitude 1 e fase linear na banda de passagem e resposta zero na banda de corte: 1.e-jw Hd(ejw) = 0 , |w| wc , wc < |w|
18
Para obter um filtro FIR a partir de hd[n], precisamos truncar hd[n] em ambos os lados.
19
Para obter um filtro FIR causal de fase linear h[n] de comprimento M, devemos ter:
20
Em geral, h[n] pode ser pensado como sendo formado pelo produto de hd[n] e uma janela w[n] tal que:
h[n] = hd[n].w[n]
onde w[n] alguma funo simtrica com respeito a no intervalo 0 n M 1 e 0 fora desse intervalo
21
Dependendo de como obtivermos w[n] acima, temos diferentes projetos de filtros Por exemplo:
No domnio da frequncia, a resposta H(ejw) do filtro FIR causal dada pela convoluo de Hd(ejw) e a resposta da janela W(ejw):
23
24
Observaes:
1. Como a janela w[n] tem comprimento finito igual a M, sua resposta em frequncia tem uma regio de pico central (lbulo principal) cuja largura proporcional a 1/M e tem lbulos laterais com pesos menores. 2. A convoluo gera uma verso da resposta ideal Hd(ejw), mas com algumas distores (ondulaes). 3. A largura da banda de transio proporcional a 1/M. 4. Os lbulos laterais produzem ondulaes que tm forma similar tanto na banda de passagem quanto na de corte.
25
Projeto usando janelas: Para uma dada especificao de filtro, escolha um filtro de comprimento M e uma funo janela w[n] para a mais estreita largura do lbulo principal e a menor atenuao nos lbulos laterais possvel.
26
Da observao 4 anterior, podemos notar que a tolerncia 1 da banda de passagem e a tolerncia 2 da banda de corte no podem ser especificadas de forma independente Geralmente, toma-se 1 = 2
27
Janela Retangular
Resposta em frequncia
28
29
A largura do lbulo central wm = 4/(M + 1) para uma janela retangular Observa-se tambm que a magnitude do primeiro lbulo lateral aproximadamente em w = 3/(M+1) e dada por:
30
medida que M cresce, a largura de cada lbulo lateral diminui, mas a rea sobre eles permanece constante
Assim, as amplitudes relativas dos picos laterais vo permanecer constantes e a atenuao da banda de passagem permanece em cerca de 21 dB
Isso significa que as ondulaes vo sofrer um pico perto das bordas das bandas Isso conhecido como fenmeno de Gibbs Esse fenmeno ocorre por causa da transio brusca de 0 para 1 (e de 1 para 0) da janela retangular
Carlos Alexandre Mello cabm@cin.ufpe.br 31
32
33
34
Janela de Hanning
35
Janela de Hamming
36
Janela de Blackman
37
38
Janela de Kaiser
Esta a melhor janela Ela e considerada tima porque prov um lbulo principal largo para a dada atenuao da banda de corte, o que implica a mais brusca banda de transio
39
Janela de Kaiser
40
Janela de Kaiser
Variadas formas da Janela de Kaiser
41
Janela de Kaiser
Na expresso de w[n], existem dois parmetros:
O comprimento M O parmetro
Se = 0, temos a janela retangular
Variando e M, possvel ajustar a amplitude dos lbulos laterais Kaiser encontrou duas frmulas que permitem achar M e de modo a atender s especificaes do filtro
Carlos Alexandre Mello cabm@cin.ufpe.br 42
Janela de Kaiser
considerando 1 = 2
w = wS - wP A = -20log10
43
Janela de Kaiser
O procedimento para projetar um filtro passa-baixa digital FIR usando a janela de Kaiser consiste nos seguintes passos:
i) Estabelecer as especificaes wP, wS e . ii) Estabelecer a frequncia de corte wc do filtro passa-baixa ideal ao qual se aplicar a janela (wc = (wP + wS)/2). iii) Calcular A = 20log10 e w = wP - wS e usar as frmulas de Kaiser para encontrar os valores de M e . iv) Encontra a resposta ao impulso do filtro atravs de h[n]=hd[n]w[n], onde w[n] a janela de Kaiser e hd[n] = -1[Hd(ejw)].
44
Janela de Kaiser
Devido complexidade de clculos com funes de Bessel, o projeto dessas janelas no fcil A equao de w[n] definida por Kaiser tem valores encontrados empiricamente e so definidos sem prova
45
Janela de Kaiser
Exemplo: Projetar, usando janelas de Kaiser, um filtro passa-baixa com as seguintes especificaes:
wP= 0,4, wS = 0,6 e = 0,001
wc = (wS + wP)/2 = 0,5 w = wS - wP = 0,2 A = -20log10 = 60 dB Como A > 50: = 0,1102(A 8,7) 5,633 M = (A - 8)/(2,285w) 36,219 M = 37 (M inteiro)
46
Janela de Kaiser
Exemplo: Projetar, usando janelas de Kaiser, um filtro passa-baixa com as seguintes especificaes:
wP= 0,4, wS = 0,6 e = 0,001 A resposta ao impulso
47
Implementaes no MatLab
O MatLab tem diversas funes para implementar janelas:
w = rectwin(M): Janela retangular w = bartlett(M): Janela de Bartlett w = hanning(M): Janela de Hanning w = hamming(M): Janela de Hamming w = blackman(M): Janela de Blackman w = kaiser(M, Beta): Janela de Kaiser
48
Funo 1: function hd = ideal_lp(wc, M) % Ideal low pass filter % wc = cutoff frequency % M = length of the ideal filter alpha = (M - 1)/2 n = [0:(M-1)]; m = n - alpha + eps; hd = sin(wc*m)./(pi*m);
Funo 2: function [db, mag, pha, w] = freqz_m(b, a) % Versao modificada da funcao freqz [H, w] = freqz(b, a, 1000, 'whole'); H = (H(1:501))'; w = (w(1:501))'; mag = abs(H); db = 20*log10((mag + eps)/(max(mag))); pha = angle(H);
49
Exemplo 1:
Projetar um filtro passa-baixa FIR com as seguintes especificaes wP = 0,2, RP = 0,25 dB, wS = 0,3 e AS = 50 dB. Tanto a janela de Hamming quanto a de Blackman provem atenuao de mais de 50 dB Vamos escolher a janela de Hamming que prov a menor banda de transio e assim tem a menor ordem
50
Exemplo 1:
wp = 0.2*pi; ws = 0.3*pi; tr_width = ws - wp; M = ceil(6.6*pi/tr_width) + 1 n = [0:M-1]; wc = (ws + wp)/2; hd = ideal_lp (wc, M); w_ham = (hamming(M))'; h = hd.*w_ham; [db, mag, pha, w] = freqz_m(h, [1]); delta_w = 2*pi/1000; Rp = -(min(db(1:wp/delta_w+1))) As = -round(max(db(ws/delta_w+1:501)))
51
Exemplo 1:
M = 67 alpha = 33 Rp = 0,0394 As = 52 stem(hd) stem(h) stem(mag) stem(w_ham)
52
Exemplo 2:
Resolver o exemplo anterior com janela de Kaiser
53
Exemplo 3:
A resposta em frequncia de um filtro passa-faixa ideal dada por:
Usando uma janela de Kaiser, projete um filtro passafaixa de comprimento 45 com atenuao na banda de corte de 60 dB
54
Exemplo 3: Observe que a largura da banda de transio no foi dada Ela ser encontrada a partir do comprimento M = 45 e do parmetro da janela de Kaiser Das equaes de projeto da janela de Kaiser, podemos determinar a partir de As:
55
Exemplo 3: Vamos agora implementar a janela de Kaiser e observar a atenuao na banda de corte
M = 45; As = 60; n=[0:M-1]; beta = 0.1102*(As - 8.7) beta = 5,6533 w_kai = (kaiser(M, beta))'; wc1 = pi/3; wc2 = 2*pi/3; hd = ideal_lp(wc1, M) + ideal_lp(pi, M) - ideal_lp(wc2, M); h = hd.*w_kai; [db, mag, pha, w] = freqz_m(h, [1]);
56
Exemplo 3:
Problema. Abaixo de 60 dB
57
58
Exemplo 3: Vamos agora implementar a janela de Kaiser e observar a atenuao na banda de corte
M = 45; As = 60; n=[0:M-1]; beta = 0.1102*(As - 8.7) + 0.3 beta = 5,9533 w_kai = (kaiser(M, beta))'; wc1 = pi/3; wc2 = 2*pi/3; hd = ideal_lp(wc1, M) + ideal_lp(pi, M) - ideal_lp(wc2, M); h = hd.*w_kai; [db, mag, pha, w] = freqz_m(h, [1]);
59
Exemplo 3:
60
Nessa tcnica, usamos o fato de que a funo de sistema H(z) pode ser obtida a partir de amostras H(k) da resposta em frequncia H(ejw) Seja h[n] a resposta ao impulso de um filtro FIR com M amostras, H[k] sua transformada discreta de Fourier com Mpontos e H(z) sua funo de sistema
61
62
Observaes (da figura anterior): 1) O erro de aproximao a diferena entre a resposta ideal e a atual zero nas freqncias amostradas 2) O erro de aproximao nas outras freqncias depende da forma da resposta ideal, ou seja, quanto mais sharp a resposta ideal, maior o erro de aproximao 3) O erro maior perto das fronteiras das bandas e menor dentro das bandas
63
64
O mtodo equirriple timo evita esses problemas. No entanto ele bastante difcil de utilizar e requer computador na sua implementao O objetivo minimizar o erro mximo de aproximao (minimax do erro)
Otimizao
Tais filtros so chamados de equirriple porque o erro distribudo de maneira uniforme na banda de passagem e de corte o que resulta em um filtro de menor ordem
65
Exemplo:
66
67
68
69
O principal problema dessas tcnicas que no temos controle sobre a fase do filtro
Assim, os projetos de filtros IIR sero apenas em magnitude
Carlos Alexandre Mello cabm@cin.ufpe.br 70
onde o parmetro de ondulao da banda de passagem, P a frequncia de corte da banda de passagem em rad/seg, A o parmetro de atenuao da banda de corte e S a frequncia da banda de corte
Carlos Alexandre Mello cabm@cin.ufpe.br 71
72
73
74
75
76
78
a frequncia de corte
79
80
81
82
k = 0, 1, 2,..., 2N-1
Assim, os plos esto em um crculo de raio c nos ngulos k = (/N)k + (/2N) + /2, k = 0, ..., 2N 1 E os zeros so
sk = (-1)1/2N.j
c
ce
j(2k+N+1)/2N,
k = 0, 1, ..., 2N 1.
83
84
85
temos:
86
Obviamente, isso ir gerar um filtro com ordem maior do que o necessrio Para satisfazer exatamente as especificaes do projeto em P:
87
88
89
90
91
93
94
onde T um parmetro
OBS: Explicao nas notas de aula.
95
96
Os filtros Butterworth tm resposta monotnica em ambas as bandas Lembramos que um filtro de resposta equirriple tem menor ordem Assim, um filtro de Chebyshev tem menor ordem que um de Butterworth para as mesmas especificaes
Carlos Alexandre Mello cabm@cin.ufpe.br 97
98
onde N a ordem do filtro, o fator de ondulao da banda de passagem e TN(x) o polinmio de Chebyshev dado por (podemos considerar x = / c):
99
100
onde N a ordem do filtro, o fator de ondulao da banda de passagem e UN(x) a funo elptica Jacobiana de ordem N
102
Onde:
103
Transformaes em Frequncia
Como dissemos anteriormente, o projeto de filtros seletores de frequncia como passa-alta, passafaixa ou rejeita faixa, so feitos a partir de um prottipo do tipo passa baixa A partir desse prottipo, possvel aplicar uma transformao algbrica para construir o filtro desejado
104
Transformaes em Frequncia
Seja HPB(Z) a funo do sistema de um filtro passa-baixa dado o qual se quer transformar para obter uma nova funo H(z) Observe que as variveis complexas Z e z esto associadas ao filtro passa-baixa prottipo e ao filtro obtido pela transformao, respectivamente O que se deseja uma funo Z = G(z) tal que:
105
Transformaes em Frequncia
Se HPB(Z) a funo racional de um sistema causal e estvel, uma exigncia natural que a funo transformada H(Z) tambm apresente essas caractersticas. Isso implica que:
1. G(z-1) deve ser uma funo racional de z-1. 2. O interior do crculo unitrio do plano Z deve mapear o interior do crculo unitrio do plano z. 3. O crculo unitrio do plano Z deve mapear no crculo unitrio do plano z.
Carlos Alexandre Mello cabm@cin.ufpe.br 106
Transformaes em Frequncia
Denotando por e w as variveis (ngulos) associados, respectivamente, aos planos Z e z, a transformao Z-1 = G(z-1) pode ser re-escrita como:
De forma que:
107
Transformaes em Frequncia
A forma mais geral da funo G(z-1) que satisfaz s condies acima :
com |k| < 1 Dependendo da escolha de N e k, diversos mapeamentos podem ser obtidos O mais simples (N = 1, 1 = ):
108
Transformaes em Frequncia
Agora, escolhendo uma ordem apropriada N e os coeficientes {k}, podemos obter uma variedade de mapeamentos As transformaes mais comuns esto na tabela a seguir...
109
Transformaes em Frequncia
110
111
112