Time vector returned by spectrogram

5 ビュー (過去 30 日間)
Warren Koontz
Warren Koontz 2015 年 9 月 27 日
回答済み: Greg Dionne 2015 年 10 月 23 日
I have tried using as follows:
[s,f,t] = spectrogram(x,window,noverlap,fs);
The values returned in t seem to have no relation to real time (in seconds), sample count or anything that I can imagine. My workaround is to replace t with a linear scale of the same length ranging from 0 to length(x)/fs. Can someone explain the way spectrogram determines t?

回答 (1 件)

Greg Dionne
Greg Dionne 2015 年 10 月 23 日
The time instants are roughly those in the center of each window used for the spectrum. The time between estimates is the difference between the length of the window and the overlap.
For example if you have N samples and a window of length L with an overlap of K, then the estimated time for the first window of L samples is (L/2)/Fs, the next is (L/2+(L-K))/Fs, the next is (L/2+2*(L-K))/Fs, etc., up to the last possible window of samples.

カテゴリ

Help Center および File ExchangeTime-Frequency Analysis についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by