spectrogram-翻译为频谱图
matlab原文档中的介绍如下:
该频谱图用于短时傅里叶画频谱图。
[S,F,T,P]=spectrogram(x,window,noverlap,nfft,fs)
[S,F,T,P]=spectrogram(x,window,noverlap,F,fs)

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

参数:

  • x表示输入信号;
  • window表示窗函数,如果window的值是一个整数,那么被分段的x的每一段的长度都等于window,并采用默认的Hamming窗;如果window是一个向量,那么被分段后每一段的长度都等于length(window),且输入的向量即为所要加的窗函数;
  • noverlap表示两段之间的重合点数,window-overlap=步长。overlap的值必须要小于窗长,如果没有指定overlap,默认是窗长的一半,即50%的overlap;
  • nfft表示fft的点数,fft的点数跟窗长可以是不同的,当没有指定该参数时,Matlab会取max(256,2^(ceil(log2(length(window))))),即当窗长小于256时,fft的点数是256;当窗长大于256时,fft的点数取大于窗长的最小的2的整数次幂;这个数值应该是double或者single,不是向量。区分函数中nfft(离散点大小)和f(频率区间)的使用不同
  • f 表示显示的频谱范围,f是一个向量 (eg:f=1:30;%1-30hz的stft),长度跟s的行数相同;
  • x是实信号且nfft为偶数时,s的行数为(nfft/2+1)
  • x是实信号且nfft为奇数时,s的行数为(nfft+1)/2
  • x是复信号时,s的行数为nfft
  • 当在输入的参数列表中指定f后,函数会在f指定的频率处计算频谱图,返回的f跟输入的f是相同的;
  • fs表示采样率,用来归一化显示使用;

%输出变量

  • S—输入信号x的短时傅里叶变换。它的每一列包含一个短期局部时间的频率成分估计,时间沿列增加,频率沿行增加。如果x是长度为Nx的复信号,则S为nfft行k列的复矩阵,其中k取决于window, 如果window为一个标量,则k = fix((Nx-noverlap)/(window-noverlap)).如果window为向量,则k = fix((Nx-noverlap)/(length(window)-noverlap))
  • F—在输入变量中使用F频率向量,函数会使用Goertzel方法计算在F指定的频率处计算频谱图。
    对于实信号x,如果nfft为偶数,则S的行数为(nfft/2+1),如果nfft为奇数, 则行数为(nfft+1)/2,列数同上。
    指定的频率被四舍五入到与信号分辨率相关的最近的DFT容器(bin)中。而在其他的使用nfft语法中,短时傅里叶变换方法将被使用。对于返回值中的F向量,为四舍五入的频率,其长度 等于S的行数。
  • T—频谱图计算的时刻点,其长度等于上面定义的k,值为所分各段的中点。
  • P—能量谱密度PSD(Power Spectral
    Density),对于实信号,P是各段PSD的单边周期估计;对于复信号,当指定F频率向量时,P为双边PSD。

matlab例子:

