300 likes | 418 Views
Sistemas e Sinais (LEIC) – Capítulo 9 - Filtros. Carlos Cardeira
E N D
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: • 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,-2n 2, else y(n)=0 É uma média móvel
Exemplo (contínuo) • y(t)=1,-2t 2, else y(t)=0 • É uma média móvel (dividindo pela largura da janela) t t-2 t+2
Exemplo (contínuo) Nota: a expressão não é válida para t<0
x(t) y(t) 1 1 y(s) s=t Exemplo (flip and drag) x(s) 1 s 1 x*y t
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
1/ x(s) y(t-s) Explicação intuitiva do delta de Dirac
Demonstração intuitiva do teorema: Sistema Discreto LTI S (n) h(n)
Demonstração intuitiva do teorema :Sistema Contínuo LTI S (t) h(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.
h(n) -1 0 1 Exemplos x(n) -1 0 1 Nota: sistema LTI mas não causal
Exemplos DT x(t) y(t) h(t)=(t-T)
Exemplo: 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) x(n) y(n) + + D D 0.5 1 x(n-1) y(n-1) D D 0.7 0.2 x(n-2) y(n-2) Quatro variáveis de estado mas poder-se-ia ter feito com menos
Filtro genérico • Podemos definir que são dois sistemas em cascata x(n) y(n) w(n) + + D D 0.5 1 x(n-1) y(n-1) D D 0.7 0.2 x(n-2) y(n-2)
Filtro genérico • A ordem pode ser invertida porque são sistemas LTI x(n) y(n) + + D D 0.5 1 D D 0.7 0.2
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 Para implementar este filtro realizando a convolução em tempo real num DSP pretende-se saber os primeiros 128 pontos da resposta impulsiva. y(t) x(t) Filtro Ideal
Resposta em Frequência 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)