/ / Jak mogę uzyskać tablicę częstotliwościowo-czasową w programie Matlab. - matlab, matlab-figure, spektrogram

Jak mogę uzyskać tablicę częstotliwościowo-czasową w programie Matlab. - matlab, matlab-figure, spektrogram

Mam plik WAV i chciałem uzyskać tablicę częstotliwości w czasie. za uzyskanie, próbowałem STFT w Matlabie.

[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);

Mam obraz, który chciałem. Ale nie wiem, co oznaczają słowa {s, f t, X, Y i Z}. Czego potrzebuję do uzyskania tablicy częstotliwościowo-czasowej.

Odpowiedzi:

0 dla odpowiedzi № 1

Z dokumentacji MATLAB:

[S, F, T] = spektrogram (...) zwraca wektor częstotliwości, F i a wektor czasów, T, w którym obliczany jest spektrogram.

S, F i T są dokładnie tym, czego potrzebujesz. Zmienna T zawiera czas, w którym plik WAV zawiera częstotliwości F z odpowiednim STFT w zmiennej S. W skali logarytmicznej (dla prawdopodobnie lepszej widoczności zawartości częstotliwości), obliczysz Z=log10(abs(s));.

X i Y są używane do utworzenia wykresu siatki, ale jeśli chcesz wiedzieć: zawierają T i F w postaci macierzy z T w każdym rzędzie X i F w każdej kolumnie Y.