Suivant

Modèle de propagation d'onde (Part 1)

Sommaire :

  1. Introduction
  2. Modèle d'onde en zéro dimension d'espace
  3. Dérivé du signal sinusoïdal
  4. Principe de linéarité et de superposition
  5. Résolution à l'ordre 1
  6. Modèle de signale sinusoïdal `∿`
  7. Résolution réel par éléments finis
  8. Échantillonnage
  9. Comment définir l'énergie d'un signal sinusoïdal ?
  10. Oscillateur mécanique
  11. Les bases de la mécanique classique
  12. Les nombres complexes
  13. La sinusoïde `∿`
  14. Le spino (positif `"⟲"`, négatif `"⟳"`)
  15. Dualité entre sinusoïde et spino
  16. Résolution exacte par éléments finis

1) Introduction

Les ondes constituent un phénomène auto-entretenu parmi les plus simples à modéliser, et elles peuvent être considérées comme la base de l'électromagnétisme. Nous allons explorer ce phénomène en commençant par la dimension d'espace zéro c'est à dire en commençant par le cas d'une variable d'état réelle évoluant sinusoïdalement en fonction du temps, et que nous appelons signal sinusoïdal. Puis nous traiterons du cas à une dimension spatiale simulant une corde vibrante. Puis nous traiterons du cas à deux dimensions simulant des vaguelettes sur la surface d'un plan d'eau. etc.. Nous expliquerons les notations différentielles totales, partielles, scalaires, vectorielles, matricielles...., Et nous expliquerons ce qu'est la transformation de Fourier discrète.

La formalisation du calcul différentiel comprend la formalisation d'un système de variables chacune associée à un système de coordonnées, et comprend la formalisation du corps des hyperréels comme décrit dans les articles « Introduction au calcul différentiel » et « Calcul différentiel ». Nous présentons ici seulement leurs aspects pratiques.

Et nous explorerons des algorithmes de calcul qui s'avéreront être exacte grâce à la structure de corps des nombres complexes (et des quaternions) et au théorème de l'échantillonnage de Shannon.

2) Modèle d'onde en zéro dimension d'espace

S'il y a onde, il y a champ, et donc une variable d'état U qui indique à chaque instant t, un réel appelé valeur du champ que l'on note `U` ou explicitement `Ucolor(#006090)((t))`. Et on note l'expression sur quoi s'applique une application qui est à la fois une variable d'état, dans une couleur légèrement plus verte pour faire la distinction avec le produit.

Nous avons donc une variable d'état `U` fonction du temps `t`, ce qui se déclare par le neurone suivant :

  `U"←"t`  

Une onde en zéro dimension d'espace s'appelle un signal, et ce signal se décrit par une fonction `t|->Ucolor(#006090)((t))`. On s'interresse à des signaux U qui ondulent de façon régulière. L'équation locale à laquelle satisfait `U` est assez simple à retrouver car il n'y en a pas beaucoup capablent de générer un signal ondulant aussi simplement. On en a vite fait le tour. L'équation locale du signal `U` est l'équation différentielle suivante :

  `(d^2U)/(dt^2) = - k^2U` 

L'équation est dite locale (ici une localité uniquement temporelle, mais dans le cas générale ce sera une localité temporelle et spatiale) parcequ'elle s'applique en chaque instant `t` du cours du temps. Et on utilise un paramètre `k` qui correspondra à une caractéristique du signal. Le signal est déterminé par cette équation locale à la quelle on ajoute les conditions initiales constituées de la valeur du signal `U` à l'instant `0` et de la valeur de sa dérivée `dU"/"dt` à l'instant `0`. On remarque que la connaissance du champ `U` à un instant donné ne suffit pas, qu'il faut adjoindre la connaissance d'un autre champ `dU"/"dt` au même instant pour déterminer l'évolution du signal, ces deux données initiales étant libres. Cela est dû au fait que l'équation différentielle est linéaire ou autrement dit que c'est une combinaison linéaire de `U` et de ses dérivés, et du fait qu'elle est d'ordre `2` ou autrement dit que le degré de dérivation maximum est `2`.

Les conditions initiales sont posées le moins arbitrairement possible, mais dans un premier temps on les choisit le plus simplement possible. On choisit la valeur `0` pour la valeur du champ à l'instant `0`, et la valeur `1` pour la dérivé du champ à l'instant `0`. On reportera dans l'interprétation du résultat la liberté de choix de ces valeurs initiales. En procédant ainsi, on met en exergue le coeur du problème sans se disperser dans des détailles. On peut, dans le même esprit, poser `k=1` en reportant dans un choix ultérieur la valeur de `k` que l'on obtient simplement en changeant l'unité du temps, car l'équation différentielle se met aussi sous cette forme :

  `(d^2U)/(kdt)^2 = - U` 

Par convention la dérivée selon `t` d'une variable `U` se note `dot U` et sa dérivée seconde selon `t` se note `ddotU` :

  `dotU = (dU)/dt`

  `ddotU=(d^2U)/(dt^2)`

L'équation locale et les conditions initiales, qui constitue le système d'équations déterminant `U`, se note ainsi :

  `{{:(ddotU=-k^2U),(Ucolor(#006090)((0))=0),(dotUcolor(#006090)((0))=1):}}`  

Ce système d'équation est résolvable. Avec le logiciel de calcul formel MuPAD (que l'on peut trouver assez facilement en version 4.0.2 (05.02.2007) sur quelque site pirate, et qui est un logiciel développé par l'université de Paderborn et d'autres universités, depuis rendu abusivement propriétaire, vieux maintenant de plus de 20 ans), l'instruction suivante résoud le système d'équation différentielle en question :

`"solve"("ode"({``ddotUcolor(#006090)((t))"="-k^2Ucolor(#006090)((t))``,`` Ucolor(#006090)((0))"="0``,`` dotUcolor(#006090)((0))"="1``}, ``Ucolor(#006090)((t))``))`

Et la réponse est :

  `U = 1/k sin(k t)`  

