Você está na página 1de 48

Filtros IIR

Processamento Digital de Sinais - ENG420

Fabrı́cio Simões

IFBA

27 de outubro de 2015

Fabrı́cio Simões (IFBA) Filtros IIR 27 de outubro de 2015 1 / 48


1 Filtragem Digital

2 Filtro IIR
Filtros de Primeira Ordem
Filtros de Segunda Ordem
Métodos de Projeto de Filtros IIR
Invariância do Impulso
Filtros Analógicos: Uma Breve Abordagem
Exemplo
Transformação Bilinear

Fabrı́cio Simões (IFBA) Filtros IIR 27 de outubro de 2015 2 / 48


Filtragem Digital
Dado um cojunto de especificações, o projeto do filtro consiste em
encontrar um sistema discreto cuja resposta em frequência atendas as
especificações desejadas.
|Hd (ω)|

Banda de Passagem

Banda de Rejeição

ωp ωs π ω
∆ω

Banda de Transiçãão

Dois tipos de filtros podem ser usados :


1 IIR - Encontrar uma função racional na variável z;
2 FIR - Encontrar um polinômio
Fabrı́cio Simões (IFBA) Filtros IIR 27 de outubro de 2015 3 / 48
Filtro Passa-Baixas

1 1 1
Ha (z) = , Hda (ω) = jω = e −jφ
z −a e −a p

z +1 e jω + 1 q
Hb (z) = , Hdb (ω) = jω = e −jφ
z −a e −a p
Im Im |Hd (ω)|
jω1
ejω1 e
1
ejω2 ejω2 q 1−a
p p |Hda (ω)|

a Re a Re
|Hdb (ω)|

(a) (b)

Fabrı́cio Simões (IFBA) Filtros IIR 27 de outubro de 2015 4 / 48


Filtro Passa-Altas

1 1 1
Ha (z) = , Hda (ω) = jω = e −jφ
z +a e − (−a) p

z −1 e jω − (−1) q
Hb (z) = , Hdb (ω) = jω = e −jφ
z +a e − (−a) p
Im Im |Hd (ω)|

e jω1 e jω1
1
e jω2 e jω2 p 1−a
p q
|Hda (ω)|
−a Re −a Re
|Hdb (ω)|

(a) (b)

Fabrı́cio Simões (IFBA) Filtros IIR 27 de outubro de 2015 5 / 48


Normalização da Resposta em Frequência do Filtro
Passa-Baixas

z +1
H(z) = k
z −a

A variável k é escolhido para |Hd (ω = 0)| = 1, portanto:

1−a
 
z +1
H(z) =
2 z −a

Fabrı́cio Simões (IFBA) Filtros IIR 27 de outubro de 2015 6 / 48


Frequência de Corte do Filtro Passa-Baixas

Para encontrar a frequência de corte: |Hd (ωc )|2 = 0, 5.

|Hd (ωc )|2 = Hd (ωc )Hd∗ (ωc )

1−a e jωp + 1 1−a e −jωp + 1


   
2 1
|Hd (ωc )| = . −jω
=
2 e jωp − a 2 e p −a 2
 
2a
ωc = arccos
1 + a2
Para um pólo muito próximo de 1 (cı́rculo unitário),

ωc ∼
=1−a

Fabrı́cio Simões (IFBA) Filtros IIR 27 de outubro de 2015 7 / 48


Filtros Ótimos de Primeira Ordem

1 Filtro Passa-Baixa
1−a
 
z +1
H(z) =
2 z −a
2 Filtro Passa-Alta
z −1
 
1+a
H(z) =
2 z +a
3 Frequência de Corte
 
2a
ωc = arccos
1 + a2

ωc ∼
=1−a

Fabrı́cio Simões (IFBA) Filtros IIR 27 de outubro de 2015 8 / 48


Exercı́cio

Dado o sinal

x(t) = sen(7t) + sen(500t),


com sinal intereferente de frequência igual a 500Hz.

fmax = 500rad/s ⇒ fa ≥ 1000rad/s

T = 2π/2000 = 3, 14ms

sinal discreto: x(nT ) = sen(7nT ) + sen(500nT )

