next up previous
suivant: Identification avec retard monter: Une méthode d'identification pour précédent: Introduction

Identification d'un système sans retard

Pour alléger les formules, nous écrirons le système sous la forme: $\sum_{i=0}^{n} a_{i}x^{(i)}(t) + b u(t)=0$, avec $a_{n}=-1$. La sortie est $y=x+w$, où $w$ désigne le bruit, que nous supposons tel que $\left(\int_{T_{1}}^{T_{2}}
w(\tau)d\tau\right)/(T_{1}-T_{2})$ tend vers $0$ quand $T_{2}-T_{1}$ tend vers l'infini. L'idée de base est d'utiliser une famille de fonctions $f_{j}$, $j=1,\ldots,m$ telles que $f_{j}^{(k)}(T_{1})=f_{j}^{(k)}(T_{2})=0$ pour $k<n$.

On pose $I_{x,f}:=\int_{T_{1}}^{T_{2}} f(\tau)x(\tau)d\tau$. En intégrant par parties, on aura $I_{x^{(i)},f_{j}^{(k)}}= -I_{x^{(i-1)},f_{j}^{(k+1)}}$, si $k<n$, et donc $I_{x^{(i)},f_{j}}=(-1)^{i}I_{x,f_{j}^{(i)}}$. On peut donc calculer la valeur des coefficients $a_{i}$ et $b$ en résolvant le système

\begin{displaymath}\sum_{i=0}^{n} \left((-1)^{i}a_{i} I_{y,f_{j}^{(i)}}\right) + b
I_{u,f_{j}}= 0
\end{displaymath}

pour $j=1,\ldots,m$, si $m\ge n$. Pour $m>n$, ce système sera résolu par la méthode des moindres carrés.

Si l'on se donne une famille $g_{j}$, $0\le j< n$ telle que $g_{j}^{(k)}(T_{1})=0$ pour $0\le k< n$ et $g_{j}^{(k)}(T_{2})=0$ pour $0\le k< j$, avec $g_{j}^{(j)}(T_{2})\neq0$, on obtient alors $I_{x^{(i)},g_{j}}=(-1)^{i}I_{x,g_{j}^{(i)}}
+\sum_{\ell=0}^{i-j}(-1)^{i-\ell-1}g_{j}^{(i-\ell-1)}(T_{2})x^{(\ell)}(T_{2})$. On estime $x(T_{2}), \ldots, x^{(n-1)}(T_{2})$ en résolvant le système

\begin{displaymath}\sum_{i=0}^{n}
\left(\sum_{\ell=0}^{i-j}
\left((-1)^{i-\ell-1...
...ght)
+(-1)^{i}a_{i}I_{y,g_{j}^{(i)}}\right) + b I_{u,g_{j}}=0,
\end{displaymath}

pour $j=0, \ldots,n-1$. Ces équations se déduisent immédiatement de $\sum_{i=1}^{n}a_{i}I_{x^{(i)},g_{j}}+bI_{u,g_{j}}=0$.


Par exemple, on peut prendre $f_{j}(t)=
(T_{2}-t)^{n+j}e^{-\lambda(T_{2}-t)}$, et $g_{j}=(T_{2}-t)^{j}e^{-\lambda(T_{2}-t)}$. Ces fonctions satisfont les hypothèses pour $T_{1}=-\infty$. Si l'on pose $J_{x,0}'=x - \lambda
J_{x,0}$ $J_{x,j}'=jJ_{x,j-1} - \lambda J_{x,j}$ si $j>0$, avec les conditions initiales $J_{j}(0)=0$, $J_{j}(T_{2})$ tend vers $I_{x,g_{j}}$ pour $j=1,\ldots,n-1$ et vers $I_{x,f_{j-n+1}}$ pour $j\ge n$, quand $T_{2}$ tend vers l'infini. La convergence est rapide pour $\lambda$ suffisament grand. On a $g_{j}'=\lambda g_{j}-jg_{j-1}$ et une relation similaire pour les $f_{j}$. On a donc $I_{x^{(i)},f_{j}}=\sum_{k=j-1}^{n-1}
M_{i,j,k}I_{x,g_{k}}+\sum_{k=1}^{j} M_{i,n+j-1,k}I_{x,f_{k}} $, où les matrices $M_{i,j,k}$ satisfont des relations de récurrence simples, ce qui facilite les calculs. On obtient en un temps $t$ générique et suffisament grand une bonne approximation des paramètres $a_{i}$ et $b$ en résolvant le système

\begin{displaymath}\sum_{i=0}^{n} a_{i} \left(\sum_{k=j-1}^{n-1}
M_{i,j,k}I_{y,g...
..._{k=1}^{j} M_{i,n+j-1,k}I_{y,f_{k}}\right) +
b I_{u,f_{j}}= 0,
\end{displaymath}

que nous noterons $CA=D$, où $A=(a_{1}, \ldots, a_{n-1},
b)^{t}$. Comme il se peut que pour certaines valeurs le rang du système ne s'annule, il est préférable de ne pas le résoudre directement mais d'en chercher la solution par une méthode de gradient, en se donnant de nouvelles variables ${\widehat{a}}_{i}$ et ${\widehat{b}}$, et en intégrant le système ${\widehat{A}}' = -\Lambda C^{\rm t}(CA -
D)$. Ce choix permet de conserver des valeurs précises lorsque $C$ devient mal conditionnée et de réduire encore l'influence du bruit. Les valeurs de $\lambda$ et de $\Lambda$ résultent d'un compromis entre la vitesse de convergence souhaitée et la précision recherchée.

Exemple 1   On a pris $x$ solution de l'équation $x''=a_{1}x'+a_{0}x+bu$, où $u=60\cos(1,23t+1,3\sin(t)-0,7\cos(0,5t))$, avec les conditions initiales $x(0)=20$ et $x'(0)=0,3$. On a choisi un bruit gaussien avec un écart type de $5$. La sortie est échantillonnée à $100$ Hz. On a pris $b=2$, $a_{0}=-0,35$, $a_{1}(t)=-1,2$ si $t<30$ et $a_{1}=-1,2-0,02*(t-30)$ sinon. Les courbes de la figure 1 résument les résultats obtenus pour $\lambda=1$ et $\Lambda=10^{-3}$.

Figure 1: Estimations des coefficients de $x$ et de $x'$, Estimations of the coefficients, $x$ and $x'$.
\includegraphics[scale=0.35]{identification2quatroSortie.eps} \includegraphics[scale=0.35]{identification2quatroX.eps}

\includegraphics[scale=0.35]{identification2quatroDx.eps} \includegraphics[scale=0.35]{identification2quatroCoeffs.eps}

On voit qu'après une phase de convergence, l'approximation obtenue est excellente. La précision de l'évaluation des coefficients est naturellement moins bonne quand $a_{1}$ commence à varier. Toutefois, les évaluations de $x$ et $x'$ demeurent assez précises.


next up previous
suivant: Identification avec retard monter: Une méthode d'identification pour précédent: Introduction
Francois Ollivier 2005-03-29