On remarque alors que `k` représente la fréquence du signal exprimée en radian par unité de temps. Mais on ne souhaite pas être contraint à utiliser une unité en radian qui nous paraît être une façon impropre de masquer `pi`. On exprimera donc la fréquence également en tour par unité de temps (c'est à dire en nombre de fois `2pi` radian par unité de temps) à l'aide d'une seconde variable `omega` :

  `k= 2pi omega`  

La variable `omega` représente la fréquence du signal exprimée en tour par unité de temps. Le signal `U` se réécrit comme suit :

  `U = 1/(2piomega) sin(2pi omegat)`  

L'inverse de `omega` représente la période `T` du signal, c'est à dire le temps nécessaire pour que le signal retrouve de mêmes valeurs et se répète exactement :

  `T=1/omega`

Et on remarque accessoirement que `1/k` représente l'amplitude du signal.

Nous nous intéressons à la construction d'algorithmes de calcul approché qui peuvent paradoxalement être exacte, et délors servir de modèle de résolution exacte pour des systèmes plus complexes. On considère donc que le système d'équations différentielles comprenant l'équation locale et les conditions initiales, constitue la définition signifiante du signal ou son fondement, contrairement au résultat qui n'est qu'une illustration certe complète mais oubliant les causes du signal.

3) Dérivée du signal sinusoïdal

On définie formellement une seconde variable d'état dépendant du temps. Cela se fait en déclarant le neurone suivant :

  `V"←"t`  

Ce formalisme est nécessaire pour lever les ambiguités. Après cette déclaration la variable possède un système de coordonnée par défaut qui est `(t)`. Chaque apparition de la variable `V` à un endroit où on attend une valeur, correspondra à la valeur `Vcolor(#006090)((t))`, c'est à dire la valeur de `V` à l'instant `t`, ce qui s'écrit `V"="Vcolor(#006090)((t))`. Et on définie cette variable `V` comme étant la vitesse de variation du signal `U`, c'est à dire comme étant égale à la dérivée de `U` selon `t` :

  `V = dotU`  

On remarque que la dérivée de `U` selon `t`, désignée par la variable `V`, obéït à la même équation locale mais avec des conditions initiales différentes :

`ddotV =(d^2V)/(dt^2) = (d^2dotU)/(dt^2) = (dddotU)/(dt) = (d("-"k^2U))/(dt) = -k^2(dU)/(dt)=-k^2dotU=-k^2V`

`dotV = (dV)/(dt) =(d dotU)/dt =ddotU = -k^2U`

`dotVcolor(#006090)((0)) = -k^2Ucolor(#006090)((0))`

`Vcolor(#006090)((0)) = dotUcolor(#006090)((0))`

  `{{:(ddotV=-k^2V),(Vcolor(#006090)((0))=1),(dotVcolor(#006090)((0))=0):}}`  

L'instruction suivante dans MuPAD résoud l'équation différentielle en question :

`"solve"("ode"({``ddotVcolor(#006090)((t))"="-k^2Vcolor(#006090)((t))``,`` Vcolor(#006090)((0))"="1``,`` dotUcolor(#006090)((0))"="0``}, ``Ucolor(#006090)((t))``))`

Et la réponse correspond bien à la dérivée de `U` selon `t` :

  `V = cos(k t)`  

Ce qui s'écrit :

  `V = cos(2pi omegat)`  

C'est le même signal que `U` mais déphasé d'un quart de tour d'avance, et d'amplitude `1` c'est à dire celle de `U` multipliée par `k` :

  `V = cos(kt) = sin(kt + pi/2)`  

  `V = k Ucolor(#006090)("("t + 1/4T")") `  

4) Linéarité et principe de superposition

Une équation différentielle contenant seulement des termes en `U` et ses dérivées successives `dotU, ddotU, ..., U^((n))`, etc., mais ne contenant aucune puissance plus élevée, est dite linéaire en `U` et ses dérivée par rapport au temps. Et elle est dite d'ordre `n` si le degré de dérivation maximum est `n`. Si de plus il ne s'y trouve aucun autre terme, l'équation est dite linéaire homogène. Une telle équation différentielle linéaire homogène possède une propriété suivante facile à démontrer et trés intéressante :

  La somme de deux solutions quelconques est elle-même une solution.  

Cette propriété s'appelle le principe de superposition ou plus simplement la linéarité. Par exemple, si `U` et `V` sont deux solutions c'est à dire satisfaisant :

`ddotU=-k^2U`
`ddotV=-k^2V`

Alors la superposition des deux signaux `S = U+V` constitura une autre solution, c'est à dire satisfera :

`ddotS=-k^2S`

Et de même si nous considérons une combinaison linéaire quelconque des signaux `S = aU+bV`, le résultat satisfera cette même équation différentielle.

La somme de signaux sinusoïdaux de même fréquence `omega` produit donc nécessairement un signal de même fréquence `omega`.

S'il y a dans l'équation différentielle un autre terme supplémentaire qui peut être une constante ou une fonction quelconque du temps mais indépendante de `U`, alors l'équation est dite linéaire inhomogène. Et dans ce cas, le principe de superposition s'applique toujours mais avec une petite variante, le terme supplémentaire qui exprime une contrainte imposée au système (on parlera de signaux oscillants asservies) doit s'ajouter également. Par exemple si `U` et `V` sont solutions du système asservi respectivement par `F` et `G` qui sont deux fonctions du temps indépendantes respectivement de `U` et de `V`, autrement dit, si nous avons :

`ddotU=-k^2U + Fcolor(#006090)((t))`
`ddotV=-k^2V + Gcolor(#006090)((t))`

Alors la superposition des deux signaux `S = U+V` constitura une autre solution du système mais devant être asservie par `F+G`, c'est à dire satisfaisant :

`ddotS=-k^2S+Fcolor(#006090)((t))+Gcolor(#006090)((t))`

