ttksd 发表于 2015-10-8 23:25

stft和fft两者有什么区别和联系

stft和fft两者有什么区别和联系,什么情况下才会用stft

hcharlie 发表于 2015-10-9 09:31

本帖最后由 hcharlie 于 2015-10-9 11:19 编辑

傅里叶变换FT,包括快速傅里叶变换FFT,是基础,但只适用于稳态信号的分析;
而STFT短时傅里叶变换是将信号通过时间窗划分为很多小时段,而将小时段里的信号看作是稳态的,进行傅里叶分析,看其频谱分布随时间变化的规律,是FT的一种扩展补充。随着时段大小取得不同分析结果也有差异,可以看作是定性的分析,看看随着时间的不同变化的趋势。它最适用于分段平稳或近似平稳信号的分析。
说是这样说,本人用FFT无数次,解决稳态随机振动问题,可STFT没有具体用过,所以没有具体经验可介绍,望有用过STFT解决过他(们)自己什么具体问题,望能不吝赐教。

TestGuru 发表于 2015-10-9 23:08

SFFT包括多个时间上相连或部分重叠的FFT,所用的FFT也就是普通FFT。虽然名字叫短时FFT,但每个FFT所分析的时间长度好像没有明确定义吧。声音识别大概用的是每段20~40ms,通常还有重叠。由这些按时间顺序组成的FFT结果,可排成一个序列,用于对频谱不稳定的信号做时频分析,模式识别,比如识别一些故障原因,声音的相似度什么的。声谱图和瀑布图只是把这一串FFT结果用3D画出来显示,识别其中的pattern还需要其他分析方法。以前做过变电站打火放电信号的故障识别,音乐盒出厂合格性检查什么的。振动方面,谁有这种非平稳信号的识别需要吗?

ttksd 发表于 2015-10-16 12:05

TestGuru 发表于 2015-10-9 23:08
SFFT包括多个时间上相连或部分重叠的FFT,所用的FFT也就是普通FFT。虽然名字叫短时FFT,但每个FFT所分析的 ...

风机在升降速过程中的振动信号为非平稳信号

TestGuru 发表于 2015-10-17 09:46

ttksd 发表于 2015-10-16 12:05
风机在升降速过程中的振动信号为非平稳信号

这个用瀑布图或声谱图看一下就行了吧,无需识别

ttksd 发表于 2015-10-19 22:25

TestGuru 发表于 2015-10-17 09:46
这个用瀑布图或声谱图看一下就行了吧,无需识别

瀑布图知道,声谱图是什么?

TestGuru 发表于 2015-10-20 09:24

ttksd 发表于 2015-10-19 22:25
瀑布图知道,声谱图是什么?

其实是一样的,一个将频率、时间(或转速)、各频点(带)的幅度画成3D形式;另一个将频率、时间(或转速)画成2D形式,但用颜色的灰度深浅或伪彩色表示各频点(带)的幅度。

ttksd 发表于 2015-10-20 10:10

TestGuru 发表于 2015-10-20 09:24
其实是一样的,一个将频率、时间(或转速)、各频点(带)的幅度画成3D形式;另一个将频率、时间(或转速 ...

明白了,非常感谢

z527883588 发表于 2017-9-15 13:52

TestGuru 发表于 2015-10-9 23:08
SFFT包括多个时间上相连或部分重叠的FFT,所用的FFT也就是普通FFT。虽然名字叫短时FFT,但每个FFT所分析的 ...

请问MATLAB中的spectrogram这个函数是对时域数据分段求FFT还是功率谱密度?

desolate 发表于 2017-9-15 16:31

z527883588 发表于 2017-9-15 13:52
请问MATLAB中的spectrogram这个函数是对时域数据分段求FFT还是功率谱密度?

spectrogram是一个MATLAB函数,使用短时傅里叶变换得到信号的频谱图。当使用时无输出参数,会自动绘制频谱图;有输出参数,则会返回输入信号的短时傅里叶变换。当然也可以从函数的返回值S,F,T,P绘制频谱图,具体参见例子。

=spectrogram(x,window,noverlap,nfft,fs)
=spectrogram(x,window,noverlap,F,fs)

S---输入信号x的短时傅里叶变换。
F---在输入变量中使用F频率向量,函数会使用Goertzel方法计算在F指定的频率处计算频谱图。
T---频谱图计算的时刻点,其长度等于上面定义的k,值为所分各段的中点。
P---能量谱密度PSD(Power Spectral Density),对于实信号,P是各段PSD的单边周期估计;对于复信号,当指定F频率向量时,P为双边PSD。

z527883588 发表于 2017-9-16 10:40

desolate 发表于 2017-9-15 16:31
spectrogram是一个MATLAB函数,使用短时傅里叶变换得到信号的频谱图。当使用时无输出参数,会自动绘制频 ...

S应该是分段信号的FFT?
页: [1]
查看完整版本: stft和fft两者有什么区别和联系