Fabrı́cio Simões (IFBA) Filtros IIR 27 de outubro de 2015 9 / 48


Procedimento de Projeto

Projeto do Filtro: É necessário normalizar as informações de frequência,


multiplicando-as por T .
freq. 7 rad/s → 21, 98 × 10−3
freq. 500 rad/s → 1, 57

Fórmula aproximada da frequência de corte

ωp ∼
=1−a

Fabrı́cio Simões (IFBA) Filtros IIR 27 de outubro de 2015 10 / 48


Projeto - Continuação
|Xd (ω)|

|Hd (ω)|

−π -1,57 1,57 π ω

0,022 ωc = 0,2 a = 0,8

1 Cálculo de H(z)
z +1
H(z) = k
z −a
2 Determinando a Equação de Diferenças.

kx(n) + kx(n − 1) = y (n) − ay (n − 1)

Fabrı́cio Simões (IFBA) Filtros IIR 27 de outubro de 2015 11 / 48


Filtro de Segunda Ordem

Função de Transferência H(z)

(z − b1 e jb2 )(z − b1 e −jb2 )


H(z) =
(z − a1 e ja2 )(z − a1 e −ja2 )
Im

b1 a1
a2

Re

Fabrı́cio Simões (IFBA) Filtros IIR 27 de outubro de 2015 12 / 48


Filtro Notch

(z − e jωo )(z − e −jωo )


H(z) =
(z − ae jωo )(z − ae −jωo )
Im |Hd (ω)|

1
a
ωo

Re

ωo π ω

1 Zeros na frequência ωo ;
2 Pólos próximos dos zeros;

Fabrı́cio Simões (IFBA) Filtros IIR 27 de outubro de 2015 13 / 48


Filtro Passa-Faixa

k(z + 1)(z − 1)
H(z) =
(z − ae jωo )(z − ae −jωo )
Im |Hd (ω)|

1
a √
ωo 1/ 2

Re

ωo π ω

BW ∼
= 2(1-a)

Fabrı́cio Simões (IFBA) Filtros IIR 27 de outubro de 2015 14 / 48


Exercı́cios

Projete um filtro passa-faixa para eliminar as componentes de


frequência de 100 rad/s e 1000 rad/s do sinal abaixo :

x(t) = sen(100t) + sen500t + sen(1000t)


Determine a equação de diferenças do filtro.

Projete um filtro que elimine a componente de frequência de 500


rad/s. Determine a equação de diferenças.

Fabrı́cio Simões (IFBA) Filtros IIR 27 de outubro de 2015 15 / 48


Filtros IIR : Métodos de Projeto

Discretização de Filtros Analógicos

Invariância do Impulso;

h(nT ) = Thc (t)|t=nT

Transformação Bilinear.

H(z) = Hc (s)|s=α 1−z −1 


1+z −1

Fabrı́cio Simões (IFBA) Filtros IIR 27 de outubro de 2015 16 / 48


Invariância do Impulso

Fabrı́cio Simões (IFBA) Filtros IIR 27 de outubro de 2015 17 / 48


Invariância do Impulso

O método consiste em discretizar um projeto de um filtro analógico


segundo a equação abaixo

h(nT ) = T hc (t)|t=nT

Nesse método, estamos interessados na relação entre a resposta em


frequência do sistema contı́nuo e a resposta em frequência do sistema
discreto.

" #
1 X
Hd (ω) = T Hc (ω − kωa )
T
k=−∞

Fabrı́cio Simões (IFBA) Filtros IIR 27 de outubro de 2015 18 / 48


Procedimento

As especificações de projeto de um filtro digital são usadas no projeto


de um filtro analógico com função de transferência Hc (s); .

Graficamente, o fluxo de projeto pode ser representado como

Fluxo de Projeto
Invariância do Impulso

Hc,p(s) Hc(s) H(z)


Hc,p(ω) Hc(ω) Hd(ω)

Filtro Protótipo Analógico Filtro Analógico Filtro Digital

Fabrı́cio Simões (IFBA) Filtros IIR 27 de outubro de 2015 19 / 48


Procedimento

