Archives du mot-clé Automatique

Mathématiques pour les Sciences de l’Ingénieur : la linéarisation

Tous les modèles sont faux, mais certains sont utiles.

George Box

Définition d’un système linéaire

Soit une relation provenant de lois physiques ou d’un comportement observé qui lie n entrées e_i et m sorties s_j. On peut mettre cette relation sous la forme d’une fonction de plusieurs variables f tel que :

f \left( e_0(t), e_1(t), ..., e_n(t), s_0(t), s_1(t), ..., s_m(t) \right) = 0

Cette relation représente un système linéaire si et seulement si la fonction respecte le principe de superposition :

  • à la somme de deux entrées quelconques correspond la somme des deux sorties correspondantes,
  • un multiple d’une entrée quelconque correspond le même multiple de la sortie correspondante.

Exemples de systèmes linéaires et non-linéaires

Prenons le système le plus simple, il est trivialement linéaire :

s(t) = 0

Un système avec une loi de proportionnalité entre l’entrée et la sortie est aussi linéaire :

s(t) = a \cdot e(t)

Par contre, une relation affine n’est pas linéaire :

s(t) = a \cdot e(t) + b

Bien sûr, l’apparition de toute autre fonction non-linéaire d’une des variables (fonctions logarithmiques, trigonométriques, puissances, exponentielles,…) rendra le système non-linéaire :

s(t) = \sin \left( e(t) \right)

Le produit de deux variables ou plus dans une relation correspond à un système non-linéaire :

s(t) = e_0(t) \cdot e_1(t)

L’apparition de dérivées temporelles peuvent tout à fait correspondre à des systèmes linéaires, lorsque ces dernières correspondent à des équations différentielles à coefficients constants :

a\dfrac{d^2 s(t)}{dt^2} +   b\dfrac{d \left( s(t) - e(t) \right)}{dt} +   c   \left( s(t) - e(t) \right)  =0

Mais bien sûr, toutes les équations différentielles ne correspondent pas à des systèmes linéaires :

s(t) = e(t) \cdot  \dfrac{d e(t)}{dt}

Dernier exemple d’un système linéaire, un retard pur :

s(t) = e(t-a)

Avertissement : vous ne savez traiter que les systèmes linéaires !

N’essayez pas de passer une relation dans le domaine de Laplace si elle ne correspond pas à un système linéaire : vous n’avez aucun outil pour gérer cela ! Il faut donc souvent linéariser afin de pouvoir utiliser tous les outils des SLCI (Systèmes Linéaires Continus Invariants).

Globalement, une relation d’un système linéaire doit être une combinaison linéaires des différentes grandeurs (entrées ou sorties) et de leurs dérivées successives par rapport au temps avec ou sans retards.

Comment rendre un système linéaire ?

Ce n’est pas la bonne question : ce que l’on souhaite surtout, c’est comment obtenir une relation linéaire qui permettrait de mieux modéliser notre système. Comme tous les modèles sont faux, on sait qu’aucun système n’est réellement parfaitement linéaire. Mais certains modèles sont utiles, et c’est en particulier parce qu’ils sont très pratique que l’on souhaite se rapprocher d’un modèle linéaire.

La question se ramène basiquement à comment approximer une fonction quelconque en une droite. Et la réponse la plus simple est de se rendre compte que, localement, toute fonction se confond avec sa tangente. Cette vérité se traduit par la formule de Taylor au premier ordre :

f(x+h) = f(x) + h \cdot f'(x) + O(h^2)

Sauf que cette fois, la fonction f est une fonction de plusieurs variables. On va donc plutôt utiliser la notion de différentielle d’une fonction :

df =  \dfrac{\partial f}{\partial e_0} d e_0 +    \dfrac{\partial f}{\partial e_1}  d e_1  +  ... +  \dfrac{\partial f}{\partial e_n}  d e_n +   \dfrac{\partial f}{\partial s_0}   d s_0 +   \dfrac{\partial f}{\partial s_1}  d s_1 + ... + \dfrac{\partial f}{\partial s_m}  d s_m

Par cette approche sur les fonctions de plusieurs variables, on peut utiliser la formule de Taylor sur les fonctions à plusieurs variables :

