Você está na página 1de 72

Projeto de Filtros FIR e IIR

Disciplina: Processamento Digital


de Sinais
Professores: Eddie Filho e Waldir
Sabino

Projeto de Filtros FIR e IIR

Relembrando sobre a avaliao:


Prova 1 (j realizado)
Prova 2 (j realizado)
Projetos 1 e 2 (longo)
Trabalhos em sala (por volta de 15)

(curto)

Parte 1

Filtros FIR

Introduo
Projetar 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.

Introduo
Procedimentos para Projetar filtros
Definir 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.

Aproximaes para filtros FIR


Filtros Ideais
Os 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 Filtro Resposta de Magnitude do Filtro

1, p/ | | c
H (e )
0, p/ c | |
j

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

Aproximaes para filtros FIR


Filtros Ideais
Resposta de Magnitude dos filtros ideais

Aproximaes para filtros FIR


Filtros Ideais
Resposta de Magnitude e Resposta ao Impulso.

Aproximaes para filtros FIR


Filtros Ideais
Projeto de Filtros Ideais (Trabalho 1).
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.
2) 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.
3) 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.
4) Aumente a ordem dos filtros. Neste caso, o que acontece?

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

Aproximaes para filtros FIR


Amostragem na Freqncia
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 FIR


Amostragem na Freqncia
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 FIR


Amostragem na Freqncia
Resposta ao Impulso.

Aproximaes para filtros FIR


Amostragem na Freqncia
Correspondncia entre os tipos de filtros.

Aproximaes para filtros FIR


Amostragem na Freqncia
Projeto de Filtros por Amostragem na Freqncia
(Trabalho 2).
1) 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.
2) 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:
a) O termo A(k) igual a resposta de magnitude desejada. Para determin-la basta
observar a resposta em freqncia do filtro.
b) A(s) freqncia(s) de transio iram indicar os valores de k tal que A(k) zero ou
um.

Aproximaes para filtros FIR


Projeto com Funes Janela
Uma maneira de contornar o problema das respostas
com durao infinita, apresentada pelos filtros ideais,
truncar a mesma com funes janela
O 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:

h(n) hd (n) w(n)

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

hd(n)

w(n)

h(n) hd (n) w(n)

Note que o filtro


truncado obtido por
um produto da
funo janela pela
resposta ideal

Aproximaes para filtros FIR


Projeto com Funes Janela
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:

hd(n)

hd(n)

w(n)

M
2/M

hd(n)

w(n)

M
2/M

h(n)

Aproximaes para filtros FIR


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

Lbulo principal

Lbulos laterais
ou secundrios

Aproximaes para filtros FIR


Projeto com Funes Janela
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 FIR


Projeto 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.

Aproximaes para filtros FIR


Projeto com Funes Janela
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 FIR


Projeto com Funes Janela Retangular
A janela retangular, j estudada anteriormente.
1 , p/ 0 n M 1
w(n)
0 , outroval or

Aproximaes para filtros FIR


Projeto com Funes Janela Retangular

Funo Janela (retangular)

Resposta em Frequencia (retangular)

1
0.9

0.8
0.7

0.8

0.6
0.6

0.5
0.4

0.4

0.3
0.2

0.2

0.1
0
-10

10

20

30

40

50

50

100

150

200

250

Aproximaes para filtros FIR


Projeto com Funes Janela Triangular
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 FIR


Projeto com Funes Janela Triangular

Funo Janela (triangular)

Resposta em Frequencia (triangular)

1
0.9

0.8
0.7

0.8

0.6
0.6

0.5
0.4

0.4

0.3
0.2

0.2

0.1
0
-10

10

20

30

40

50

50

100

150

200

250

Aproximaes para filtros FIR


Projeto com Funes Janela Hamming e Hanning
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:

w(n)

M
2n , p/ |n|
( 1 ) cos

2
M

M
, |n|
0
2

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

Aproximaes para filtros FIR


Projeto com Funes Janela Hamming e Hanning

Funo Janela (Hamming)

Resposta em Frequencia (Hamming)

1
0.9

0.8
0.7

0.8

0.6
0.6

0.5
0.4

0.4

0.3
0.2

0.2

0.1
0
-10

10

20

30

40

50

50

100

150

200

250

Aproximaes para filtros FIR


Projeto com Funes Janela Hamming e Hanning

Funo Janela (Hann)

Resposta em Frequencia (Hann)

1
0.9

0.8
0.7

0.8

0.6

0.6

0.5
0.4

0.4

0.3
0.2

0.2

0.1

0
-10

10

20

30

40

50

50

100

150

200

250

Aproximaes para filtros FIR


Projeto com Funes Janela Blackman
A janela de blackman introduz um outro termo
cossenoidal, visando um maior controle da faixa de
transio.

M
2n
4n
0
,
42

0
,
5
cos

0
,
08
cos
,
p/
|n|

2
M
M
w(n)
M

0
,
|n|

Aproximaes para filtros FIR


Projeto com Funes Janela Blackman

