Filtragem Adaptativa Charles Casimiro Cavalcante [email protected] Grupo de Pesquisa em Telecomunicações Sem Fio – GTEL Programa de Pós-Graduação em Engenharia de Teleinformática Universidade Federal do Ceará – UFC http://www.gtel.ufc.br/∼charles c C. C. Cavalcante Filtragem Adaptativa “Filtros adaptativos, os quais têm como meta transformar os sinais portadores de informação em versões ‘limpas’ ou ‘melhoradas’, ajustam suas caracterı́sticas de acordo com os sinais encontrados. Eles formam os exemplos mais simples de algoritmos no campo de aprendizado de máquinas.” Philip A. Regalia, 2005 IEEE Control Systems Magazine, Agosto de 2005 c C. C. Cavalcante Filtragem Adaptativa Conteúdo do curso 1 Introdução 2 Revisão de Processos Estocásticos 3 Filtragem Linear Ótima 4 Algoritmos Recursivos no Tempo 5 Método dos Mı́nimos Quadrados 6 Estruturas Alternativas de Filtragem Adaptativa 7 Tópicos Avançados c C. C. Cavalcante Filtragem Adaptativa Parte VI Método dos Mı́nimos Quadrados c C. C. Cavalcante Filtragem Adaptativa Algoritmo RLS O algoritmo Recursive Least Squares (mı́nimos quadrados recursivos) é uma implementação recursiva da solução ótima Idéia: otimizar o filtro para os erros quadrados até o instante atual Melhor adequação para sistemas que apresentam rápidas variações c C. C. Cavalcante Filtragem Adaptativa Algoritmo RLS - cont. Formalismo Dadas n amostras de x(n), d(n), y(n) e e(n), busca-se w(n) que minimiza n X λn−i · e2 (i) (139) i=0 em que 0 ≪ λ ≤ 1 é o fator de esquecimento (ponderação) Solução: λn−i x(i)d(i) c C. C. Cavalcante Filtragem Adaptativa w(n) = R−1 D (n) · pD (n) n P RD (n) = λn−i x(i)xT (i) i=0 pD (n) = n P i=0 Equações normais (140) Algoritmo RLS - cont. Algoritmo w(n) = R−1 D (n) · pD (n) w(n + 1) = R−1 D (n + 1) · pD (n + 1) (141) Podemos então escrever w(n + 1) = R−1 D (n + 1) [λpD (n) + d(n + 1)x(n + 1)] (142) Mas pD (n) = RD (n) · w(n) 1 = RD (n + 1) − x(n + 1)xT (n + 1) w(n) λ c C. C. Cavalcante Filtragem Adaptativa (143) Algoritmo RLS - cont. Algoritmo - cont. Assim, temos T w(n + 1) = R−1 D (n + 1) RD (n + 1)w(n) − x(n + 1)x (n + 1)w(n) + d(n + 1)x(n)] (144) Logo, temos w(n + 1) = w(n) + R−1 D (n + 1)x(n + 1)e(n + 1) (145) em que e(n + 1) = d(n + 1) − wT (n)x(n + 1) (erro a priori) RD (n + 1) = λRD (n) + x(n + 1)xT (n + 1) c C. C. Cavalcante Filtragem Adaptativa Algoritmo RLS - cont. Algoritmo - cont. Problema: inversão de matriz é uma operação custosa. Mas temos um resultado importante Lema da inversão de matrizes Seja A = B + CDCT −1 T −1 A−1 = B−1 − B−1 C CT B−1 C + D−1 C B No nosso caso A = RD (n + 1); C = x(n + 1); c C. C. Cavalcante B = λRD (n); D=I Filtragem Adaptativa (146) Algoritmo RLS - cont. Algoritmo - cont. Assim, temos # " −1 T (n + 1)R−1 (n) (n)x(n + 1)x R 1 −1 D D R−1 D (n + 1) = λ RD (n) − (n)x(n + 1) λ + xT (n + 1)R−1 D (147) e definindo-se o ganho de adaptação: g(n) = R−1 D (n)x(n) c C. C. Cavalcante Filtragem Adaptativa (148) Algoritmo RLS - cont. Algoritmo - cont. Assim temos as seguintes equações g(n + 1) = R−1 D (n + 1) = R−1 D (n)x(n + 1) λ + xT (n + 1)R−1 D (n)x(n + 1) 1 −1 (n) RD (n) − g(n + 1)xT (n + 1)R−1 D λ w(n + 1) = w(n) + g(n + 1)e(n) (149) (150) (151) Condições iniciais: R−1 D (0) e λ, outros parâmetros nulos, recebe-se x(n + 1) e d(n + 1) c C. C. Cavalcante Filtragem Adaptativa Algoritmo RLS - cont. Então, o algoritmo RLS é dado pela sequência cı́clica das seguintes equações: (149) (150) c C. C. Cavalcante Filtragem Adaptativa (151) Algoritmo RLS - cont. Algoritmo RLS - resumo g(n + 1) = R−1 D (n)x(n + 1) λ + xT (n + 1)R−1 D (n)x(n + 1) 1 −1 (n) RD (n) − g(n + 1)xT (n + 1)R−1 D λ w(n + 1) = w(n) + g(n + 1)e(n) R−1 D (n + 1) = c C. C. Cavalcante Filtragem Adaptativa Comparação RLS versus LMS complexidade velocidade de convergência desajuste estabilidade LMS ∼M depende de Rx ∼µ estável para µ apropriado c C. C. Cavalcante RLS ∼ M2 não depende das estatı́sticas pode convergir para zero quando g(n) → 0 possı́vel estabilidade Filtragem Adaptativa