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?