Sistemas e Sinais (LEIC) – Capítulo 9 - Filtros
Carlos Cardeira
Diapositivos para acompanhamento da bibliografia de base (Structure and
Interpretation of Signals and Systems, Edward A. Lee and Pravin Varaiya),
maioritariamente baseados na informação pública disponível em
http://ptolemy.eecs.berkeley.edu/eecs20/index.html
Definições

Convolução:
( x * y )(n) 

 x(k ) y (n  k )
k  

( x * y )(t ) 
 x(s) y(t  s)ds





Comutativa : x*y=y*x
Homogénea : (ax)*y=a(x*y)
Distributiva : (x+u)*y=(x*y)+(u*y)
Invariante no tempo : (DT(x))*y=DT(x*y)
Exemplo (discreto)
y(n)=1,-2n 2, else y(n)=0
( x * y )(n) 

 x(n  k ) y (k )
k  

2
 x(n  k ) 1 
k  2
 x(n  2)  x(n  1)  x( n)  x(n  1)  x(n  2)
É uma média móvel
Exemplo
Exemplo (contínuo)

y(t)=1,-2t 2, else y(t)=0

( x * y )(t ) 
 x(s) y(t  s)ds 
s  

t-2 t t+2

t 2
2
s t  2
s  2
 x(s)ds   x(t  s)ds
É uma média móvel (dividindo pela largura da
janela)
Exemplo (contínuo)
Nota: a expressão não é válida para t<0
Exemplo (flip and drag)

1
x(t)
1
y(s)
1
s=t
1
x * y (t )   x(s) y(t  s)ds
y(t)

x(s)
s
x*y
t
Delta de Kronecker
Delta de Kronecker é uma base
Qualquer sinal x(n) pode ser decomposto numa
combinação linear de Deltas de Kronecker
Para os sistemas LTI, se eu souber a resposta ao delta
de Kronecker, por linearidade posso saber a resposta
do sistema a qualquer sinal
Delta de Dirac
Explicação intuitiva do delta de
Dirac
1/
x * y (t ) 

x(s)
  x( s) y (t  s)ds

(
 x(t )
 0 )
y(t-s)

1

 x(t )
Resposta Impulsiva e Convolução
(Discreto)
Resposta Impulsiva e Convolução
(contínuos)
Exemplo
Detalhe do cálculo da convolução

y(t )   h(s) x(t  s)ds




0

 t
y (t )   h( s ) x( s )ds    e  s x(t  s )ds


0
1
t
 s
x(t  s )ds
 e 

t  2
1
t0
0t 2
t2
Demonstração intuitiva do
teorema: Sistema Discreto LTI
(n)
 ( n  m)
x(m) (n  m)

 x(m) (n  m)  x(n)
m  
h(n)
S



h( n  m)
x ( m) h ( n  m)

 x(m)h(n  m)  y(n)
m  
Demonstração intuitiva do
teorema :Sistema Contínuo LTI
(t)
 (t  s)
x( s) (t  s)
S

h(t  s)

x( s)h(t  s)

 x(s) (t  s)  x(t )

h(t)


 x(s)h(t  s)  y(t )

Demonstração intuitiva do
teorema

Quando se aplicou um x(t) qualquer a saída
correspondente, tanto no caso discreto como
no caso contínuo, foi dada pela convolução do
sinal de entrada com a resposta impulsiva do
sistema.

A diferença é que nos sistemas discretos se
usa o delta de Kronecker para definir a
resposta impulsiva enquanto que nos sistemas
contínuos se usa o delta de Dirac.
Exemplos
y(n)  x(n)  x(n  1)  x(n  1)
h(n)   (n)   (n  1)   (n  1)
x(n)
-1
0
1
h(n)
-1
0
1
Nota: sistema LTI mas não causal
Exemplos
x(t)
h(t)=(t-T)
DT
y(t)
Relação entre Resposta Impulsiva
e Resposta em Frequência
e
jwt

x(t ) 
H ( w)e
jwt
y (t )  (h * x)(t )

y (t )  (h * x)(t )   h( s ) x(t  s )ds H ( w)e



H ( w)   h( s )e

 jws
ds
e jw ( t s )
jwt
Exemplo:
h(t )   (t  T )

H ( w)   h( s)e
 jws
ds  e

Obtivemos o mesmo H(w) que em tempos
obtiveramos por outro método
 jwT
Exemplo:

y (t )  x(t )
x(t )   (t )
0
1
y (t )   x( s )ds    ( s )ds  
2


1

t
t
t0
t0
t0
Filtro genérico

Y(n)=x(n)+0.5x(n-1)+0.7x(n-2)+y(n-1) + 0.2y(n-2)
x(n)
y(n)
+
+
D
x(n-1)
D
0.5
1
D
x(n-2)
y(n-1)
D
0.7
0.2
y(n-2)
Quatro variáveis de estado mas poder-se-ia ter feito com menos
Filtro genérico
x(n)

Podemos definir que são dois sistemas em cascata
+
w(n)
y(n)
+
D
x(n-1)
D
0.5
1
D
x(n-2)
y(n-1)
D
0.7
0.2
y(n-2)
Filtro genérico
x(n)

A ordem pode ser invertida porque são sistemas LTI
y(n)
+
+
D
D
0.5
1
D
0.2
D
0.7
Filtro genérico – número de
estados

De uma forma geral, se houver k atrasos
de y(n) e m atrasos de x(n), o número
de atrasos necessário é max (k,m)
Projecto de um filtro ideal
Filtro Ideal
|H(w)|
1
Para implementar este filtro
realizando a convolução em
tempo real num DSP
pretende-se saber os
primeiros 128 pontos
da resposta impulsiva.
0.5
0
0
0.5
1
1.5
w
2
2.5
3
1
1.5
w
2
2.5
3
pi/4
2
Fase


1 0  w  4
H ( w)  

0
w

4
0
-2
0
x(t)
0.5
Filtro
Ideal
y(t)
h(0), h(1), h(2),..., h(127)
127
y (n)   h(m) x(n  m)
m 0
Resposta em Frequência
127
y (n)   h(m) x(n  m)
m 0
x ( n)  e
jwn
 y (n)  H ( w)e
127
H ( w) e
jwn
  h ( m )e
m 0
jw ( n  m )
jwn
127
  h ( m) e
 jwm
m 0
Como sabemos o H(w) que pretendemos “só” teremos que
resolver o sistema com 128 incógnitas para calcular os 128
valores de h(n). Este cálculo só se faz uma vez, porque
depois são carregados em registos e em tempo real só é
necessário efectuar a convolução.
Cálculo da resposta impulsiva


O filtro verdadeiramente vertical será impossível, mas é
possível aproximarmo-nos dele.
Se chamarmos Hd à resposta em frequência desejada, e
Hh à resposta em frequência que se pode obter através
da resposta impulsiva h, o problema de optimização a
resolver é:
max H d ( w)   H h ( w)


Se usarmos o critério do desvio máximo.
Há outros critérios e uma quantidade grande de filtros
já predefinidos (em Matlab, por exemplo)
Download

Sistemas de Automação Industrial (LEIC)