做FFT变换时,补零和频率分辨率的问题
具体问题:在数字信号处理中,采样频率为44100,我有N=2048点的数据,但是我做了8096点的FFT,最后的频率分辨率到底是多少?怎么算的?在这里面补零的作用是什么?...
具体问题:在数字信号处理中,采样频率为44100,我有N=2048点的数据,但是我做了8096点的FFT,最后的频率分辨率到底是多少?怎么算的?在这里面补零的作用是什么?能提高频率分辨率吗?麻烦讲的具体一点,谢谢!
展开
4个回答
展开全部
1 从分析角度, 设fs为采样频率,fft长度为N, 那么频率分辨率为fs/N, 如果N增加那么频率分辨率增加。这是下面一篇文章的用的论据。
2 从另一角度,设fs为采样频率,fft长度为N, 则频率分辨率为fs/N, 我们引进另一个概念:时间长度DT(duration of time), 可以看出DT = 1/频率分辨率. 则频率分辨率=1/DT 。从这一角度看只要DT不变,频率分辨率就不会变。因此尽管补零或插值,都不会提高分辨率。这是所有目前信号处理教科书的观点,但这些教科书都没有给出原因,不知道为什么,我发现这个问题是曾经找过不少教科书,没有一本给出原因,问老师也答的含糊不清。后来我反复考虑,感觉应该如此解释,如若有意见,欢迎讨论。
从1 我们看出,增加的值全为零,不是原信号内容,这就造成了特殊性,我们的信号变了不是原来信号了!而是新的补零信号的周期延拓。但是可以证明两个信号在对应点上的频谱值相同(直接利用定义即可推出)。至于补零后其它多点处的频谱是否是原信号的内容,这是问题的关键。 事实上,用于实用的方法不是下文里提到的方法,而是利用采样数据抽取,降低采样频率的方法来实现。因为数据长度一般在使用时都是最大长度,尤其是这种应用,肯定已经采用最大数据处理长度。
2 从另一角度,设fs为采样频率,fft长度为N, 则频率分辨率为fs/N, 我们引进另一个概念:时间长度DT(duration of time), 可以看出DT = 1/频率分辨率. 则频率分辨率=1/DT 。从这一角度看只要DT不变,频率分辨率就不会变。因此尽管补零或插值,都不会提高分辨率。这是所有目前信号处理教科书的观点,但这些教科书都没有给出原因,不知道为什么,我发现这个问题是曾经找过不少教科书,没有一本给出原因,问老师也答的含糊不清。后来我反复考虑,感觉应该如此解释,如若有意见,欢迎讨论。
从1 我们看出,增加的值全为零,不是原信号内容,这就造成了特殊性,我们的信号变了不是原来信号了!而是新的补零信号的周期延拓。但是可以证明两个信号在对应点上的频谱值相同(直接利用定义即可推出)。至于补零后其它多点处的频谱是否是原信号的内容,这是问题的关键。 事实上,用于实用的方法不是下文里提到的方法,而是利用采样数据抽取,降低采样频率的方法来实现。因为数据长度一般在使用时都是最大长度,尤其是这种应用,肯定已经采用最大数据处理长度。
展开全部
我认为确实频率分辨率=采样频率 / 点数,但是这个点数的意义是对于被截断的信号的已经模糊的频谱的包络的频率采样。而利用补零的方法是将采样间隔减小以减轻栅栏效应,但补零得到的频率采样值还是已经被模糊的频谱,只不过是看的更清晰而已。因此在采样率不变的情形下,通过增加观察时间可以增加点数N,使得得到的频谱也就是DTFT更加逼近于原信号的值,减轻截断效应,增加频率分辨率。所以点数就是你真正截断采样得到的2048个点,频谱分辨率=44100/2048,而谱线间隔=44100/8096这是我参考程佩清和高西全DSP教材得到的结论,希望能一起交流。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
频率分辨率=采样频率 / 点数
在有效数据后面添上0,增加了点数,就可以提高频率分辨率。
在有效数据后面添上0,增加了点数,就可以提高频率分辨率。
追问
为什么有的好像说补零并不能提高实际的频率分辨率呢?
频率分辨率=采样频率/点数,这个点数应该是信号的实际点数,而不是补零以后的
追答
在有效数据后面添上0,增加了点数,就可以提高频率分辨率。
在做FFT实验时,用MATLAB验证过。
实际的数据,仅有16个,可以用16、32、64、128点的FFT,分别算出16、32、64、128个频率分量,都是分布在0~fs之中。
点数越多,密度明显加大。
你找找数字信号处理的教材或实验指导书吧。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你选的最佳答案是不对的,如果进行FFT变换的点都是来自于信号的话,增加点的个数的确是可以提高频率分辨率,但如果是补0的话,所提高的频率分辨率是没有意义的,不能反映原来信号的频谱,正确的做法是增加来自信号的点数。频率分辨率一般要求是信号频谱中最小频率间隔的十分之一,所以根据信号的特点可以得出要求的频率分辨率,然后取样频率一般都已经固定,就可以求出取样的点数,这个点数就是来自信号的点数N,N确定后要不要补0?补多少?就由自己决定的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询