天天看点

频域补零上采样_关于FFT的一些细节之补零操作

    在做信号处理的过程中,常遇到将信号补零后再做FFT等操作,比如频域脉冲压缩算法中,一般距离维PRT数据和脉压系数需要填零使长度相等且满足2的N次方,但是填零操作能做什么,不能做什么呢?

    先说结论:补零不会改变频谱的样子(轮廓),也就是不会改变频率分辨率,但会减弱栅栏效应,提高频谱分辨率,也就是频谱采样点会增加,导致频谱采样间隔减小。注意,频谱分辨率和频率分辨率的区别。

   示例中使用100Hz采样率产生两个单频点正弦信号,频率分别为11、12Hz;接着两者分别做FFT运算,以及两信号叠加后做FFT;

频域补零上采样_关于FFT的一些细节之补零操作
频域补零上采样_关于FFT的一些细节之补零操作
频域补零上采样_关于FFT的一些细节之补零操作
频域补零上采样_关于FFT的一些细节之补零操作
频域补零上采样_关于FFT的一些细节之补零操作
频域补零上采样_关于FFT的一些细节之补零操作
频域补零上采样_关于FFT的一些细节之补零操作
频域补零上采样_关于FFT的一些细节之补零操作

    从以上各图可以看出,随着填零数量的增加,频谱的基本轮廓并未改变,只是变得更细腻(提高了频率颗粒度,即频谱分辨率),但是并不能提高频率分辨率,从图形上直观体现为主瓣尖峰宽度不变,图中11Hz和12Hz的正弦信号频谱峰值难以分辨;

    从原理上分析,采样率100Hz,N=32点,则FFT频率分辨率fs/N=3.125Hz,则本例中1Hz的差异是无法分辨的,不断的填充0相当于在频域进行插值,随着填零数量的增加,32点的FFT信号频谱将不断逼近离散时间傅里叶变换(DTFT)的结果;反过来理解(将图按从下往上的顺序看),在N=32不变的情况下,填零后FFT相当于在32点信号DTFT结果中一个频域周期内进行等间隔采样而来。

    提高频率分辨率需要增加观测时间(即有效数据长度),如需要分辨1Hz的频率,就需要至少1/1Hz=1s的有效观测市场;下面看看增加采样点数后频谱的变化,图中分别有11、12Hz两个频率的独立频谱和时域叠加后的频谱,可以看到在N大于128点开始,叠加信号主瓣上开始出现两个非相邻独立峰值点,N越大,区分越明显。单频信号的主瓣宽度随着N增加而变窄。

频域补零上采样_关于FFT的一些细节之补零操作
频域补零上采样_关于FFT的一些细节之补零操作
频域补零上采样_关于FFT的一些细节之补零操作
频域补零上采样_关于FFT的一些细节之补零操作
频域补零上采样_关于FFT的一些细节之补零操作

本例种还存在一个值得讨论和深究的点:频谱泄露和栅栏效应,留个坑吧,通过记录来总领和疏通整个信号处理的思绪和流程。最后,如发现有不对的地方,诚请拍砖!!