Filtragem Adaptativa

Propaganda
EN3604
FILTRAGEM ADAPTATIVA
Aproximação Estocástica – o Algoritmo
LMS (Least Mean Squares)
• Conforme apresentado, o algoritmo Steepest Descent
provê uma forma simples para se minimizar uma função
custo
• Cabe ressaltar, no entanto, a possibilidade de convergência para
mínimos locais
• Entretanto, no caso da filtragem de Wiener, é preciso
estimar tanto a matriz de autocorrelação 𝐑 𝐱𝐱 quanto o
vetor de correlação cruzada 𝐩𝐱𝑑 para obter o algoritmo
• Crítica: Se tanto a matriz de autocorrelação quanto o vetor de
correlação cruzada foram estimados, por que não estimar o vetor
de coeficientes ótimos pela fórmula fechada 𝐰 = 𝐑−1 𝐩?
• Complexidade
• Sistemas variantes no tempo
Algoritmo LMS
• Algoritmo Steepest Descent
𝐰(𝑘 + 1) = 𝐰(𝑘) − 2𝜇 𝐑𝐰(𝑘) − 𝐩
Onde 𝐑 e 𝐩 representam estimativas da matriz de
autocorrelação e vetor de correlação cruzada, respectivamente.
• Como vimos anteriormente, para processos estacionários
ergódicos, podemos estimar tais valores por meio da média
temporal
1
𝐑≈
𝑁
1
𝐩≈
𝑁
𝑁−1
𝐱 𝑘 𝐱 𝑘
𝑘=0
𝑁−1
𝐱 𝑘 𝑑 𝑘
𝑘=0
𝑇
Algoritmo LMS
• O Algoritmo LMS (Least Mean Squares) emprega a
mesma ideia utilizada no método SD, mas considerando
uma aproximação “grosseira” para a matriz de
autocorrelação e vetor de correlação cruzada
𝐑≈𝐱 𝑘 𝐱 𝑘 𝑇
𝐩≈𝐱 𝑘 𝑑 𝑘
Assim, o algoritmo resume-se a
𝐰 𝑘 + 1 = 𝐰 𝑘 − 2𝜇 𝐱 𝑘 𝐱 𝑘 𝑇 𝐰 𝑘 − 𝐱 𝑘 𝑑 𝑘
= 𝐰 𝑘 − 2𝜇𝐱 𝑘 y 𝑘 − 𝑑 𝑘
↓
𝐰 𝑘 + 1 = 𝐰 𝑘 + 2𝜇𝐱 𝑘 𝑒(𝑘)
Exemplo de Aplicação
• Equalização de Canais de Comunicação
𝑏(𝑛)
𝑠(𝑛)
Canal (h)
𝑥(𝑛)
+
𝑟(𝑛)
Equalizador
(w)
𝐡 = [0 0.2194 1.0000 0.2194]
Equalização utilizando filtro na recepção com 11
coeficientes
𝑠(𝑛)
Avaliando desempenho
1 trial
5 trials
2
8
1.5
6
1
4
0.5
2
0
0
500
1000
1500
2000
0
0
500
25 trials
1000
1500
2000
1500
2000
100 trials
40
150
30
100
20
50
10
0
0
500
1000
1500
2000
0
0
500
1000
Avaliação deve ser
feita considerandose uma média de
realizações!
Analisando desempenho
Linear (plot)
Logarítmico (semilogy)
3
120
10
100
2
10
80
1
60
10
40
0
10
20
0
-1
0
200
400
600
800
1000
1200
1400
1600
1800
2000
10
0
200
400
600
800
1000
1200
1400
1600
1800
2000
Passo de Adaptação
3
10
0.001
0.005
0.01
0.05
0.1
2
e2(n)
10
1
10
0
10
-1
10
0
200
400
600
800
1000
1200
1400
1600
1800
2000
Convergência dos coeficientes
10
8
6
4
2
0
-2
0
200
400
LMS: [0.2383 -0.1840 0.0042
0.0710 0.0842 -0.0888]
600
800
1000
1200
1400
1600
0.0248 -0.1161
Wiener: [0.2435 -0.1125 0.0390 -0.0120
0.0000 -0.0000 0.0000]
1800
2000
0.1348 -0.0503
0.0035 -0.0010
0.1178 -
0.0003 -0.0001
Normalized LMS (NLMS)
• Variação do algoritmo LMS
𝐰 𝑘 + 1 = 𝐰 𝑘 + 2𝜇𝐱 𝑘 𝑒(𝑘)
↓
𝜇
𝐰 𝑘+1 =𝐰 𝑘 +
𝐱 𝑘 𝑒(𝑘)
𝑇
𝛾+𝐱 𝑘 𝐱 𝑘
• O parâmetro 𝛾 > 0 serve para evitar que o denominador
possa assumir valor nulo.
• Algoritmo NLMS pode ser visto como um algoritmo LMS com
passo variável (que depende do sinal de entrada)
• Derivação formal do NLMS considera que
𝐰 𝑘 + 1 𝑇𝐱 𝑘 = 𝑑 𝑛
de tal forma que
𝐰 𝑘 + 1 − 𝐰 𝑘 = 𝛿𝐰 𝑘 + 1
Tenha mínima norma (i.e., menor modificação possível)
Desempenho do NLMS
3
10
0.01
0.05
0.1
0.3
0.5
2
10
1
10
0
10
-1
10
0
200
400
600
800
1000
1200
1400
1600
1800
2000
Comparação LMS x NLMS
LMS
NLMS
3
3
10
10
0.001
0.005
0.01
0.05
0.1
2
e2(n)
10
1
2
10
1
10
10
0
0
10
10
-1
10
0.01
0.05
0.1
0.3
0.5
-1
0
200
400
600
800
1000
1200
1400
1600
1800
2000
10
0
200
400
600
800
1000
1200
1400
1600
1800
2000
Comparação LMS x NLMS
3
10
NLMS - 0.5
LMS - 0.1
2
10
1
10
0
10
-1
10
0
200
400
600
800
1000
1200
1400
1600
1800
2000
Outras variações
• Algoritmos com passo variante no tempo
• Heurísticas que buscam combinar passos maiores no início da
adaptação (maior velocidade de convergência) e passos menores no
final (menor erro em regime)
• Algoritmos Sign
• Vantagem: custo computacional reduzido (suponha, por exemplo, que
𝜇 = 2𝑚 . Nesse caso, multiplicação corresponde apenas à um
deslocamento)
𝐰 𝑘 + 1 = 𝐰 𝑘 + 𝜇 𝑠𝑖𝑔𝑛 𝑒 𝑛 𝐱 𝑛  Sign LMS
• Pode ser derivado considerando que o algoritmo minimiza o erro
absoluto médio (𝐸 |𝑒(𝑛)| )
𝐰 𝑘 + 1 = 𝐰 𝑘 + 𝜇 𝑠𝑖𝑔𝑛 𝐱 𝑛 𝑒 𝑛  Clipped LMS
𝐰 𝑘 + 1 = 𝐰 𝑘 + 𝜇 𝑠𝑖𝑔𝑛 𝑒 𝑛 𝑠𝑖𝑔𝑛 𝐱 𝑛  Sign Sign LMS
(Zero Forcing LMS)
Outras variações
• LMS com suavização linear
• Filtro passa-baixas na estimativa do gradiente
• Averaged LMS
• Momentm LMS
• LMS com suavização não-linear
• Median LMS – eficaz em especial quando há ruído impulsivo
• Outros  Projetos finais da disciplina? 
Download