/ / Comment puis-je obtenir un tableau fréquence-temps dans matlab. - matlab, matlab-figure, spectrogramme

Comment puis-je obtenir un tableau de fréquence-temps dans matlab. - matlab, matlab-figure, spectrogramme

J'ai un fichier .wav et je voulais obtenir tableau de fréquence-temps du fichier. pour obtenir, j'ai essayé STFT dans Matlab.

[s f t]= spectrogram(x,window,overlap,N,FS);
figure(1)
imagesc(t,f,log10(abs(s)));

[X,Y]=meshgrid(t,f);
Z=log10(abs(s));
mesh(X,Y,Z);

J'ai eu une image que je voulais. Mais je ne sais pas ce que veulent dire {s, f, X, Y et Z}. De quoi ai-je besoin pour obtenir un tableau de fréquences-temps.

Réponses:

0 pour la réponse № 1

À partir de la documentation MATLAB:

[S, F, T] = spectrogramme (...) renvoie un vecteur de fréquences, F et un vecteur de temps, T, auquel le spectrogramme est calculé.

S, F et T sont exactement ce dont vous avez besoin. La variable T contient les heures auxquelles le fichier wav contient les fréquences F avec la STFT correspondante dans la variable S. Sur une échelle logarithmique (pour une meilleure visibilité du contenu fréquentiel), vous calculez Z=log10(abs(s));.

X et Y sont utilisés pour créer le tracé du maillage, mais si vous voulez savoir: ils contiennent T et F sous forme de matrice avec T sur chaque ligne de X et F sur chaque colonne de Y.