Tutoriels
 
Tutoriels
TL Majeure SIR
Séminaire Technique Smartroom
Installation
 
 
Items
Filtrage adaptatif
Compléments sur les descripteurs de Fourier
 
  
> SIRIEN Home > Obsolètes > Tutoriels > Filtrage adaptatif

Systèmes Interactifs et Robotiques

Filtrage adaptatif
 
  by Collette Jean-Luc
 
 

Mise en équation

Les méthodes classiques de filtrage adaptatif minimisent à chaque instant n le critère suivant :

E_N(n)=\sum_{p=-\infty}^{+\infty}W^{n-p}\left(y(p)-H^t(n)X(p)\right)^2

Le signal y(p) est comparé à une référence filtrée x(p), le coefficient W est un facteur d’oubli inférieur à 1 et les vecteurs H(n) et X(p) sont ainsi définis :


\begin{array}{c} H^t(n)=\left( h_0(n),h_1(n),...,h_{N-1}(n) \right) \\ X^t(p)=\left( x(p),x(p-1),...,x(p-N+1) \right) \end{array}

Remarque : dans le cadre de la prédiction linéaire, x(p)=y(p-1). Le signal de référence x(p) est donc construit en retardant le signal de mesure y(p) d’un échantillon.

On définit par ailleurs deux autres grandeurs :


R_N(n)=\sum_{p=-\infty}^{p=+\infty} W^{n-p}X(p)X^t(p)


r_N(n)=\sum_{p=-\infty}^{p=+\infty} W^{n-p}X(p)y(p)

En calculant \frac{\partial E_N(n)}{\partial H(n)}=\left( \frac{\partial E_N(n)}{\partial h_0(n)},\frac{\partial E_N(n)}{\partial h_1(n)},...,\frac{\partial E_N(n)}{\partial h_{N-1}(n)} \right)^t, on en déduit l’équation vérifiée par le vecteur H(n) :

R_n(n)H(n)=r_N(n)

En exprimant R_N(n+1)en fonction de R_N(n), ainsi que r_N(n+1) en fonction de r_N(n), on obtient :


\begin{array}{c} R_N(n+1)=WR_N(n)+X(n+1)X^t(n+1) \\ 
 r_N(n+1)=Wr_N(n)+X(n+1)y(n+1)  \end{array}

On en déduit la relation liant H(n+1) à H_N(n) faisant notamment intervenir R_N^{-1}(n+1) :


H(n+1)=H(n)+R_N^{-1}(n+1)X(n+1)\left[ y(n+1)-H^t(n)X(n+1)\right]

Pour éviter le calcul direct de la matrice inverse R_N^{-1}(n+1), on peut établir une relation de récurrence sur cette matrice inverse en utilisant le lemme d’inversion de matrice suivant :


\begin{array}{c} A=B+CDC^t\\ 
A^{-1}=B^{-1}-B^{-1}C\left[ C^tB^{-1}C+D^{-1}\right]C^tD^{-1}  \end{array}

On choisit A=R_N(n+1), B=WR_N(n) , C=X(n+1), D=I_N pour obtenir :


R_N^{-1}(n+1)=\frac{1}{W}\left[ R_N^{-1}(n)-\frac{R_N^{-1}(n)X(n+1)X^t(n+1)R_N^{-1}(n)}{W+X^t(n+1)R_N^{-1}(n)X(n+1)}\right]

Il est commode de définir le gain d’adaptation G(n) par :


G(n)=R_N^{-1}(n)X(n)

Ce qui, après simplification, donne :

G(n+1)=
\frac{R_n^{-1}(n)X(n+1)}{W+X^t(n+1)R_n^{-1}(n)X(n+1)}

La relation de récurrence sur H(n) devient :


H(n+1)=H(n)+G(n+1)\left[ y(n+1)-H^t(n)X(n+1)\right]

Méthodes déduites

- Introduction

Par rapport aux solutions exactes données par les expressions précédentes, on peut envisager des solutions approchées. Celles-ci présentent l’avantage d’être associées à une complexité algorithmique bien moindre.

- Algorithme du gradient


H(n+1)=H(n)+\delta X(n+1)\left[ y(n+1)-H^t(n)X(n+1)\right]

Le pas d’adaptation est noté \delta. La condition approximative de stabilité s’énonce en faisant intervenir la variance du signal x(n) : 0 < \delta <\frac{2}{N\sigma_x^2}. La constante de temps est alors \tau=\frac{1}{\delta\sigma_x^2}.

- Algorithme du gradient normalisé

L’algorithme précédent a un comportement qui dépend beaucoup de la puissance du signal d’entrée. On peut lui préférer l’algorithme ci-dessous, qui normalise le pas d’adaptation.


H(n+1)=H(n)+\left(\frac{\mu}{X(n+1)^tX(n+1)}\right)X(n+1)\left[ y(n+1)-H^t(n)X(n+1)\right]

- Algorithme du signe


H(n+1)=H(n)+\Delta signe(X(n+1))signe\left(\left[ y(n+1)-H^t(n)X(n+1)\right]\right)

Le pas \Delta est qualitativement beaucoup plus petit que le pas précédent.

Applications

- Introduction

Le dispositif précédemment décrit possède deux entrées x(n) et y(n). Les algorithmes qui lui sont associés s’appliqueront de la même façon quelle que soit l’application que l’on souhaite mettre en oeuvre. La seule différence résidera dans le choix des deux signaux d’entrée.

- Prédiction optimale

A partir d’un signal initial y(n), on peut rechercher une prédiction optimale d’ordre N de ce signal qui s’exprimera comme une combinaison linéaire des échantillons \left( y(n-1),...,y(n-N)\right). On peut faire appel au filtre adaptatif précédemment décrit en considérant un signal de référence x(n)=y(n-1). Ce filtre adaptatif avec les entrées x(n) et y(n) permettra ainsi de suivre les évolutions des propriétes statistiques du signal au cours du temps.

- Modélisation de systèmes

Dans ce contexte, on génère un signal x(n) qui est envoyé sur l’entrée d’un système à identifier. En faisant l’hypothèse que le système est linéaire, la sortie du système y(n) peut être modélisée par une combinaison linéaire des échantillons d’entrée \left(x(n),..,x(n-N+1) \right). Le filtre adaptatif avec les entrées x(n) et y(n) donnera accès à un modèle MA du système et suivra ses évolutions au cours du temps. Si x(n) est un bruit blanc, la matrice R_N(n+1) est l’estimation d’une matrice d’autocorrélation diagonale. L’algorithme du gradient converge alors aussi bien que la méthode exacte. On préfèrera donc un bruit blanc comme signal d’entrée du système à modéliser.

- Egalisation de canal

Dans une transmission numérique, le canal de transmission altère la qualité du signal reçu. En l’absence de traitement sur ce signal, les étapes suivantes permettant de retrouver les symboles émis peuvent devenir inopérantes. L’égalisation de canal permet de remédier à ce problème. Elle consiste à appliquer sur le signal x(n) reçu un filtre dont la sortie y(n) s’approchera au mieux du signal présent au niveau de l’émetteur. Il faudra donc envoyer dans des intervalles de temps régulièrement répartis une séquence y(n) connue à la fois au niveau de l’émetteur et du récepteur. Le filtre adaptatif avec les entrées x(n) et y(n) permettra ainsi de suivre les évolutions du canal de transmission au cours du temps. Lors de l’envoi de données non connues, l’égalisation peut se poursuivre en utilisant des structures du type Decision Feedback Equalizer.