On appel médium (ou éther, ou guide d'onde) le système qui héberge l'onde, qui lui sert de support, qui la contient et qui lui permet de se propager, et on dit que le médium (ou l'éther, ou le guide d'onde) est linéaire lorsque ces propriétés sont vérifiés.

Quel est la nature du champ ? Le champs défini ici n'a pas vraiment d'unité, autrement dit on parlera d'unité de champ, une unité inconnue mais fixé par un système d'unité choisi, comme on parle d'unité de temps. La valeur du signal est un réel multiplié symboliquement par l'unité de champ. Cette valeur vari selon un axe, l'axe du champ, et cet axe n'est pas un axe d'espace. En particulier, il y existe un point singulier qu'est la valeur de champ nulle et qui se distingue intrinsèquement de tous les autres points. Si nous voulons définir un champ qui vari sur un axe d'espace, c'est a dire à constante près, alors l'équation différentielle sera linéaire et inhomogène :

`ddotU = -k^2(U-U_0)`

`U_0` est la composante constante du champ. Tout se passe comme si nous avions ajouté au signal `U` défini dans le chapitre précédent, une constante, un signal constant `U_0`.

5) Résolution à l'ordre 1

Toute équation différentielle linéaire peut être résolue à l'ordre `1` dans un espace plus grand comprenant autant de dimension que l'ordre de l'équation différentielle. Ici on considère l'espace vectorielle `RR^2`, et on note les vecteurs avec une flèche tandis que leurs composantes sont notées avec un indice. Considérons un vecteur `vecV` quelconque de `RR^2`. Nous avons le lien entre le vecteur et ses composantes qui s'écrit ainsi :

`vec(V)=((V_0),(V_1))`

La dérivé selon `t` d'un vecteur s'obtient par définition en dérivant chacune de ses composantes selon `t`  :

`dot vec(V)=((dot V_0),(dot V_1))`

On considère une nouvelle variable d'état `vec(sfU)` définie à partir des variables `U` et `dotU` comme suit :

`vec(sfU)=((U),(dotU))`

L'équation différentielle se réécrit :

`dot(sf(U)_0)=sf(U)_1`
`dot(sf(U)_1)=-k^2sf(U)_0`

Et se met sous forme matricielle :

`dot(vecsf(U))=( (0,1), (-k^ 2,0) )vec(sfU)`

Autrement dit :

`dot(vecsf(U))=Mvec(sfU)`

`M=( (0,1), (-k^ 2,0) )`

6) Modèle de signal sinusoïdal `∿`

L'équation locale étudiée au chapitre précédent définit les signaux sinusoïdaux de fréquence `omega`. Chaque signal solution de cette équation est déterminés par une amplitude `a` et une phase initiale `varphi` qui est la phase du signal à l'instant `t"="0`. Ces deux paramètres forment un nombre complexe`[a, varphi]` qui détermine complétement le signal parmi l'ensemble des solutions. On définit plusieurs niveaux de paramètre ; un paramètre global qui est `omega` et qui représente une échelle de temps. Puis à un niveau en dessous, on définit le nombre complexe caractéristique `[a, varphi]` qui achève la détermination du signal sinusoïdal de fréquence `omega`.

On pose une convention d'écriture en suffixant un complexe par le symbole `∿` pour représenter une fonction sinusoïdale. On note `[a,varphi]"∿"` la fonction sinusoïdale d'amplitude `a` et de phase initiale `varphi`. Et si le paramètre global `omega` n'a pas été préalablement fixé, alors on peut le noter explicitement en indice comme suit `[a,varphi]"∿"_omega `. Et par commodité, on lui assigne un système de coordonnée par défaut `(t)`, comme pour une variable d'état, afin de pouvoir omettre le paramètre `t` dans les appels de cette fonction. Cela se déclare par le neurone suivant :

  `[a,varphi]"∿" ←"t`   

Notez que ni `a`, ni `varphi`, ni `omega` ne varie selon `t`, seule la fonction sinusoïdale posée comme variable d'état  `[a,varphi]"∿"` varie selon `t`. Par contre la phase instantanée du signal varie et est égale à `omega t "+" varphi`. Le signal sinusoïdal est défini comme suit :

  `[a,varphi]"∿" = a sin(2pi(omega t "+" varphi ))`  

Les formules mathématiques s'écrivent parfois plus simplement si on exprime les grandeurs en radian. C'est pourquoi on définie deux autres variables `k, K` qui représente la fréquence en radian par unité de temps et la phase en radian appelée argument.

  `((k = 2 pi omega),(K = 2 pi varphi))`   

  `[a,varphi]"∿" = a sin(kt+K)`  

On note `D` l'opérateur de dérivée exacte. La dérivée d'un signal sinusoïdal est encore un signal sinusoïdal mais multiplié par `k`, et déphasé d'un quart de tour :

  `D([a,varphi]"∿") = D(a sin(kt+K)) = ka cos(kt+K) = ka sin(kt+K+pi/2)`  

  `D([a,varphi]"∿") = k"["a,varphi"+"1/4"]∿"`  

La dérivée seconde d'un signal sinusoïdal est encore un signal sinusoïdal de même fréquence, mais multipliée par `k^2`, et déphasé d'un demi tour,  autrement dit, multiplié par `-k^2` :

  `D^2([a,varphi]"∿") = D"(" k"["a,varphi"+"1/4"]∿" ")" = k^2 a sin(kt+K+pi) = - k^2 a sin(kt+K) `  

  `D^2([a,varphi]"∿") = - k^2 [a,varphi]"∿"`  

L'équation locale étudiée au chapitre précédent étant linéaire homogène, les signaux qui sont solutions de l'équation peuvent se combiner linéairement pour former d'autres signaux qui seront encore solutions de l'équation. La sommation de signaux sinusoïdaux de même fréquence correspond à la sommation des nombres complexes les caractérisants. On le démontrera au chapitre 15 :

  `[a,A]"∿" + [b,B]"∿" = ([a,A]"+" [b,B])"∿"`  

7) Résolution par éléments finis

