Construire et analyser un signal avec Fourier

Les séries de Fourier sont nées de la physique, plus précisément de l'étude de la propagation de la chaleur. Joseph Fourier, à travers ces outils et leur extension, la transformée de Fourier, a doté les physiciens d'un des arsenaux mathématiques les plus importants pour leurs travaux. Chaque étudiant en physique et chaque élève ingénieur va passer des heures et des heures à les étudier.
Il n'est pas question ici de rentrer dans les détails mathématiques de ces outils mais plutôt d'aborder de manière simple leur utilisation et de tenter d'en donner une compréhension intuitive.

Le principe de superposition

Linéarité et superposition

L'analyse de Fourier est entièrement basée sur la possibilité de superposer plusieurs fonctions sinusoïdales pour produire une onde plus complexe. Nous avons déjà abordé ce sujet dans la page consacrée aux rappels sur les ondes. Rappelons de quoi il s'agit.

L'équation d'onde de d'Alembert, équation différentielle qui régit la propagation des ondes mécaniques et électromagnétiques, est une équation linéaire. Cela signifie, entre autre, que si s1 et s2 sont deux solutions de cette équation, leur combinaison linéaire αs1 + βs2 est aussi une solution de l'équation. Il en découle immédiatement que la somme de plusieurs ondes est une onde.

Un exemple

Plutôt qu'un long discours, je vous propose un petit programme qui illustre la superposition de plusieurs ondes. C'est le programme Maple Ondes1.mpl, qui visualise 2 ondes de pulsation différente ainsi que leur somme. Vous pouvez bien sur le modifier pour changer les pulsations ou encore ajouter une ou plusieurs ondes. Voilà un exemple d'exécution:

Superposition d'ondes

Les deux ondes sont en rouge et bleu. La somme des deux ondes est en vert. Je vous laisse analyser ce graphique, en particulier l'amplitude de l'onde verte et sa période...

La notion de signal

La notion de signal est maintenant abordée en TS. Mon livre de physique de TS (le "Sirius" de Nathan) définit le signal comme une grandeur physique (par exemple tension électrique, champ électromagnétique) qui transmet de l'information. Il précise qu'un signal peut être analogique (variation continue) ou numérique (variation discrète).
Complétons un peu cette définition. Un signal est le résultat de la mesure d'un phénomène physique. Il dépend de quantités comme le temps, l'espace ou la fréquence, pour ne citer que les variables les plus courantes. Pour que ce signal puisse être traité et compris par l'observateur, il est la plupart du temps transformé en signal électrique, c'est à dire une variation continue de tension (ou de courant). Et pour être traité par un ordinateur, il doit être de surcroit transformé en signal numérique, c'est à dire discrétisé et quantifié. Ce qui introduit une nouvelle notion, celle d'échantillonnage, abordée elle aussi en cours de TS. L'ensemble de ces traitements forment ce qu'on appelle en physique la chaine d'acquisition d'un signal, que l'on peut résumer sous la forme:
GRANDEUR PHYSIQUE  ->  [capteur] ->  GRANDEUR ELECTRIQUE  ->  [Echantillonneur]  -> SIGNAL NUMERIQUE
Ce signal peut être périodique, ce qui nous facilite la vie ou bien non périodique. Dans ce dernier cas, on tentera par divers artifices de le rendre périodique.

Il reste maintenant à modéliser ce signal numérique, c'est à dire à trouver la fonction mathématique qui décrira le mieux le signal numérique, et donc, aux erreurs de traitement près, l'évolution de la grandeur physique, ce qui est quand même la préoccupation essentielle du physicien. Parce que bien sur, tous les traitements (acquisition, amplification, échantillonnage, quantification, transport, etc.) que subit le signal introduisent des erreurs...

Cette démarche est très courante et vous l'avez déjà pratiqué! Lorsque vous visualisez à l'aide d'un oscilloscope numérique la forme d'un courant électrique provenant d'une prise, vous avez capté la grandeur physique (la tension), l'oscillo l'a échantillonné et visualisé et vous avez modélisé la forme de la courbe avec une fonction sinusoïdale, parce que la variation de cette fonction correspond à ce que vous voyez !

Ce n'est pas toujours aussi simple et la forme d'un signal peut être complexe. C'est pour résoudre le problème de la modélisation d'un signal complexe (au sens compliqué) que l'on utilise l'analyse de Fourier et sa petite soeur la transformée de Fourier.

Les mathématiques...

Le théorème de Fourier

Enonçons brutalement ce théorème, qu'il n'est pas question de démontrer ici: soit f(x) une fonction réelle (ou complexe) d'une variable réelle x, fonction 2π-périodique, présentant sur l'intervalle [-π, π] un nombre fini de discontinuités et d'extrema, et telle que \(\int_{-\pi}^{+\pi}|f(x)|dx\) ait une valeur finie. Alors, on peut décomposer f(x) en série de Fourier, c'est à dire écrire f(x) sous la forme:

