FFT 谱分析中的栅栏效应
- 格式:doc
- 大小:42.00 KB
- 文档页数:3
FFT(Fast Fourier Transform)是一种常用的频谱分析方法,它可以将时域信号转换为频域信号,并且在工程实践中具有广泛的应用。
然而,在进行频谱分析时,人们常常会遇到一些问题,比如频谱泄漏、频谱分辨率不足等。
其中,栅栏效应是频谱分析中的一种常见问题,它会对频谱分析结果造成一定的影响。
为了解决栅栏效应带来的问题,人们提出了一些修正方法,本文将对FFT频谱、栅栏效应以及其修正方法进行探讨。
一、FFT频谱分析1. 时域信号与频域信号时域信号是指随着时间变化而变化的信号,比如声音信号、振动信号等。
频域信号是指信号在频域上的表现,它可以展现出信号的频率成分、幅度大小等信息。
FFT可以将时域信号转换为频域信号,从而方便对信号的频率成分进行分析。
2. FFT算法原理FFT算法是一种快速计算离散傅里叶变换的算法,它可以高效地计算出时域信号的频率成分。
在工程实践中,FFT算法被广泛应用于信号分析、滤波器设计、通信系统等方面。
3. 频谱分辨率频谱分辨率是指能够区分两个不同频率成分的最小频率间隔,它决定了频谱分析的精度。
频谱分辨率越高,表示能够更准确地区分各个频率成分,对于频域信号的分析非常重要。
二、栅栏效应1. 栅栏效应的定义在进行频谱分析时,人们通常会使用FFT算法对时域信号进行频谱分析。
然而,当信号的周期与FFT窗口的周期不一致时,就会出现栅栏效应。
栅栏效应表现为频谱中出现虚假的频率成分,从而影响了频谱分析的准确性。
2. 栅栏效应的产生原因栅栏效应的产生主要是由于时域信号的周期与FFT窗口的周期不一致所导致的。
当时域信号的周期无法被FFT窗口整除时,就会出现栅栏效应。
这是因为FFT算法是将时域信号周期性延拓后再进行频谱分析的,如果时域信号的周期与FFT窗口的周期不一致,就会导致频谱分析结果出现偏差。
3. 栅栏效应的影响栅栏效应会使频谱分析结果出现虚假的频率成分,从而影响对信号频率成分的准确分析。
FFT造成的频谱混叠,栅栏效应,频谱泄露,谱间干扰FFT造成的频谱混叠,栅栏效应,频谱泄露,谱间⼲扰fft在分析频谱分析的时候,会有下⼲四个⼲⼲的误差:(1)频谱混叠:奈奎斯特定理已被众所周知了,所以⼲乎所有⼲的都知道为了不让频谱混叠,理论上采样频谱⼲于等于信号的最⼲频率。
那和时域上联系起来的关系是什么呢?采样周期的倒数是频谱分辨率,最⼲频率的倒数是采样周期。
设定采样点数为N,采样频率fs,最⼲频率fh,故频谱分辨率f=fs/N,⼲fs>=2fh,所以可以看出最⼲频率与频谱分辨率是相互⼲盾的,提⼲频谱分辨率f的同时,在N确定的情况下必定会导致最⼲频率fh的减⼲;同样的,提⼲最⼲频率fh的同时必会引起f的增⼲,即分辨率变⼲。
(2)栅栏效应:由于dft是只取k=0,1,2,.......N-1,只能取到离散值,如果频谱之间相隔较⼲的话也许会将⼲些中间的信息丢失掉,⼲⼲fft计算dft是不可避免的,解决的办法就是增加采样点数N。
这样频谱间隔变⼲,丢失信息的概率减⼲。
另外,增加0可以更细致观察频域上的信号,但不会增加频谱分辨率。
(3)频谱泄露:是由加窗函数引起的,同样是计算量的问题(⼲fft⼲dft必需要加窗函数),时域上的相乘,频域上卷积,引起信号的频谱失真,只有在很少的情况下,频谱泄露是不会发⼲的,⼲部分情况都会引起泄露。
如x(n)=cos(2π/N),(n=0,1,2,3.....N-1,) N点的fft则不会发⼲泄露,但2N,或N+1,N+2等均会引起失真,⼲引起失真可以从表达式上可以看出 X(K)=卷积以后的频谱在2π/N*k的取样值,所以如果是2N 的dft,为2π/2N*K,相当于N点dft结果各个值中间再取样了⼲个值,⼲2π/(N+2)*k,就与N点fft完全不⼲样了。
解决办法,可以扩⼲窗函数的宽度(时域上的宽了,频域上就窄了,(时域频域有相对性),也就是泄露的能量就⼲了),或者不要加矩形的窗函数,可以加缓变的窗函数,也可以让泄露的能量变下。
FFT 谱分析中的栅栏效应一、试验目的在理论学习的基础上,通过本实验加深学生对DFT和FFT变换中栅栏效应误差的理解,使学生对用FFT进行信号频谱分析过程中存在的问题有一个明确的认识.二、试验原理对采样信号的频谱,为提高计算效率,通常采用FFT算法进行计算,设数据点数为:N = T/dt = T.fs,则计算得到的离散频率点为:Xs(fi) ,fi = i.fs/N , i = 0,1,2,...N/2。
这就相当于透过栅栏观赏风景,只能看到频谱的一部分,而其它频率点看不见,因此很可能使一部分有用的频率成份被漏掉,此种现象被称为栅栏效应。
三、试验内容用505Hz正弦波信号的频谱分析来说明栅栏效应所造成的频谱计算误差。
设定采样频率:fs=5120Hz,软件中默认的FFT计算点数为512,其离散频率点为:fi = i.fs/N = i.5120/512=10 ,i= 0,1,2,....,N/2位于505Hz 位置的真实谱峰被挡住看不见,看见的只是它们在相邻频率500Hz 或510Hz处能量泄漏的值。
若设fs=2560Hz,则频率间隔df=5Hz,重复上述分析步骤,这时在505位置有谱线,我们就能得到它们的精确值。
从时域看,这个条件相当于对信号进行整周期采样,实际中常用此方法来提高周期信号的频谱分析精度。
四、程序代码及图形time1=0:1/5120:0.1;%采样频率为5120Hz;f1=0:10:5120;time2=0:1/2560:0.2;%采样频率为2560Hz;f2=0:5:2560;y1=sin(2*pi*505*time1);transf1=abs(fft(y1)/512);y2=sin(2*pi*505*time2);transf2=abs(fft(y2)/512);%对y2进行512点的傅里叶变换;subplot(221);plot(time1,y1);title('sin(2*pi*505*t1)');subplot(223);stem(f1(1:512),transf1(1:512));title('fs=5120');subplot(222);plot(time2,y2);title('sin(2*pi*505*t1)');subplot(224);stem(f2(1:512),transf2(1:512));title('fs=2560');观察在fs=5120和fs=2560点的放大图形,当fs=2560在505位置有谱线。
(一) 连续时间信号经采样、截断后的序列为Xn(n),其频谱函数XN(ejw),并不随序列末端补零而改变,信号的频率分辨率为Fs/N.序列末端补零只能提高信号频谱显示的分辨率。
换句话说,如果连续时间信号在离散化或时域加窗截断过程中,由于频谱泄漏或混叠等原因已造成信号频谱中信息的失真,则无论怎么补零做DFT,都无法再恢复已损失的信息。
提高信号的频率分辨率只有提高信号的采样频率或增加序列的截断长度N(信号的持续时间加长)。
1)数据后面补零-------不能提高信号的频率分辨率序列末端补零后,尽管信号的频谱不会变化,但对序列做补零后L点DFT后,计算出的频谱实际上是原信号频谱在[0,2*pi)区间上L个等间隔采样,从而增加了对真实频谱采样的点数,并改变了采样点的位置,这将会显示出原信号频谱的更多的细节。
故而数据后面补零可以克服栅栏效应。
2)数据间隔补零-------不能提高信号的频率分辨率3)数据插值相当于提高了信号的采样率,可以提高信号的频率分辨率(二)【原创】补零与离散傅里叶变换的分辨率[DSP] 发布时间:2009-11-21 19:57:52 离散傅里叶变换(DFT)的输入是一组离散的值,输出同样是一组离散的值。
在输入信号而言,相邻两个采样点的间隔为采样时间Ts。
在输出信号而言,相邻两个采样点的间隔为频率分辨率fs/N,其中fs为采样频率,其大小等于1/Ts,N为输入信号的采样点数。
这也就是说,DFT的频域分辨率不仅与采样频率有关,也与信号的采样点数有关。
那么,如果保持输入信号长度不变,但却对输入信号进行补零,增加DFT的点数,此时的分辨率是变还是不变?答案是此时分辨率不变。
从时域来看,假定要把频率相差很小的两个信号区分开来,直观上理解,至少要保证两个信号在时域上相差一个完整的周期,也即是相位相差2*pi。
举个例子,假定采样频率为1Hz,要将周期为10s的正弦信号和周期为11s的正弦信号区分开来,那么信号至少要持续110s,两个信号才能相差一个周期,此时周期为10s的那个信号经历的周期数为11,而11s的那个信号经历的周期书为10。
栅栏效应,频谱泄露,旁瓣效应栅栏效应:对采样信号的频谱,为提高计算效率,通常采用FF T算法进行计算,设数据点数为N = T/dt = T.fs则计算得到的离散频率点为Xs(fi) , fi = i.fs/N , i = 0,1,2,…,N/2这就相当于透过栅栏观赏风景,只能看到频谱的一部分,而其它频率点看不见,因此很可能使一部分有用的频率成分被漏掉,此种现象被称为栅栏效应.不管是时域采样还是频域采样,都有相应的栅栏效应。
只是当时域采样满足采样定理时,栅栏效应不会有什么影响。
而频域采样的栅栏效应则影响很大,“挡住”或丢失的频率成分有可能是重要的或具有特征的成分,使信号处理失去意义。
减小栅栏效应可用提高采样间隔也就是频率分辨力的方法来解决。
间隔小,频率分辨力高,被“挡住”或丢失的频率成分就会越少。
但会增加采样点数,使计算工作量增加。
解决此项矛盾可以采用如下方法:在满足采样定理的前提下,采用频率细化技术(ZOOM),亦可用把时域序列变换成频谱序列的方法。
例如:505Hz正弦波信号的频谱分析来说明栅栏效应所造成的频谱计算误差。
设定采样频率fs=5120Hz,软件中默认的FFT计算点数为512,其离散频率点为fi = i.fs/N = i.5120/512=10×i , i= 0,1,2,…,N/2位于505H z 位置的真实谱峰被挡住看不见,看见的只是它们在相邻频率500H z或510Hz处能量泄漏的值。
若设 fs=2560Hz,则频率间隔d f=5Hz,重复上述分析步骤,这时在505位置有谱线,我们就能得到它们的精确值。
从时域看,这个条件相当于对信号进行整周期采样,实际中常用此方法来提高周期信号的频谱分析精度。
频谱泄露:截断信号时域上相当于是乘以了re ctang ularwindow,于是造成了频谱泄漏的问题。
∑-=--==101,....,0,)(1)(N k nk N N n W k X N n x (3.2) 离散傅立叶反变换与正变换的区别在于N W 变为1-N W ,并多了一个N 1的运算。
因为N W 和1-N W 对于推导按时间抽取的快速傅立叶变换算法并无实质性区别,因此可将FFT 和快速傅立叶反变换(IFFT )算法合并在同一个程序中。
2.利用FFT 进行频谱分析若信号本身是有限长的序列,计算序列的频谱就是直接对序列进行FFT 运算求得)(k X ,)(k X 就代表了序列在[]π2,0之间的频谱值。
幅度谱 )()()(22k X k X k X I R +=相位谱 )()(arctan )(k X k X k R I =ϕ 若信号是模拟信号,用FFT 进行谱分析时,首先必须对信号进行采样,使之变成离散信号,然后就可按照前面的方法用FFT 来对连续信号进行谱分析。
按采样定理,采样频率s f 应大于2倍信号的最高频率,为了满足采样定理,一般在采样之前要设置一个抗混叠低通滤波器。
用FFT 对模拟信号进行谱分析的方框图如下所示。
3.在运用DFT 进行频谱分析的过程中可能产生三种误差:(1)混叠序列的频谱是被采样信号频谱的周期延拓,当采样速率不满足Nyquist 定理时,就会发生频谱混叠,使得采样后的信号序列频谱不能真实的反映原信号的频谱。
避免混叠现象的唯一方法是保证采样速率足够高,使频谱混叠现象不致出现,即在确定采样频率之前,必须对频谱的性质有所了解。
在一般情况下,为了保证不出现频谱混叠,在采样前,先进行抗混叠滤波。
(2)泄漏实际中我们往往用截短的序列来近似很长的甚至是无限长的序列,这样可以使用较短的DFT 来对信号进行频谱分析,这种截短等价于给原信号序列乘以一个矩形窗函数,也相当于在频域将信号的频谱和矩形窗函数的频谱卷积,所得的频谱是原序列频谱的扩展。
抗混叠低通滤波器 采样T=1/f s N 点FFT泄漏不能与混叠完全分开,因为泄漏导致频谱的扩展,从而造成混叠。
一、幅频图傅里叶反变换的实质是将已知信号分解成不同频率信号的组合,对于DFT由其反变换(公式(1))可知,分解后信号的频率k*2π/N,n为时间,所以此时原来的信号,变成了一系列频率离散的信号的组合,所以在频域的图形(幅频图)是一个个离散的点,这点也可由正变换公式得。
由公式(2)对于每一个频率k*2π/N,计算结果都是一个点,同时每个频率的基本幅度是|X(k)|,为什么说基本幅度,因为这个幅度不是各个不同频率信号真正的幅度,由(1)式可以看出,前面还有一个1/N,又由于DFT的圆周对称性,当x(n)为实序列或者纯虚序列信号时,其DFT正变换结果的幅度是圆周对称的。
如下所示,下图是对两个正弦信号(一个50Hz,幅度3,一个75Hz,幅度1.5)与一个直流信号(幅度2)之和求解256点DFT,然后对其幅度求模所得的结果,由图可以看出,如果将这些点放在一个圆周上,他们是关于n=0对称的。
这相当于一个双边谱,频率的能量分成了对称的两部分。
所以其真正的幅度如下,当K不等于0时,频率k*2π/N的幅度等于2|X(k)|/N,K=0时,也就是直流信号的幅度为|X(k)|/N,N为计算DFT的点数。
而且最后结果只取前一半的频率点。
重新计算后得幅频图如下所示,与开始所设的信号幅度一致。
而当信号是复信号时则无对称性质。
例如,信号2+3*exp(j*2π*50*n),真正的幅度就是|X(k)|/N,而且作图时不需要人工去掉后一半的点。
结果如下:另外,本人认为双边谱的结果只是计算的结果,并无实际物理意义,这与用虚指数信号表示的连续周期信号的傅里叶级数出现负频率类似,频率关于ω=0对称。
计算能量也就是真正的幅度时,要考虑到与真频率相对应的负频率。
对于对称性可以有以下的解释。
在傅里叶变换的层面上,总体的来说,因为傅里叶反变换就是把信号分解成以exp(jω)或者exp(jk*2π/N)为基本信号的组合,所以一个复指数信号就代表一个频率(其它复杂复信号可以由复指数信号合成),所以信号是复信号的时候没有对称性。
电子信息工程系实验报告课程名称:数字信号处理Array实验项目名称:用DFT(FFT)对连续信号进行频谱分析实验时间:班级:通信姓名: xxp 学号:一、实验目的:1.掌握用DFT(FFT)对模拟信号进行谱分析的方法,理解可能出现的分析误差及其原因,以便在实际中正确应用FFT。
2.熟悉应用FFT实现两个序列的线性卷积的方法。
二、实验原理:1.用DFT(FFT)对连续信号进行频谱分析用DFT(FFT)对模拟信号做谱分析是一种近似的谱分析。
首先一般的模拟信号(周期信号除外)的频谱是连续谱,而用FFT做谱分析得到的是数字谱,因此应该取FFT的点数多一些,用它的包络作为模拟信号的近似谱。
另外,如果模拟信号不是严格的带限信号,会因为频谱混叠现象引起谱分析的误差,这种情况下可以预先将模拟信号进行预滤,或者尽量将采样频率取高一些。
最后要注意一般的模拟信号是无限长的,分析时要截断,截断的长度与对模拟信号进行频谱分析的分辨率有关。
如果要进行谱分析的模拟信号是周期信号,最好选择观测时间是信号周期的整数倍,如果不知道信号的周期,要尽量选择观测时间长一些,以减少截断效应的影响。
在运用DFT(FFT)对模拟信号进行谱分析的过程中主要可能产生以下三种误差:(1) 混叠现象对模拟信号进行谱分析时首先要对其采样,当采样速率不满足Nyquist定理时,就会发生频谱混叠,使得采样后的信号序列频谱不能真实的反映原模拟信号的频谱。
避免混叠现象的唯一方法是保证采样速率足够高,使频谱混叠现象不致出现,即在确定采样频率之前,必须对频谱的性质有所了解,在一般情况下,为了保证高于折叠频率的分量不会出现,在采样前,先用低通模拟滤波器对信号进行滤波。
(2) 截断效应实际中我们往往用截短的序列来近似很长的甚至是无限长的序列,这样可以使用较短的DFT来对信号进行频谱分析,这种截短等价于给原信号序列乘以一个矩形窗函数,也相当于在频域将信号的频谱和矩形窗函数的频谱卷积,所得的频谱是原序列频谱的扩展。
FFT 谱分析中的栅栏效应
一、试验目的
在理论学习的基础上,通过本实验加深学生对DFT和FFT变换中栅栏效应误差的理解,使学生对用FFT进行信号频谱分析过程中存在的问题有一个明确的认识.
二、试验原理
对采样信号的频谱,为提高计算效率,通常采用FFT算法进行计算,设数据点数为:N = T/dt = T.fs,则计算得到的离散频率点为:
Xs(fi) ,fi = i.fs/N , i = 0,1,2,...N/2。
这就相当于透过栅栏观赏风景,只能看到频谱的一部分,而其它频率点看不见,因此很可能使一部分有用的频率成份被漏掉,此种现象被称为栅栏效应。
三、试验内容
用505Hz正弦波信号的频谱分析来说明栅栏效应所造成的频谱计算误差。
设定采样频率:fs=5120Hz,软件中默认的FFT计算点数为512,其离散频率点为:
fi = i.fs/N = i.5120/512=10 ,i= 0,1,2,....,N/2
位于505Hz 位置的真实谱峰被挡住看不见,看见的只是它们在相邻频率500Hz 或510Hz处能量泄漏的值。
若设fs=2560Hz,则频率间隔df=5Hz,重复上述分析步骤,这时在505位置有谱线,我们就能得到它们的精确值。
从时域看,这个条件相当于对信号进行整周期采样,实际中常用此方法来提高周期信号的频谱分析精度。
四、程序代码及图形
time1=0:1/5120:0.1;%采样频率为5120Hz;
f1=0:10:5120;
time2=0:1/2560:0.2;%采样频率为2560Hz;
f2=0:5:2560;
y1=sin(2*pi*505*time1);
transf1=abs(fft(y1)/512);
y2=sin(2*pi*505*time2);
transf2=abs(fft(y2)/512);%对y2进行512点的傅里叶变换;
subplot(221);plot(time1,y1);
title('sin(2*pi*505*t1)');
subplot(223);stem(f1(1:512),transf1(1:512));
title('fs=5120');
subplot(222);plot(time2,y2);
title('sin(2*pi*505*t1)');
subplot(224);stem(f2(1:512),transf2(1:512));
title('fs=2560');
观察在fs=5120和fs=2560点的放大图形,当fs=2560在505位置有谱线。
五、结论
1. 因为用计算频谱只限值危基频的整数倍而不可能将频谱视为视为已连续函数而产生。
2. 可以在原纪录末端添加一些零值点来改动时间周期内的点数,并保持纪录不变。
从而在保持原有频谱连续形式不变的情况下,变更了谱线的位置。
这样原来看不到的频谱分量就可以转移到可见的位置上了。
3. 在时域,只要满足采样定理,栅栏效应不会丢失信号信息,但在频域,则有可能丢失的重要的或具有特征的频率成分(由于泄漏,丢失频率成分附近的频率有可能存在),导致谱分析结果失去意义。