On procède à un maillage du temps en une succétion de portions égales à `dt`. Puis nous établissons l'équation aux mailles en première approximation à partir de l'équation locale en interprétant la dérivée seconde de `U` comme suit. Et le calcul devient approximatif car `dt` n'est plus un élément différentiel mais la taille de la maille :

  `(Ucolor(#006090)((t"+"dt))-2U+Ucolor(#006090)((t"-"dt)))/(dt^2) = - k^2U`  
    avec    
  `k= 2pi omega`  

`omega` représente la fréquence théorique du signal exprimée en tour par unité de temps. Et donc la période théorique du signal est égale à `1"/"omega`. Cette égalité permet de déterminer `Ucolor(#006090)((t"+"dt))` en fonction de `U` et de `Ucolor(#006090)((t"-"dt))` :

  `Ucolor(#006090)((t"+"dt)) = (2"-"k^2)U - Ucolor(#006090)((t"-"dt))` 

Nous établissons une seconde équation aux mailles pour calculer `dotU`, toujours en première approximation, à partir de la définition de la dérivée de `U` et en l'interprétant comme suit :

  `dotU =(Ucolor(#006090)((t"+"dt))-U)/(dt)`  

Ce qui nous permet de déterminer `Ucolor(#006090)((t"+"dt))` en fonction de `U` et de `dotU` :

  `Ucolor(#006090)((t"+"dt)) = U + dotUdt`  

Les conditions initiales sont les valeurs de `Ucolor(#006090)((0))"="0` et `dotUcolor(#006090)((0))"="1`. Ce qui se traduit à l'échelle de la maille par :

  `Ucolor(#006090)((0))"="0`
  `Ucolor(#006090)((dt))"="dt`  

Néanmoins ces équations aux mailles ont été choisies avec un peu d'arbitraire. Et il existe un autre choix possible qui consiste à utiliser la résolution à l'ordre `1`. On utilise pour cela le vecteur `vec sfU` dont les composantes sont `U` et `dotU`, et qui satisfait l'équation locale suivante :

  `vec (d(sf(U)))/(dt)=Mvec(sfU)`  

  `M=( (0,1), (-k^ 2,0) )`  

L'équation aux mailles correspondante s'obtient en interprétant la dérivée de `U` comme suit :

`( vec(sfU)color(#006090)((t"+"dt))-vec(sfU) )/(dt) = Mvec(sfU)`

  `vec(sfU)color(#006090)((t"+"dt)) =vec(sfU) + Mvec(sfU)dt `  

C'est un système d'équations locales pour deux variables d'état `U` et `dotU` :

`( (Ucolor(#006090)((t"+"dt))),(dot U color(#006090)((t"+"dt)))) = ((U),(dot U) ) + ( (0,1), (-k^ 2,0) ) ((U),(dot U) ) dt`

`( (Ucolor(#006090)((t"+"dt)) = U + dot U dt),(dot Ucolor(#006090)((t"+"dt)) = dotU -k^2 U dt))`

Quel des deux systèmes d'équations locales est le meilleur ? L'expérimentation exacte nous le dira.

Le calcul n'est exacte que si `dt` est un infiniment petit. En se basant sur le théorème de l'échantillonnage de Shannon, y-a-t-il un algorithme de calcul exacte qui détermine l'évolution de la valeur du champ pour une suite échantillonnée d'instants `0,dt,2dt,3dt,...` ?

8) Échantillonnage

Le théorème de l'échantillonnage dit qu'un signal qui ne contient pas de composantes de fréquences supérieures ou égales `nu`, est entièrement déterminé par la suite de ses valeurs à des instants régulièrements espacées par la demi-période de la fréquence `nu`, soit régulièrements espacées de la durée `1"/"(2nu)`. Les fréquences sont exprimées en nombre de tour par unité de temps.

  Un signal ne contenant pas de fréquence supérieure ou égale à `nu` peut être échantillonné à la fréquence `2nu` sans qu'il n'y est aucune perte d'information.  

Et le théorème réciproque :

  Un échantillonnage de fréquence `nu` détermine un unique signal passant par tous les points de l'échantillonnage et n'ayant pas de composante de fréquence supérieure ou égale à `nu"/"2`.

Le même théorème mais exprimé à l'aide des périodes :

  Un signal ne contenant pas de composante de période inférieure ou égale à `tau` peut être échantillonné par intervalle de `tau"/"2` sans qu'il n'y est aucune perte d'information.

Et le théorème réciproque :

  Un échantillonnage par intervalle de temps `tau` détermine un unique signal passant par tous les points de l'échantillonnage et n'ayant pas de composante de période inférieure ou égale à `2tau`.

D'autre part, si le signal est périodique se répétant à la fréquence `omega` alors il ne contient que des composantes de fréquence égale à un multiple entier de `omega`. La même remarque mais exprimé à l'aide des périodes : si un signal est périodique de période `T` alors il ne contient que des composantes périodiques de période divisant `T` de façon entière, et donc il est égale à une somme de signaux de période `oo, T, T"/"2, T"/"3,T"/"4 ...`.

Le maillage correspond à un échantillonnage du signal à la fréquence `1"/"dt`. Si le signal ne comporte pas de fréquence supérieure ou égale à `1"/"(2dt)` alors le maillage n'opère aucune perte d'information.

9) Comment définir l'énergie d'un signal sinusoïdal ?

On veut définir une variable d'état `E` représentant l'énergie, et donc, qui doit être constante puisque le système n'intéragit pas avec l'extérieur. Donc la variable d'état `E` doit être invariante selon le temps `t`, autrement dit, de dérivée nulle `dotE=0`. Cette condition ne suffit pas pour définir `E`, mais elle entraine que `E` est une fonction de `(a,varphi,omega)` seulement.

Le médium étant supposé linéaire homogène, ou autrement dit, étant dans le cas d'une équation différentielle linéaire homogène, la phase instantanée varie en fonction du temps, et donc l'énergie ne peut pas dépendre de la phase instantanée. Et donc si elle ne dépend pas de la phase instantanée alors elle ne dépend pas non plus de la phase initiale. L'énergie ne peut donc dépendre que de l'amplitude `a` et de la fréquence `omega`.

On choisira de définir une énergie proportionnelle au carré de l'amplitude comme on le rencontre dans de nombreuses expériences mécaniques et électriques.