1 Considere a função de transferência Hc (s) de um filtro analógico


representada por uma soma de frações parciais
N
X Ak
Hc (s) =
s − sk
k=1

2 Aplicando Transformada Inversa de Laplace sobre Hc (s), obtém-se:


N
X
hc (t) = Ak e s k t
k=1

3 Fazendo h(nT ) = Thc (t)|t=nT para T = 1s, obtém-se


N
X N
X
s k nT
h[n] = T Ak e u[n] = Ak e s k n u[n]
k=1 k=1

Fabrı́cio Simões (IFBA) Filtros IIR 27 de outubro de 2015 20 / 48


Procedimento - Continuação

4 Aplicando a Transformada Z sobre h[n]


N N
X 1 X z
H(z) = Ak s −1
= Ak
1−e zk z − esk
k=1 k=1

5 O sistema obtido é causal e estável ?

Fabrı́cio Simões (IFBA) Filtros IIR 27 de outubro de 2015 21 / 48


Filtros Analógicos

Fabrı́cio Simões (IFBA) Filtros IIR 27 de outubro de 2015 22 / 48


Objetivo do Projeto

Encontrar uma resposta em frequência |H(ω)| que atenda as


especificações desejadas.

|Hc(ω)|
Uma possı́vel resposta
Banda de Passagem
0 dB
Amax

Banda de Rejeição
Amin 1111111111111
0000000000000
0000000000000
1111111111111
0000000000000
1111111111111
0000000000000
1111111111111
ωp ω1111111111111
0000000000000
s
ω
∆ω

Banda de Transição

Fabrı́cio Simões (IFBA) Filtros IIR 27 de outubro de 2015 23 / 48


Aproximações para |H(ω)|
Tipos de resposta em frequência de filtros com ordem N ≥ 2.

Butterworth Chebyshev

Eliptico

Fabrı́cio Simões (IFBA) Filtros IIR 27 de outubro de 2015 24 / 48


Comparação entre os Tipos de Resposta

Butterworth: Resposta plana na


banda de passagem;
Chebyshev: Ondulações na
banda de passagem;
Eliptico : Ondulações na banda
de passagem e na banda de
rejeição;
Taxa de atenuação : Eliptico,
Chebyshev e Butterworth;
Atraso de Grupo τ (ω):
Butterworth, Chebyshev,
Eliptico.

Fabrı́cio Simões (IFBA) Filtros IIR 27 de outubro de 2015 25 / 48


Exemplo de Projeto 1

Filtro Digital Passa-Baixas Butterworth de ordem 2;


Tempo de Amostragem T = 0,02 s;
ωp = 10 rad/s.

Fabrı́cio Simões (IFBA) Filtros IIR 27 de outubro de 2015 26 / 48


Projeto Usando o MatLab
1 Projeto do filtro analógico. Usando o comando [b,a] =
butter(N,ωp ,’s’). ωp está normalizado.
0, 04
H(s) =
s2
+ 0, 28s + 0, 04
2 O comando [bz,az] = impinvar(b,a,Fs ). Fs = 1 devido a
normalização.

0, 0346z −1
H(z) =
1 − 1, 72z −1 + 0, 754z −2
3 Equação de Diferenças

y [n] − 1, 72y [n − 1] + 0, 754y [n − 2] = 0, 0344x[n − 1]

É possı́vel fazer o projeto sem normalização da frequência ωp . Nesse caso,


Fs é igual a frequência de amostragem do projeto.
Fabrı́cio Simões (IFBA) Filtros IIR 27 de outubro de 2015 27 / 48
Resposta em Frequência dos Filtros Analógicos e Digitais
Magnitude da Resposta em Frequencia
0
Filtro Analogico
Filtro Digital

-10
Magnitude (dB)

-20

-30

-40

-50
0 5 10 15 20 25
Frequencia (Hz)

Fabrı́cio Simões (IFBA) Filtros IIR 27 de outubro de 2015 28 / 48


Resposta em Frequência do Filtro Contı́nuo
|Hc (ω)|

Digitalização do Filtro Analógico


Diferenças entre o Filtro Analógico e Digital
Devido ao Aliasing

