TangenteX.com

Notion générale de système

On définit généralement un système comme un ensemble de composants qui interagissent, qui possède une frontière fermée, qui remplit une ou plusieurs fonctions et qui interagit avec son environnement.

Dit autrement, un système peut se concevoir comme une boite noire, dont le contenu importe peu, qui traite de l'information pour remplir une ou plusieurs fonctions données.

Voici une représentation possible d'un système :

Schéma d'un système

La partie gauche du schéma représente les entrées du système, c'est à dire l'ensemble des informations que l'on introduit dans le système. La partie droite du schéma représente les informations de sortie du système. Ce sont les informations issues du traitement des informations d'entrée par le système en fonction des règles de traitement qui lui ont été imposées par construction ou par apprentissage. En haut, figurent les contraintes que l'on impose au système, contraintes qui vont influer sur le traitement que fera le système de ses données d'entrée.

Cette représentation est très générale et s'applique à de multiples domaines. Par exemple, il peut s'agir d'une voiture ou d'un avion, mais aussi d'une cellule biologique, d'un système mécanique ou électrique quelconque, d'un système informatique, d'une organisation ou de n'importe quoi qui réponde à la définition. Les relations entre plusieurs individus peuvent être modélisées par un système...complexe !

Il existe plusieurs grandes familles de systèmes :

  • les systèmes linéaires : ce sont les plus simples. Les sorties résultent d'une transformation linéaire des informations d'entrée. Ces systèmes n'existent quasiment pas dans la nature. Ils résultent tous de simplications faites pour permettre leur étude. Lorsque par exemple, vous faites l'approximation des petits angles pour linéariser l'équation différentielle du pendule simple. A noter que beaucoup de mathématiques, et pas des moindres, se sont développées autour des systèmes linéaires (Kalman, Grothendieck, Sato).
  • les systèmes non linéaires : les plus courants ! Ils peuvent être chaotiques ou non, posséder des boucles de réaction positives ou négatives, être simples ou bien complexes. L'étude des systèmes non linéaires occupe des bibliothèques entières et la vie d'une grande quantité de physiciens, dont votre serviteur. Quand on peut, on simplifie leur étude en les linéarisant autour d'un point d'équilibre ou d'une trajectoire.
  • les systèmes dynamiques et stationnaires : un système, linéaire ou non, est dynamique lorsque ses paramètres varient en fonction du temps. Il est dit stationnaire (on dit aussi invariant) lorsque ses paramètres ne dépendent pas du temps. Prenons l'exemple d'une voiture : sa masse varie en fonction du trajet parcouru parce que la masse de carburant diminue. Sur un court intervalle de temps ou de trajet, on peut considérer que cette masse est constante, la variation de masse de carburant étant négligeable par rapport à la masse du véhicule. Ce ne sera plus vrai sur la totalité du trajet. Comme pour les systèmes linéaires, il n'existe pas vraiment de systèmes stationnaires dans la nature. Mais pour simplifier les études, on se place dans des conditions où un système peut être considéré comme stationnaire.
  • les systèmes discrets et continues : si les variables d'un système sont discrètes, alors le système est discret. Dans le cas contraire, il est continu. Exemple de système discret : une file d'attente à un guichet. Un système continu : un transformateur électrique.

Un système peut appartenir à plusieurs familles. Ceux que nous allons aborder dans cette page seront des systèmes linéaires continus. Ils seront considérés comme stationnaires. Mais dans la nature, la plupart des systèmes sont non linéaires, continus et dynamiques.