On pose un signal sinusoïdal `U` quelconque d'amplitude `a`, de phase initiale `varphi` exprimée tour ou autrement dit, de phase initiale `K=2pivarphi` exprimée en radian, et de fréquence `omega` exprimée en tour par unité de temps ou autrement dit, de fréquence `k=2piomega` exprimée en radian par unité de temps.

On définie une variable d'état `E` qui sera le carré de l'amplitude de ce signal. Et on cherche à calculer `E` à partir des seuls valeurs du champ `U` et `dotU` et de la fréquence `k`. Et c'est l'identité de Pythagore `sin(K)^2+cos(K)^2 = 1` qui va nous permettre de calculer l'amplitude à partir des seuls valeurs du champ `U` et `dotU` et de la fréquence `k` :

`U←t`
`dotU←t`
`E←t`

Les variables `U, dotU, E ` possèdent donc un système de coordonnées par défaut qui est `(t)`. Puis on pose les expressions de `U` et `dotU`, et on définit l'énergie `E` comme suit :

  `U = [a,varphi]"∿" = a sin(kt+K )`  

  `dotU = "["ka,varphi"+"1/4"]∿" = ka cos(kt+K )`  

  `E = U^2+1/k^2dotU^2`  

Et on démontre que la dérivé de l'énergie `E` est bien nulle :

`(dE)/dt = (dU^2)/dt+1/k^2(d dotU^2)/dt `

`dotE = (dU^2)/(dU) (dU)/(dt) + 1/k^2(d dotU^2)/(d dotU) (d dotU)/dt `

`dotE = 2U(dU)/(dt)+1/k^2 2dotU (d dotU)/(dt) `

`dotE = 2UdotU+2/k^2dotU ddotU `

`dotE = 2UdotU+2/k^2dotU ("-" k^2U) `

`dotE = 0`

C'est la définition de référence d'une énergie égale au carré de l'amplitude du signal. Puis on montre que cette énergie, qui est contante, correspond bien au carré de l'amplitude :

`Ecolor(#006090)((0)) =Ucolor(#006090)((0))^2+1/k^2dotUcolor(#006090)((0))^2`

`Ecolor(#006090)((0)) =  (a sin(K))^2 + 1/k^2(ka cos(K))^2`

`Ecolor(#006090)((0)) = a^2 sin(K)^2 +a^2cos(K)^2`

`Ecolor(#006090)((0)) = a^2(sin(K)^2 +cos(K)^2)`

`E = a^2`

Considérons maintenant le principe de superposition. La somme de deux signaux sinusoïdaux de même fréquence produit un signal sinusoïdal de même fréquence mais dont l'énergie n'est pas forcement la somme des énergies des deux signaux. Elle peut être nulle si les signaux s'annule par interférence, et elle peut être plus grande si les signaux s'ajoutent complétement, car dans le cas d'une énergie proportionelle au carré de l'amplitude, le carré de la somme est plus grand que la somme des carrés.

Dans un medium linéaire homogène l'énergie d'un signal ne dépend pas de sa phase. Et pour une fréquence fixe, l'énergie est une fonction de l'amplitude. L'amplitude résultante de deux signaux superposés peut être nulle si les signaux s'annulent complétement par interférence. Et inversement si les signaux sont en phase, les amplitudes s'ajoutent. Peut-on donner une définition de référence de l'énergie d'un signal sinusoïdal ? Chaque signaux sinusoïdaux a-t-il une énergie proportionnelle à cette référence selon sa nature ? Pour l'instant nous ne pouvons pas répondre à cette question, car l'énergie se définie dans un système mécanique où des forces travaillent en produisant ou consommant cette énergie. Néanmoins on peut répondre à cette question dans des cas particulier tel une oscillation mécanique.

10) Oscillateur mécanique

Considérons un espace unidimensionnel dans lequel évolue une particule de masse `m` à la position `x` et à la vitesse `v`, et considérons une force de rappel vers le point `0` qui est proportionnelle à `x`. Le mouvement de la particule est déterminé par l'équation fondamental de la dynamique qui dit que la force est égale à l'accélération multipliée par la masse, ou autrement dit, égale à la variation de la quantité de mouvement (et on considère le cas non relativiste) :

`m(d^2x)/(dt^2)= - zetax`

Où zeta `zeta` est le facteur de proportionnalité entre la force de rappel et l'éloignement. Cette formule correspond à la même équation différentielle étudiée au chapitre 2 en remplaçant `U` par `x` et avec la fréquence `k` exprimée en radian par unité de temps :

`(d^2x)/(dt^2)= - k^2x`

avec `k^2=zeta/m`

Le mouvement est donc sinusoïdal de fréquence `k` et d'amplitude `a = sqrt(x^2 + 1/k^2 dotx^2)`

`k = sqrt(zeta/m)`

`a = sqrt(x^2 + m/zeta dotx^2)`

A partir de l'équation locale `mddotx = - zetax` et du principe d'inertie, on peut déduire le champ de force constant qui en est la cause. Pour un champ de force constant, il n'y a donc que ce type de champ de force, une force attractive centrale et linéaire, qui engendre un mouvement sinusoïdal. La mécanique va pouvoir nous donner une définition de l'énergie. Il convient d'abord de présenter les principes mécaniques nécessaires à la définition de l'énergie.

11) Les bases de la mécanique classique

La première hypothèse qu'il convient de poser, décrit l'expérience. On se place dans un espace unidimensionnel et on y place une particule de masse `m` à la position `x` et ayant une vitesse `v`. On note `dotx=v` la vitesse de la partivule, et `ddotx=dotv` l'accélération de la particule. On pose qu'il existe un champ de force en tout point de l'espace défini comme suit :

`f = - zetax`

C'est une force qui est attractive vers le point `0` et proportionnelle à la distance à ce point. Plus on est éloigné et plus on est attiré, plus on est proche moins on est attiré, et lorsque on est au point `0` la force est nulle. Cela se comporte comme si nous étions attaché à un ressort au point zéro, un ressort qui serait capable de se replier sur lui-même complétement et de se retourner. Et la raideur du ressort serait `zeta`. Autrement dit, on considère une force attractive centrale et linéaire de raideur `zeta`.

