Étape 6: Création d’un Specgram
La fonction specgram de matlab prend un ensemble de points de données depuis le fichier wav et effectue une transformation de Fourier sur les points afin de déterminer les fréquences présentes dans le signal. Pour cela instructable, il n’est pas important de savoir comment une transformée de Fourier fonctionne, il suffit de savoir que le specgram va tracer quelles fréquences sont présentes, et comment ils sont en fonction du temps. La fonction trace temps sur l’axe des x et des fréquences sur l’axe Y. La force de chaque fréquence est affichée en couleur.
Dans ce cas le fichier wav est un enregistrement sonore d’une pièce de métal étant frappé, et puis les vibrations du métal sont enregistrées comme son. À l’aide de la specgram, nous pouvons facilement déterminer la fréquence de résonance de la pièce de métal, car ce sera la fréquence qui persiste plus longtemps avec le temps.
Pour effectuer cette tâche, tout d’abord avoir matlab lire le fichier wav en utilisant le code suivant :
[x,fs]=wavread('flex4.wav') ;
Dans ce cas, flex4.wav est le titre de notre fichier wav, la variable x est les points de données dans le fichier et fs se réfère à la fréquence d’échantillonnage.
Pour effectuer la specgram, il suffit de taper le code suivant :
specgram [x(:.1), 256, fs] ;
Les 256 correspond à la fréquence que la FFT est effectuée à lorsqu’on analyse les données. MATLAB est fondamentalement à découper le fichier audio en morceaux et en prenant une FFT sur chaque segment que The 256 il raconte comment grand chaque segment doit être. Les détails de ce ne sont pas importants, et 256 est une valeur sûre à utiliser pour la plupart des applications.
Maintenant si vous exécutez le code, vous verrez un personnage sautent vers le haut comme on le voit sur la deuxième photo. De là, il est facile de voir que la fréquence de résonance correspond au pic rouge dans le coin inférieur droit de la figure. Il s’agit de la crête qui persiste plus longtemps en fonction du temps.