Resumo Filtragem Adaptativa Luís Caldas de Oliveira lco@istutlpt Instituto Superior Técnico Sistemas de filtragem adaptativa Conceitos de filtragem adaptativa Filtro de Wiener Algoritmo steepest descent Algoritmo adaptativo de mínimos quadrados (LMS) Exemplos de aplicação Filtragem Adaptativa p1/45 Filtragem Adaptativa p2/45 Tarefas desempenhadas pelos filtros Filtros adaptativos Filtragem: extracção de informação no instante usando dados medidos até esse instante Alisamento: poderá utilizar informação passada ou futura para calcular a saída presente Predição: utiliza a informação passada para predizer o valor que tomará no futuro São filtros com coeficientes que variam no tempo Adaptam-se automaticamente a alterações nos sinais de entrada Baseiam-se num algoritmo de minimização do erro Filtragem Adaptativa p3/45 Filtragem Adaptativa p4/45
Diagrama de um filtro adaptativo Caracterização do algoritmo adaptativo y(n) = s(n) + r(n) sinal + ruído + e(n) s(n) ^ estimativa do sinal Taxa de convergência: velocidade com que atinge uma aproximação da solução óptima Desajustamento: diferença entre o erro cometido e o erro da solução óptima x(n) ruído Filtro digital r(n) ^ estimativa do ruído Seguimento: capacidade de seguir as variações estatísticas em ambientes não-estacionários Robustez: pequenas perturbações produzem pequenos erros de estimação Algoritmo adaptativo Requisitos computacionais: número de operações Estrutura: o fluxo de informação do algoritmo pode permitir realizações paralelas (por exemplo) Características numéricas: sensibilidade a erros de quantificação e à precisão finita nos cálculos Filtragem Adaptativa p5/45 Filtragem Adaptativa p6/45 Algumas aplicações da filtragem adaptativa Filtragem adaptativa para redução de ruído Na electro-encefalografia (EEG) onde os movimentos dos olhos ou das palpebras pode contaminar a medida da actividade eléctrica do cérebro Fonte de sinal y(n) = s(n) + r(n) + e(n) s(n) ^ Na comunicação em spread spectrum em que o ruído interfere em variadas gamas de frequência em função do tempo Fonte de ruído x(n) Filtro adaptativo r(n) ^ Nos modems onde as características do canal variam com o tempo sendo necessária uma equalização adaptativa Nos sistemas de mãos-livres dos telemóveis, tanto para reduzir o ruído como para cancelar ecos Filtragem Adaptativa p7/45 Filtragem Adaptativa p8/45
Exemplo 1 Filtragem adaptativa para identificação de sistemas Sabendo que a saída do cancelador de ruído vale; entrada do sistema Sistema desconhecido + saída do sistema mostre que a minimização de sinal-ruído da saída maximiza a relação Filtro adaptativo e(n) Filtragem Adaptativa p9/45 Filtragem Adaptativa p10/45 Realização do filtro adaptativo Filtragem linear óptima Apesar de poderem ser utilizadas outras formas, a filtragem FIR é a mais comum devido à sua simplicidade e garantia de estabilidade: y(n) + e(n) x(n) Filtro de Wiener y(n) ^ em que são os coeficientes do filtro adaptativo (pesos) Esta estrutura é também referida como filtro transversal O objectivo é o de determinar os coeficientes do filtro, que produzem a saída que pretende ser uma estimativa da saída desejada,, conhecendo-se um conjunto das amostras de entrada,,, Filtragem Adaptativa p11/45 Filtragem Adaptativa p12/45
Erro de estimação na forma matricial onde Filtragem Adaptativa p14/45 Operador gradiente No caso geral, os coeficientes do filtro adaptativo são complexos: O operador gradiente é definido em termos das derivadas parciais em relação à parte real e imaginária do -ésimo coeficiente do filtro: Filtragem Adaptativa p16/45 Erro de estimação Chama-se erro de estimação à diferença entre o valor desejado e o realmente produzido pelo filtro: Filtragem Adaptativa p13/45 Erro quadrático médio é o operador estatístico de valor esperado em que Filtragem Adaptativa p15/45
Optimização Filtragem Adaptativa p17/45 Resultado da optimização Calculando as derivadas parciais: substituindo: Filtragem Adaptativa p18/45 Princípio da Ortogonalidade A condição necessária e suficiente para a função de custo atingir um valor mínimo é que o correspondente valor do erro de estimação seja ortogonal a cada amostra de entrada utilizada na estimação da resposta desejada no instante Filtragem Adaptativa p19/45 Corolário ao Princípio da Ortogonalidade Quando o filtro opera em situação óptima, a estimativa da resposta desejada,, e a correspondente estimativa do erro,, são ortogonais entre si Filtragem Adaptativa p20/45
Notação Transposição Hermitiana de um vector: Produto interno de dois vectores: Filtragem Adaptativa p22/45 Vector de correlação cruzada na forma expandida: Filtragem Adaptativa p24/45 Equações de Wiener-Hopf expandindo: Filtragem Adaptativa p21/45 Matriz de autocorrelação da entrada na forma expandida: Filtragem Adaptativa p23/45
Outra forma de obter as equações de Wiener-Hopf Filtragem Adaptativa p26/45 Utilidade do filtro de Wiener O filtro de Wiener tem pouca utilidade prática: requer a matriz de autocorrelação,, e o vector de correlação cruzada,, que não são conhecidos a priori; necessita de uma inversão matricial que é computacionalmente dispendiosa; se os sinais não forem estacionários, e variam no tempo e tem de ser repetidamente calculado Filtragem Adaptativa p28/45 Equações de Wiener-Hopf na forma matricial são os coeficientes óptimos do filtro: em que resolvendo: Filtragem Adaptativa p25/45 Valor mínimo do erro quadrático médio Aplicando o corolário do princípio da ortogonalidade Filtragem Adaptativa p27/45
A tijela Minimização do erro quadrático por steepest descent A função de custo (erro quadrático médio) é uma função de 2 a ordem dos coeficientes do filtro O erro quadrático médio pode ser visto como um parabolóide multidimensional (uma tijela) com um único valor mínimo As coordenadas correspondentes ao valor mínimo correspondem aos coeficientes do filtro de Wiener 1 Começar com um valor inicial coeficientes do filtro para o vector dos 2 Calcular o vector gradiente com as derivadas parciais do erro quadrático médio em ordem aos diversos coeficientes do filtro 3 Calcular uma nova estimativa para o vector dos coeficientes do filtro na direcção oposta à do vector gradiente: 4 Voltar ao passo 2 e repetir o processo Filtragem Adaptativa p29/45 Filtragem Adaptativa p30/45 Vector gradiente Estabilidade do algoritmo steepest descent A condição necessária e suficiente de estabilidade é: em que correlação é o maior valor próprio da matriz de Na prática: Filtragem Adaptativa p31/45 em que o denominador é a potência do sinal à entrada do filtro: Filtragem Adaptativa p32/45
Abordagem do gradiente estocástico Estimação do gradiente Adaptação dos coeficientes do filtro: Modificamos o sistema de equações de Wiener-Hopf usando o método de steepest descent O vector gradiente depende da matriz de correlação e do vector de correlação cruzada Em seguida usamos os valores instantâneos das correlações para estimar o vector gradiente O vector gradiente assume um carácter estocástico Este algoritmo é geralmente conhecido como algoritmo de mínimos quadrados (LMS) Estimativas instantâneas de e de : Estimativa instantânea do vector gradiente: Filtragem Adaptativa p33/45 Filtragem Adaptativa p34/45 Substituição das estimativas no algoritmo steepest descent Algoritmo LMS por outro lado: finalmente: Para cada nova amostra: Começar por inicializar os coeficientes, com um valor arbitrário (, por exemplo) Calcular a saída do filtro adaptativo: Calcular uma estimativa do erro: Actualizar os coeficientes do filtro: Filtragem Adaptativa p35/45 Filtragem Adaptativa p36/45
Algoritmo LMS Limitações práticas do algoritmo LMS Não exige o conhecimento prévio das características do sinal de entrada Utiliza estimativas instantâneas das estatísticas do sinal de entrada As estimativas dos coeficientes do filtro vão sendo melhoradas à medida que este aprende as características da entrada Os coeficientes nunca atingem o valor óptimo (solução de Wiener) mas vão oscilando à volta dela Se o sinal de entrada não é estacionário, o algoritmo perde desempenho porque tem de acompanhar a variação das características da entrada Se não contiver apenas ruído, o filtro pode também eliminar componentes significativas de Ao utilizar aritmética de precisão finita, os erros de arredondamento acumulam-se, podendo impedir a convergência do algoritmo ou adicionar ruído à saída Filtragem Adaptativa p37/45 Filtragem Adaptativa p38/45 Realização do algoritmo LMS Exemplo 1 function [w, erro] = lms(entrada, desejado, ordem_lms, miu, w0) Considere o processo autoregressivo (AR) definido por N = max(size(entrada)); w(1:ordem_lms,1) = w0(1:ordem_lms,1); i = 1; for k = ordem_lms:n, u(1:ordem_lms,1)=entrada(k:-1:k-ordem_lms+1); erro(k) = desejado(k) - w(:,i) *u; w(:,i+1) = w(:,i) + miu*conj(erro(k))*u; i = i+1; end; Filtragem Adaptativa p39/45 em que é ruído branco gaussiano de média nula Utilize o algoritmo LMS para estimar o parâmetro utilizando o seguinte erro de predição: Analize o comportamento do algoritmo para diversos valores de e do passo adaptativo Repita o procedimento um número significativo de vezes e observe a curva de convergência média Filtragem Adaptativa p40/45
Exemplo 2 Algoritmo LMS rápido Considere um microfone que capta um sinal contaminado com ruído: Sabendo que, apesar de não conhecer, dispõem de outro microfone onde recebe esse sinal filtrado por um sistema linear: Indique um procedimento para obter No caso da ordem do filtro adaptativo ( ) ser elevada, a determinação do erro pode ter um peso computacional significativo pela necessidade do cálculo da convolução: Neste caso pode ser vantajoso realizar o algoritmo em blocos de ordem amostras, realizando a convolução com FFTs de Filtragem Adaptativa p41/45 Filtragem Adaptativa p42/45 Eco telefónico Cancelamento do eco telefónico Canal Canal eco de B eco de B A Circuito Híbrido Circuito Híbrido B A Circuito Híbrido FA FA Circuito Híbrido B eco de A eco de A Canal Canal Filtragem Adaptativa p43/45 Filtragem Adaptativa p44/45
Sistema de mãos-livres eco acústico FA FA Circuito Híbrido eco híbrido Filtragem Adaptativa p45/45