关于短时傅立叶变换频率分辨率的问题
最近做项目,看了看短时傅立叶变换,对它有了点理解,但是发现它的频率分辨率要比一条完整波形的fft变换低很多,不知道有没有提高它频率分辨率的方法?大家讨论讨论频率分辨率取决于你的采样频率
只要提高采样频率,就可以提高频率分辨率。 提高采样频率,只会降低频率分辨率啊!!!我想能不能将zfft或者是频谱修正用到短时傅立叶变换上来 频率分辨率为fs/N,在短时傅立叶变换中由于分段处理,使每段长度都小于N,造成频率分辨率变大,解决的方法可以补0,使每段还是以N点进行FFT变 换。ZFFT还是以时间长度为代价的,而频谱修正法是为了精确求出某个信号的频率、相位和幅值,不一定适用于短时傅立叶变换。 补零到底能有什么效果?不是说只有增加有效数据的长度才能增大频率分辨率吗?也就是说在原来的频率分辨率下测不出的频率,即使你增加再多的零也还是测不出,不知道我的理解有没有错误 本帖最后由 wdhd 于 2016-9-8 14:55 编辑原帖由 fanbst 于 2008-1-16 23:01 发表
补零到底能有什么效果?不是说只有增加有效数据的长度才能增大频率分辨率吗?也就是说在原来的频率分辨率下测不出的频率,即使你增加再多的零也还是测不出,不知道我的理解有没有错误
频率分辨率可以从两个方面来定义:一是某一个算法(如谱分析方法,功率谱估计方法等)将原信号x(n)中两个靠得很近的谱峰把它们分辨出的能力。二是在使用DFT时,在频率轴上的所能得到的最小频率间隔Δf,为Δf=fs/N。所以补零是能提高DFT中的分辨率,但是补零不能提高两个靠得很近的谱峰分辨出的能力。补零本质上是谱线的内插。 本帖最后由 wdhd 于 2016-9-8 14:55 编辑
原帖由 songzy41 于 2008-1-17 08:41 发表
频率分辨率可以从两个方面来定义:一是某一个算法(如谱分析方法,功率谱估计方法等)将原信号x(n)中两个靠得很近的谱峰把它们分辨出的能力。二是在使用DFT时,在频率轴上的所能得到的最小频率间隔Δf,为Δf=fs/N。 ...
好像有点明白了,那我再举个稍微具体一点的例子
假设现在频率分辨率为5Hz,前1024个数据中检测出峰值在20Hz,而根据已有信息知道接下来的1024个数据的频率峰值应该在23Hz的地方,那么实际上在图上能不能看到23Hz这个峰值呢? 本帖最后由 wdhd 于 2016-9-8 14:55 编辑
原帖由 fanbst 于 2008-1-17 13:06 发表
假设现在频率分辨率为5Hz,前1024个数据中检测出峰值在20Hz,而根据已有信息知道接下来的1024个数据的频率峰值应该在23Hz的地方,那么实际上在图上能不能看到23Hz这个峰值呢?
分辨率为5Hz,检测出峰值在20Hz,那当然是看不到23Hz这个峰值。因为谱线分别在15Hz、20Hz和25Hz,在23Hz处没有谱线。但如果想要精确地求出信号频率在23Hz处,可以通过补0,例如把数据长度变为原长的5倍,Δf=1Hz,这样再变换时在23Hz处就有峰值;或用修正法进行计算,也可得到信号频率在23Hz处。 采样频率与采样总点数和数据长度有关。 本帖最后由 wdhd 于 2016-9-8 14:55 编辑
原帖由 songzy41 于 2008-1-17 13:57 发表
分辨率为5Hz,检测出峰值在20Hz,那当然是看不到23Hz这个峰值。因为谱线分别在15Hz、20Hz和25Hz,在23Hz处没有谱线。但如果想要精确地求出信号频率在23Hz处,可以通过补0,例如把数据长度变为原长的5倍,Δf=1Hz, ...
谢谢您不厌其烦,基本上理解了,我再自己总结一下,您看看我的理解对不对
也就是说通过补零可以让谱线更密,从而“看到”更多的频率分量……但不能“测到”原先测不到的频率分量,比如说如果这后1024个数据中包含有21和23两个频率分量的话,那补零是没法分辨这两个峰值的,因为分辨率只有5Hz,所以出现的情况大概就是在21Hz和23Hz中间某个位置出现一个峰值。而如果是包含有23Hz和一个小于18Hz或者大于28Hz的频率分量那么就能被准确地分辨出来了。
页:
[1]