Escolar Documentos
Profissional Documentos
Cultura Documentos
Sumário
– conceito e exemplos
– algoritmos de gradiente
• filtragem óptima de Wiener
• o método do gradiente mais negativo
• o algoritmo LMS
FEUP, 15 de Abril de 2005
Filtros adaptativos
• Conceito
Processamento Digital de Sinal em Tempo Real, 7ª aula teórica
d(n)
– os filtros adaptativos podem ser do tipo FIR ou IIR, porém são quase
sempre preferidas estruturas FIR já que, como se sabe, estas são
intrinsecamente estáveis
• Exemplos
FEUP, 15 de Abril de 2005
© AJF/FJR 3
• Identificação
x(n) d(n)
Processamento Digital de Sinal em Tempo Real, 7ª aula teórica
• Modelização inversa
(igualização)
x(n) y(n)
Sistema Filtro
Desconhecido Adaptativo
– nestas aplicações o filtro
FEUP, 15 de Abril de 2005
e(n) -
adaptativo tem por
objectivo fornecer um +
Atraso
modelo inverso que
representa a melhor
aproximação, de acordo Exemplos de aplicações:
com algum critério, a um • descorrelação preditiva
sistema desconhecido • igualização adaptativa
© AJF/FJR 4
y(n)
• Predição
– nestas aplicações, o filtro x(n) +
Filtro
Processamento Digital de Sinal em Tempo Real, 7ª aula teórica
-1
adaptativo tem por objectivo Z
Adaptativo -
fornecer a melhor predição e(n)
para a evolução de um sinal
com base no conhecimento
do seu passado Exemplos de aplicações:
• codificação linear preditiva (LPC)
• ADPCM
• Cancelamento de • análise espectral autoregressiva (AR)
interferência Fonte
– nestas aplicações o filtro Sinal
adaptativo tem por objectivo
cancelar uma interferência d(n)
desconhecida e contida em
FEUP, 15 de Abril de 2005
E [s ( n) x ' ( n − k )] = 0, ∀k E [s ( n) x ( n − k ) ] = 0, ∀k E [x ( n) x ' (n − k )] = p ( − k )
A saída do filtro adaptativo y(n) e o sinal de erro e(n) são dados por:
N −1
y (n) = ∑ hn (k ) x(n − k )
k =0
FEUP, 15 de Abril de 2005
e( n ) = d ( n ) − y ( n ) = s ( n ) + x ' ( n ) − y ( n )
o que coloca em evidência que o sinal s(n) faz parte do sinal de erro. Porém,
dadas as hipóteses anteriores, minimizar o erro médio quadrático de e(n)
equivale a minimizar o erro médio quadrático do ruído indesejado dado
por e(n)-s(n)=x’(n)-y(n), o que significa que s(n) não é afectado pelo
processo de filtragem adaptativa.
© AJF/FJR 6
Como casos limite de operação do filtro adaptativo temos duas situações, a
primeira em que y(n)=x’(n) e a segunda em que E [d (n) x(n − k )] = 0, ∀k .
Processamento Digital de Sinal em Tempo Real, 7ª aula teórica
No primeiro caso a operação de filtragem é efectiva, cancelando todo o
ruído. No segundo caso, o sinal de referência é completamente
descorrelacionado com o sinal primário, fazendo com que o filtro
adaptativo se “auto-desligue”, produzindo y(n)=0, o que não afecta o sinal
principal.
– EXEMPLO 1
da rede + - + ECG
x(n)
+ y(n)
e(n)
deslocamento
hn(1)
de fase de 90º
NOTAS:
• o filtro adaptativo funciona como um “notch filter”
• os dois coeficientes controlam a amplitude e a fase
algoritmo
da interferência sinusoidal LMS
© AJF/FJR 7
– EXEMPLO 2
Processamento Digital de Sinal em Tempo Real, 7ª aula teórica
microfone
primário
d(n)
voz
- + “limpa”
y(n)
e(n)
FEUP, 15 de Abril de 2005
microfones
de referência
algoritmo
LMS
NOTAS:
•o algoritmo de adaptação pode ser o “LMS” ou outro alternativo
•os microfones de referência devem situar-se suficientemente longe
do falante de modo a captarem quase exclusivamente só o ruído 8
© AJF/FJR
– EXEMPLO 3
Processamento Digital de Sinal em Tempo Real, 7ª aula teórica
(falante A)
x(n)
Filtro w(n)
Híbrido (falante B)
Adaptativo
y(n)
e(n) -
+
x’(n)+w(n)
FEUP, 15 de Abril de 2005
NOTAS:
• o objectivo do filtro adaptativo é sintetizar uma réplica do eco, perto do seu ponto de
geração, e subtraí-la do sinal de retorno
• idealmente, o filtro adaptativo aproxima a função de transferência de retorno do eco
Algoritmos de Gradiente
Processamento Digital de Sinal em Tempo Real, 7ª aula teórica
• Filtragem de Wiener
– dado o sistema adaptativo já ilustrado anteriormente:
d(n)
N −1
N −1
N −1
{ }
J = E e(n)e* (n) = E d (n) − ∑ hn (k ) x(n − k ) d * (n) − ∑ hn* (") x * (n − ")
k = 0 = 0
{ }
N −1 N −1 N −1 N −1
{ } { }
J = E d (n) − ∑ hn* (") E d (n) x* (n − ") − ∑ hn (k ) E d * (n) x(n − k ) + ∑∑ hn (k )hn* (") E x(n − k ) x* (n − ")
=0
2
k = 0
k = 0 = 0
{ }
σ d2 p(−) ∗
p (−k ) r ( − k )
sendo σ2 a variância de d(n) cuja média se supõe nula, p(- ") e p*(-k)
representam a correlação cruzada entre o sinal d(n) e a entrada x(n)
e r("-k) representa a correlação da entrada para uma distância "-k.
© AJF/FJR 10
N −1 N −1 N −1 N −1
∂J
Assumindo coeficientes h(k) reais, o vector gradiente, ∇k (J ) =
∂h(k )
concretizado na expressão J produz:
FEUP, 15 de Abril de 2005
N −1 N −1 N −1
∇ k ( J ) = −2 p(− k ) + ∑ hn (")r (" − k ) + ∑ hn ( s )r (k − s ) = −2 p(− k ) + 2∑ hn (")r (" − k )
=0 s =0 =0
∑ h (" ) r (" − k ) = p ( − k )
=0
n
• O método do gradiente
Processamento Digital de Sinal em Tempo Real, 7ª aula teórica
vector nulo,
2. Calcula-se o vector gradiente, determinado em ordem aos coeficientes do
filtro no instante n,
3. Estimam-se os coeficientes do filtro para a próxima iteração modificando a
estimativa actual no sentido oposto ao do vector gradiente,
4. Retorna-se ao ponto 2 e repete-se o processo.
© AJF/FJR 12
1
– De acordo com este procedimento, será então: h (k ) = h (k ) + 2 µ [− ∇ [J (n)]] n +1 n k
adaptação do algoritmo.
N −1
Como vimos anteriormente, ∇ k [J (n)] = −2 p(− k ) + 2∑ hn (")r (" − k ) porém, como não
=0
N −1
∇ k [J (n)] = −2 E x(n − k ) d (n) − ∑ hn (") x(n − ") = −2 E{x(n − k )e(n)}
=0
• O algoritmo LMS
– O algoritmo anterior presume a obtenção de estatísticas durante o
Processamento Digital de Sinal em Tempo Real, 7ª aula teórica
N −1
• 1. y ( n) = ∑ h ( k ) x ( n − k )
n
k =0
• 2. e( n ) = d ( n ) − y ( n )
• 3. hn +1 (k ) = hn (k ) + µ x(n − k )e(n)
M −1
1
referência, estimada por: Px =
M
∑x
m =0
2
( m) para um dado inteiro M. 16
© AJF/FJR