La seconde hypothèse est le principe fondamental de la dynamique qui dit que la force résultante sur la particule est égale à la variation de sa quantité de mouvement (cas non relativiste) :

`f = mddotx`

`f = mdotv`

`f = m(dv)/dt`

`f dt = mdv`

Ce principe comprend le principe d'intertie qui dit qu'une particule soumise à aucune force possède une vitesse constante, et qu'elle possède donc une énergie inertielle dite cinétique noté `E_c` fonction de sa vitesse et de sa masse.

La troisième hypothèse est la définition du travail d'une force, qui dit qu'une force `f` s'appliquant sur une particule se déplaçant d'une longueur `dx` effectue un travail `dW` égale au produit de la force et du déplacement effectué, et que ce travail est une énergie qui s'ajoute à l'énergie inertielle de la particule. Appliqué à la force résultante, nous avons :

`dW= fdx`

`dW= m(dv)/(dt) v dt`

`dW= mvdv `

L'élément différentiel `mvdv` étant exacte, il s'intègre sans difficulé sur un chemin quelconque et donne un résultat ne dépendant que de la vitesse de départ et de la vitesse d'arrivé et de `m`. Si nous intégrons sur le chemin parcouru entre l'instant `0` et l'intant `t`, nous obtenons :

`W = int_(xcolor(#006090)((0)))^(xcolor(#006090)((t))) fdx = int_(vcolor(#006090)((0)))^(vcolor(#006090)((t))) mvdv = m[v^2/2]_(vcolor(#006090)((0)))^(vcolor(#006090)((t)))`

`W = 1/2 mvcolor(#006090)((t))^2 - 1/2mvcolor(#006090)((0))^2`

Et comme par principe cette énergie `W` est ajoutée à l'énergie cinétique `E_c` nous avons :

`W = E_c color(#006090)((t)) - E_c color(#006090)((0))`

`E_c color(#006090)((t)) - 1/2 mvcolor(#006090)((t))^2 = E_c color(#006090)((0)) - 1/2mvcolor(#006090)((0))^2`

On en déduit la définition de l'énergie cinétique :

`E_c = 1/2 mv^2`

L'énergie d'un système sans échange avec l'extérieur étant constante, et ayant exhibé une composante de l'énergie qu'est l'énergie cinétique, il existe une seconde composante qui est son complémentaire par rapport à l'énergie totale de la particule, et que nous appellons energie potentielle `E_p`. Et l'énergie totale de la particule noté `E` est égale à leur somme :

`E = E_c + E_p`

L'énergie potentielle se calcule par ses variations qui traduise le travail de la force. Pour des forces centrales, le travail de la force au cours d'une excursion de la particule ne dépend que du point de départ et du point d'arrivé de la particule, et ceci quelque soit le chemin qu'elle a suivi, créant ainsi un champ potentiel lié à l'espace.

Le champ de force `f=zetax` étant particulièrement simple, l'intégration précédente se résoud directement :

`W = int_(xcolor(#006090)((0)))^(xcolor(#006090)((t))) fdx = int_(xcolor(#006090)((0)))^(xcolor(#006090)((t))) - zetaxdx = -zeta[x^2/2]_(xcolor(#006090)((0)))^(xcolor(#006090)((t)))`

`W = - 1/2zeta(xcolor(#006090)((t))^2 - xcolor(#006090)((0))^2)`

Et comme par principe cette énergie `W` est retirée à l'énergie potentielle `E_p` nous avons :

`W = -(E_p color(#006090)((t)) - E_p color(#006090)((0)))`

`E_p color(#006090)((t)) - 1/2 zetaxcolor(#006090)((t))^2 = E_p color(#006090)((0)) - 1/2zetaxcolor(#006090)((0))^2`

On en déduit la définition de l'énergie potentielle :

`E_p = 1/2 zetax^2`

Dans ce champ de force étudiée, le travail de la force ne dépend pas du chemin parcouru mais seulement du point de départ et du point d'arrivé. L'énergie totale est égale à :

`E= 1/2 (mv^2 + zetax^2)`

Le mouvement sinusoïdal possède une fréquence `k` et une amplitude `a` comme suit :

`k = sqrt(zeta/m)`

`a = sqrt(x^2 + m/zeta v^2)`

L'énergie `E` s'exprime en fonction de l'amplitude `a` comme suit :

`a = sqrt(x^2 + m/zeta v^2)`

`a^2= x^2 + m/zeta v^2`

`zeta a^2= zetax^2+mv^2`

`zeta a^2=mv^2 + zetax^2`

`1/2zeta a^2= 1/2(mv^2+zetax^2)`

`1/2zeta a^2= E`

Ainsi dans le cas d'une force attractive centrale linéaire, le mouvement est sinusoïdal et l'énergie est proportionnelle au carré de l'amplitude, et le facteur de proportionnalité vaut la moitier de la raideur de la force `zeta"/"2`.

12) Les nombres complexes

On considère un plan vectoriel comprenant un cercle trigonométrique, un axe central horizontal partant vers la droite, appelé axe des abscisses, et un axe central verticale partant vers le haut, appelé axe des ordonnées. Ce plan vectoriel s'identifie au corps des complexes, `CC`. L'axe des abscisses s'appelle l'axe des réels `RR`. L'axe des ordonnées s'appellent l'axe des imaginaires `iRR`. Un nombre complexe `z` représente un vecteur dans ce plan vectoriel. Son symétrique selon l'axe des réels s'appelle le conjugué de `z` et se note `barz`. Quelque soit un complexe `z` nous avons toujours :

`z+barz in RR`

`z-barz in iRR`

`|z| = sqrt(zbarz)`

Un nombre complexe `z` de partie réel `x` et de partie imaginaire `y` se note `z=x"+"iy`. Ce sont ses coordonnées cartésiennes :

`z=x+iy`