Funo Janela (Blackman)

Resposta em Frequencia (Blackman)

1
0.9

0.8
0.7

0.8

0.6
0.6

0.5
0.4

0.4

0.3
0.2

0.2

0.1
0
-10

10

20

30

40

50

50

100

150

200

250

Aproximaes para filtros FIR


Projeto com Funes Janela Procedimento Geral
Procedimento geral:
1) Selecione a funo janela apropriada;
2) Especifique a resposta em freqncia do filtro ideal Hd;
3) Calcule os coeficientes do filtro ideal hd
4) Multiplique os coeficientes do filtro ideal pela funo
janela para obter os coeficientes do filtro h;
5) Determine a resposta em freqncia do filtro h e faa
iteraes se necessrio (tipicamente, altere o valor da
ordem).

Aproximaes para filtros FIR


Projeto com Funes Janela Procedimento Geral
Procedimento geral (Especificaes):

Aproximaes para filtros FIR


Projeto com Funes Janela Procedimento Geral
Procedimento geral (Especificaes):

Aproximaes para filtros FIR


Projeto com Funes Janela
Retangular , Triangular, Hanning, Hamming, Blackman
Trabalho 3, 4, 5, 6 e 7:
Projete um filtro usando as cinco primeiras funes janelas com
as seguintes especificaes
Rejeita-faixa

Aproximaes para filtros FIR


Projeto com Funes Janela
Retangular , Triangular, Hanning, Hamming, Blackman
Exerccio:
Retangular

Hamming

Aproximaes para filtros FIR


Projeto com Funes Janela Procedimento Geral

Implementaes no MatLab
O MatLab tem diversas funes para
implementar janelas:

w = rectwin(M+1): Janela retangular


w = bartlett(M+1): Janela triangular
w = hann(M+1): Janela de Hanning
w = hamming(M+1): Janela de Hamming
w = blackman(M+1): Janela de Blackman
w = kaiser(M+1, Beta): Janela de Kaiser
w = chebwin(M+1): Equiriple
39

Aproximaes para filtros FIR


Projeto com Funes Janela - Janela Flexvel

Aproximaes para filtros FIR


Projeto com Funes Janela Kaiser (Janela Flexvel)
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.
I 1 2n / M 2
M

0
,
p/
|
n
|

wK (n)
I 0 ( )
2

M
0,
|
n
|

x / 2
I 0 ( x) 1

k
!
k 1

Aproximaes para filtros FIR


Projeto com Funes Janela Kaiser (Janela Flexvel)

Aproximaes para filtros FIR


Projeto com Funes Janela Equiriple
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.

1 1 M /2
i
2ni

2
C
x
cos
cos

M
0

M 1
M 1
i 1

wDC ( n) M 1 r
M

0, | n |

2
cos M cos 1 ( x) , p / | x | 1
CM ( x)
1
cosh M cosh ( x) , p / | x | 1
1

1
r r , x0 cosh
cosh 1
p
r
M

, p/ | n |

M
2

Aproximaes para filtros FIR


Projeto com Funes Janela Equiriple

Funo Janela (Dolph-chebyshev)

Resposta em Frequencia (Dolph-chebyshev)

1
0.9

0.8
0.7

0.8

0.6
0.6

0.5
0.4

0.4

0.3
0.2

0.2

0.1
0
-10

10

20

30

40

50

50

100

150

200

250

Aproximaes para filtros FIR


Projeto com Funes Janela Kaiser
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:
0, p/ A r 21

0,5842(A r - 21) 0,4 0,07886(A r - 21), p/ 21 A r 50

0,1102(A r - 8,7), p/ 50 A r

Aproximaes para filtros FIR


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

0,9222, p/ A r 21
D
(A r 7,95) / 14,36, p / 21 A r

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 FIR


Projeto com Funes Janela Kaiser
Trabalho 8:
Projete um filtro de kaiser com as seguintes especificaes
Rejeita-faixa

Resposta

Aproximaes para filtros FIR


Projeto com Funes Janela Kaiser
Exerccio:
Resposta em freqncia

Aproximaes para filtros FIR


Projeto com Funes Janela Kaiser
Exerccio:
Resposta em freqncia

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.

Aproximaes para filtros FIR


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

Aproximaes para filtros FIR


Projeto utilizando Otimizao Formulao do Problema
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 FIR


Projeto utilizando Otimizao Formulao do Problema
A forma generalizada, para tipos I, II, III e IV pode ser
expressa como:

Aproximaes para filtros FIR


Projeto utilizando Otimizao Formulao do Problema
Se D() for a resposta desejada, define-se a funo erro
ponderada por W() como:
E ( ) W ( ) D( ) A( ) W ( ) D( ) Q( ) P ( )
D( )

E ( ) W ( )Q( )
P ( )
Q( )

Definindo:
Wq ( ) W ( )Q( )
Dq ( )

D ( )
Q( )

Aproximaes para filtros FIR