sobreposição = aliasing
|Hd (ω)|

1111111111
0000000000
0000000000
1111111111 ...
...
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
ω
−ωa ωa

Fabrı́cio Simões (IFBA) Filtros IIR 27 de outubro de 2015 29 / 48


Exemplo de Projeto 2

Filtro Digital Passa-Faixa Butterworth de ordem 4;


Tempo de Amostragem T = 0,02 s;
ωpl = 9 rad/s;
ωpu = 11 rad/s;

Fabrı́cio Simões (IFBA) Filtros IIR 27 de outubro de 2015 30 / 48


Filtro Passa-Faixa Digital

1 Projeto do filtro analógico passa-faixa. Frequências ωpl e ωpu


normalizadas;
[b,a] = butter(N/2,[ωpl ωpu ],’s’)

0, 0016s 2
H(s) =
s 4 + 0, 056s 3 + 0, 081s 2 + 0, 0022s + 0, 0016

2 Filtro Digital
[bz,az] = impinvar(b,a,Fs ). Fs = 1 devido a normalização.

0, 0015z −1 − 0, 0031z −2 + 0, 0015z −3


H(z) =
1 − 3, 867z −1 + 5, 68z −2 − 3, 757z −3 + 0, 94z −4

3 Qual a equação de diferenças ?

Fabrı́cio Simões (IFBA) Filtros IIR 27 de outubro de 2015 31 / 48


Resposta em Frequência dos Filtros Analógicos e Digitais
Magnitude da Resposta em Frequencia
0
Filtro Analogico
Filtro Digital

-20

-40
Magnitude (dB)

-60

-80

-100

-120
0 5 10 15 20 25
Frequencia (Hz)

Fabrı́cio Simões (IFBA) Filtros IIR 27 de outubro de 2015 32 / 48


Exemplo de Projeto 3

Filtro Digital de Chebyshev de ordem 2;


Tempo de Amostragem T = 0,02 s;
rp = 0,89;
ωp = 10 rad/s.

Fabrı́cio Simões (IFBA) Filtros IIR 27 de outubro de 2015 33 / 48


Filtro Passa-Baixas Digital

1 Projeto do filtro analógico passa-baixas - [b,a] = cheby1(N,R,ωp ,’s’)


R = −20 log(rp )
0, 039
H(s) =
s2 + 0, 22s + 0, 044

2 Filtro Digital
[bz,az] = impinvar(b,a,Fs )

0, 0348z −1
H(z) =
1 − 1, 76z −1 + 0, 803z −2

3 Qual a equação de diferenças ?

Fabrı́cio Simões (IFBA) Filtros IIR 27 de outubro de 2015 34 / 48


Resposta em Frequência dos Filtros Analógicos e Digitais
Magnitude da Resposta em Frequencia
0
Filtro Analogico
Filtro Digital

-10
Magnitude (dB)

-20

-30

-40

-50
0 5 10 15 20 25
Frequencia (Hz)

Fabrı́cio Simões (IFBA) Filtros IIR 27 de outubro de 2015 35 / 48


Comparação entre os Filtros Butterworth e Chebyshev

Magnitude da Resposta em Frequencia


20
Butterworth
Chebyschev

-20
Magnitude (dB)

-40

-60

-80

-100

-120
0 5 10 15 20 25
Frequencia (Hz)

Fabrı́cio Simões (IFBA) Filtros IIR 27 de outubro de 2015 36 / 48


Transformação Bilinear

Fabrı́cio Simões (IFBA) Filtros IIR 27 de outubro de 2015 37 / 48


Transformação Bilinear: Fluxo de Projeto
Fluxo de Projeto
Transformação Bilinear

Hc,p(s) Hc(s) H(z)


Hc,p(Ω) Hc(Ω) Hd(ω)

Filtro Protótipo Analógico Filtro Analógico Filtro Digital

O método elimina o efeito de aliasing usando uma transformação


não-linear entre a variável complexa s e a variável z a partir das
equações

z −1
 
