Logiciels libres et transformée de Fourier (TFD et FFT)

Un exemple parmi d’autres de réalisation d’une transformée de Fourier à l’aide de logiciels libres.

La procédure se déroule en trois étapes :

– acquisition du signal – transformation du fichier .ogg en un fichier texte .dat – génération du spectre et de son graphe

Les outils utilisés sont :

– audacity pour l’acquisition – sox pour la conversion .ogg -> .dat – kate pour le nettoyage du fichier .dat – grace pour la transformée et le graphe.

Audacity est très simple à utiliser. Il suffit d’enregistrer le son provenant du micro en appuyant sur le bouton d’enregistrement. Une fois l’enregistrement fait, il faut l’exporter par

“Fichier”->“Exporter comme ogg vorbis”.

Pour pouvoir importer les données de l’enregistrement dans grace, il faut convertir le fichier .ogg obtenu au moyen de la commande :

sox nom_du_fichier.ogg nom_du_fichier.dat

(en étant dans le répertoire qui contient le fichier en question bien évidemment). Cela fait, le fichier .dat produit contient une première ligne comme : ; “Sample Rate 96000” qui ne fait pas partie des données à traiter et qu’il faut donc éliminer (sous kate par exemple). Ensuite, tout dépend de la transformée de Fourier qu’on désire réaliser. Si on veut une transformée de Fourier discrète (TFD), on peut en rester là et passer à l‘étape de traitement sous grace. Par contre, si on veut la transformée de Fourier rapide (FFT), il est nécessaire que le nombre de données soit une puissance de deux. Il faut donc soit supprimer des données, soit rajouter des lignes de zéros, pour y parvenir. Le nombre de données à traiter étant généralement assez important, il faut parfois attendre quelques secondes pour que les modifications soient prises en compte.

Enfin, vient le traitement sous grace. Il faut d’abord importer les données du fichier .dat par

“Data” -> “Import” -> “Ascii”

Puis dans la fenêtre qui s’ouvre aller chercher le fichier .dat via l’explorateur, sélectionner les données à lire dans le graphe, charger comme “single set” sous type “XY” avec une source de données provenant du “Disk”.
Ensuite, il faut effectuer la transformée par

“Data” -> “Transformations” -> “Fourier transforms …”

Dans la fenêtre qui s’ouvre, il faut sélectionner les données désirées pour la transformation, choisir le fenêtrage (blackman donne des pics clairs) de la transformation, la fréquence sur l’axe x, … puis demander la transformée de Fourier voulue (TFD : transformée de Fourier discrète, FFT : transformée de Fourier rapide).
Elle apparaît alors en superposition des donnée temporelles importées. Pour avoir le spectre il faut cacher le graphe temporel par

“Edit” -> “Data sets …”

puis sélectionner les données (pas celles de la transformée de Fourier) temporelles et les cacher en cliquant à droite sur la sélection “Hide”. Enfin, il faut mettre à la bonne échelle le graphe obtenu par

“Edit”->“Autoscale graphs …”

choisir encore une fois la bonne série de données et appliquer puis accepter. Le graphe n’apparaît alors pas encore sous toute sa splendeur puisque l’intervalle de fréquence est peut ne pas être adéquat. On doit régler les limites de fréquence par

“Plot”->“Axis properties …”

cases “start” et “stop”. Enfin, on peut agrémenter le graphe de légendes …

Les graphes obtenus sont de bonne qualité et les possibilités d’agréments graphiques offertes par grace sont importantes.

Laisser une réponse