x=[7.40000000000000e-05;6.50000000000000e-05;8.20000000000000e-05;0.000104000000000000;9.00000000000000e-05;8.70000000000000e-05;6.30000000000000e-05;4.80000000000000e-05;4.70000000000000e-05;2.60000000000000e-05;1.40000000000000e-05;2.20000000000000e-05;4.30000000000000e-05;2.00000000000000e-05;2.60000000000000e-05;2.40000000000000e-05;8.00000000000000e-06;4.00000000000000e-06;1.40000000000000e-05;1.70000000000000e-05;1.60000000000000e-05;2.30000000000000e-05;3.90000000000000e-05;4.10000000000000e-05;2.90000000000000e-05;2.10000000000000e-05;1.70000000000000e-05;1.20000000000000e-05;9.00000000000000e-06;1.80000000000000e-05;2.10000000000000e-05;2.10000000000000e-05;2.40000000000000e-05;1.40000000000000e-05;3.00000000000000e-05;5.30000000000000e-05;7.00000000000000e-05;4.40000000000000e-05;5.40000000000000e-05;9.10000000000000e-05;3.00000000000000e-06;-1.50000000000000e-05;-7.00000000000000e-06;-4.00000000000000e-05;-6.10000000000000e-05;-5.90000000000000e-05;-8.60000000000000e-05;-0.000108000000000000;-0.000102000000000000;-9.10000000000000e-05;-9.10000000000000e-05;-8.20000000000000e-05;-6.40000000000000e-05;-5.90000000000000e-05;-5.40000000000000e-05;-6.10000000000000e-05;-5.50000000000000e-05;-5.80000000000000e-05;-6.20000000000000e-05;-6.40000000000000e-05;-5.60000000000000e-05;-6.00000000000000e-05;-6.00000000000000e-05;-6.50000000000000e-05;-7.10000000000000e-05;-7.30000000000000e-05;-7.10000000000000e-05;-6.30000000000000e-05;-5.20000000000000e-05;-5.80000000000000e-05;-5.10000000000000e-05;-4.80000000000000e-05;-4.30000000000000e-05;-6.40000000000000e-05;-9.20000000000000e-05;-0.000106000000000000;-9.90000000000000e-05;-0.000112000000000000;-0.000117000000000000;-0.000112000000000000;-0.000106000000000000;-8.10000000000000e-05;-8.30000000000000e-05;-9.40000000000000e-05;-0.000101000000000000;-9.30000000000000e-05;-9.20000000000000e-05;-8.70000000000000e-05;-0.000114000000000000;-0.000117000000000000;-7.10000000000000e-05;-3.50000000000000e-05;-1.10000000000000e-05;1.10000000000000e-05;2.40000000000000e-05;1.50000000000000e-05;-2.60000000000000e-05;-0.000103000000000000;-0.000152000000000000;-7.60000000000000e-05;-4.90000000000000e-05;-8.10000000000000e-05;-4.70000000000000e-05;-1.10000000000000e-05;-7.00000000000000e-06;-1.20000000000000e-05;-1.00000000000000e-05;-2.30000000000000e-05;-3.90000000000000e-05;-2.60000000000000e-05;-1.20000000000000e-05;-2.50000000000000e-05;-3.00000000000000e-05;-1.10000000000000e-05;-3.00000000000000e-06;-2.00000000000000e-06;-8.00000000000000e-06;-3.50000000000000e-05;-3.70000000000000e-05;-2.50000000000000e-05;-2.00000000000000e-06;-1.10000000000000e-05;-1.40000000000000e-05;-2.70000000000000e-05;-3.10000000000000e-05;-1.10000000000000e-05;2.00000000000000e-06;1.00000000000000e-05;2.10000000000000e-05;4.20000000000000e-05;3.10000000000000e-05;3.10000000000000e-05;4.40000000000000e-05;3.10000000000000e-05;2.90000000000000e-05;3.20000000000000e-05;3.20000000000000e-05;4.50000000000000e-05;4.00000000000000e-05;4.40000000000000e-05;5.30000000000000e-05;3.60000000000000e-05;4.00000000000000e-05;4.20000000000000e-05;4.30000000000000e-05;4.10000000000000e-05;5.40000000000000e-05;9.70000000000000e-05;8.10000000000000e-05;6.10000000000000e-05;5.60000000000000e-05;7.00000000000000e-05;7.40000000000000e-05;6.10000000000000e-05;7.80000000000000e-05;9.10000000000000e-05;7.30000000000000e-05;6.20000000000000e-05;4.80000000000000e-05;4.50000000000000e-05;5.30000000000000e-05;5.20000000000000e-05;2.50000000000000e-05;1.90000000000000e-05;1.10000000000000e-05;2.00000000000000e-05;4.40000000000000e-05;3.00000000000000e-05;1.70000000000000e-05;1.80000000000000e-05;3.00000000000000e-05;3.00000000000000e-05;3.30000000000000e-05;4.50000000000000e-05;1.80000000000000e-05;8.00000000000000e-06;2.30000000000000e-05;3.00000000000000e-05;1.50000000000000e-05;2.80000000000000e-05;2.10000000000000e-05;4.10000000000000e-05;4.30000000000000e-05;4.60000000000000e-05;5.90000000000000e-05;3.70000000000000e-05;2.60000000000000e-05;2.60000000000000e-05;9.00000000000000e-06;1.30000000000000e-05;2.10000000000000e-05;2.90000000000000e-05;3.70000000000000e-05;5.30000000000000e-05;5.00000000000000e-05;3.90000000000000e-05;2.50000000000000e-05;2.60000000000000e-05;3.00000000000000e-05;4.40000000000000e-05;5.80000000000000e-05;5.20000000000000e-05;5.40000000000000e-05;8.00000000000000e-05;9.20000000000000e-05;9.20000000000000e-05;7.50000000000000e-05;4.20000000000000e-05;3.20000000000000e-05;3.60000000000000e-05;3.20000000000000e-05;4.20000000000000e-05;3.30000000000000e-05;3.90000000000000e-05;6.10000000000000e-05;7.30000000000000e-05;7.70000000000000e-05;5.60000000000000e-05;7.30000000000000e-05;6.40000000000000e-05;4.50000000000000e-05;5.30000000000000e-05;4.10000000000000e-05;5.30000000000000e-05;4.20000000000000e-05;1.00000000000000e-05;2.20000000000000e-05;2.70000000000000e-05;3.10000000000000e-05;4.50000000000000e-05;5.50000000000000e-05;6.10000000000000e-05;6.20000000000000e-05;4.70000000000000e-05;4.80000000000000e-05;4.80000000000000e-05;3.50000000000000e-05;2.90000000000000e-05;3.70000000000000e-05;3.90000000000000e-05;2.00000000000000e-05;-2.20000000000000e-05;-4.20000000000000e-05;-3.70000000000000e-05;5.00000000000000e-06;1.50000000000000e-05;1.90000000000000e-05;3.50000000000000e-05;4.60000000000000e-05;1.20000000000000e-05;-3.60000000000000e-05;-3.90000000000000e-05;-4.80000000000000e-05;-5.00000000000000e-05;-4.50000000000000e-05;-4.80000000000000e-05;-3.30000000000000e-05;-3.00000000000000e-05;-4.40000000000000e-05;-2.70000000000000e-05;-2.50000000000000e-05;-1.00000000000000e-05;-1.20000000000000e-05;-1.80000000000000e-05;-3.10000000000000e-05;-1.70000000000000e-05;3.70000000000000e-05;2.40000000000000e-05;0;7.00000000000000e-06;3.40000000000000e-05;1.10000000000000e-05;-7.00000000000000e-06;-1.40000000000000e-05;-2.30000000000000e-05;-7.00000000000000e-06;1.70000000000000e-05;3.40000000000000e-05;3.50000000000000e-05;1.80000000000000e-05;1.80000000000000e-05;4.10000000000000e-05;4.00000000000000e-05;4.60000000000000e-05;4.40000000000000e-05;4.60000000000000e-05;3.50000000000000e-05;2.60000000000000e-05;2.20000000000000e-05;2.40000000000000e-05;9.00000000000000e-06;-3.00000000000000e-06;-4.00000000000000e-06;7.00000000000000e-06;-1.30000000000000e-05;-3.50000000000000e-05;-3.20000000000000e-05;-3.40000000000000e-05;-4.00000000000000e-06;-1.40000000000000e-05;-3.90000000000000e-05;-9.00000000000000e-06;2.00000000000000e-06;-1.00000000000000e-05;1.80000000000000e-05;2.10000000000000e-05;2.00000000000000e-06;2.20000000000000e-05;3.30000000000000e-05;4.10000000000000e-05;3.90000000000000e-05;2.90000000000000e-05;1.70000000000000e-05;2.10000000000000e-05;2.20000000000000e-05;2.30000000000000e-05;2.10000000000000e-05;2.20000000000000e-05;1.50000000000000e-05;1.40000000000000e-05;3.80000000000000e-05;2.80000000000000e-05;4.10000000000000e-05;4.10000000000000e-05;4.30000000000000e-05;4.20000000000000e-05;3.90000000000000e-05;3.00000000000000e-05;3.40000000000000e-05;3.40000000000000e-05;5.70000000000000e-05;4.10000000000000e-05;2.10000000000000e-05;3.00000000000000e-05;2.10000000000000e-05;5.00000000000000e-05;4.80000000000000e-05;4.50000000000000e-05;7.00000000000000e-05;3.50000000000000e-05;2.70000000000000e-05;4.20000000000000e-05;5.00000000000000e-05;2.40000000000000e-05;1.80000000000000e-05;7.00000000000000e-06;2.00000000000000e-05;3.20000000000000e-05;2.40000000000000e-05;3.30000000000000e-05;1.00000000000000e-05;7.00000000000000e-06;1.90000000000000e-05;1.70000000000000e-05;6.00000000000000e-06;-5.00000000000000e-06;1.00000000000000e-05;2.00000000000000e-05;3.10000000000000e-05;2.00000000000000e-05;2.10000000000000e-05;-1.00000000000000e-06;-1.80000000000000e-05;-2.20000000000000e-05;-4.00000000000000e-06;9.00000000000000e-06;3.00000000000000e-06;-1.00000000000000e-06;-1.60000000000000e-05;-2.60000000000000e-05;-2.10000000000000e-05;1.00000000000000e-06;1.20000000000000e-05;2.00000000000000e-05;2.00000000000000e-06;2.00000000000000e-06;2.50000000000000e-05;5.00000000000000e-06;4.00000000000000e-06;3.00000000000000e-06;1.20000000000000e-05;-2.00000000000000e-06;7.00000000000000e-06;1.60000000000000e-05;1.00000000000000e-05;-5.00000000000000e-06;-1.90000000000000e-05;-3.50000000000000e-05;-3.70000000000000e-05;-2.30000000000000e-05;-3.30000000000000e-05;-4.20000000000000e-05;-4.50000000000000e-05;-3.50000000000000e-05;-2.90000000000000e-05;-5.00000000000000e-06;1.00000000000000e-05;2.70000000000000e-05;4.70000000000000e-05;7.40000000000000e-05;6.70000000000000e-05;2.00000000000000e-05;-1.10000000000000e-05;-1.60000000000000e-05;-2.00000000000000e-05;-2.60000000000000e-05;-2.70000000000000e-05;-3.70000000000000e-05;-3.90000000000000e-05;-5.30000000000000e-05;-7.70000000000000e-05;-4.40000000000000e-05;-3.40000000000000e-05;-4.30000000000000e-05;-5.70000000000000e-05;-5.50000000000000e-05;-5.90000000000000e-05;-6.90000000000000e-05;-5.30000000000000e-05;-4.30000000000000e-05;-5.30000000000000e-05;-4.50000000000000e-05;-4.20000000000000e-05;-3.30000000000000e-05;-4.30000000000000e-05;-6.90000000000000e-05;-6.90000000000000e-05;-5.20000000000000e-05;-5.20000000000000e-05;-7.90000000000000e-05;-8.80000000000000e-05;-5.40000000000000e-05;-4.20000000000000e-05;-1.70000000000000e-05;-1.20000000000000e-05;-2.00000000000000e-05;-1.90000000000000e-05;-2.00000000000000e-06;3.00000000000000e-06;-5.00000000000000e-06;-1.60000000000000e-05;-3.00000000000000e-05;-2.00000000000000e-05;-8.00000000000000e-06;-2.30000000000000e-05;-2.10000000000000e-05;-2.60000000000000e-05;-1.80000000000000e-05;8.00000000000000e-06;2.30000000000000e-05;3.50000000000000e-05;2.50000000000000e-05;-2.30000000000000e-05;-9.00000000000000e-06;-5.00000000000000e-06;-1.00000000000000e-05;-4.50000000000000e-05;-6.80000000000000e-05;-7.30000000000000e-05;-6.70000000000000e-05;-5.00000000000000e-05;-3.70000000000000e-05;-5.10000000000000e-05;-5.60000000000000e-05;-7.70000000000000e-05;-9.30000000000000e-05;-9.30000000000000e-05;-0.000106000000000000;-0.000118000000000000;-0.000130000000000000;-9.10000000000000e-05;-8.40000000000000e-05;-0.000107000000000000;-9.10000000000000e-05;-9.00000000000000e-05;-0.000113000000000000;-0.000124000000000000;-0.000147000000000000;-0.000139000000000000;-0.000142000000000000;-0.000137000000000000;-0.000152000000000000;-0.000148000000000000;-0.000143000000000000;-0.000152000000000000;-0.000139000000000000;-0.000133000000000000;-0.000152000000000000;-0.000159000000000000;-0.000145000000000000;-0.000144000000000000;-0.000145000000000000;-0.000101000000000000;-0.000130000000000000;-0.000153000000000000;-0.000146000000000000;-0.000177000000000000;-0.000218000000000000;-0.000223000000000000;-0.000223000000000000];%x是一个500*1的输入向量
    ;
    %x是一个500*1的输入向量
    %%%
    window=100;%滑动窗大小
    noverlap=99;%重叠样本数为100重叠99平移样本,每隔1个单位画一个框计算
    %%%
    f=1:30;%1-30hz变换
    Fs=250;%采样频率
	[B,F, T, P] = spectrogram(x',window,noverlap,f,Fs);  
    % B是F大小行T大小列的频率峰值,P是对应的能量谱密度
	figure
	imagesc(T,F,P);
	set(gca,'YDir','normal')
	colorbar;
	xlabel('时间 t/s');
	ylabel('频率 f/Hz');
	title('短时傅里叶时频图');

结果:

Tessy频率 tetra频谱图_采样率



那么有人要问了。为什么我选取信号时间长度和频谱图中时间长度不同

原因是短时傅里叶变化选取的框的大小会把时间点长度给覆盖,不满足框大小的时间段。

所以上面的程序中。

原始为500个采样点(250hz,2秒),matlab使用了间隔为1个步长的100大小的框。那么(500-100)/1=400计算区间。转换到时间就是400/250hz=1.6秒

matlab原始时间是0-2s,现在成了0.2-1.8s。实际上就是1.6s,matlab将时间中点作为舍取中心。于是左右就合并了50个采样点也就是说50/250=0.2s的单位。


如果希望解决这个问题,那么避免时间框选择太大,(选择小框缺点是计算损失一些低频信息,如1hz的信号分辨精度下降)

我修改窗函数大小的结果,

window=60;

noverlap=59;%滑动间隔依旧保持1个步长

x=[7.40000000000000e-05;6.50000000000000e-05;8.20000000000000e-05;0.000104000000000000;9.00000000000000e-05;8.70000000000000e-05;6.30000000000000e-05;4.80000000000000e-05;4.70000000000000e-05;2.60000000000000e-05;1.40000000000000e-05;2.20000000000000e-05;4.30000000000000e-05;2.00000000000000e-05;2.60000000000000e-05;2.40000000000000e-05;8.00000000000000e-06;4.00000000000000e-06;1.40000000000000e-05;1.70000000000000e-05;1.60000000000000e-05;2.30000000000000e-05;3.90000000000000e-05;4.10000000000000e-05;2.90000000000000e-05;2.10000000000000e-05;1.70000000000000e-05;1.20000000000000e-05;9.00000000000000e-06;1.80000000000000e-05;2.10000000000000e-05;2.10000000000000e-05;2.40000000000000e-05;1.40000000000000e-05;3.00000000000000e-05;5.30000000000000e-05;7.00000000000000e-05;4.40000000000000e-05;5.40000000000000e-05;9.10000000000000e-05;3.00000000000000e-06;-1.50000000000000e-05;-7.00000000000000e-06;-4.00000000000000e-05;-6.10000000000000e-05;-5.90000000000000e-05;-8.60000000000000e-05;-0.000108000000000000;-0.000102000000000000;-9.10000000000000e-05;-9.10000000000000e-05;-8.20000000000000e-05;-6.40000000000000e-05;-5.90000000000000e-05;-5.40000000000000e-05;-6.10000000000000e-05;-5.50000000000000e-05;-5.80000000000000e-05;-6.20000000000000e-05;-6.40000000000000e-05;-5.60000000000000e-05;-6.00000000000000e-05;-6.00000000000000e-05;-6.50000000000000e-05;-7.10000000000000e-05;-7.30000000000000e-05;-7.10000000000000e-05;-6.30000000000000e-05;-5.20000000000000e-05;-5.80000000000000e-05;-5.10000000000000e-05;-4.80000000000000e-05;-4.30000000000000e-05;-6.40000000000000e-05;-9.20000000000000e-05;-0.000106000000000000;-9.90000000000000e-05;-0.000112000000000000;-0.000117000000000000;-0.000112000000000000;-0.000106000000000000;-8.10000000000000e-05;-8.30000000000000e-05;-9.40000000000000e-05;-0.000101000000000000;-9.30000000000000e-05;-9.20000000000000e-05;-8.70000000000000e-05;-0.000114000000000000;-0.000117000000000000;-7.10000000000000e-05;-3.50000000000000e-05;-1.10000000000000e-05;1.10000000000000e-05;2.40000000000000e-05;1.50000000000000e-05;-2.60000000000000e-05;-0.000103000000000000;-0.000152000000000000;-7.60000000000000e-05;-4.90000000000000e-05;-8.10000000000000e-05;-4.70000000000000e-05;-1.10000000000000e-05;-7.00000000000000e-06;-1.20000000000000e-05;-1.00000000000000e-05;-2.30000000000000e-05;-3.90000000000000e-05;-2.60000000000000e-05;-1.20000000000000e-05;-2.50000000000000e-05;-3.00000000000000e-05;-1.10000000000000e-05;-3.00000000000000e-06;-2.00000000000000e-06;-8.00000000000000e-06;-3.50000000000000e-05;-3.70000000000000e-05;-2.50000000000000e-05;-2.00000000000000e-06;-1.10000000000000e-05;-1.40000000000000e-05;-2.70000000000000e-05;-3.10000000000000e-05;-1.10000000000000e-05;2.00000000000000e-06;1.00000000000000e-05;2.10000000000000e-05;4.20000000000000e-05;3.10000000000000e-05;3.10000000000000e-05;4.40000000000000e-05;3.10000000000000e-05;2.90000000000000e-05;3.20000000000000e-05;3.20000000000000e-05;4.50000000000000e-05;4.00000000000000e-05;4.40000000000000e-05;5.30000000000000e-05;3.60000000000000e-05;4.00000000000000e-05;4.20000000000000e-05;4.30000000000000e-05;4.10000000000000e-05;5.40000000000000e-05;9.70000000000000e-05;8.10000000000000e-05;6.10000000000000e-05;5.60000000000000e-05;7.00000000000000e-05;7.40000000000000e-05;6.10000000000000e-05;7.80000000000000e-05;9.10000000000000e-05;7.30000000000000e-05;6.20000000000000e-05;4.80000000000000e-05;4.50000000000000e-05;5.30000000000000e-05;5.20000000000000e-05;2.50000000000000e-05;1.90000000000000e-05;1.10000000000000e-05;2.00000000000000e-05;4.40000000000000e-05;3.00000000000000e-05;1.70000000000000e-05;1.80000000000000e-05;3.00000000000000e-05;3.00000000000000e-05;3.30000000000000e-05;4.50000000000000e-05;1.80000000000000e-05;8.00000000000000e-06;2.30000000000000e-05;3.00000000000000e-05;1.50000000000000e-05;2.80000000000000e-05;2.10000000000000e-05;4.10000000000000e-05;4.30000000000000e-05;4.60000000000000e-05;5.90000000000000e-05;3.70000000000000e-05;2.60000000000000e-05;2.60000000000000e-05;9.00000000000000e-06;1.30000000000000e-05;2.10000000000000e-05;2.90000000000000e-05;3.70000000000000e-05;5.30000000000000e-05;5.00000000000000e-05;3.90000000000000e-05;2.50000000000000e-05;2.60000000000000e-05;3.00000000000000e-05;4.40000000000000e-05;5.80000000000000e-05;5.20000000000000e-05;5.40000000000000e-05;8.00000000000000e-05;9.20000000000000e-05;9.20000000000000e-05;7.50000000000000e-05;4.20000000000000e-05;3.20000000000000e-05;3.60000000000000e-05;3.20000000000000e-05;4.20000000000000e-05;3.30000000000000e-05;3.90000000000000e-05;6.10000000000000e-05;7.30000000000000e-05;7.70000000000000e-05;5.60000000000000e-05;7.30000000000000e-05;6.40000000000000e-05;4.50000000000000e-05;5.30000000000000e-05;4.10000000000000e-05;5.30000000000000e-05;4.20000000000000e-05;1.00000000000000e-05;2.20000000000000e-05;2.70000000000000e-05;3.10000000000000e-05;4.50000000000000e-05;5.50000000000000e-05;6.10000000000000e-05;6.20000000000000e-05;4.70000000000000e-05;4.80000000000000e-05;4.80000000000000e-05;3.50000000000000e-05;2.90000000000000e-05;3.70000000000000e-05;3.90000000000000e-05;2.00000000000000e-05;-2.20000000000000e-05;-4.20000000000000e-05;-3.70000000000000e-05;5.00000000000000e-06;1.50000000000000e-05;1.90000000000000e-05;3.50000000000000e-05;4.60000000000000e-05;1.20000000000000e-05;-3.60000000000000e-05;-3.90000000000000e-05;-4.80000000000000e-05;-5.00000000000000e-05;-4.50000000000000e-05;-4.80000000000000e-05;-3.30000000000000e-05;-3.00000000000000e-05;-4.40000000000000e-05;-2.70000000000000e-05;-2.50000000000000e-05;-1.00000000000000e-05;-1.20000000000000e-05;-1.80000000000000e-05;-3.10000000000000e-05;-1.70000000000000e-05;3.70000000000000e-05;2.40000000000000e-05;0;7.00000000000000e-06;3.40000000000000e-05;1.10000000000000e-05;-7.00000000000000e-06;-1.40000000000000e-05;-2.30000000000000e-05;-7.00000000000000e-06;1.70000000000000e-05;3.40000000000000e-05;3.50000000000000e-05;1.80000000000000e-05;1.80000000000000e-05;4.10000000000000e-05;4.00000000000000e-05;4.60000000000000e-05;4.40000000000000e-05;4.60000000000000e-05;3.50000000000000e-05;2.60000000000000e-05;2.20000000000000e-05;2.40000000000000e-05;9.00000000000000e-06;-3.00000000000000e-06;-4.00000000000000e-06;7.00000000000000e-06;-1.30000000000000e-05;-3.50000000000000e-05;-3.20000000000000e-05;-3.40000000000000e-05;-4.00000000000000e-06;-1.40000000000000e-05;-3.90000000000000e-05;-9.00000000000000e-06;2.00000000000000e-06;-1.00000000000000e-05;1.80000000000000e-05;2.10000000000000e-05;2.00000000000000e-06;2.20000000000000e-05;3.30000000000000e-05;4.10000000000000e-05;3.90000000000000e-05;2.90000000000000e-05;1.70000000000000e-05;2.10000000000000e-05;2.20000000000000e-05;2.30000000000000e-05;2.10000000000000e-05;2.20000000000000e-05;1.50000000000000e-05;1.40000000000000e-05;3.80000000000000e-05;2.80000000000000e-05;4.10000000000000e-05;4.10000000000000e-05;4.30000000000000e-05;4.20000000000000e-05;3.90000000000000e-05;3.00000000000000e-05;3.40000000000000e-05;3.40000000000000e-05;5.70000000000000e-05;4.10000000000000e-05;2.10000000000000e-05;3.00000000000000e-05;2.10000000000000e-05;5.00000000000000e-05;4.80000000000000e-05;4.50000000000000e-05;7.00000000000000e-05;3.50000000000000e-05;2.70000000000000e-05;4.20000000000000e-05;5.00000000000000e-05;2.40000000000000e-05;1.80000000000000e-05;7.00000000000000e-06;2.00000000000000e-05;3.20000000000000e-05;2.40000000000000e-05;3.30000000000000e-05;1.00000000000000e-05;7.00000000000000e-06;1.90000000000000e-05;1.70000000000000e-05;6.00000000000000e-06;-5.00000000000000e-06;1.00000000000000e-05;2.00000000000000e-05;3.10000000000000e-05;2.00000000000000e-05;2.10000000000000e-05;-1.00000000000000e-06;-1.80000000000000e-05;-2.20000000000000e-05;-4.00000000000000e-06;9.00000000000000e-06;3.00000000000000e-06;-1.00000000000000e-06;-1.60000000000000e-05;-2.60000000000000e-05;-2.10000000000000e-05;1.00000000000000e-06;1.20000000000000e-05;2.00000000000000e-05;2.00000000000000e-06;2.00000000000000e-06;2.50000000000000e-05;5.00000000000000e-06;4.00000000000000e-06;3.00000000000000e-06;1.20000000000000e-05;-2.00000000000000e-06;7.00000000000000e-06;1.60000000000000e-05;1.00000000000000e-05;-5.00000000000000e-06;-1.90000000000000e-05;-3.50000000000000e-05;-3.70000000000000e-05;-2.30000000000000e-05;-3.30000000000000e-05;-4.20000000000000e-05;-4.50000000000000e-05;-3.50000000000000e-05;-2.90000000000000e-05;-5.00000000000000e-06;1.00000000000000e-05;2.70000000000000e-05;4.70000000000000e-05;7.40000000000000e-05;6.70000000000000e-05;2.00000000000000e-05;-1.10000000000000e-05;-1.60000000000000e-05;-2.00000000000000e-05;-2.60000000000000e-05;-2.70000000000000e-05;-3.70000000000000e-05;-3.90000000000000e-05;-5.30000000000000e-05;-7.70000000000000e-05;-4.40000000000000e-05;-3.40000000000000e-05;-4.30000000000000e-05;-5.70000000000000e-05;-5.50000000000000e-05;-5.90000000000000e-05;-6.90000000000000e-05;-5.30000000000000e-05;-4.30000000000000e-05;-5.30000000000000e-05;-4.50000000000000e-05;-4.20000000000000e-05;-3.30000000000000e-05;-4.30000000000000e-05;-6.90000000000000e-05;-6.90000000000000e-05;-5.20000000000000e-05;-5.20000000000000e-05;-7.90000000000000e-05;-8.80000000000000e-05;-5.40000000000000e-05;-4.20000000000000e-05;-1.70000000000000e-05;-1.20000000000000e-05;-2.00000000000000e-05;-1.90000000000000e-05;-2.00000000000000e-06;3.00000000000000e-06;-5.00000000000000e-06;-1.60000000000000e-05;-3.00000000000000e-05;-2.00000000000000e-05;-8.00000000000000e-06;-2.30000000000000e-05;-2.10000000000000e-05;-2.60000000000000e-05;-1.80000000000000e-05;8.00000000000000e-06;2.30000000000000e-05;3.50000000000000e-05;2.50000000000000e-05;-2.30000000000000e-05;-9.00000000000000e-06;-5.00000000000000e-06;-1.00000000000000e-05;-4.50000000000000e-05;-6.80000000000000e-05;-7.30000000000000e-05;-6.70000000000000e-05;-5.00000000000000e-05;-3.70000000000000e-05;-5.10000000000000e-05;-5.60000000000000e-05;-7.70000000000000e-05;-9.30000000000000e-05;-9.30000000000000e-05;-0.000106000000000000;-0.000118000000000000;-0.000130000000000000;-9.10000000000000e-05;-8.40000000000000e-05;-0.000107000000000000;-9.10000000000000e-05;-9.00000000000000e-05;-0.000113000000000000;-0.000124000000000000;-0.000147000000000000;-0.000139000000000000;-0.000142000000000000;-0.000137000000000000;-0.000152000000000000;-0.000148000000000000;-0.000143000000000000;-0.000152000000000000;-0.000139000000000000;-0.000133000000000000;-0.000152000000000000;-0.000159000000000000;-0.000145000000000000;-0.000144000000000000;-0.000145000000000000;-0.000101000000000000;-0.000130000000000000;-0.000153000000000000;-0.000146000000000000;-0.000177000000000000;-0.000218000000000000;-0.000223000000000000;-0.000223000000000000];%x是一个500*1的输入向量
    ;%x是一个500*1的输入向量
    %%%
    window=60;%滑动窗大小
    noverlap=59;%重叠样本数为250重叠249平移样本,每隔1个单位画一个框计算
    %%%
    f=1:30;%1-30hz变换
    Fs=250;%采样频率
	[B,F, T, P] = spectrogram(x',window,noverlap,f,Fs);  
    % B是F大小行T大小列的频率峰值,P是对应的能量谱密度
	figure
	imagesc(T,F,P);
	set(gca,'YDir','normal')
	colorbar;
	xlabel('时间 t/s');
	ylabel('频率 f/Hz');
	title('短时傅里叶时频图');

采样损失好了很多。

Tessy频率 tetra频谱图_傅里叶变换_02


时间上恢复接近了2s,但是stft的弊端凸显出来了。和上图相比

短时傅里叶的缺点

1窗函数宽度固定不变,时间和频率的局部化不能同时满足
2窗函数越大,越接近实际的信号傅里叶变化处理,但是时间长度缩短。
3窗函数越小,时间长度基本保持连续,但是频谱的低频信息(幅值大小)会损失。

所以要根据实际信号分析的特点需求选取合适大小的滑动窗是关键。
另外一位博主讲解matlab中2019直接引入了STFT函数的使用
可以看一下。
[]