Advertisement

用Matlab绘制时频图

阅读量:

data = audioread("filename.wav")/wavread();

plot(data)

spectrogram(data,8192,7168,8192,44100,'yaxis')

[S,F,T,P]=spectrogram(x,window,noverlap,nfft,fs)

[S,F,T,P]=spectrogram(x,window,noverlap,F,fs)

说明:若调用该功能而未提供输出参数,则该函数将返回输入信号的时间序列数据的短时傅里叶变换;否则无需额外设置即可自动生成频谱图。

换。当然也可以从函数的返回值S,F,T,P绘制频谱图,具体参见例子。

参数:

x: 信号序列向量,在无额外参数的情况下,默认会被划分为8段并逐段施加相应的处理。

如果x无法均分为8份,则会对数据进行截断处理。在默认设置下,默认情况下,默认情况下,默认情况下,在默认设置下,在默认设置下,在默认设置下,在默认设置下,在默认设置下的其他参数会被设定为预设值。

window---窗函数,默认为nfft长度的海明窗Hamming

noverlap---每一段的重叠样本数,默认值是在各段之间产生50%的重叠

nfft---表示做FFT变换的长度,默认设置为不小于所有段长且不大于其中最大的那个不大于所有段长的2^N的最大值。

另外,此参数除了使用一个常量外,

全部评论 (0)

还没有任何评论哟~