`x= "Re"(z) = (z+barz)/2`

`iy= i"Im"(z) = (z-barz)/2`

Un nombre complexe `z` de norme `r ` et d'argument `theta` se note `z = r e^(itheta)`. Ce sont ses coordonnées polaires :

`z = r e^(i theta) = |z|cos(theta)+i|z|sin(theta)`

`r = |z|`

`theta = "arg"(z)`

L'argument `theta"=arg"(z)` est exprimé en radian. Néanmoins on peut ne pas vouloir utiliser d'unité en radian qui est une façon impropre de masquer `pi`. C'est pourquoi on choisie un autre système d'unité dans lequel l'argument sera exprimé en tour et s'appellera une phase. Et on réserve la notation spécifique entre crochet pour cet usage :

`z=[r,varphi]=r e^(i2pi varphi) = rcos(2pivarphi)+irsin(2pivarphi)`

`r = |z|`

`varphi = ("arg"(z))/(2pi)`

Et nous avons la règle de produit suivante :

`[a,A][b,B] = [ab,A+B]`

` ae^(i2piA)be^(i2piB)= ab e^(i2pi(A+B))`

Et donc la multiplication de `z` par le complexe `[1,varphi]` (de norme `1` et de phase `varphi`) va augmenter sa phase de `varphi`. On remarque que la multiplication de `z` par le nombre imaginaire `i` va le faire tourner d'un quart de tour dans le sens trigonométrique c'est à dire va augmenter son argument de `pi"/"2` radian, c'est à dire va augmenter sa phase d'un quart de tour. Tandis que la multiplication de `z` par le nombre imaginaire `"-"i` (qui est aussi égale au nombre `1"/"i`) va le faire tourner d'un quart de tour dans le sens inverse c'est à dire dans le sens des aiguilles d'une montre.

`pi/2` rad    =    `1/4` tour

Le conjugué d'un complexe `z` s'obtient en inversant le signe de son argument :

`z=[|z|,"arg"(z)] = |z|e^("arg"(z))`

`barz = [|z|,"-arg"(z)] = |z|e^(-"arg"(z))`

`[r,varphi]=r e^(i2pi varphi)`

`bar("["r,varphi"]")=r e^(-i2pi varphi)`

La conjugaison `z|->barz` et la conjugaison inverse `z|->-barz` sont des automorphismes du corps des complexes :

`bar(z_1+z_2)=bar(z_1)+bar(z_2)`

`bar(z_1z_2)=bar(z_1)bar(z_2)`

Il existe un moyen simple d'engendrer un signal sinusoïdal en utilisant les nombres complexes. En faisant croître régulièrement l'argument d'un complexe `z`, on fait tourner dans le plan vectoriel et dans le sens trigonométrique le vecteur `z` avec une vitesse de rotation constante, on obtient un mouvement régulier le long d'un cercle de rayon `|z|`, et sa projection sur un axe central engendre un signal sinusoïdal.

Un signal sinusoïdal s'appel une sinusoïde. Un signal complexe désignant un vecteur tournant à vitesse angulaire constante dans le plan vectoriel s'appel un spino. Une dualité apparait entre la sinusoïde et le spino :

Cette propriété géométrique joue un rôle important d'autant plus que le plan sur lequel elle s'exerce constitue une structure de corps, celui des nombres complexes.

13) La sinusoïde `∿`

Une sinusoïde est un signal réel caractérisé par une amplitude `a`, une phase initiale `varphi` et une fréquence `omega`. Elle se définit avec ces seuls trois paramètres, ou ce qui revient au même avec deux paramètres `z, omega` `z` est le complexe caractéristique du signal `z = [a,varphi]`. Et on note le signal conventionnellement en le suffixant à l'aide du symbole `∿`, et indicé par la fréquence si on souhaite l'expliciter, comme suit :

`z∿_omega`

`[a,varphi]"∿"_omega` 

Si `omega` est préalablement fixé, alors on peut l'omettre dans ces expressions. Cette sinusoïde est une fonction de `t`. Par commodité on en fait une variable d'état. Et cela se déclare par le neurone suivant :

`z∿←t` 

`[a,varphi]"∿"← t` 

Cela définit un système de coordonnée par défaut `(t)`. Et cela nous permet par la suite d'omettre l'argument `(t)` dans les appels de cette fonction. Notez que ni `a`, ni `varphi`, ni `z`, ni `omega` ne varie selon `t`, seule la fonction sinusoïdale posée comme une variable d'état  `[a,varphi]"∿"` varie selon `t`. Par contre la phase instantanée du signal varie et est égale à `omega t "+" varphi`. Le signal sinusoïdal est défini à l'aide de cette variable d'état qui donne une valeur réel à chaque instant `t` comme suit :

`z∿ = |z| sin("arg"(z)"+"2pi omega t)`

`[a,varphi]"∿" = a sin(2pi(varphi"+"omega t))`

14) Le spino (positif `"⟲"`, négatif `"⟳"`)

Un spino est un signal complexe qui correspond à un nombre complexe `z=[a,A]` dont la phase instantanée `A` croit régulièrement d'une valeur `omega` par unité de temps, et on le note conventionnellement en le suffixant à l'aide du symbole `"⟲"` ou du symbole explicitant la fréquence `"⟲"_omega` comme suit :

`z"⟲"_omega`

`[a,varphi]"⟲"_omega`

`z` est le nombre complexe caractéristique du spino, c'est à dire sa valeur initiale, sa valeur à l'instant `t"="0`, et où `varphi` est la phase initiale du spino c'est à dire sa phase à l'instant `t"="0`. Et `omega` est la fréquence de rotation en tour par unité de temps. Si `omega` est préalablement fixé, alors on peut l'omettre dans ces expressions. Ce spino est une fonction de `t`. Par commodité, on lui assigne un système de coordonnée par défaut `(t)`, comme pour une variable d'état, afin de pouvoir omettre le paramètre `t` dans les appels de cette fonction. Cela se déclare par le neurone suivant :

`z"⟲"←"t` 