\begin{align} f(x) = \dfrac{a_0}{2} + \sum_{n=-1}^{+\infty}(a_n\cos(nx) + b_n\sin(nx)) \end{align}

avec \( a_n = \dfrac{1}{\pi}\int_{-\pi}^{+\pi}f(x)\cos(nx)dx\) et \( b_n = \dfrac{1}{\pi}\int_{-\pi}^{+\pi}f(x)\sin(nx)dx\)
ou encore, sous forme complexe:

\begin{align} f(x) = \sum_{n=-\infty}^{+\infty}c_n\exp(inx)     avec   c_n = \dfrac{1}{2\pi}\int_{-\pi}^{+\pi}f(x)\exp(-inx)dx \end{align}

Notons, ce qui nous servira plus loin, que l'on peut exprimer cn en fonction de an et bn. En appliquant la formule d'Euler qui exprime la relation entre une exponentielle complexe et les sinus et cosinus, nous obtenons cn = (an - ibn)/2.

On peut généraliser cette décomposition aux fonctions T-périodiques, avec T = 2π/ω, ce qui nous donne en posant x = ωt :

\begin{align} f(t) = \dfrac{a_0}{2} + \sum_{n=-1}^{+\infty}(a_n\cos(n\omega t) + b_n\sin(n\omega t)) \end{align}

avec \( a_n = \dfrac{2}{T}\int_{-\dfrac{T}{2}}^{+\dfrac{T}{2}}f(t)\cos(n\omega t)dt\) et \( b_n = \dfrac{2}{T}\int_{-\dfrac{T}{2}}^{+\dfrac{T}{2}}f(t)\sin(n\omega t)dt\)

Ces formules nous permettent donc théoriquement de transformer n'importe quel signal T-périodique en une somme de sinus et de cosinus, ou mieux car plus maniables, en une somme d'exponentielles complexes. Pour opérer la même transformation sur un signal non périodique, on utilise un outil mathématique extrémement puissant que l'on nomme transformée de Fourier. Il en existe de nombreuses implémentations numériques, dont la célébre FFT.

Le théorème de Parseval

Le théorème de Parseval établit une relation entre la valeur moyenne du carré du module d'une fonction périodique et les coefficients de la série de Fourier décrivant la fonction. En physique, il exprime donc la façon dont l'énergie du phénomène périodique se répartit selon les différentes harmoniques de la fonction.
Il s'établit ainsi, en adoptant la forme complexe de la série de Fourier:

\begin{align} \dfrac{1}{2\pi}\int_{-\pi}^{+\pi}|f(x)|^2dx = \sum_{n=-\infty}^{+\infty}|c_n|^2 \end{align}

Quelques définitions

Fréquence

Soit T la période de la fonction f(t) T-périodique, avec T = 2π/ω. On appelle ν = 1/T la fréquence fondamentale de f(t). Les multiples de ν sont appelés les harmoniques de f(t).

Spectres

Considérons la fonction f(t) , T-périodique développée en série de Fourier complexe:

\begin{align} f(t) = \sum_{n=-\infty}^{+\infty}c_n\exp(in \omega t) \end{align}

On appelle spectre de la fonction f(t) l'ensemble des (nν, cn). On distingue :

Construire un signal

Des créneaux

Avant d'étudier la décomposition d'un signal périodique en somme de sinusoïdes, nous allons nous amuser à tenter de reconstituer un signal en appliquant le principe de superposition décrit plus haut. Cela revient à tenter de reconstituer le signal en sommant des ondes de fréquences différentes.

Je vous propose de faire l'exercice sur un signal appelé créneau. Il est décrit par la fonction f(t) définie par  f(t) = 1 si  0 <=  t < π et f(t) = -1 si π <=  t < 2π. Je vais donc vous proposer un programme Maple, qui trace des créneaux puis qui va superposer une somme des sinusoïdes, en plus ou moins grand nombre, pour vérifier visuellement le principe de synthèse d'un signal.

Construction d'un créneau

Voilà la forme de la courbe en créneaux, telle que la produit le programme Maple SyntheseFourier:

fonction creneaux

Synthèse par sommes de sinusoïdes

Il s'agit d'essayer de reconstruire la fonction créneaux avec une somme de sinusoïdes bien choisies. Commençons par trouver une sinusoïde de même période que la fonction f(t).

fonction creneaux

Elle apparaît en bleu, superposée à f(t). Il s'agit de la fonction (4/π)sin(t). On constate que les deux fonctions ont la même période mais une amplitude différente.
Essayons d'améliorer ce résultat:

fonction creneaux

