Traitement numérique du signal
Un article de Wikipédia, l'encyclopédie libre.
Le traitement numérique du signal étudie les techniques de traitement (filtrage, compression, etc), d'analyse et d'interprétation des signaux numérisés. À la différence du traitement des signaux [analogiques] qui est réalisé par des dispositifs en électronique analogique, le traitement des signaux numériques est réalisé par des machines numériques comme des ordinateurs. Ces machines numériques donnent accès à des algorithmes plus puissants comme le calcul de la transformée de Fourier. Les signaux naturels n’étant généralement pas numériques, il faut les numériser par un convertisseur analogique-numérique.
Sommaire |
[modifier] Avantages du traitement numérique
En comparaison du traitement du signal analogique, le traitement numérique présente un certain nombre d'avantages :
- Immunité au bruit : un signal codé numériquement n'est pas bruité lors de son traitement. On peut donc réaliser des calculs de précision arbitraire et mettre en cascade un grand nombre d'opérations.
- Souplesse : un traitement numérique est facilement ajustable ou re-paramétrable en cours de fonctionnement. Le traitement peut même s'adapter de lui même à la situation (évolution du signal d'entrée au cours du temps). L’aptitude des machines numériques à enchaîner des séquences d’opérations facilite également la réalisation d’algorithmes de traitement complexes. Un exemple important est la transformée de Fourier.
- Mémorisation : la facilité de mettre un signal en mémoire permet de réaliser des retards facilement et donc une grande variété de filtres ou des opérations de corrélation. On a également accès par ce biais à des traitements itératifs, fonctionnant par raffinements successifs, ce qui ouvre considérablement les possibilités.
Ces avantages sont tempérés par quelques limites :
- La numérisation en elle-même peut dégrader le signal, du fait d'une quantification ou d'un échantillonnage insuffisants. De plus, les calculs numériques ne sont pas exempts d'erreurs, du fait des arrondis. Les calculs effectués en virgule fixe sont particulièrement vulnérables à ces problèmes.
- Le traitement numérique est en général plus lent, plus consommateur et plus gourmant en ressources matérielles qu'une approche analogique. Cependant, les progrès de la microélectronique réduisent de plus en plus l'impact de ces défauts et autorisent le développement du traitement numérique temps réel sur un vaste domaine d'applications, s'étendant jusque à des fréquences élévés (>100 MHz).
[modifier] Spécificité traitement numérique
Alors qu’un signal analogique est représentable mathématiquement par une fonction continue d’une variables continue (typiquement une tension variable au cours du temps), un signal numérique est une suite de nombres. Il faut donc des outils mathématiques différents pour les manipuler.
- Transformée en Z : l’équivalent discret de la transformée de Laplace. Un cas particulier en est la transformée de Fourier d’un signal discret.
- Transformée de Fourier Discrète(TFD) : nombreuses applications en analyses spectrale et filtrage en raison de l’existence d’un algorithme de calcul rapide (FFT = Fast Fourier Transform)
[modifier] Conversion analogique-numérique
Puisque les signaux naturels sont presque tous des signaux continus, il faut les transformer pour les numériser. Cette transformation est réalisée par un composant convertisseur analogique numérique. Cette opération peut se décomposer en deux actions :
- l’échantillonnage qui transforme le signal à support continu en un signal à support discret (une suite de valeurs)
- la quantification qui remplace les valeurs continues par des valeurs discrètes (nombres entiers).
[modifier] Echantillonnage - Théorème de Shannon-Nyquist
L’échantillonnage transforme une signal continu en un signal discret composé des mesures du signal continu à des instants successifs également espacés : où Te est la période d’échantillonnage. Fe = 1 / Te est la fréquence d’échantillonnage. D’après le théorème d'échantillonnage de Nyquist-Shannon, un signal dont les composantes fréquentielles sont inférieures à Fe / 2 est échantillonné de façon réversible : il est possible de reconstituer le signal continu à partir des valeurs discrètes. La fonction interpolante utilisée à cette fin est le sinus cardinal (noté sinc):
De manière à éviter les artefacts appelés repliements de spectre, il est nécessaire d'éliminer les composantes fréquentielles au delà de Fe / 2. Cela est réalisé par un filtre (analogique) appelé filtre anticrènelage, possédant en général une coupure raide (d'ordre élevé).
[modifier] Filtrage linéaire
Un filtre calcule un signal discret y(n) à partir d’un signal discret x(n). Chaque échantillon de y(n) est une combinaison linéaire d’échantillons de x(n). Un filtre est dit causal si l’échantillon y(n) ne dépend que des valeurs de x(i) pour i < n. Cela est nécessairement le cas en fonctionnement temps réel puisque seules les valeurs passées sont connues.
Un filtre linéaire est caractérisé par sa réponse impulsionnelle, c.a.d. la réponse à une entrée ne comportant qu’une valeur non nulle. La nature de cette réponse caractérise le filtre qui peut être à réponse impulsionelle finie (RIF) ou infinie (RII). La sortie d’un filtre est la convolution de l’entrée par la réponse impulsionelle. Cette convolution donne un algorithme de calcul d’un filtre RIF. Cette convolution peut être également calculée par TFD rapide (FFT).
La Transformée en Z de la réponse impulsionnelle est la fonction de transfert du filtre. Sa factorisation permet de décrire un filtrage par une équation aux différences discrètes. La transformée de Fourier (c.a.d la Transformée en Z pour ) de la réponse impulsionnelle est la réponse en fréquence du filtre. λ est la fréquence réduite : λ = F / Fe. Le calcul des coefficients d’un filtre pour obtenir une réponse en fréquence spécifiée est appelé « synthèse du filtre ».
[modifier] Analyse spectrale
La transformée de Fourier discrète (TFD) est utilisée pour calculer numériquement le spectre d'un signal, c'est à dire sa représentation fréquentielle. L’utilisation de cette TFD nécessite cependant quelques précautions. D’une part parce qu’elle n’est applicable que sur un signal de durée limité : le signal doit donc souvent être tronqué. Ceci entraine l’apparition d’ondulations parasites sur le spectre qui peuvent être atténuées par les techniques d'apodisation. D’autre part, le spectre obtenu est lui-aussi échantillonné, ce qui rend son interprétation plus difficile. Une interpolation de ce spectre peut être souhaitable.
En pratique, on utilise pour réaliser la transformée de Fourier discrète un algorithme connu sous le nom de FFT (Fast Fourier Transform pour transformée de Fourier rapide). Il consiste à ordonner astucieusement les calculs de manière à réduire le nombre total de multiplications nécessaires. La complexité de l'algorithme passe alors de N2 à N.log2(N) (N étant le nombre d'éléments du tableau).
[modifier] Mise en œuvre
Le traitement de signaux déjà numérisés peut se faire sur des ordinateurs d’usage général. Dans les applications de traitement en temps réel, des microprocesseurs sont utilisés et particulièrement des microprocesseurs spécialisés pour le traitement du signal (DSP). Pour plus de rapidité, des fonctions spécifiques sont réalisées en circuits intégrés (ASIC) ou implantées sur des composants en logique programmable (FPGA).
[modifier] Bibliographie en français
- Maurice Bellanger : Traitement numérique du signal. Masson, Paris
- Murat Kunt , Techniques Modernes de Traitement numérique des Signaux, Presse Polytechniques et Universitaires Romandes, Lausanne, 1991.
- A.W.M. Van Den Enden, N.A.M. Verhoeckx, "Traitement Numérique du Signal : une introduction", Masson, Paris, 1992
- R. Boite, H. Leich, Les Filtres Numériques Analyse et Synthèse des filtres unidimensionnels, Collection CNET-ENST Masson