Cette opération mathématique est fondamentale à la RMN moderne. Elle consiste simplement à "peser" le poids relatif de chaque fréquence dans un signal temporel donné. C'est exactement l'opération que fait notre oreille, quand en entendant le son produit par un instrument de musique, nous percevons non pas la vibration produite (fonction du temps) mais bien une note (une fréquence).
Pour une fonction[2] temporelle à
valeurs complexes
on peut associer par la transformée de Fourier F[ ] une fonction
à valeurs complexes, que l'on appelle spectre de
et qui contient le poids de chacune des fréquences
dans la fonction initiale.
(eq 6)

Cette transformée de Fourier possède de nombreuses propriétés, ce qui explique son succès particulier en théorie du signal (et dans bien d'autres domaines d'ailleurs).
Les propriétés de l'intégration rendent cette transformation linéaire :
(eq 7)
un scalaire quelconque.
Tout d'abord, la transformation est inversible :
(eq 8)

La fonction initiale et sa transformée possède l'égalité suivante, appelée égalité de Parseval :
(eq 9)
Si la fonction
est dérivable, alors sa dérivée possède la
transformée de Fourier suivante :
(eq 10)
On appelle produit de convolution de deux fonctions g(t) et h(t) la fonction suivante :
(eq 11)
On a alors la relation suivante :
(eq 12)
En appliquant le théorème de la convolution, on voit qu'il est relativement facile de construire la transformée de Fourier d'une fonction donnée à partir d'un jeu restreint de paires de transformées connues. On a ainsi les relations suivantes, importantes pour la spectroscopie en général et la RMN en particulier.
La transformée de Fourier d'une fonction gaussienne centrée sur l'origine est une autre fonction gaussienne de largeur inversement proportionnelle, elle-même centrée sur l'origine.
La fonction lorentzienne de largeur à mi-hauteur A
et centrée sur l'origine est le résultat de la transformation de
Fourier d'une exponentielle décroissante avec une constante de temps
.
La transformée de Fourier de la fonction continue (g(t)
= 1 quel que soit t)[3] est la
fameuse fonction "impulsion de Dirac",
,
qui est nulle en dehors de l'origine et d'intégrale égale
à 1.
De même, la transformée d'une fréquence k complexe :
est la fonction de Dirac centrée en k :
.
La convolution par une fonction de Dirac
correspond à un décalage de la fonction d'un déplacement
k. Cela correspond donc à multiplier la fonction réciproque par
.
Toute mesure faite dans le domaine des temps (comme par exemple la
mesure d'un FID en RMN) a un début et une fin. En d'autres termes, le
signal véritable est multiplié par la fonction "porte" qui est
nulle partout sauf dans l'intervalle [0..1] où elle vaut 1. Le spectre
de la fonction mesurée est donc convolué par la
transformée de Fourier de la fonction porte qui est le sinus cardinal :
Pour finir, il est important de savoir que la transformée de Fourier d'une fonction paire (symétrique pour les temps positifs et négatifs) est purement réelle, alors que celle d'une fonction impaire est purement imaginaire. De même la transformée de Fourier d'une fonction d'une fonction purement réelle sera paire. Ceci nous rappelle que pour obtenir une discrimination du signe des fréquences dans le spectre, il faut avoir une détection complexe.
Toutes les considérations du paragraphe précédant concernent des fonctions mathématiques continues de R dans C. Bien évidemment, la transformée de Fourier telle qu'elle est utilisée dans un ordinateur possède une définition numérique différente de celle de l'équation eq 6.
La transformée de Fourier numérique (Digital Fourier Transform
(DFT) en anglais) possède la définition suivante: pour la
série
,
transformée de la série
on a
(eq 13)
est la racine complexe nième de l'unité :

La DFT possède des propriétés tout à fait
équivalentes à la transformée de Fourier
présentée plus haut. En particulier
* c'est une
opération linéaire, et à ce titre, l'opération peut
se représenter sous forme matricielle. l'élément de la
matrice de DFT étant
* la matrice est carrée, les vecteurs
et
sont de même longueur
* c'est une opération inversible, la
matrice inverse à pour éléments
.
Dans le cadre formel de la mesure, présenté par l'équation
eq 1, on peut voir la DFT comme la solution du maximum de vraisemblance, pour
une modélisation du système S sous la forme de n
oscillateurs harmoniques, placés de manière
régulière dans la fenêtre de fréquence
étudiée. Cependant, comme la DFT est une opération
inversible (il y a autant de quantités indépendantes dans le
système modélisé que dans le signal mesuré), la
solution de l'équation eq 2 est ici exacte, et on obtient
=0.
On voit donc que dans ce cas tout ce passe comme si le bruit de mesure
était nul!
Une des principale différence de la transformée de Fourier
numérique avec la définition continue vient du
phénomène d'échantillonnage lui même. Si le signal
temporel est échantillonné avec une période
,
son spectre présente la particularité d'être limité
à une bande de fréquence
,
c'est ce qu'on appelle la relation de Nyquist (cette relation est souvent
donnée avec un facteur 2 supplémentaire dans le cas d'un signal
temporel réel et non pas complexe comme ici).
Donc si des éléments du signal de fréquence
supérieure à
sont présents initialement dans le signal détecté
analogiquement, on les retrouvera repliés dans le spectre obtenu
après DFT du signal temporel échantillonné. C'est le
phénomène de repliement (aliasing en anglais).

où
est le temps total échantillonné dans le signal temporel.
L'opération de DFT, telle qu'elle présentée dans
l'équation eq 13 demande n opérations pour calculer la
valeur d'un des points du spectre, le temps de calcul complet du spectre doit
donc prendre de l'ordre de
,
c'est à dire un temps rapidement prohibitif pour les n grands.
Par chance il existe un algorithme extrêmement astucieux (l'algorithme du
papillon) qui permet de réduire l'ordre du temps de calcul à
nlog(n), c'est à dire un temps beaucoup plus court.
L'implémentation de cet algorithme ce fait dans la DFT rapide (Fast
Fourier transform : FFT en anglais). Cependant l'algorithme du papillon
nécessite que le nombre de points de la série des données
soit égal à une puissance de 2.
De même, si une série est purement réelle : n points réels = n éléments d'information seulement (au lieu de 2n pour une série complexe) le spectre produit possède une partie réelle paire et une partie imaginaire impaire (voir plus haut), donc aussi n éléments d'information; dans un tel cas il existe un algorithme rapide, permettant de réaliser l'opération en ne calculant que n points (gagnant ainsi un facteur 2 sur le temps de calcul), c'est la DFT réelle, appelée parfois RFT.
La transformée de Hilbert qui, je vous le rappelle relie les parties réelles et imaginaires d'un spectre obtenu à partir d'un signal causal (voir ci-dessus eq 5) peut facilement être implémenté à partir des DFT, en appliquant la séquence suivante :
(DFT directe) - (multiplication par i ) - (DFT inverse) (eq 14)
L'opération de DFT qui a été décrite se fait à nombre de point constant, il est possible d'obtenir plus de points dans le spectre final que dans le signal temporel initial et rajoutant des zéro à la fin de la série temporelle avant d'appliquer la DFT (c'est l'opération dite de zero-filling). L'effet sur le spectre est d'interpoler entre les points qui auraient été obtenus sans zero-filling (c'est l'interpolation de Shannon).
Il est à remarquer que, pour un signal temporel de n points complexes, la DFT sans zero-filling produit un spectre de n points complexes, desquels on ne visualise que la partie réelle. A partir de 2n éléments d'information (échantillon complexe), on ne garde que n éléments d'information dans le spectre visualisé. Ainsi on retrouve la règle bien connue, que de doubler par zero-filling le nombre de points, permet d'améliorer le spectre, mais que au-delà, le résultat n'est plus que "cosmétique".
Une autre façon de représenter cette règle est de se rappeler que les parties réelles et imaginaires du spectre peuvent être déduites l'une de l'autre par la transformée de Hilbert (eq 5). Pour qu'une telle dépendance soit introduite, il faut donc avoir deux fois plus de points que d'éléments d'information dans le signal temporel initial. C'est justement le rôle du zero-filling.
Par contre, le zero-filling, induit la présence d'une discontinuité au milieu du signal temporel (passage brutal à zéro), qui produit une convolution de chaque raie du spectre par la fonction sinus cardinal (transformée de Fourier de la fonction porte).
Il est souvent utile de préparer les données avant la transformée de Fourier. L'opération la plus courante consiste à multiplier le signal temporel par une fonction du temps. On nomme cette opération apodisation (a-podisation : retirer le pied). Le résultat dans le spectre sera bien sûr la convolution de toutes les raies par la transformée de Fourier de la fonction d'apodisation (là il s'agit d'un filtrage).
Un exemple très fréquent en RMN consiste à minimiser la discontinuité due au zero-filling en utilisant une fonction d'apodisation qui permette une continuité entre le signal et les zéros qui sont rajoutés. Continuité soit simple (ordre Co) (trapèze, arche de sinus, ...) soit d'ordre C1 (sinus carré,...)
Une règle générale pour l'apodisation (voir eq 10) est que les structures fines du signal sont surtout représentées dans la partie du signal loin du temps t=0, mais que c'est aussi là que le rapport signal/bruit est le plus défavorable (le bruit est stationnaire, le signal décroît). Un choix astucieux de la fonction d'apodisation permet d'augmenter le rapport signal/bruit apparent du spectre sans dégrader sensiblement la résolution.
De manière symétrique, les structures larges du spectre sont représentées dans le début du signal temporel, on peut donc, par une apodisation adéquate, supprimer des structures larges indésirables (ligne de base, "accoustic ringing", etc..)
Dans le cas particulier d'un signal composé de signaux possédants une décroissance déterminée (par exemple exponentielle ou gaussienne), on peut montrer que l'utilisation comme fonction d'apodisation de la fonction exacte de décroissance du signal, produit un spectre pour lequel l'équilibre rapport signal/bruit résolution est a une sorte d'optimum. C'est ce qu'on appelle en électronique "le filtrage adapté".
On a vu que la multiplication des données temporelles par une
fonction particulière produit une convolution de toutes les raies dans
spectre de Fourier. Ainsi si le FID est multiplié (apodisé) par
exponentielle décroissante d'amortissement a, alors toutes les
raies du spectre seront élargies (convoluées) d'une largeur
.
Symétriquement, il peut-être tentant de vouloir multiplier le
spectre par une exponentielle croissante pour retirer dans le spectre un
certain élargissement que l'on sait être présent. Cette
approche s'appelle la déconvolution. Malheureusement elle est totalement
instable numériquement, et revient à accroître le bruit de
manière inacceptable. Il est possible, par contre, d'adjoindre à
la fonction de déconvolution croissante, une fonction
décroissante de forme différente qui tempérera la
croissance du bruit tout en conservant une certaine augmentation de
résolution. Par exemple si on utilise une fonction gaussienne pour
stabiliser l'exponentielle croissante, on réalise un filtrage gaussien
tout à fait classique.
Il est aussi possible d'extraire une raie de référence dans le spectre à l'étude, de l'isoler et d'en faire sa transformée de Fourier inverse, et d'en déduire, à partir de l'enveloppe du résultat de la transformée de Fourier inverse un fonction de déconvolution qui permettra de corriger les imperfections expérimentale. On appelle cela, la déconvolution par référence. Cette technique a été utilisée par exemple pour retirer d'un spectre 1D des formes de raies erronées dues à un mauvais "shim". Elle a aussi été utilisée pour compenser les faibles irrégularités de phase au cours de l'acquisition d'une 2D, pour en retirer tout trace de bruit t1 (Gibbs et al., 1993).
Les signaux RMN sont souvent multidimensionnels, quand on fait une expérience de 2D ou de 3D, il faut bien sûr appliquer une transformée de Fourier à 2 ou 3 dimensions.
Mathématiquement, la transformée de Fourier se
généralise très naturellement au fonctions de plusieurs
variables de
dans
(ici, un exemple en 2D):
(eq 15)
(eq 16)
On voit sur ces définitions que la transformée de Fourier multidimensionnelle peut facilement se calculer comme la composition successive de plusieurs transformées de Fourier le long de chacun des axes temporels.
(eq 17)
Cependant, la transformée de Fourier multidimensionnelle telle qu'elle est définie en eq 15 ou en eq 16 est rarement utilisée en RMN. En effet les quantités qui sont naturellement manipulées en RMN multidimensionnelle ne sont pas complexes, mais hypercomplexes. En effet, le protocole expérimental, permet de mesurer le signal 2D modulé soit par le sinus soit par le cosinus des fréquence caractéristiques de la modulation. Cette distinction de phase est strictement indépendante de la détection complexe sinus, cosinus faite au moment de l'acquisition du FID. Nous avons vu plus haut que pour le signe des fréquences détectées, il fallait mesurer un signal complexe. Or ici la détermination des signes des fréquences (les phases) se fait de manière indépendante sur les 2 axes spectraux, on représente cela mathématiquement en utilisant 2 racines de -1 indépendantes pour chacun des axes : i et j, avec les règles de calcul suivantes :
(eq 18)
Ces 2 racines de -1 se retrouvent comme base dans la définition de la transformée de Fourier 2D hypercomplexe :
(eq 19)
Cette représentation des données sous forme complexe ou hypercomplexe se retrouve directement dans les différents mode d'acquisition possible en 2D. Ainsi une modulation en amplitude, éventuellement par le protocole States-Haberkorn, correspond à la mesure directe des 4 termes de la quantité hypercomplexe. Un mesure modulation de phase, revient à faire i=j (la phase le long d'un axe est codée (de même nature) que la phase le long de l'autre axe). On retrouve alors très naturellement qu'un signal modulé en phase (et donc transformée de Fourier par la forme en eq 15) présente des raie en phase-twist.
En effet si l'on représente une raie par la forme synthétique
où
A et la forme de raie en absorption et D la forme de raie en dispersion, on
obtient :
(eq 20)
)
dans la partie doublement réelle du spectre. Alors que faire i=j
dans équation, produirait
(eq 21)
).
[3] Il est clair que pour cette fonction, ainsi que les fonctions trigonométriques du paragraphe suivant, l'intégrale définie par eq 6 diverge. Voir à ce propos la note numéro 2.