Post on 09-Jan-2017
Sistemas e Sinais (LEIC) – Capítulo 9 - Filtros
Carlos CardeiraDiapositivos 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:
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)
dsstysxtyx
knykxnyxk
)()())(*(
)()())(*(
Exemplo (discreto)
y(n)=1,-2 n 2, else y(n)=0
É uma média móvel
)2()1()()1()2(
1)(
)()())(*(
2
2
nxnxnxnxnx
knx
kyknxnyx
k
k
Exemplo (contínuo)
2
2
2
2
)()(
)()())(*(
s
t
ts
s
dsstxdssx
dsstysxtyx
t t+2t-2
y(t)=1,-2 t 2, else y(t)=0
É uma média móvel (dividindo pela largura da janela)
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
Detalhe do cálculo da convolução
2)(
20)(
00
)()()(
2 1
0 1
tdsstxe
tdsstxe
t
dssxshty
t
t
s
t
s
dsstxshty )()()(
Demonstração intuitiva do teorema: Sistema Discreto LTI
S(n) h(n)
)()()()()()(
)()()()(
)()(
nymnhmxnxmnmx
mnhmxmnmx
mnhmn
mm
Demonstração intuitiva do teorema :Sistema Contínuo LTI
S(t) h(t)
)()()()()()(
)()()()(
)()(
tysthsxtxstsx
sthsxstsx
sthst
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
)1()1()()(
)1()1()()(
nnnnh
nxnxnxny
h(n)
0 1-1
x(n)
0 1-1
Nota: sistema LTI mas não causal
Relação entre Resposta Impulsiva e Resposta em Frequência
dseshwH
ewHdsstxshtxhty
txhtytx
ewHe
jws
jwt
e
jwtjwt
stjw
)()(
)()()())(*()(
))(*()()(
)(
)(
Exemplo:
jwTjws edseshwH
Ttth
)()(
)()(
Obtivemos o mesmo H(w) que em tempos
obtiveramos por outro método
Filtro genérico
Y(n)=x(n)+0.5x(n-1)+0.7x(n-2)+y(n-1) + 0.2y(n-2)
D
D
D
D
+ +
0.5
0.7
x(n)
x(n-1)
x(n-2)
y(n)
y(n-1)
y(n-2)
1
0.2
Quatro variáveis de estado mas poder-se-ia ter feito com menos
w(n)
Filtro genérico
Podemos definir que são dois sistemas em cascata
D
D
D
D
+ +
0.5
0.7
x(n)
x(n-1)
x(n-2)
y(n)
y(n-1)
y(n-2)
1
0.2
Filtro genérico
A ordem pode ser invertida porque são sistemas LTI
D
D
+
1
0.2
D
D
+
0.5
0.7
x(n)y(n)
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
1 04
( )
04
w
H w
w 0 0.5 1 1.5 2 2.5 30
0.5
1
w
|H(w
)|
Filtro Ideal
0 0.5 1 1.5 2 2.5 3
-2
0
2
w
Fas
e
pi/4
Para implementar este filtro
realizando a convolução em
tempo real num DSP
pretende-se saber os
primeiros 128 pontos
da resposta impulsiva.
Filtro
Ideal
x(t) y(t)
127
0
(0), (1), (2),..., (127)
( ) ( ) ( )m
h h h h
y n h m x n m
Resposta em Frequência
127
0
( ) ( ) ( )
( ) ( ) ( )
( )
m
jwn jwn
jwn
y n h m x n m
x n e y n H w e
H w e (( ) jw nh m e127 127
)
0 0
( )m jwm
m m
h m e
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 é:
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)
max ( ) ( )d
hH w H w