f \left( e_{i0} + \delta e_i(t), s_{j0} + \delta s_j(t) \right) = f  \left( e_{i0}, s_{j0} \right) + \displaystyle\sum_{i = 0}^n   \dfrac{\partial f \left( e_{i0}, s_{j0} \right) }{\partial e_i}   \delta e_i(t)  +  \displaystyle  \sum_{j = 0}^m   \dfrac{\partial f \left( e_{i0}, s_{j0} \right) }{\partial s_j}   \delta s_j(t)  + O \left(   \displaystyle \sum_{i = 0}^n \delta e_i(t)^2 +   \displaystyle \sum_{j = 0}^m  \delta s_j(t)^2   \right)

Or, ici, la fonction décrivant la relation est identiquement nulle. Donc la relation se simplifie ainsi :

\displaystyle\sum_{i = 0}^n    \dfrac{\partial f \left( e_{i0}, s_{j0} \right) }{\partial e_i}    \delta e_i(t)  +  \displaystyle  \sum_{j = 0}^m   \dfrac{\partial f  \left( e_{i0}, s_{j0} \right) }{\partial s_j}   \delta s_j(t)  = O  \left(   \displaystyle \sum_{i = 0}^n \delta e_i(t)^2 +   \displaystyle  \sum_{j = 0}^m  \delta s_j(t)^2   \right)

L’ensemble des valeurs de références e_{i0} et s_{j0} est appelé point de fonctionnement. Ce point de fonctionnement sera soit évident, soit explicité par le sujet. Les fluctuations autour de ce point de fonctionnement (\delta e_{i} et \delta s_{j}) doivent être relativement faible afin de pouvoir considérer comme assez vraie la relation suivante :

\displaystyle\sum_{i = 0}^n    \dfrac{\partial f \left(  e_{i0}, s_{j0} \right) }{\partial e_i}    \delta e_i(t)  +   \displaystyle  \sum_{j = 0}^m   \dfrac{\partial f  \left( e_{i0}, s_{j0}  \right) }{\partial s_j}   \delta s_j(t)  \approx 0

Cette relation est forcément linéaire et permet donc ensuite de travailler dans l’espace de Laplace, mettre en place des schéma-blocs, etc.

Fonction de transfert d’un système linéaire continu et invariant : pourquoi ?

Dans ce billet, nous allons nous pencher sur le problème de la définition de ce qu’est une fonction de transfert, comment elle apparait naturellement lorsqu’on parle de systèmes linéaires continus invariants et comment elle est accompagnée par le produit de convolution.

Nous n’irons pas dans tous les arcanes mathématiques, mais je vais essayer de ne pas tricher sur le vocabulaire et vous faire sentir les principaux points qui peuvent être problématiques pour un mathématicien.

Comme dans une grande part de la physique, il est toujours bon d’organiser l’espace sur lequel on va travailler.

Espace des fonctions de carré intégrable

Comme on parle de systèmes continus, on va naturellement s’intéresser à des fonctions du temps e(t) et s(t) : l’entrée et la sortie. Ce sont des fonctions de \mathbb{R} dans \mathbb{R}.

Il ne reste plus qu’à trouver un produit scalaire à cet espace ou à un espace y ressemblant.

Le produit scalaire classique somme le produit de toutes les composantes entre elles. Si on s’inspire de cela, on peut considérer qu’une composante est la valeur à un instant donné. On obtient alors relativement facilement cette idée de produit scalaire :

(f,g) = \int_{\mathbb{R}} f(\tau) \, g(\tau) d\tau = \int_{-\infty}^{+\infty} f(\tau) \, g(\tau) d\tau

Premier problème, il faut limiter un peu l’espace pour que le produit scalaire ait un sens : on doit donc se contenter des fonctions de carré intégrable (l’intégrale sur \mathbb{R} converge).

Avec cela de donné, vous devriez facilement prouver qu’il s’agit bien d’une forme bilinéaire symétrique positive. Le problème arrive dès qu’il s’agit de conclure sur le fait que c’est une forme définie. L’ensemble des formes isotropes est en effet l’ensemble des fonctions f_0 tel que :

0 = (f_0,f_0) = \int_{\mathbb{R}} f_0(\tau)^2 d\tau

Et, tout ce qu’on peut conclure alors, c’est que f_0 est nul presque partout sur \mathbb{R} et non pas que f_0 est la fonction nulle (fonction qui a tout antécédent renvoie la valeur 0).

Pour que notre produit scalaire soit défini, il va donc falloir changer un petit peu notre espace : le zéro devra correspondre à l’ensemble des fonction f dont la mesure est nulle (mesure définie avec notre produit scalaire), que l’on appellera classe d’égalité, car elles ont même mesure. Ce choix de vocabulaire est intéressant pour un physicien : les fonctions d’une classe d’égalité ne peuvent pas être distinguées, car la mesure de la différence entre elles est nulle.