La systémique, la science qui étudie la théorie des systèmes, et la cybernétique, celle qui étudie les systèmes complexes, utilisent plusieurs méthodes de représentation d'un système :

  • la représentation par son équation (ou système d'équations) différentielle(s) : c'est une représentation que vous connaissez. Elle est utilisée au lycée et en prépa pour définir le comportement d'un système mécanique ou électrique simple, un pendule par exemple. Elle consiste à établir l'équation différentielle qui gouverne l'évolution du système (les données de sortie) en fonction des informations en entrée et des contraintes. Elle s'applique à des systèmes simples : imaginez établir le système d'équations différentielles qui détermine l'évolution d'une cellule biologique ! D'ailleurs, même sur des systèmes simples, on arrive rapidement aux limites de cette approche. Cette représentation s'applique à des systèmes linéaires ou non, stationnaires ou non, mais continus.
  • la représentation par sa réponse impulsionnelle : on représente le comportement d'un système par sa réponse (la valeur des variables de sortie) à une impulsion, plus exactement à une fonction \( \delta \) de Dirac. Cette représentation est utilisée sur des systèmes mécaniques et électriques pour des usages particuliers.
  • la représentation par sa fonction de transfert : c'est la représentation la plus féconde en physique, et la plus simple à manipuler. La fonction de transfert d'un système linéaire, continu et stationnaire permet de calculer les variables de sortie en fonction des variables d'entrée. On peut aussi, pour les systèmes linéaires continus et stationnaires, calculer cette fonction de transfert par la transformée de Laplace de la réponse impulsionnelle du système. Vous trouverez plus de détails dans la page de TangenteX traitant de cette transformée, qui est un outil très puissant pour l'étude des systèmes mais aussi pour la résolution des équations différentielles.

Dans la suite de cette page, j'aborderai la représentation de systèmes linéaires continus par leur fonction de transfert. Et je réduirai cette famille de systèmes aux quadripôles (système à 2 entrées et deux sorties).

Notion de quadripôle

Définition

Un quadripôle est un système simplifié qui comporte deux entrées, deux sorties et pas de contraintes. On le représente ainsi :

Schéma d'un quadripôle

Un quadripôle peut représenter n'importe quel système, mais on le rencontre pour l'essentiel dans la modélisation des systèmes électriques ou mécaniques.

Notons qu'un système peut être représenté par une association en série ou en parallèle de plusieurs quadripôles. On appelle cette représentation une représentation en schémas blocs, très utilisée en ingénierie. Des logiciels comme MatLab ou SciLab permettent de construire de telles représentations (avec Simulink de MatLab par exemple).

Les quadripôles électrocinétiques

Un quadripôle électrocinétique est un composant ou un ensemble de composants à deux entrées et deux sorties qui permet le transfert d'énergie entre deux dipôles. Le dipôle d'entrée ou dipôle d'excitation injecte un signal d'énergie donnée dans le quadripôle. Le dipôle de sortie ou dipôle de charge, reçoit l'énergie du quadripôle.

Le quadripôle peut être passif, et dans ce cas l'énergie en sortie est inférieure ou égale (égale en théorie pour les quadripôles sans pertes) à l'énergie d'entrée. Il peut être actif, il contient une source d'énergie et dans ce cas l'énergie en sortie est supérieure à l'énergie d'entrée. C'est le cas, par exemple, des amplificateurs.

Les signaux électriques en entrée et sortie peuvent être de nature différente : tension, intensité ou puissance.

Un quadripôle électrocinétique se représente ainsi :

Schéma d'un quadripôle électrocinétique

Par convention les courants entrant dans le quadripôle sont positifs.

Le fonctionnement d'un quadripôle électrocinétique est caractérisé par la tension et le courant d'entrée et par la tension et le courant de sortie.

Représentation matricielle d'un quadripôle

Il existe plusieurs représentations matricielles d'un quadripôle. Je n'aborderai ici que la représentation par la matrice des impédances, qui est la plus courante pour les problèmes que nous allons étudier.

Dans cette représentation, on exprime les tensions d'entrée et de sortie du quadripôle en fonction des courants d'entrée et de sortie et d'une matrice carrée d'ordre 2, la matrice d'impédance du quadripôle. Ce qui nous donne :

\( \left[ \begin{array}{cc} V_e \\ V_s \end{array} \right] = \left[ \begin{array}{cc} Z_{11}& Z_{12} \\ Z_{21}& Z_{22} \end{array} \right]  \left[ \begin{array}{cc} I_e \\ I_s \end{array} \right]\)

avec :

  • \( \displaystyle Z_{11} = {V_{e} \over I_{e}}{\bigg |}_{I_{s}=0}  \) l'impédance d'entrée du quadripôle,
  • \( \displaystyle Z_{12} ={V_{e} \over I_{s}}{\bigg |}_{I_{e}=0} \) l'impédance de transfert inverse du quadripôle,
  • \( \displaystyle Z_{21} ={V_{s} \over I_{e}}{\bigg |}_{I_{s}=0} \) l'impédance de transfert du quadripôle,
  • \( \displaystyle Z_{22} ={V_{s} \over I_{s}}{\bigg |}_{I_{e}=0} \) l'impédance de sortie du quadripôle.

Coefficients d'amplification et gain

Pour les quadripôles électrocinétiques, on définit souvent plusieurs grandeurs très pratiques :

  • le coefficient d'amplification (ou d'atténuation) en tension et en courant, respectivement \( A_v = \dfrac{V_s}{V_e}\) et \( A_i = \dfrac{I_s}{I_e}\).
  • le gain en tension et en courant, respectivement \( G_v = 20\log \left(\dfrac{V_s}{V_e}\right)\) et \( G_i = 20\log \left(\dfrac{I_s}{I_e}\right)\)

