Informática Industrial (LEM) Sistemas de Automação Industrial (LEIC)

30
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

Transcript of Informática Industrial (LEM) Sistemas de Automação Industrial (LEIC)

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