
这是一个STFT图表,我从我的信号中得到。我使用了以下命令:
figure(1)
stft(signals,500000,'Window',kaiser(256,5),'OverlapLength',220,'FFTLength',512);我使用了MATLAB2019b。
我的困惑产生了,因为在STFT图上,我看到的是负震级-20 My。通常,在matlab中心的例子中,我发现所有的东西都有正的震级,并且给我带来了意义。然而,与我的样本信号,我混淆了。采样频率为500000。
我已经添加了
用于使用的文件。
如果有人能引导我理解这里发生的事情,那将是非常有帮助的。
此外,我还添加了原始的时域信号。

还有频域!

发布于 2020-06-10 05:36:23
在标准FFT中,幅度有时被称为振幅--但通常不按对数缩放。在您的情况下,它显示在dB中,即10*lg(A)。因此,负的dB-值表示很低的振幅(-70 dB= 10^(-70/10) = 0,0000001和-20 dB =0,01)。所以这只是一个缩放的问题。你最初的信号看起来怎么样?我想它的振幅…也很低。
现在看你的图表:它似乎是一个时不变信号,因此,没有必要执行STFT。做一个FFT,看看振幅。它们应该在相同的-非常小的范围内。
编辑的添加到更新后的帖子:
好的。你看你的信号是
然而,整个信号的FFT显示振幅高达16分贝。这只是一见钟情的矛盾。如果你把STFT的振幅加起来,你就会得到相同的振幅.几乎是因为您的信号长度较小(频率分辨率= 1/T_signal),所以您的频率分辨率更差。
https://stackoverflow.com/questions/62294513
复制相似问题