Fonction de transfert

Définition

Je vais utiliser ici la transformée de Laplace pour définir la fonction de transfert, car je me place dans le cas d'un système linéaire continu. La transformée de Laplace n'est pas au programme du lycée, mais est à celui des classes préparatoires et de licence. Je l'emploierai ici en supposant que vous vous êtes renseigné sur le sujet.

La fonction de transfert d'un système, et ici plus particulièrement d'un quadripôle, est une fonction mathématique qui relie le signal de sortie du système à son signal d'entrée. C'est une caractéristique invariante du système qui ne dépend ni des entrées ni des sorties, qui permet donc de le définir.

Supposons que notre système soit modélisable par l'équation différentielle suivante :

\(\displaystyle  a_n\dfrac{d^n s(t)}{dt^n} + ... + a_1\dfrac{ds(t)}{dt} + a_0s(t) = b_m\dfrac{d^m e(t)}{dt^m} + ... + b_1\dfrac{de(t)}{dt} + b_0e(t) \).

Prenons la transformée de Laplace des deux membres de cette équation, avec les conditions initiales du système nulles (les conditions d'Heaviside). On obtient :

\(\displaystyle  a_n p^n S(p) + ... + a_1 p S(p) + a_0 S(p) = b_m p^m E(p) + ... + b_1 p E(p) + b_0 E(p) \), soit factorisant S(P) et E(p) :

\(\displaystyle  (a_n p^n + ... + a_1 p + a_0)S(p) = (b_m p^m + ... + b_1 p + b_0)E(p) \), d'où :

\( \displaystyle \dfrac{S(p)}{E(p)} = \dfrac{b_m p^m + ... + b_1 p + b_0}{a_n p^n + ... + a_1 p + a_0} \)

On appelle fonction de transfert du système la fonction H(p) telle que \( \displaystyle H(p) = \dfrac{S(p)}{E(p)} \), avec p une variable réelle ou complexe.

Propriétés

Propriétés générales

Quelques propriétés générales d'une fonction de transfert :

  • Seuls les systèmes linéaires stationnaires peuvent être représentés par une fonction de transfert.
  • La fonction de transfert d'un système linéaire stationnaire est définie en considérant les conditions initiales du système comme nulles.
  • Physiquement, la fonction de transfert d'un système est sa réponse impulsionnelle.
  • La fonction de transfert d'un système ne dépend pas des entrées appliquées au système. Elle est le rapport entre les valeurs de sortie et les valeurs d'entrée dans le plan de Laplace.
  • La fonction de transfert d'un système est indépendante du temps.
  • Les valeurs de la variable p qui annulent le numérateur de la fonction de transfert sont les zéros du système.
  • Les valeurs de la variable p qui annulent le dénominateur de la fonction de transfert sont les pôles du système.
Réponse temporelle d'un système

Reconsidérons la définition d'une fonction de transfert \( \displaystyle H(p) = \dfrac{S(p)}{E(p)} \). Il vient naturellement de cette définition que si l'on connait la fonction de transfert H(p) d'un système et le signal d'entrée E(p), on en déduit facilement le signal de sortie S(p), du moins dans le domaine de Laplace. Il serait intéressant d'en déduire la réponse temporelle du système, c'est à dire la sortie non plus exprimée dans le domaine de Laplace, en fonction de la variable p, mais en fonction du temps. C'est tout à fait faisable en utilisant la transformée inverse de Laplace, en calculant \( s(t) = L^{-1}(E(p)*H(p)) \). C'est un puissant moyen de simulation des systèmes continus linéaires, de n'importe quel ordre.

Il existe un autre moyen de connaitre s(t) en fonction de e(t) dans le cas où l'on ne connait pas la fonction H(p). Il faut d'abord établir la réponse impulsionnelle h(t) du système, c'est à dire le signal s(t) lorsque on injecte un signal d'entrée e(t) égal à une impulsion. Puis on calcule le produit de convolution entre le signal d'entrée e(t) et la réponse impulsionnelle h(t) \(  \displaystyle s(t) =  \int_{-\infty}^{\infty} h(\lambda)e(t - \lambda)d\lambda =  \int_{-\infty}^{\infty} h(t - \lambda)e(t)d\lambda \).

Retrouver l'équation différentielle d'un système à partir de sa fonction de transfert

Autre propriété intéressante de la fonction de transfert. Si je connais la fonction de transfert H(p) d'un système, je peux très facilement en déduire l'équation différentielle qui le gouverne (aux conditions initiales nulles toutefois...). Il suffit que je construise l'opérateur différentiel \( D = \dfrac{d}{dt} \) et que je remplace la variable p par D dans la fonction de transfert H(p). Par exemple, soit la fonction de transfert  \( \displaystyle H(p) = \dfrac{1}{1 + \tau p} \) d'un système de premier ordre. Je remplace p par l'opérateur D, j'obtiens \( \displaystyle H(D) = \dfrac{1}{1 + \tau D} \) ou encore \( \displaystyle \dfrac{s(t)}{e(t)} = \dfrac{1}{1 + \tau \dfrac{d}{dt}} \). Soit en calculant \( \displaystyle \tau \dfrac{ds(t)}{dt} + s(t) =e(t) \), l'équation différentielle type d'un système de premier ordre.

Transformées de Laplace à connaître

Il est très utile (voire impératif) de connaitre les transformées de Laplace de quelques signaux de base :

  • la TL d'un échelon de Heaviside e(t) est égale à \( L[e(t)] = \dfrac{1}{p} \). Je rappelle qu'un échelon est une fonction e(t) = 0 pour tout t < 0 et e(t) = 1 pour t >= 0.
  • la TL d'une rampe e(t) = ate(t) est égale à \( L[ate(t)] = \dfrac{a}{p^2} \)
  • la TL d'une impulsion de Dirac \(\delta(t) \) est égale à \( L[\delta(t)] = 1 \). Je rappelle qu'une impulsion de Dirac \(\delta(t) \) est nulle partout sauf en 0 et que \( \displaystyle \int_{-\infty}^{\infty} \delta(t)dt = 1 \).
Cas particulier des systèmes en régime sinusoïdal forcé

Dans bien des cas, au lycée et en prépa ou licence, vous utiliserez les fonctions de transfert pour étudier des systèmes continus linéaires électriques ou mécanique en régime sinusoïdal forcé, c'est à dire que e(t) sera de la forme \( e(t) = A_0 e^{(j\omega + \phi)} \). Dans ce cas, on a l'habitude de poser \( p = j\omega \), ce qui revient à écrire, pour un système de premier ordre par exemple \( \displaystyle H(j\omega) = \dfrac{1}{1 + j\tau \omega} \). Notez que dans ce cas, la variable p est un imaginaire pur.

Exemple 1 : fonction de transfert du quadripôle RC

A titre d'exemple de calcul de la fonction de transfert d'un système, je vais partir d'un exemple simple d'un système d'ordre 1 : le quadripôle RC. En fait, la nature physique du quadripôle importe peu, seule la forme de l'équation différentielle compte...

Nous avons déjà rencontré le montage RC série sur TangenteX ici. Notez d'ailleurs que selon la manière dont on examine le montage, on peut le qualifier de dipôle ou de quadripôle. Toujours est-il que l'on définit un signal d'entrée ve(t) et un signal de sortie vs(t), et un système formé d'une résistance parfaite (sans inductance) et d'une capacité parfaite (de résistance infinie en continue), système dont on veut établir la fonction de transfert :

Schéma d'un quadripôle RC
A partir de l'équation différentielle

La loi des mailles nous permet d'établir assez simplement l'équation différentielle du système, en écrivant \( v_e(t) = R i(t) + v_s(t) \)

et en remarquant que \( i(t) = C \dfrac{dv_s(t)}{dt} \), ce qui nous donne finalement \( RC \dfrac{dv_s(t)}{dt} + v_s(t) = v_e(t) \).

L'équation différentielle est d'ordre 1, le degré le plus haut des dérivées étant 1. Nous avons affaire à un système de premier ordre, l'ordre du système étant déterminé par l'ordre de l'équation différentielle.

La transformée de Laplace de cette équation différentielle s'obtient immédiatement : \( RCp S(p) + S(p) = E(p) \), en posant S(p) la transformée de Laplace de vs(t) et E(p) la transformée de ve(t).

En appliquant la définition de la fonction de transfert, j'obtiens : \( \displaystyle H(p) = \dfrac{S(p)}{E(p)} = \dfrac{1}{1 + RC p} \)

Par des considérations électriques

Si vous observez bien le schéma du quadripôle, vous noterez que nous sommes en présence d'un pont de diviseur de tension, avec deux impéndances : la résistance R et le condensateur d'impédance complexe \(Z_C = \dfrac{1}{jC\omega} \). Nous pouvons donc écrire, selon la définition d'un pont diviseur de tension \( \displaystyle \dfrac{v_s}{v_e} = \dfrac{Z_C}{R + Z_C} \). En remplaçant ZC par sa valeur et en réduisant au même dénominateur, j'obtiens \( \displaystyle \dfrac{v_s}{v_e} = \dfrac{1}{1 + RCj\omega} \). En posant \( p = j\omega \), j'obtiens une fonction de même forme que la transformée de Laplace de l'équation différentielle. De façon pas toujours très nette mathématiquement, on identifie les deux résultats et l'on pose  \( \displaystyle H(\omega) = \dfrac{1}{1 + RC j\omega} \). Je retrouve ma fonction de transfert exprimée en fonction de la pulsation et plus de la variable p.

Les électriciens procèdent souvent selon cette méthode, en particulier lorsqu'il s'agit d'étudier les filtres. Je ne suis pas fan et je préfère la méthode basée sur les équations différentielles, plus logique à mon sens, et moins dépendante de la nature physique du quadripôle.

Exemple 2 : fonction de transfert d'un système d'ordre 2

Considérons maintenant le cas d'un oscillateur d'ordre 2 entretenu, dont l'équation différentielle est :

\(\displaystyle \dfrac{d^2s(t)}{dt^2} + 2m\omega_0 \dfrac{ds(t)}{dt} + \omega_0^2 s(t) = K\omega_0^2 e(t) \)

avec \( \omega_0 \) la pulsation propre de l'oscillateur, m son facteur d'amortissement et K le facteur de gain. Il peut s'agir d'un oscillateur mécanique ou électrique, peu importe.

La transformée de Laplace de cette équation différentielle est immédiate :

\( \displaystyle p^2 S(p) + 2m\omega_0 p S(p) + \omega_0^2 p = K\omega_0^2 E(p) \)

et la fonction de transfert H(p) :

\( \displaystyle  H(p) = \dfrac{K \omega_0^2}{ p^2 + 2m \omega_0 p +  \omega_0^2} \)

Diagramme de Bode

Définition

On appelle diagramme de Bode, les graphes de représentation de la courbe de réponse en gain et en phase d'un système continu linéaire :

  • une courbe de gain, en décibels GdB, de la fonction de transfert en échelle logarithmique, selon la définition \(  G_{dB} = 20 \log_{10}|H(j\omega)| \).
  • une courbe de phase, représentant l'argument \( \phi(\omega) \) de la fonction de transfert, en échelle linéaire, en fonction de la pulsation \( \omega \) en échelle logarithmique, selon la définition \( \phi(\log_{10}(\omega)) = Arg(H(j\omega))  \).

Remarques :

  • Pour les diagrammes de Bode en fonction de la pulsation, on utilise souvent la variable adimensionnée \( x = \dfrac{\omega}{\omega_0}\), \( \omega_0 \) étant la pulsation propre du système.
  • On utilise souvent la fréquence f plutôt que la pulsation, sachant que \( \omega = 2\pi f \).

Tracer un diagramme de Bode avec Python

L'objectif

Les anciens se souviendront des tracés de diagrammes de Bode sur du papier millimétré avec des échelles log-log, un vrai cauchemard ! Mais maintenant, nous avons beaucoup mieux : Python (ou Matlab..) et des ordinateurs qui font ça à notre place.

Pour illustrer la chose, j'ai choisi de tracer le diagramme de Bode d'un système électrique de premier ordre, par exemple un quadripôle RC série. Nous avons vu que sa fonction de transfert s'écrivait \( \displaystyle H(p) = \dfrac{1}{1 + RC p} \) ou en notation électronicienne \( \displaystyle H(j\omega) = \dfrac{1}{1 + jRC\omega} \). On pose d'habitude \( \omega_0 = \dfrac{1}{RC} \) et \( x = \dfrac{\omega}{\omega_0} \), ce qui nous donne finalement \( \displaystyle H(jx) = \dfrac{1}{1 + jx} \).

Je vais écrire un script Python qui me trace le diagramme de Bode pour cette fonction de transfert, pour x appartenant au domaine [10-1, 103].

Le script Python

Je commence par définir les fonctions de calcul : la fonction de transfert H(x) et le calcul du gain :

# Définition de la fonction de transfert
def H(x):
    return (1.0/(1.0 + 1j*x))
# Fonction de calcul du gain
def Gain(x):
    return 20*log10(x)

puis je fixe le domaine de définition de x, en valeurs logarithmiques :

omega_min = 0.1
omega_max = 1000.0
nbpoints = 100
x = logspace(log10(omega_min),log10(omega_max),nbpoints)

et je procède aux calculs :

# Calcul de la courbe de gain
y_gain = Gain(absolute(H(x)))
# Calcul de la courbe de phase (en radian)
y_phase = angle(H(x))

Le tracé des courbes est tout à fait trivial. Notez cependant l'usage des coordonnées logarithmiques :

fig1 = figure(figsize=(10,8))
subplot(211)
semilogx(x,y_gain) 
grid(True)
title(u'Diagramme de Bode - Courbe de gain')
ylabel(u'gain (dB)')
subplot(212)
semilogx(x,y_phase) 
grid(True)
title(u'Diagramme de Bode - Courbe de phase')
xlabel(u'log(x)')
ylabel(u'phase (rad)') 

Le script DiagBode.py est téléchargeable dans la bibliothèque de codes de TangenteX.

Le résultat

Voici le tracé obtenu :

Diagramme de Bode - système d'ordre 1
Interprétation

Examinons d'abord la courbe de gain. Selon la définition, \(\displaystyle  G_{dB} = 20 \log_{10}|H(jx)| = 20 \log_{10} \dfrac{1}{\sqrt{1 + x^2}} \). Si x tend vers 0, c'est à dire si \( \omega << \omega_0 \), le gain tend vers 0. On le constate bien sur la courbe.

Si x tend vers l'infini, c'est à dire si \( \omega >> \omega_0 \), alors le gain tend vers \( G_{dB} = 20 \log_{10} (x) \), c'est à dire que la droite de pente -20 dB est une asymptote.

Les deux asymptotes, horizontale et oblique, se coupent pour x = 1, c'est à dire \( \omega = \omega_0 \). Pour \( \omega = \omega_0 \), j'ai \( H(jx) = \dfrac{1}{\sqrt{2}} \), c'est à dire un gain de -3 dB. On nomme "pulsation de coupure", notée \( \omega_c \) cette valeur particulière.

Le quadripôle RC série forme ce que l'on appelle un filtre "passe bas" : il laisse passer les fréquences basses et coupe les fréquences hautes.

La courbe de phase montre aussi qu'il déphase le signal pour les hautes fréquences, alors qu'il ne modifie pas la phase pour les fréquences basses.

C'est tout l'intérêt du diagramme de Bode de pouvoir explorer graphiquement les propriétés d'un système, lorsqu'on connait sa fonction de transfert.

Contenu et design par Dominique Lefebvre - www.tangenteX.com décembre 2019   Licence Creative Commons   Contact :