# Traitement numérique du signal

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 (des ordinateurs ou des circuits dédiés).
Ces machines numériques donnent accès à des algorithmes puissants, tel 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.

## Avantages du traitement numérique

En comparaison du traitement du signal analogique, le traitement numérique présente un certain nombre d'avantages :

### Immunité partielle au bruit

    un signal codé numériquement n'est pas bruité tant qu'on n'effectue pas de calculs ou tant que ceux-ci sont réalisés avec une précision arbitrairement grande. On peut donc mettre en cascade un grand nombre d'opérations. Néanmoins l'échantillonnage et les erreurs d’arrondi après les calculs sont malgré tout susceptibles de donner naissance à du bruit d'échantillonnage.

### Souplesse

    un traitement numérique est facilement ajustable ou 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 nécessairement plus lent, plus consommateur et plus gourmand en ressources matérielles que l'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 recours au traitement numérique d'un signal pendant sa transmission, dans un vaste domaine d'applications, qui s'effectuent jusqu'à des fréquences élevées de plus de 500 MHz.

## Spécificités analytiques du traitement numérique

Alors qu’un signal analogique peut être représenté mathématiquement par une fonction continue d’une variable continue (par exemple, modélisation d'une tension électrique 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. Citons :
* la transformée en Z — l’équivalent discret de la transformée de Laplace en domaine continu. Un cas particulier en est la transformée de Fourier d’un signal discret ;
* la transformée de Fourier discrète (TFD) — elle a de nombreuses applications en analyse spectrale et en filtrage, du fait de l’existence d’algorithmes de calcul rapide regroupés sous le vocable de transformée de Fourier rapide.

## Conversion analogique-numérique

Puisque les signaux naturels sont presque tous des signaux continus et que les circuits numériques ne manipulent que des données discrètes, il faut d'abord transformer ces signaux avant de pouvoir leur appliquer un traitement numérique. Cette transformation s'appelle la numérisation (parfois incorrectement appelée digitalisation); elle est réalisée par un convertisseur analogique-numérique. Cette opération comprend 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.

## Théorème de Shannon-Nyquist

L'échantillonnage transforme un signal continu S(t) en un signal discret S$_i$, composé de plusieurs mesures du signal continu, relevées à des instants successifs séparés par un pas temporel constant. Ainsi : S$_i$ = S(i • T$_e$) où T$_e$ la période d’échantillonnage. F$_e$ = 1/T$_e$ 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 à F$_e$/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) :
$S(t)=\sum _{i}S_{i}\cdot \operatorname {sinc} \left(\pi \left({\frac {t}{T_{e}}}-i\right)\right)$
De façon à éviter les artéfacts de « repliements de spectre », il est nécessaire d'éliminer les composantes fréquentielles au-delà de F$_e$/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é).

## 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 exclusivement que des valeurs de x(i) pour i < n, c’est-à-dire des valeurs antérieures. C'est le cas de tous les systèmes réels, qui ne peuvent pas anticiper les valeurs futures. Toutefois, grâce à la mémorisation des signaux rendue possible par la numérisation, on peut réaliser des réponses impulsionnelles d'apparence non-causale.
Un filtre linéaire et invariant est caractérisé par sa réponse impulsionnelle, ie. 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 impulsionnelle finie (RIF) ou infinie (RII). La sortie d’un filtre est la convolution de l’entrée par la réponse impulsionnelle. Cette convolution donne un algorithme de calcul d’un filtre RIF. Cette convolution peut être également calculée par transformée de Fourier rapide. Pour réaliser des filtres de type RII, on utilise des techniques récursives (la sortie du filtre dépend des échantillons de sortie précédents).
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'est-à-dire la transformée en Z pour z = e$^{j2πλ}$ — de la réponse impulsionnelle est la « réponse en fréquence » du filtre : elle permet de passer dans un domaine spectral. λ est la fréquence réduite : λ = F/F$_e$.
Le calcul des coefficients d’un filtre pour obtenir une réponse en fréquence spécifiée est appelé « synthèse du filtre. »

## Spectre unilatéral

Tout signal périodique de période T$_0$ = 1/F$_0$ se décompose en série de Fourier :
    $S(t)=A_{0}+\sum _{n=1}^{\infty }A_{n}\cos(2\pi \cdot n\cdot F_{0}\cdot t)+i\sum _{n=1}^{\infty }B_{n}\sin(2\pi \cdot n\cdot F_{0}\cdot t),$
ce qui permet d'obtenir directement le spectre discret du signal.

## 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ée : le signal doit donc souvent être tronqué, ce qui entraîne l’apparition d’ondulations parasites sur le spectre — elles peuvent être atténuées par les techniques d'apodisation. D’autre part, parce que 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 transformée de Fourier rapide (FFT pour Fast Fourier Transform en anglais). 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 N$^2$ à N log$_2$(N), N étant le nombre de points d'acquisition composant le tableau de valeurs.

## 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 spécialisés sont utilisés (DSP). Pour plus de rapidité, des fonctions spécifiques sont réalisées directement sous la forme de circuits intégrés (ASIC) ou implantées sur des composants en logique programmable (FPGA).

## Signal causal

Un signal causal est nul jusqu'à un certain temps, souvent fixé à 0 :
    $s(t)=0~{\textrm {pour}}\ t<0$
Un signal est dit causal si ce signal est nul quand t < 0.
Par opposition, un signal non-causal est défini sur l'ensemble des réels : le signal existe même pour t < 0.