`[a,varphi]"⟲"←"t` 

Cela définit un système de coordonnée par défaut `(t)`, et cela nous permet par la suite d'omettre l'argument `(t)` dans les appels de cette fonction. Notez que ni `a`, ni `varphi`, ni `z`, ni `omega` ne varie selon `t`, seule la fonction spino posée comme une variable d'état `[a,varphi]"⟲"` varie selon `t`. Parcontre la phase instantanée du signal varie et est égale à `omega t "+" varphi`. Le spino est défini à l'aide de cette variable d'état qui donne une valeur complexe à chaque instant `t` comme suit :

`z"⟲" = z[1,omegat] = ze^(i2pi omega t)`

`[a,varphi]"⟲" = [a,varphi"+"omegat] = ae^(i2pi(varphi"+"omega t))`

 

`z"⟲" =  |z|cos("arg"(z)"+"2pi omega t)+i|z|sin("arg"(z)"+"2pi omega t)`

`[a,varphi]"⟲" =  acos(2pi(varphi"+"omega t))+iasin(2pi(varphi"+"omega t))`

Il y a deux sortes de spino dans le plan ; les spinos positifs qui tournent dans le sens trigonométrique, et les spinos négatifs qui tournent dans le sens inverse c'est à dire qui tournent dans le sens des aiguilles d'une montre. Et c'est le signe de la fréquence `omega` qui déterminera cela. Chaque spino est un signal complexe qui correspond à la rotation à vitesse angulaire constante d'un vecteur dans le plan vetoriel. Il est caractérisé par un complexe `z=[a,varphi]` qui est la valeur du spino à l'instant zéro, comprenant une amplitude `a` et une phase initiale `varphi`, phase à l'instant zéro. Et le spino a une fréquence de rotation munie d'un signe positif ou négatif `omega` qui indique le sens de rotation.

On utilisera comme suffixe deux symboles : `"⟲","⟳"`. Et dans le cas où `omega>0`, ces symboles mis en suffixe seront utilisés pour :

  1. `"⟲"` pour désigner un spino tournant dans le sens trigonométrique.
  2. `"⟳"` pour désigner un spino tournant dans le sens des aiguilles d'une montre.

Et nous avons :

`z"⟲"_omega = z"⟳"_(-omega)`

Le spino conjugué tourne dans le sens inverse :

`bar(z"⟲"_omega) = bar(z)"⟲"_(-omega) = bar(z)"⟳"_omega`

`bar(z"⟲") = bar(z)"⟳"`

L'opposé d'un spino tourne dans le même sens :

`-z"⟲" = ("-"z)"⟲"`

15) Dualité entre sinusoïde et spino

Nous avons :

`ze^(i k t) = |z|cos("arg"(z)"+"k t)+i|z|sin("arg"(z)"+"k t)`

`ze^(i k t) = |z|sin("arg"(z)"+"pi"/"2"+"k t)+i|z|sin("arg"(z)"+"k t)`

`z"⟲" =  (iz)"∿" + i(z∿)`

`z"⟲" =  "Re"(z"⟲") + i "Im"(z"⟲")`

Notez que `iz` est obtenu à partir de `z` en augmentant sa phase d'un quart de tour, c'est à dire en augmentant son argument de `pi"/"2`. La partie réelle et la partie imaginaire du spino sont des sinusoïdes :

`"Re"(z"⟲") = (iz)"∿"`

`"Im"(z"⟲") = z∿`

Et comme par définition nous avons pour tout complexe `z` :

`2"Re"(z) = z+bar(z)`

`2i"Im"(z) = z-bar(z)`

On en déduit les formules réciproques :

`2 (iz)"∿"  =  z"⟲"+bar(z"⟲")    =  z"⟲" + bar(z)"⟳"`

`2i(z∿)  =  z"⟲"- bar(z"⟲")   =  z"⟲" - bar(z)"⟳"`

De tout cela, on en déduit que :

  `[a,varphi]"⟲" =  [a,varphi"+"1"/"4]"∿"+ i [a,varphi]"∿"`  
  `[a,varphi]"∿" = [a"/"2,varphi"-"1"/"4]"⟲"+bar("["a"/"2,varphi"-"1"/"4"]")"⟳"`  

Une sinusoïde est un signal réel compliqué à appréhender, alors qu'un spino est un signal complexe conceptuellement plus simple. C'est un vecteur tournant dans le plan vectoriel avec une vitesse angulaire constante. C'est pourquoi le spino est considéré comme plus fondamental que la sinusoïde, et donc il décompose la sinusoïde :

Toute sinusoïde se décompose en la somme de deux spinos conjugués l'un de l'autre.

16) Résolution exacte par éléments finis

En utilisant les nombres complexes, l'algorithme de calcul par éléments finis de l'évolution d'un signal sinusoïdal devient exacte. L'algorithme consiste à chaque itération à ajouter à la phase `varphi` une même quantité `omega dt`. Le système discrétisé (système d'équations aux mailles) est alors le suivant :

`varphi"←"t`
`U"←"t` 
`dotU"←"t` 
`E"←"t`

Paramètres préalablement fixés : `omega, a, varphi_0`

`varphicolor(#006090)((0)) = varphi_0`    Phase initiale
`varphicolor(#006090)((t"+"dt)) = varphi +omega dt`
`U=a "Im"("["1,varphi"]")=asin(2pivarphi)`
`dotU=a "Re"("["1,varphi"]")=acos(2pivarphi)`
`E= k^2U^2+dotU^2 = a^2`
`k= 2pi omega`

Le signal sinusoïdal est entièrement défini par sa fréquence `omega`, et par deux paramètres que sont son amplitude `a` et sa phase initiale `varphi_0` formant le complexe `[alpha, varphi_0] = ae^(i2pivarphi_0)`. Le calcul procède à un échantillonnage de fréquence `1"/"dt`. Et donc `omega` doit être inférieur à `1"/"(2dt)` pour qu'il n'y ait aucune perte d'information causé par l'échantillonnage du signal.


Dominique Mabboux-Stromberg
 
Suivant