Projeto utilizando Otimizao Formulao do Problema
Temos a funo de erro ponderada por Wq() como:

E ( ) Wq ( ) Dq ( ) P ( )
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() sobre
um conjunto prescrito de freqncias.

Aproximaes para filtros FIR


Projeto utilizando Otimizao Formulao do Problema

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:
e Wq d q Up
Onde :
e [ E (1 ) E (2 ) ... E ( N )]T
Wq diag[Wq (1 ) Wq (2 ) ... Wq ( N )]
d q [ Dq (1 ) Dq (2 ) ... Dq ( N )]T
1 cos(1 )
1 cos( )
2
U

1 cos( N )

cos( L1 )

cos( L2 )

cos( L N )

p [ p (0) p (1) ... p(L)]T

Aproximaes para filtros FIR


Projeto utilizando Otimizao Mnimos Quadrados (WLS)
A otimizao pelo mtodo dos mnimos quadrados
ponderados tem como objetivo minimizar o quadrado da
energia da funo erro E():

min p E ( )

2
2

min
p

1
E ( ) d
N

k 1

1 T
E (k ) e e
N
2

Aproximaes para filtros FIR


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

min p E ( ) min max E ( )


p

A ordem aproximada do filtro pode ser calculada com a


frmula:
M

20 log10 r p 13
2,3237(r p )

Aproximaes para filtros FIR


Projeto utilizando Otimizao WLS-Chebyshev
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 FIR


Projeto utilizando Otimizao - Funes do Matlab
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 FIR


Projeto utilizando Otimizao

Trabalho 10
Exerccio: Projete o filtro abaixo utilizando os mtodos chebyshev e wls
Passa-baixas
Ap=1dB p/ 0 2KHz
Ar=40dB p/ 2,5KHz
s=10KHz

Trabalho 11
Exerccio: Projete o filtro multibanda abaixo utilizando o mtodo de
chebyshev.
r1=40dB p/ 0 2KHz
p1=1dB p/ 2,5 3,5KHz
r2=40dB p/ 4 6KHz
p2=1dB p/ 6,5 7,5KHz
pr3=40dB p/ 8 10KHz
s=20KHz

Parte 2

Filtros IIR

Aproximaes para filtros IIR


Introduo
Filtros 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.

Aproximaes para filtros IIR


Introduo
O 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.

Aproximaes para filtros IIR


Introduo
A partir do filtro analgico prottipo passa-baixa podemos
obter qualquer filtro digital IIR.
Esquematicamente,
temos duas opes, a primeira :

Projetar
FPPB

(passa-baixa,passaalta, passa-faixa ou
rejeita-faixa)

Especificar
Filtro
prottipo
analgico
passabaixa
(FPPB)

Digital

Analgico

Analgico

Especificar
Filtro tipo X
que se
deseja
projetar

Transformar

FPPB no
Filtro X

Analgico

Transformar

Filtro X em
um filtro
digital

Analgico
Para
Digital

Aproximaes para filtros IIR


Introduo
A segunda :

Projetar
FPPB

(passa-baixa,passaalta, passa-faixa ou
rejeita-faixa)

Especificar
Filtro
prottipo
analgico
passabaixa
(FPPB)

Digital

Analgico

Analgico

Especificar
Filtro tipo X
que se
deseja
projetar

Transformar

Transformar

FPPB
analgico
em um
filtro FPPB
digital

Filtro
digital
FPPB em
um filtro
digital do
tipo X

Analgico
Para
Digital

Digital
Para
Digital

Aproximaes para filtros IIR


Introduo
O 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.

Aproximaes para filtros IIR


Butterworth
A aproximao de butterworth trata de filtros do tipo splos, e a sua atenuao dada por:
2

A( j) 1 E ( j)

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:
E ( j ) ( j ) n
2

A( j) 1 2 () 2 n

Aproximaes para filtros IIR


Butterworth
A atenuao em dB em dada por:

AdB () 20 log10 A( j) 10 log10 1 2 () 2 n

A atenuao na faixa de passagem ento dada por:

Ap 10 log10 1 2

10

0 ,1 A p 1

A ordem mnima do filtro dada por

Ar 10 log10 1 2 ( r ) 2 n
10 0,1 Ar 1

log10
2

n
2 log10 r

Aproximaes para filtros IIR


Butterworth

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

A( j) A( j) A( j) 1 2 () 2 n 1 2 ( j) 2
2

A( j) 1 2 s 2

As razes do polinmio so dadas por:


2

A( j) 1 s
Si

1/ n

2 i n 1
j

2
n

2 n

Aproximaes para filtros IIR


Butterworth

Para que o filtro seja estvel, escolhe-se as


razes na metade esquerda do plano S:
H ( s)

H0
n

(s p )
i 1

H 0 ( pi )
i 1

Aproximaes para filtros IIR


Butterworth

Para que o filtro seja estvel, escolhe-se as


razes na metade esquerda do plano S:
H ( s)

H0
n

(s p )
i 1

H 0 ( pi )
i 1