C’est ainsi que nous allons pouvoir (presque) travailler dans l’espace des fonctions de carré sommable L^2(\mathbb{R}) défini comme étant l’ensemble des classes d’égalité de fonctions mesurables définies presque partout sur \mathbb{R} et à valeur dans \mathbb{R} telles que leur carré soit Lebesgue-intégrable sur \mathbb{R}.

Cette histoire de Lebesgue-intégrabilité est juste une précision de mathématicien afin de garantir un certain nombre de propriétés sympathiques sur lesquelles nous ne nous pencherons pas ici.

À la recherche d’une base

Le mieux maintenant pour continuer de travailler est de trouver une base : et le problème est important : si on repense à comment a été créé le produit scalaire que l’on utilise, on a utilisé la notion implicite que la valeur en un instant de notre fonction est comme une composante.

Il nous faudrait donc une fonction :

  • nulle presque partout, sauf en un instant t_0,
  • mais de mesure non nulle.

En fait, l’idéal serait une fonction \delta_{t_0} tel que :

\int_{\mathcal{I}} \delta_{t_0}(\tau)^2 d\tau = \left \{ \begin{matrix} 0 \quad \text{si} \quad t_0 \notin \mathcal{I} \\ 1 \quad \text{si} \quad t_0 \in \mathcal{I} \end{matrix} \right.

Vous aurez beau vous creuser la tête : il est complètement impossible de fabriquer cette fonction… donc on va la créer et ne pas l’appeler fonction, mais distribution. Je vous présente donc la distribution de Dirac \delta tel que :

\int_{\mathcal{I}} \delta(\tau-t_0) d\tau = \left  \{ \begin{matrix} 0 \quad \text{si} \quad t_0 \notin \mathcal{I} \\ 1 \quad \text{si} \quad t_0 \in \mathcal{I} \end{matrix} \right.

Il s’agit d’une abstraction très proche de ce qui peut être utilisé en mécanique (masse ponctuelle), en électromagnétisme (charge ponctuelle) ou en probabilité (probabilité d’une valeur donnée contrairement à une densité de probabilité sur un intervalle).

Ici, on parlera assez naturellement d’une impulsion : un signal infiniment court, mais contenant une certaine énergie.

Je pourrais essayer de vous donner toutes les images possibles, mais le fait est qu’il s’agit juste de la base la plus naturelle du monde pour notre espace vectoriel. On aura en effet :

f(t) = (f,\delta_{t}) = \int_{\mathbb{R}} f(\tau) \, \delta(t-\tau) d\tau

Pour chaque instant t, on a donc un vecteur de la base qui permet la projection d’une fonction afin d’obtenir la valeur en ce point.

Vous pouvez relativement facilement vous convaincre qu’il s’agit d’une famille orthonormée, donc libre.

Pour le côté génératrice, il suffit de décomposer une fonction f suivant cette base, et on obtient donc :

f(t) = \int_{\mathbb{R}} (f,\delta_{\tau}) \delta_{\tau}(t) d\tau

Que l’on peut réécrire bien sûr comme étant :

f(t) = \int_{\mathbb{R}} f(t) \delta(t-\tau) d\tau

Cette expression est donc à la fois la représentation du produit scalaire par un vecteur unitaire de la base (lorsqu’on considère f(t) comme un scalaire), mais aussi la représentation d’un vecteur dans sa base (lorsqu’on considère f(t) comme un vecteur).

Linéarité et invariance : apparition du produit de convolution et de la fonction de transfert

Soit un processus linéaire et invariant noté u qui, à une entrée e(t) associe une sortie s(t).

Si on décompose e(t) dans la base décrite plus haut, on obtient :

e(t) =  \int_{\mathbb{R}} (e,\delta_{\tau}) \delta(t-\tau) d\tau

On a, par définition de e(t), s(t) et u(t) :

s(t) = u(e(t)) =  u \left ( \int_{\mathbb{R}} (e,\delta_{\tau}) \delta(t-\tau) d\tau \right )

Par linéarité, on a donc :

s(t) = \int_{\mathbb{R}} (e,\delta_{\tau}) u \left (\delta(t-\tau) \right ) d\tau 

On a l’invariance aussi à utiliser : elle nous dit que le processus ne varie pas de comportement par décalage temporel, ce qu’on peut écrire :

\text{si} \quad s(t) = u(e(t)) \quad \text{alors} \quad \forall d \in \mathbb{R} \quad s(t+d) = u(e(t+d))

En particulier, si on note h(t) = u(\delta(t)) la réponse du processus à une impulsion, alors on a :

\forall \tau \in \mathbb{R} \quad s(t-\tau) = u(\delta(t-\tau))

Donc, par invariance, on obtient donc :

s(t) = \int_{\mathbb{R}} (e,\delta_{\tau}) h(t-\tau) d\tau 

Si on remplace le produit scalaire par sa valeur, on obtient donc :

s(t) = \int_{\mathbb{R}} e(\tau) h(t-\tau) d\tau 

Cette opération est appelée produit de convolution, noté comme suite :

s(t) = (e*h) = \int_{\mathbb{R}} e(\tau) h(t-\tau) d\tau 

Et h(t), en plus d’être la réponse à une impulsion unitaire du système, cette fonction est également appelée fonction de transfert du processus.

Nous venons de prouver que toute sortie d’un système continu et invariant pouvait donc s’écrire comme le produit de convolution de son entrée et de sa fonction de transfert.

Pour des raisons que je ne détaillerais pas ici, cette relation est aussi valable si e et h n’appartiennent pas à L^2(\mathbb{R}) (ou plutôt la généralisation de L^2(\mathbb{R}) contenant également les distributions).

Transformée de Laplace

La transformée de Laplace permet de passer à l’espace temporel de variable t à l’espace de Laplace L de variable p par la transformation suivante :

F(p) = \mathcal{L} \lbrace f(t) \rbrace = \int_{\mathbb{R}} e^{-pt} f(t) dt

Et malgré tout ce qu’on peut penser, la transformation la plus importante est sans doute celle du produit de convolution :

\mathcal{L} \lbrace e*h \rbrace = \int_{\mathbb{R}} e^{-pt} \int_{\mathbb{R}} e(\tau) \, h(t-\tau) d\tau dt

Par le théorème de Fubini, on passe alors à :

\mathcal{L} \lbrace e*h \rbrace = \int_{\mathbb{R}}  \int_{\mathbb{R}} e^{-pt} e(\tau) h(t-\tau)  dt d\tau

On remplace alors :

e^{-pt} = e^{-pt + p\tau - p\tau} = e^{-p(t - \tau) - p\tau} = e^{-p(t - \tau)} e^{- p\tau}

Cela nous donne donc en réorganisant les termes :

\mathcal{L} \lbrace e*h \rbrace = \int_{\mathbb{R}}  \int_{\mathbb{R}} e^{- p\tau} e(\tau) e^{-p(t - \tau)} h(t-\tau)  dt d\tau

On fait le changement de variable t' = t - \tau et on fait sortir les termes constants (ne dépendant pas de t’) :

\mathcal{L} \{ e*h \} = \int_{\mathbb{R}}  e^{- p\tau} e(\tau) \int_{\mathbb{R}} e^{-pt'} h(t')  dt' d\tau

On reconnait alors une première transformée de Laplace :

\mathcal{L}  \{ e*h \} = \int_{\mathbb{R}}  e^{- p\tau} e(\tau) \mathcal{L} \lbrace h \rbrace d\tau

Or, la transformée de Laplace est une fonction de p indépendant de \tau, on obtient donc :

\mathcal{L}  \{ e*h \} = \mathcal{L} \lbrace h \rbrace \int_{\mathbb{R}} e^{- p\tau} e(\tau)  d\tau

On reconnait alors une seconde transformée de Laplace :

\mathcal{L} \lbrace e*h \rbrace = \mathcal{L} \lbrace h \rbrace \times \mathcal{L} \lbrace e \rbrace

Ou dans la présentation classique que l’on peut donner aux étudiants. Lorsque l’on a un processus linéaire invariant d’entrée e(t) (de transformation de Laplace E(p)) et de sortie s(t) (de transformation de Laplace S(p)), alors il existe une fonction de transfert H(p) tel que :

S(p) =H(p) E(p)

On est passé de produit de convolution à des produits plus conventionnels ce qui apparait plus pratique sans nul doute.

Mais dans le travail demandé, on ne passe presque jamais par les produits de convolution, mais très souvent par des équations différentielles. Ce sera l’occasion de voir d’où viennent un certain nombre de propriétés de la transformée de Laplace et leur utilisation en rapport notamment avec la causalité.