La fonction tracée en vert est f(t) = (4/π)(sin(t) + sin(3t)/3). Vous notez que sa forme se rapproche déjà plus de la forme du créneau. Continuons l'exercice:

fonction creneaux

La fonction tracée en rouge est f(t) = (4/π)(sin(t) + sin(3t)/3 + sin(5t)/5). Il y a encore une petite amélioration... Poussons maintenant l'exercie plus loin en tracant la courbe avec un nombre plus grand de sinusoïdes, 10 par exemple, et voyons ce que cela donne:

fonction creneaux

Donc, la fonction tracée est f(t) = f(t) = (4/π)(sin(t) + sin(3t)/3 + sin(5t)/5 + .. + sin(19t)/19).  Son graphe se rapproche beaucoup de celui de la fonction créneau, n'est-ce pas ! En augmentant le nombre de termes, on s'en rapprochera de plus en plus ...
Mais me direz-vous, pourquoi avoir choisi ces termes en particulier ? Parce que j'ai un peu triché et que j'ai calculé la décomposition de Fourier avant pour connaitre les termes à utiliser !

Ce n'est qu'un exemple simple de ce que l'on peut faire en synthèse de signal en utilisant les séries de Fourier. Il est bien sur possible de produire d'autres signaux, comme une dent de scie, des escaliers et que sais-je encore !

Décomposer un signal en sinusoïdes

Voyons maintenant comment décomposer un signal en sinusoïdes, c'est à dire comment calculer les coefficients de la série de Fourier associée à la fonction f(t) qui définit le signal. Il n'est bien sur pas question de les calculer à la main, nous allons nous aider de Maple, avec le programme AnalyseFourier. Voilà la série qu'il propose pour un développement de la fonction créneau à l'ordre 19:

4*sin(t)/Pi+(4/3)*sin(3*t)/Pi+(4/5)*sin(5*t)/Pi+(4/7)*sin(7*t)/Pi+(4/9)*sin(9*t)/Pi+(4/11)*sin(11*t)/Pi+(4/13)*sin(13*t)/Pi+(4/15)*sin(15*t)/Pi+(4/17)*sin(17*t)/Pi+(4/19)*sin(19*t)/Pi

Cela vous rappelle sans doute quelque chose...

Il est donc possible de décomposer n'importe quel signal périodique en une somme de sinus (ou d'exponentielles complexes), avec une précision arbitraire. Cette possibilité est largement utilisée en traitement du signal et dans certains appareils courants de traitement du son: un equalizer par exemple !

L'analyse spectrale

L'analyse spectrale fait son apparition dans le programme de TS, ce qui est une excellente chose ! En effet, c'est un des outils les plus répandus dans la "boite à outils" des physiciens. Dans le programme, il s'agit d'aborder la décomposition d'un son complexe en sons purs (superposition de sinusoïdes). Nous avons vu ce point ci-dessus. mais le programme mentionne aussi le spectre d'un signal. Il aborde la notion de spectre d'amplitude en présentant l'amplitude des différentes harmoniques d'un signal. Une anecdote : dans le "Sirius", il est question dans le texte d'un diagramme en batons (forme assez traditionnelle de présentation d'un spectre, que je vais présenter ci-dessous) alors que la figure proposée est un spectre continu, tel que le présente d'habitude un analyseur de spectres.

J'ai donc adapté mon programme AnalyseFourier afin qu'il produise le spectre d'amplitude et de puissance du signal créneau.

Spectre d'amplitude

Le spectre d'amplitude représente sous forme d'un batonnet, l'amplitude de chaque harmonique du signal. Ici, j'ai calculé et visualisé le spectre du créneau que nous avons traité dans les paragraphes ci-dessus, pour les harmoniques jusqu'au rang 19.

Comment est-il calculé ? Tout simplement en calculant le module des coefficients cn de la décomposition par l'analyse de Fourier. Pour rappel, cn est un nombre complexe égal à an - i*bn, et donc |cn| = sqrt(an2 + bn2).

spectre d'amplitude

On peut noter plusieurs points:

Spectre de puissance

Le spectre de puissance donne une indication sur la répartition de l'énergie transportée par le signal en fonction de l'harmonique. Il s'obtient en calculant le carré du module de cn pour chaque harmonique.

spectre d'amplitude

On remarque qu'une partie écrasante de l'énergie est transportée par la fondamentale. Les autres harmoniques contribuent de manière négligeable, sauf la seconde harmonique (ici celle de rang 3).

Les spectres sont des outils très puissants dans la conception et l'analyse des systèmes de traitement du signal. Il existe des appareils électroniques perfectionnés qui fournissent en temps réel le spectre d'un signal (amplitude, phase ou puissance).


Contenu et design par Dominique Lefebvre - tangenteX.com février 2013   Licence Creative Commons   Contact : PhysiqueX ou

Cette œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Pas de Modification 3.0 France.