s=α , e Ω = α tan(ω/2)
z +1
α é uma constante positiva e arbitrária.
Fabrı́cio Simões (IFBA) Filtros IIR 27 de outubro de 2015 38 / 48
Transformação entre Hc (ω) e Hd (ω)
Considerando T = 1s.

Fabrı́cio Simões (IFBA) Filtros IIR 27 de outubro de 2015 39 / 48


Procedimento

1 Considere o filtro analógico Hc (s) representado por frações parciais


N
X Ak
Hc (s) = ,
s − sk
k=1

onde Ak é uma constante e sk , os pólos do sistema.

2 Aplicando a relação entre as variáveis s e z, obtém-se


N
X Ak
H(z) =
α z−1
k=1 z+1
− sk

Fabrı́cio Simões (IFBA) Filtros IIR 27 de outubro de 2015 40 / 48


Procedimento - Continuação

3 Fazendo α=1, H(z) é reescrita como


N
X Ak
H(z) = z−1
k=1 z+1
− sk

Relações entre s e ω para α = 1


z −1
s=
z +1

Ω = tan(ω/2)

Fabrı́cio Simões (IFBA) Filtros IIR 27 de outubro de 2015 41 / 48


Análise de Estabilidade

N
X Ak
H(z) = z−1
k=1 z+1
− sk
Analisando os pólos de H(z).
zk − 1
− sk = 0
zk + 1

1 + sk 1 + σk + jΩk
zk = =
1 − sk 1 − σk − jΩk
Se os pólos sk são estáveis, σk < 0. Portanto,
q
(1 + σk )2 + (Ωk )2
|zk | = q <1
(1 − σk )2 + (Ωk )2

Fabrı́cio Simões (IFBA) Filtros IIR 27 de outubro de 2015 42 / 48


Exemplo de Projeto 1

Filtro Digital Passa-Altas Butterworth de ordem 2;


Tempo de Amostragem T = 0,02 s;
ωp = 40 rad/s.

Fabrı́cio Simões (IFBA) Filtros IIR 27 de outubro de 2015 43 / 48


Projeto

1 Usando o comando [b,a] = butter(N,ωp ,’high’,’s’). Frequência ωp


normalizada.

s2
Hc (s) =
s2 + 1, 13s + 0, 64

2 Transformação do filtro analógico usando [bz,az] = bilinear(b,a,T )

0, 58 − 1, 15z −1 + 0, 58z −2
H(z) =
1 − 0, 97z − 1 + 0, 34z − 2

3 Qual é a equação de diferenças ?

Fabrı́cio Simões (IFBA) Filtros IIR 27 de outubro de 2015 44 / 48


Comparação entre os Filtros Analógico e Digital

Magnitude da Resposta em Frequencia


0
Filtro Analogico
Filtro Digital

-20
Magnitude (dB)

-40

-60

-80
0 5 10 15 20 25
Frequencia (Hz)

Fabrı́cio Simões (IFBA) Filtros IIR 27 de outubro de 2015 45 / 48


Exemplo de Projeto 2

Exemplo
Filtro digital Butterworth passa-baixas de ordem 2;
Tempo de Amostragem T = 0,02 s;
ωp = 40 rad/s.

Fabrı́cio Simões (IFBA) Filtros IIR 27 de outubro de 2015 46 / 48


Projeto

1 Usando o comando [b,a] = butter(N,ωp ,’s’). Frequência ωp


normalizada.
0, 64
Hc (s) =
s2 + 1, 13s + 0, 64

2 Transformação do filtro analógico usando [bz,az] = bilinear(b,a,T )

0, 093 + 0, 185z −1 + 0, 092z −2


H(z) =
1 − 0, 973z − 1 + 0, 344z −2

3 Qual é a equação diferença ?

Fabrı́cio Simões (IFBA) Filtros IIR 27 de outubro de 2015 47 / 48


Comparação entre os Filtros Analógico e Digital

Magnitude da Resposta em Frequencia


20
Filtro Analogico
Filtro Digital

-20
Magnitude (dB)

-40

-60

-80

-100

-120
0 5 10 15 20 25
Frequencia (Hz)

Fabrı́cio Simões (IFBA) Filtros IIR 27 de outubro de 2015 48 / 48

Você também pode gostar