Transcript

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

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)

Exemplo (contínuo)

Nota: a expressão não é válida para t<0

Exemplo (flip and drag)

1x(t)

1 y(t)

dsstysxtyx )()()(*

1x(s)

y(s)

s=t1

t

s

x*y

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

x(s)

y(t-s)

1/

)(1

)(

)()(

)(*

)0(txtx

dsstysx

tyx

Resposta Impulsiva e Convolução (Discreto)

Resposta Impulsiva e Convolução (contínuos)

Exemplo

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

Exemplos

x(t) DT y(t)

h(t)= (t-T)

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

Exemplo:

01

02

1

00

)()()(

)()(

)()(

t

t

t

dssdssxty

ttx

txty

tt

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