Filtragem Adaptativa Luís Caldas de Oliveira lco@istutlpt Instituto Superior Técnico Filtragem Adaptativa p1/45
Resumo Sistemas de filtragem adaptativa Filtragem Adaptativa p2/45
Resumo Sistemas de filtragem adaptativa Conceitos de filtragem adaptativa Filtragem Adaptativa p2/45
Resumo Sistemas de filtragem adaptativa Conceitos de filtragem adaptativa Filtro de Wiener Filtragem Adaptativa p2/45
Resumo Sistemas de filtragem adaptativa Conceitos de filtragem adaptativa Filtro de Wiener Algoritmo steepest descent Filtragem Adaptativa p2/45
Resumo Sistemas de filtragem adaptativa Conceitos de filtragem adaptativa Filtro de Wiener Algoritmo steepest descent Algoritmo adaptativo de mínimos quadrados (LMS) Filtragem Adaptativa p2/45
Resumo 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 p2/45
Tarefas desempenhadas pelos filtros Filtragem: extracção de informação no instante n usando dados medidos até esse instante Filtragem Adaptativa p3/45
Tarefas desempenhadas pelos filtros Filtragem: extracção de informação no instante n usando dados medidos até esse instante Alisamento: poderá utilizar informação passada ou futura para calcular a saída presente Filtragem Adaptativa p3/45
Tarefas desempenhadas pelos filtros Filtragem: extracção de informação no instante n 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 Filtragem Adaptativa p3/45
Filtros adaptativos São filtros com coeficientes que variam no tempo Filtragem Adaptativa p4/45
Filtros adaptativos São filtros com coeficientes que variam no tempo Adaptam-se automaticamente a alterações nos sinais de entrada Filtragem Adaptativa p4/45
Filtros adaptativos 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 p4/45
Diagrama de um filtro adaptativo y(n) = s(n) + r(n) + s(n) ^ sinal + ruído e(n) estimativa do sinal x(n) ruído Filtro digital r(n) ^ estimativa do ruído Algoritmo adaptativo Filtragem Adaptativa p5/45
Caracterização do algoritmo adaptativo Taxa de convergência: velocidade com que atinge uma aproximação da solução óptima Filtragem Adaptativa p6/45
Caracterização do algoritmo adaptativo 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 Filtragem Adaptativa p6/45
Caracterização do algoritmo adaptativo 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 Seguimento: capacidade de seguir as variações estatísticas em ambientes não-estacionários Filtragem Adaptativa p6/45
Caracterização do algoritmo adaptativo 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 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 Filtragem Adaptativa p6/45
Caracterização do algoritmo adaptativo 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 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 Requisitos computacionais: número de operações Filtragem Adaptativa p6/45
Caracterização do algoritmo adaptativo 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 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 Requisitos computacionais: número de operações Estrutura: o fluxo de informação do algoritmo pode permitir realizações paralelas (por exemplo) Filtragem Adaptativa p6/45
Caracterização do algoritmo adaptativo 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 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 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 p6/45
Algumas aplicações da filtragem adaptativa Na electro-encefalografia (EEG) onde os movimentos dos olhos ou das palpebras pode contaminar a medida da actividade eléctrica do cérebro Filtragem Adaptativa p7/45
Algumas aplicações da filtragem adaptativa Na electro-encefalografia (EEG) onde os movimentos dos olhos ou das palpebras pode contaminar a medida da actividade eléctrica do cérebro Na comunicação em spread spectrum em que o ruído interfere em variadas gamas de frequência em função do tempo Filtragem Adaptativa p7/45
Algumas aplicações da filtragem adaptativa Na electro-encefalografia (EEG) onde os movimentos dos olhos ou das palpebras pode contaminar a medida da actividade eléctrica do cérebro Na comunicação em spread spectrum em que o ruído interfere em variadas gamas de frequência em função do tempo Nos modems onde as características do canal variam com o tempo sendo necessária uma equalização adaptativa Filtragem Adaptativa p7/45
Algumas aplicações da filtragem adaptativa Na electro-encefalografia (EEG) onde os movimentos dos olhos ou das palpebras pode contaminar a medida da actividade eléctrica do cérebro Na comunicação em spread spectrum em que o ruído interfere em variadas gamas de frequência em função do tempo 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 para redução de ruído Fonte de sinal y(n) = s(n) + r(n) + e(n) s(n) ^ Fonte de ruído x(n) Filtro adaptativo r(n) ^ Filtragem Adaptativa p8/45
Exemplo 1 Sabendo que a saída do cancelador de ruído vale; ŝ(n) = y(n) ˆr(n) mostre que a minimização de E[ŝ 2 (n)] maximiza a relação sinal-ruído da saída Filtragem Adaptativa p9/45
Filtragem adaptativa para identificação de sistemas entrada do sistema Sistema desconhecido + saída do sistema Filtro adaptativo e(n) Filtragem Adaptativa p10/45
Realização do filtro adaptativo Apesar de poderem ser utilizadas outras formas, a filtragem FIR é a mais comum devido à sua simplicidade e garantia de estabilidade: ŷ(n) = N 1 k=0 w kx(n k) em que wk (i) são os coeficientes do filtro adaptativo (pesos) Esta estrutura é também referida como filtro transversal Filtragem Adaptativa p11/45
Filtragem linear óptima y(n) + e(n) x(n) Filtro de Wiener y(n) ^ Filtragem Adaptativa p12/45
Filtragem linear óptima y(n) + e(n) x(n) Filtro de Wiener y(n) ^ O objectivo é o de determinar os coeficientes do filtro, w k que produzem a saída ŷ(n) que pretende ser uma estimativa da saída desejada, y(n), conhecendo-se um conjunto das amostras de entrada x(n), x(n 1), x(n 2), Filtragem Adaptativa p12/45
Erro de estimação Chama-se erro de estimação à diferença entre o valor desejado e o realmente produzido pelo filtro: e(n) = y(n) ŷ(n) = y(n) (w n x(n)) = y(n) N 1 k=0 w kx(n k) Filtragem Adaptativa p13/45
Erro de estimação na forma matricial onde x = e(n) = y(n) w H x(n) x(n) x(n 1) x(n k) x(n (N 1)) w = w 0 w 1 w k w N 1 Filtragem Adaptativa p14/45
Erro quadrático médio J = E[e(n)e (n)] = E[ e(n) 2 ] em que E[ ] é o operador estatístico de valor esperado Filtragem Adaptativa p15/45
Operador gradiente No caso geral, os coeficientes do filtro adaptativo são complexos: w k = a k + jb k, k = 0, 1, 2, Filtragem Adaptativa p16/45
Operador gradiente No caso geral, os coeficientes do filtro adaptativo são complexos: w k = a k + jb k, k = 0, 1, 2, O operador gradiente é definido em termos das derivadas parciais em relação à parte real e imaginária do k-ésimo coeficiente do filtro: k = + j, k = 0, 1, 2, a k b k Filtragem Adaptativa p16/45
Optimização k J = 0, k = 0, 1, 2, Filtragem Adaptativa p17/45
Optimização k J = 0, k = 0, 1, 2, k J = E[ e(n) a k e(n) b k e (n) + e (n) e(n)+ a k je (n) + e (n) je(n)] b k Filtragem Adaptativa p17/45
Resultado da optimização Calculando as derivadas parciais: e(n) a k = x(n k) e (n) a k = x (n k) e(n) b k = jx(n k) e (n) b k = jx (n k) Filtragem Adaptativa p18/45
Resultado da optimização Calculando as derivadas parciais: e(n) a k = x(n k) e (n) a k = x (n k) e(n) b k = jx(n k) e (n) b k = jx (n k) substituindo: k J = 2E[x(n k)e (n)], k = 0, 1, 2, Filtragem Adaptativa p18/45
Princípio da Ortogonalidade E[x(n k)e o(n)] = 0, k = 0, 1, 2, Filtragem Adaptativa p19/45
Princípio da Ortogonalidade E[x(n k)e o(n)] = 0, k = 0, 1, 2, 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 e o (n) seja ortogonal a cada amostra de entrada utilizada na estimação da resposta desejada no instante n Filtragem Adaptativa p19/45
Corolário ao Princípio da Ortogonalidade E[ŷ o (n)e o(n)] = 0 Filtragem Adaptativa p20/45
Corolário ao Princípio da Ortogonalidade E[ŷ o (n)e o(n)] = 0 Quando o filtro opera em situação óptima, a estimativa da resposta desejada, ŷ o (n), e a correspondente estimativa do erro, e o (n), são ortogonais entre si Filtragem Adaptativa p20/45
Equações de Wiener-Hopf E [ x(n k) ( y (n) N 1 w i x (n i) )] = 0, k = 0, 1, 2, i=0 Filtragem Adaptativa p21/45
Equações de Wiener-Hopf E [ x(n k) ( y (n) N 1 w i x (n i) )] = 0, k = 0, 1, 2, i=0 expandindo: N 1 i=0 w i E[x(n k)x (n i)] = E[x(n k)y (n)], k = 0, 1, 2, Filtragem Adaptativa p21/45
Equações de Wiener-Hopf E [ x(n k) ( y (n) N 1 w i x (n i) )] = 0, k = 0, 1, 2, i=0 expandindo: N 1 i=0 w i E[x(n k)x (n i)] = E[x(n k)y (n)], k = 0, 1, 2, N 1 i=0 w i φ xx (i k) = φ xy ( k), k = 0, 1, 2, Filtragem Adaptativa p21/45
Notação Transposição Hermitiana de um vector: x H = ( x T ) Filtragem Adaptativa p22/45
Notação Transposição Hermitiana de um vector: x H = ( x ) T Produto interno de dois vectores: x T y = y T x Filtragem Adaptativa p22/45
Matriz de autocorrelação da entrada R = E[x(n)x H (n)] Filtragem Adaptativa p23/45
Matriz de autocorrelação da entrada R = E[x(n)x H (n)] na forma expandida: φ xx (0) φ xx (1) φ xx (N 1) φ xx(1) φ xx (0) φ xx (N 2) R = φ xx(n 1) φ xx() φ xx (0) Filtragem Adaptativa p23/45
Vector de correlação cruzada p = E[x(n)y (n)] Filtragem Adaptativa p24/45
Vector de correlação cruzada na forma expandida: p = E[x(n)y (n)] p = φ xy (0) φ xy ( 1) φ xy (1 N) Filtragem Adaptativa p24/45
Equações de Wiener-Hopf na forma matricial Rw o = p Filtragem Adaptativa p25/45
Equações de Wiener-Hopf na forma matricial Rw o = p em que w o são os coeficientes óptimos do filtro: w o = [w o0, w o1,, w on 1 ] T Filtragem Adaptativa p25/45
Equações de Wiener-Hopf na forma matricial Rw o = p em que w o são os coeficientes óptimos do filtro: w o = [w o0, w o1,, w on 1 ] T resolvendo: w o = R 1 p Filtragem Adaptativa p25/45
Outra forma de obter as equações de Wiener-Hopf J =E[e(n)e (n)] =E[ y(n) 2 ] N 1 k=0 =σ 2 y N 1 k=0 w k E[y(n)x (n k)] + N 1 k=0 w kφ xy( k) w ke[x(n k)y (n)] N 1 k=0 N 1 k=0 N 1 i=0 w k φ xy( k) + w kw i E[x(n k)x (n i)] N 1 k=0 N 1 i=0 w kw i φ xx (i k) Filtragem Adaptativa p26/45
Outra forma de obter as equações de Wiener-Hopf J =E[e(n)e (n)] =E[ y(n) 2 ] N 1 k=0 =σ 2 y N 1 k=0 w k E[y(n)x (n k)] + N 1 k=0 w kφ xy( k) w ke[x(n k)y (n)] N 1 k=0 N 1 k=0 N 1 i=0 w k φ xy( k) + w kw i E[x(n k)x (n i)] N 1 k=0 N 1 i=0 w kw i φ xx (i k) k J = 2φ xy ( k) + 2 N 1 i=0 w i φ xx (i k) Filtragem Adaptativa p26/45
Valor mínimo do erro quadrático médio y o (n) = ŷ o (n) + e o (n) Filtragem Adaptativa p27/45
Valor mínimo do erro quadrático médio y o (n) = ŷ o (n) + e o (n) Aplicando o corolário do princípio da ortogonalidade σ 2 y o = σ 2 ŷ o + J min Filtragem Adaptativa p27/45
Valor mínimo do erro quadrático médio y o (n) = ŷ o (n) + e o (n) Aplicando o corolário do princípio da ortogonalidade σ 2 y o = σ 2 ŷ o + J min J min = σ 2 y o w H o Rw o = σ 2 y o w H o p = σ 2 y o p H w o = σ 2 y o p H R 1 p Filtragem Adaptativa p27/45
Utilidade do filtro de Wiener O filtro de Wiener tem pouca utilidade prática: requer a matriz de autocorrelação, R, e o vector de correlação cruzada, p, que não são conhecidos a priori; Filtragem Adaptativa p28/45
Utilidade do filtro de Wiener O filtro de Wiener tem pouca utilidade prática: requer a matriz de autocorrelação, R, e o vector de correlação cruzada, p, que não são conhecidos a priori; necessita de uma inversão matricial que é computacionalmente dispendiosa; Filtragem Adaptativa p28/45
Utilidade do filtro de Wiener O filtro de Wiener tem pouca utilidade prática: requer a matriz de autocorrelação, R, e o vector de correlação cruzada, p, 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, R e p variam no tempo e w o tem de ser repetidamente calculado Filtragem Adaptativa p28/45
A tijela A função de custo (erro quadrático médio) é uma função de 2 a ordem dos coeficientes do filtro Filtragem Adaptativa p29/45
A tijela 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 Filtragem Adaptativa p29/45
A tijela 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 Filtragem Adaptativa p29/45
Minimização do erro quadrático por steepest descent 1 Começar com um valor inicial w(0) para o vector dos coeficientes do filtro Filtragem Adaptativa p30/45
Minimização do erro quadrático por steepest descent 1 Começar com um valor inicial w(0) para o vector dos coeficientes do filtro 2 Calcular o vector gradiente J(n) com as derivadas parciais do erro quadrático médio em ordem aos diversos coeficientes do filtro Filtragem Adaptativa p30/45
Minimização do erro quadrático por steepest descent 1 Começar com um valor inicial w(0) para o vector dos coeficientes do filtro 2 Calcular o vector gradiente J(n) 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: w(n + 1) = w(n) + 1 2 µ[ J(n)] Filtragem Adaptativa p30/45
Minimização do erro quadrático por steepest descent 1 Começar com um valor inicial w(0) para o vector dos coeficientes do filtro 2 Calcular o vector gradiente J(n) 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: w(n + 1) = w(n) + 1 2 µ[ J(n)] 4 Voltar ao passo 2 e repetir o processo Filtragem Adaptativa p30/45
Vector gradiente J(n) = J(n) + j J(n) a 0 (n) b 0 (n) J(n) a 1 (n) + j J(n) b 1 (n) J(n) + j a N 1 (n) = 2p + 2Rw(n) J(n) b N 1 (n) Filtragem Adaptativa p31/45
Estabilidade do algoritmo steepest descent A condição necessária e suficiente de estabilidade é: 0 < µ < 2 λ max em que λ max é o maior valor próprio da matriz de correlação R Na prática: 0 < µ < 2 Nφ xx (0) em que o denominador é a potência do sinal à entrada do filtro: Nφ xx (0) = N 1 k=0 E[ x(n k) 2 ] Filtragem Adaptativa p32/45
Abordagem do gradiente estocástico Adaptação dos coeficientes do filtro: Modificamos o sistema de equações de Wiener-Hopf usando o método de steepest descent Filtragem Adaptativa p33/45
Abordagem do gradiente estocástico 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 Filtragem Adaptativa p33/45
Abordagem do gradiente estocástico 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 Filtragem Adaptativa p33/45
Abordagem do gradiente estocástico 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 Filtragem Adaptativa p33/45
Abordagem do gradiente estocástico 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) Filtragem Adaptativa p33/45
Estimação do gradiente J(n) = 2p + 2Rw(n) Filtragem Adaptativa p34/45
Estimação do gradiente J(n) = 2p + 2Rw(n) Estimativas instantâneas de R e de p: ˆR(n) = x(n)x H (n) ˆp(n) = x(n)y (n) Filtragem Adaptativa p34/45
Estimação do gradiente J(n) = 2p + 2Rw(n) Estimativas instantâneas de R e de p: ˆR(n) = x(n)x H (n) ˆp(n) = x(n)y (n) Estimativa instantânea do vector gradiente: ˆ J(n) = 2x(n)y (n) + 2x(n)x H (n)ŵ(n) Filtragem Adaptativa p34/45
Substituição das estimativas no algoritmo steepest descent ŵ(n + 1) = ŵ(n) + µx(n)[y (n) x H (n)ŵ(n)] Filtragem Adaptativa p35/45
Substituição das estimativas no algoritmo steepest descent ŵ(n + 1) = ŵ(n) + µx(n)[y (n) x H (n)ŵ(n)] por outro lado: e(n) = y(n) ŵ H (n)x(n) = y(n) x T (n)ŵ (n) Filtragem Adaptativa p35/45
Substituição das estimativas no algoritmo steepest descent ŵ(n + 1) = ŵ(n) + µx(n)[y (n) x H (n)ŵ(n)] por outro lado: e(n) = y(n) ŵ H (n)x(n) = y(n) x T (n)ŵ (n) finalmente: ŵ(n + 1) = ŵ(n) + µx(n)e (n) Filtragem Adaptativa p35/45
Algoritmo LMS Para cada nova amostra: Começar por inicializar os coeficientes ŵ(i), i = 0, 1,, N 1 com um valor arbitrário (0, por exemplo) Filtragem Adaptativa p36/45
Algoritmo LMS Para cada nova amostra: Começar por inicializar os coeficientes ŵ(i), i = 0, 1,, N 1 com um valor arbitrário (0, por exemplo) Calcular a saída do filtro adaptativo: ŷ(n) = N 1 i=0 ŵ(i)x(n i) Filtragem Adaptativa p36/45
Algoritmo LMS Para cada nova amostra: Começar por inicializar os coeficientes ŵ(i), i = 0, 1,, N 1 com um valor arbitrário (0, por exemplo) Calcular a saída do filtro adaptativo: ŷ(n) = N 1 i=0 ŵ(i)x(n i) Calcular uma estimativa do erro: e(n) = y(n) ŷ(n) Filtragem Adaptativa p36/45
Algoritmo LMS Para cada nova amostra: Começar por inicializar os coeficientes ŵ(i), i = 0, 1,, N 1 com um valor arbitrário (0, por exemplo) Calcular a saída do filtro adaptativo: ŷ(n) = N 1 i=0 ŵ(i)x(n i) Calcular uma estimativa do erro: e(n) = y(n) ŷ(n) Actualizar os coeficientes do filtro: ŵ n+1 (i) = ŵ n (i) + µe (n)x(n i) Filtragem Adaptativa p36/45
Algoritmo LMS Não exige o conhecimento prévio das características do sinal de entrada Filtragem Adaptativa p37/45
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 Filtragem Adaptativa p37/45
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 Filtragem Adaptativa p37/45
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 Filtragem Adaptativa p37/45
Limitações práticas do algoritmo LMS 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 Filtragem Adaptativa p38/45
Limitações práticas do algoritmo LMS 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 x(n) não contiver apenas ruído, o filtro pode também eliminar componentes significativas de s(n) Filtragem Adaptativa p38/45
Limitações práticas do algoritmo LMS 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 x(n) não contiver apenas ruído, o filtro pode também eliminar componentes significativas de s(n) 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 p38/45
Realização do algoritmo LMS function [w, erro] = lms(entrada, desejado, ordem_lms, miu, w0) 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
Exemplo 1 Considere o processo autoregressivo (AR) definido por u(n) = au(n 1) + v(n) em que v(n) é ruído branco gaussiano de média nula Utilize o algoritmo LMS para estimar o parâmetro a utilizando o seguinte erro de predição: e(n) = u(n) ŵ(n)u(n 1) Analize o comportamento do algoritmo para diversos valores de a 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 Considere um microfone que capta um sinal contaminado com ruído: y(n) = s(n 1) + r(n) Sabendo que, apesar de não conhecer r(n), dispõem de outro microfone onde recebe esse sinal filtrado por um sistema linear: x(n) = h(n) r(n) Indique um procedimento para obter s(n) Filtragem Adaptativa p41/45
Algoritmo LMS rápido No caso da ordem do filtro adaptativo (N) ser elevada, a determinação do erro e(n) = y(n) ŷ(n) pode ter um peso computacional significativo pela necessidade do cálculo da convolução: ŷ(n) = N 1 i=0 ŵ(i)x(n i) Filtragem Adaptativa p42/45
Algoritmo LMS rápido No caso da ordem do filtro adaptativo (N) ser elevada, a determinação do erro e(n) = y(n) ŷ(n) pode ter um peso computacional significativo pela necessidade do cálculo da convolução: ŷ(n) = N 1 i=0 ŵ(i)x(n i) Neste caso pode ser vantajoso realizar o algoritmo em blocos de M amostras, realizando a convolução com FFTs de ordem 2M Filtragem Adaptativa p42/45
Eco telefónico Canal eco de B A Circuito Híbrido Circuito Híbrido B eco de A Canal Filtragem Adaptativa p43/45
Cancelamento do eco telefónico Canal eco de B A Circuito Híbrido FA FA Circuito Híbrido B eco de A Canal Filtragem Adaptativa p44/45
Sistema de mãos-livres eco acústico FA FA Circuito Híbrido eco híbrido Filtragem Adaptativa p45/45