这是一个STFT图,我从我的信号中得到的。我已经使用了下面这些命令。
figure(1)
stft(signals,500000,'Window',kaiser(256,5),'OverlapLength',220,'FFTLength',512);
我用的是matlab 2019b.
我的困惑是因为在STFT图上,我看到的是负值幅度-20DB。通常在matlab中央的例子上,我已经发现所有的正幅度,并使我的感觉。然而,我的采样信号,我已经混淆了。采样频率是500000。
我已经添加了
文件的使用。
如果有谁能指导我了解这边的情况,那将会非常有帮助。
此外,我已经添加了原始时域信号。
的 幅度 就是你有时所说的 幅度 在标准的FFT中 -- 但通常不按对数比例给出。在你的情况下,它的单位是dB,即10*lg(A)。所以,负的dB值表示一个非常低的振幅(-70dB = 10^(-7010) = 0,0000001和-20dB =0,01)。所以这只是一个缩放的问题。你的原始信号是怎样的?估计也是振幅很低...
现在来看看你的图。看来你的信号是个时间不变的信号 因此,没有必要进行STFT。做一个FFT,看看振幅。他们应该是在相同的 - 非常小的 - 范围内。
编辑 添加到更新的帖子。
好吧 你看,你的信号是
然而,整个信号的FFT表明振幅高达16dB。这只是乍一看的矛盾。如果你把STFT的振幅加起来,你会有同样的振幅......几乎是因为你的信号长度较小,频率分辨率较差(频率分辨率=1T_signal)。