什么是栅栏效应????
什么是栅栏效应???? 【FFT频率分辨率】 = 【采样率】 / 【FFT点数】,生成的谱线(FFT BIN)的中心频率分别位于n x 【FFT频率分辨率】处,其中n=0, 1, 2,...,。如果被测信号中的一个频率分量正好落在前述的某条谱线所代表的中心频率处,则该频率分量的能量将完全集中在该谱线上而不会泄漏到旁边的谱线上(也就是满足所谓的整周期采样);否则该频率分量的能量将泄漏到旁边的多条谱线上(也就是所谓的频谱泄漏)。如果信号中的一个频率分量不正好落在前述的某条谱线的中心频率处,就会因为能量的泄漏和分散,变得不太明显,若其旁边有大能量的其它频率分量存在的话,甚至会被后者完全淹没,看不出这个频率分量的存在,这就好像透过栅栏看东西一样。
现在举个实例,这里有个被测信号由三个频率分量等幅度混合而成: 98.6328125Hz + 100.0976563Hz + 101.5625Hz, 幅度比1:1:1, 采样率为2000Hz。
(1)先取FFT点数为2048。因此【FFT频率分辨率】 = 2000 / 2048 =0.9765625 Hz, 生成的谱线(FFT BIN)的中心频率分别位于n x 0.9765625Hz处,n=0, 1, 2,...,1024,注意:
当n=101时,谱线中心频率为98.6328125Hz
当n=102时,谱线中心频率为99.609375Hz
当n=103时,谱线中心频率为100.5859375Hz
当n=104时,谱线中心频率为101.5625Hz
也就是说第一个频率分量和第三个频率分量分别正好落在n=101和n=104的谱线上,而第二个频率分量却正好落在n=102和n=103的谱线之间。如下图所示,第二个频率分量几乎看不出来了,就像被栅栏挡住了。
(2)为了让被挡住的频率分量现行,我们用同样的采样数据,通过补零来增加FFT点数,取FFT点数为4096。因此【FFT频率分辨率】 = 2000 / 4096 =0.48828125 Hz, 生成的谱线(FFT BIN)的中心频率分别位于n x 0.48828125Hz处,n=0, 1, 2,...,2048,注意:
当n=202时,谱线中心频率为98.6328125Hz
当n=205时,谱线中心频率为100.0976563Hz
当n=208时,谱线中心频率为101.5625Hz
也就是说第一个频率分量、第二个频率分量和第三个频率分量分别正好落在n=202、n=205和n=208的谱线上。如下图所示,刚才被挡住的第二个频率分量显露出来了。
从上面可看出,减小栅栏效应可通过增加FFT点数(可以是补零,也可以是增加实际数据)来实现。
相应的文本文件和WAV文件供参考。 TestGuru 发表于 2016-5-25 21:12
相应的文本文件和WAV文件供参考。
感谢分享!!!谢谢! TestGuru 发表于 2016-5-25 21:00
【FFT频率分辨率】 = 【采样率】 / 【FFT点数】,生成的谱线(FFT BIN)的中心频率分别位于n x 【FFT频率分 ...
很详细但是理解起来有点难 zhangzy 发表于 2016-5-26 10:36
很详细但是理解起来有点难
解释吗就应该通俗一点让我们这样的小学生好理解哈哈 俺审核了一下前面俺的叙述,虽然是写作于月黑风高之夜,但也没发现什么大问题。这里不是在介绍频谱泄漏的原因问题,而是栅栏效应的问题,但这两个问题其实就是一个问题的两个方面。
以俺个人观点看,其实,“栅栏效应”这种类比不完全准确,从栅栏缝隙看东西,挡住的部分的光能真的挡住了,但频谱上的“栅栏效应”却并未真正挡住任何能量,而是把挡住部分的能量分散了。 TestGuru 发表于 2016-5-26 15:52
俺审核了一下前面俺的叙述,虽然是写作于月黑风高之夜,但也没发现什么大问题。这里不是在介绍频谱泄漏的原 ...
“从栅栏缝隙看东西,挡住的部分的光能真的挡住了,但频谱上的“栅栏效应”却并未真正挡住任何能量,而是把挡住部分的能量分散了”说的很好! 百度百科:
--------------------------
频谱泄露
对于频率为fs的正弦序列,它的频谱应该只是在fs处有离散谱。但是,在利用DFT求它的频谱时,对时域做了截断,结果使信号的频谱不只是在fs处有离散谱,而是在以fs为中心的频带范围内都有谱线出现,它们可以理解为是从fs频率上“泄漏”出去的,这种现象称 为频谱“泄漏”。
在实际问题中遇到的离散时间序列x(n)通常是无限长序列,因而处理这个序列的时候需要将它截短。截短相当于将序列乘以窗函数w(n)。根据频域卷积定理,时域中x(n)和w(n)相乘对应于频域中它们的离散傅立叶变换X(jw)和W(jw)的卷积。
因此,x(n)截矩后的频谱不同于它以前的频谱。
为了减小频谱“泄漏”的影响,往往在FFT处理中采用加窗技术,典型的加窗序列有Hamming、Blackman、Gaussian等窗序列。此外,增加窗序列的长度也可以减少频谱“泄漏”。
小说几句。时域上乘上窗函数,相当于频域进行卷积。长度为无穷长的常数窗函数,频域为delta函数,卷积后的结果和原来一样。如果是有限矩形窗,频域是Sa函数,旁瓣电平起伏大,和原频谱卷积完,会产生较大的失真。
窗的频谱,越像delta函数(主瓣越窄,旁瓣越小),频谱的还原度越高。于是,就产生了那么多bt的窗函数。
加窗就不可避免频谱泄漏,典型的加权序列有Hamming、Blackman、Gaussian等窗序列主要是为了降低旁瓣,对于降低频谱泄漏效果远不如增加窗序列的长度明显吧。
周期信号加窗后做DFT仍然有可能引起频谱泄露,设fs为采样频率,N为采样序列长度,分析频率为:m*fs/N(m=0,1....),以cos函数为例,设其频率为f0,如果 f0不等于m*fs/N,就会引起除f0以外的其他m*fs/N点为非零值,即出现了泄露。
DFT作为有限长的运算,对于无限长的信号必须要进行一定程度的截断,既然信号已经不完整了,那么截断后的信号频谱肯定就会发生畸变,截断由窗函数来完成,实际的窗函数都存在着不同幅度的旁瓣,所以在卷积时,除了离散点的频率上有幅度分量外,在相邻的两个频率点之间也有不同程度的幅度,这些应该就是截断函数旁瓣所造成的。 百度百科:
--------------------------
栅栏效应
栅栏效应,是相当于透过栅栏观赏风景,只能看到频谱的一部分。
对采样信号的频谱,为提高计算效率,通常采用FFT算法进行计算,设数据点数为
N = T/dt = T.fs
则计算得到的离散频率点为
Xs(fi) , fi = i.fs/N , i = 0,1,2,…,N/2
这就相当于透过栅栏观赏风景,只能看到频谱的一部分,而其它频率点看不见,因此很可能使一部分有用的频率成分被漏掉,此种现象被称为栅栏效应. 虽然百度百科说得也不是非常准确,但基本意思已经表达清楚了。 最好有什么实例分享一下 9楼的百度上的频谱泄漏解释不严谨,例如:
“....在利用DFT求它的频谱时,对时域做了截断,结果使信号的频谱不只是在fs处有离散谱,而是在以fs为中心的频带范围内都有谱线出现,它们可以理解为是从fs频率上“泄漏”出去的,这种现象称 为频谱“泄漏”....”。
“...DFT作为有限长的运算,对于无限长的信号必须要进行一定程度的截断,既然信号已经不完整了,那么截断后的信号频谱肯定就会发生畸变...”
时域的截短并不一定带来频谱泄漏,只要实际信号正好等于DFT所采用的截短了的信号段的周期性重复,就不会有频谱泄漏发生,也就是所谓的整周期采样。
10楼的百度上的栅栏效应解释不严谨甚至容易误导,例如:
"...这就相当于透过栅栏观赏风景,只能看到频谱的一部分,而其它频率点看不见,因此很可能使一部分有用的频率成分被漏掉,此种现象被称为栅栏效应..."
虽然很多教科书上有类似解释,但正如俺在7楼上所讲的,这种类比灰常不准确,甚至容易误导。实际情况是,虽然DFT的谱线都在离散点上: n x 【采样率】/【FFT点数】处,其中n=0, 1, 2,...,,但每条谱线的能量代表的不只是该离散点处的单一频点的能量,而是以该离散频点为中心的带宽为FFT BIN宽度的频带内的能量。因此并不存在任何频率成分的能量被漏掉的问题,否则能量就不守恒了。
如俺在沙发楼所述,对于被整周期采样的信号中的频率成分(f=n*【采样率】/【FFT点数】),其能量完全集中于一条FFT谱线上,没有泄漏,由于能量集中因此从频谱上看上去很明显地存在该频谱成分;而对于那些不被整周期采样的信号中的频率成分,其能量会分散到该频率成分附近的多条谱线上,看上去就不太明显,甚至被附近的强能量频率成分所淹没,就看不出来了。这才是栅栏效应。
非常感谢诸位的耐心指导!!!!