全相位FFT频谱分析
- 格式:docx
- 大小:36.73 KB
- 文档页数:1
用FFT 做频谱分析一、实验目的(1) 在理论学习的基础上,通过本实验,加深对FFT 的理解,熟悉FFT 子程序。
(2) 熟悉应用FFT 对典型信号进行频谱分析的方法。
(3) 了解应用FFT 进行信号频谱分析过程中可能出现的问题,以便在实际中正确应用FFT 。
(4) 熟悉应用FFT 实现两个序列的线性卷积的方法。
(5) 初步了解用周期图法做随机信号谱分析的方法。
二、实验原理与方法在各种信号序列中,有限长序列信号处理占有很重要的地位,对有限长序列,我们可以使用离散傅里叶变换(DFT)。
这一变换不但可以很好地反映序列的频谱特性,而且易于用快速算法在计算机上实现,当序列x (n )的长度为N 时,它的DFT 定义为21j 0()()e N knN NN n X k x n W W π--===∑,逆变换为101()()N kn N k x n X k W N --==∑ 有限长序列的DFT 是其z 变换在单位圆上的等距采样,或者说是序列傅里叶变换的等距采样,因此可以用于序列的谱分析。
FFT 并不是与DFT 不同的另一种变换,而是为了减少DFT 运算次数的一种快速算法。
它是对变换式进行一次次分解,使其成为若干小点数的组合,从而减少运算量。
常用的FFT 是以2为基数的,其长度2L N =,其中,L 为正整数。
它的效率高,程序简单,使用非常方便。
当要变换的序列长度不等于2的整数次方时,为了使用以2为基数的FFT ,可以用末位补零的方法,使其长度延长至2的整数次方。
1) 在运用DFT 进行频谱分析的过程中可能产生的三种误差(1) 混叠。
序列的频谱是被采样信号的周期延拓,当采样速率不满足奈奎斯特定理时,就会发生频谱混叠,使得采样后的信号序列频谱不能真实地反映原信号的频谱。
避免混叠现象的唯一方法是保证采样速率足够高,使频谱混叠现象不致出现,即在确定采样频率之前,必须对频谱的性质有所了解。
在一般情况下,为了保证高于折叠频率的分量不会出现,可在采样前先用低通模拟滤波器对信号进行滤波。
基于双窗全相位FFT的激光多普勒频率提取与校正方法王彦林; 石云波; 康强; 米振国; 张婕; 曹慧亮【期刊名称】《《激光与红外》》【年(卷),期】2019(049)012【总页数】7页(P1395-1401)【关键词】激光测速; 频谱泄露; 全相位频谱分析; 频谱校正【作者】王彦林; 石云波; 康强; 米振国; 张婕; 曹慧亮【作者单位】中北大学仪器科学与动态测试教育部重点实验室山西太原 030051; 中北大学电子测试技术重点实验室山西太原 030051; 中国兵器工业试验测试研究院陕西华阴 714200【正文语种】中文【中图分类】TN2491 引言激光多普勒测速仪(LDV)是近几十年发展起来的一种利用激光多普勒频移技术来获得物体的运动信息的测速手段。
它具有测速精度高、测量范围广、空间分辨率高、动态响应性能好以及非接触式测量的优点,因此广泛应用于航空航天、导航、机械以及计量等领域[1]。
它利用被测运动物体表面的散射粒子对入射光的散射导致的频率变化来探测物体的运动速度。
测速系统的光电信号的一般处理方法为先经过前置放大以及滤波处理,再通过高速瞬态信号记录仪采集到上位机中运用数字信号处理手段对其进行去除趋势项、加窗处理,最后通过短时傅里叶变换(STFT)获得光电信号的频谱,根据其频率计算出运动物体的速度值。
但是直接根据STFT的结果来获得信号的频率分量,由于栅栏效应以及频谱泄露一般存在着由于频率分辨率造成的误差[2]。
对于一组离散信号,对其进行N点FFT变换,在其频谱图上所能够分辨的最小频率为Δω=fNyquist/N,因此真实信号的频率往往会不可避免地落入相邻的两条谱线之间。
为了获得更高精度的频率值,直观来说可以降低采样频率或者提高FFT运算的数据长度,但是前者意味着降低LDV的动态测量范围,后者一般受制于数据长度以及运算成本,因此必须采用频率校正的方法来获得更高精度的频率估计。
目前国内外有四种应用较为广泛的激光多普勒频谱校正方法:分别为能量重心法、比值法、双谱线法以及FFT+DFT谱连续细化法[3-4],但是这些方法都是基于FFT 的结果进行变换进行求解,因此传统FFT导致的精度误差也会对频谱校正的结果造成影响。
20090401310074 海南大学实验二 应用FFT 对信号进行频谱分析一、实验目的1、进一步加深DFT 算法原理和基本性质的理解(因为FFT 只是DFT 的一种快速算法, 所以FFT 的运算结果必然满足DFT 的基本性质)。
2、学习用FFT 对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便在实际中正确应用FFT 。
二、实验原理i.模拟信号频率Ω和采样得到的数字信号频率ω的关系:/s T f ω=Ω=Ωii.DTFT 与对应的理想采样信号的频谱之间的对应关系为:|^()()jw a T X j X e ω=ΩΩ=即DTFT 与FT 的关系为:12()[()]j a r X e X j r T T Tωωπ∞=-∞=-∑就是说,只要知道了采样序列的频谱,就可以得到相应的连续信号的频谱。
(满足耐奎斯特采样定理)iii.DFT 是对离散时间序列的频域采样,是对ZT 上单位圆上的均匀采样,或者是DTFT 上[0,2]π的等间距采样。
当满足频域的采样定理时,便可以由频域的采样值恢复ZT 或者是DTFT 。
所以能用DFT 对信号进行频谱分析。
当采样的点数足够时,便能用它的包络作为模拟信号的近似谱。
近似的过程中,可能会有混叠现象,泄露现象和栅栏效应这三种误差。
iv.离散傅立叶变换DFT :10()(),0,1,2...,1N nkN n X k x n W k N -===-∑[]101()()(),0,1,2...,1N nkN n x n IDFT X k X k W n N N --====-∑反变换与正变换的区别在于N W 变为1-N W ,并多了一个N 1的运算。
因为N W 和1-N W 对于推导按时间抽取的快速傅立叶变换算法并无实质性区别,因此借助FFT 来实现IFFT.三、实验内容和结果:1. 高斯序列的时域和频域特性:高斯序列的时域表达式:2(),015()0,n p q a e n x n -⎧⎪≤≤=⎨⎪⎩其它i. 固定参数p=8,改变参数q 的值,记录时域和频域的特性如下图。
实验一报告、用FFT 对信号作频谱分析一、实验目的学习用FFT 对连续信号和时域离散信号进行频谱分析的方法,了解可能出现的分析误差及其原因,以便正确应用FFT 。
二、实验内容1.对以下序列进行频谱分析:()()()()4231038470n 4033470nx n R n n n x n nn n n x n n n =+≤≤⎧⎪=-≤≤⎨⎪⎩-≤≤⎧⎪=-≤≤⎨⎪⎩其它其它 选择FFT 的变换区间N 为8和16两种情况进行频谱分析。
分别打印其幅频特性曲线,并进行对比,分析和讨论。
2.对以下周期序列进行频谱分析:()()45cos4coscos48x n n x n n nπππ==+选择FFT 的变换区间N 为8和16两种情况分别对以上序列进行频谱分析。
分别打印其幅频特性曲线,并进行对比、分析和讨论。
3.对模拟信号进行频谱分析:()8cos8cos16cos20x t t t t πππ=++选择采样频率64s F Hz =,对变换区间N=16,32,64 三种情况进行频谱分析。
分别打印其幅频特性,并进行分析和讨论。
三、实验程序1.对非周期序列进行频谱分析代码:close all;clear all;x1n=[ones(1,4)];M=8;xa=1:(M/2);xb=(M/2):-1:1;x2n=[xa,xb];x3n=[xb,xa];X1k8=fft(x1n,8);X1k16=fft(x1n,16);X2k8=fft(x2n,8);X2k16=fft(x2n,16);X3k8=fft(x3n,8);X3k16=fft(x3n,16);subplot(3,2,1);mstem=(X1k8);title('(1a)8点DFT[x_1(n)]');subplot(3,2,2);mstem=(X1k16);title('(1b)16点DFT[x_1(n)]');subplot(3,2,3);mstem=(X2k8);title('(2a)8点DFT[x_2(n)]');subplot(3,2,4);mstem=(X2k16);title('(2b)16点DFT[x_2(n)]');subplot(3,2,5);mstem=(X3k8);title('(3a)8点DFT[x_3(n)]');subplot(3,2,6);mstem=(X3k16);title('(3b)16点DFT[x_3(n)]');2.对周期序列进行频谱分析代码:N=8;n=0:N-1;x4n=cos(pi*n/4);x5n=cos(pi*n/4)+cos(pi*n/8);X4k8=fft(x4n);X5k8=fft(x5n);N=16;n=0:N-1;x4n=cos(pi*n/4);x5n=cos(pi*n/4)+cos(pi*n/8);X4k16=fft(x4n);X5k16=fft(x5n);figure(2)subplot(2,2,1);mstem(X4k8);title('(4a)8点 DFT[x_4(n)]');subplot(2,2,2);mstem(X4k16);title('(4b)16点DFT[x_4(n)]');subplot(2,2,3);mstem(X5k8);title('(5a)8点DFT[x_5(n)]');subplot(2,2,4);mstem(X5k16);title('(5a)16点DFT[x_5(n)]') 3.模拟周期信号谱分析figure(3)Fs=64;T=1/Fs;N=16;n=0:N-1;x6nT=cos(8*pi*n*T)+cos(16*pi*n*T)+cos(20*pi*n*T);X6k16=fft(x6nT);X6k16=fftshift(X6k16);Tp=N*T;F=1/Tp;k=-N/2:N/2-1;fk=k*F;subplot(3,1,1);stem(fk,abs(X6k16),'.');box ontitle('(6a)16µãDFT[x_6(nT)]');xlabel('f(Hz)');ylabel('·ù¶È');axis([-N*F/2-1,N*F/2-1,0,1.2*max(abs(X6k16))]);N=32;n=0:N-1; %FFTµÄ±ä»»Çø¼äN=32x6nT=cos(8*pi*n*T)+cos(16*pi*n*T)+cos(20*pi*n*T);X6k32=fft(x6nT);X6k32=fftshift(X6k32);Tp=N*T;F=1/Tp;k=-N/2:N/2-1;fk=k*F;subplot(3,1,2);stem(fk,abs(X6k32),'.');box ontitle('(6b)32µãDFT[x_6(nT)]');xlabel('f(Hz)');ylabel('·ù¶È');axis([-N*F/2-1,N*F/2-1,0,1.2*max(abs(X6k32))]);N=64;n=0:N-1; %FFTµÄ±ä»»Çø¼äN=64x6nT=cos(8*pi*n*T)+cos(16*pi*n*T)+cos(20*pi*n*T);X6k64=fft(x6nT);X6k64=fftshift(X6k64);Tp=N*T;F=1/Tp;k=-N/2:N/2-1;fk=k*F;subplot(3,1,3);stem(fk,abs(X6k64),'.');box ontitle('(6c)64µãDFT[x_6(nT)]');xlabel('f(Hz)');ylabel('·ù¶È');axis([-N*F/2-1,N*F/2-1,0,1.2*max(abs(X6k64))]);四、实验结果与分析分析:图(1a)和图(1b)说明X1(n)=R4(n)的8点和16点DFT分别是X1(n)的频谱函数的8点和16点采样;因X3(n)=X2((n-3))8R8(n),故X3(n)与X2(n)的8点DFT的模相等,如图(2a)和图(3a)所示。
全相位FFT频谱分析
在传统的FFT中,只考虑信号的幅值谱,而忽略了相位信息。
相位信
息在许多应用领域中非常重要,例如音频处理、图像处理和通信系统等。
全相位FFT通过在FFT计算中加入额外的处理步骤,使得在频域中同时获
得信号的幅值谱和相位谱。
在全相位FFT中,首先对时域信号进行傅里叶变换,得到频域的复数
序列。
复数序列可以表示为幅度和相位的形式,其中幅度表示信号的能量
大小,相位表示信号的相对位置。
然后,对频域的复数序列进行处理,得
到幅值谱和相位谱。
计算幅值谱时,通过对复数序列中每个元素的实部和虚部进行平方运算,并相加得到幅度的平方。
幅值谱反映了信号在频域中的能量分布情况。
计算相位谱时,通过对复数序列中每个元素的实部和虚部进行反正切
运算,得到相位的角度信息。
相位谱反映了信号在频域中的相对相位差异。
在实际应用中,全相位FFT可用于音频信号的频谱分析和合成,以及
图像处理中的频域滤波。
在通信系统中,全相位FFT可以用于信号的调制
和解调,以及信道估计和均衡等关键技术。
总而言之,全相位FFT是一种能够同时提供信号幅值谱和相位谱的频
谱分析方法。
它在许多领域中具有重要应用,能够帮助我们深入了解信号
的频域特性,并为信号处理和通信系统设计提供有价值的信息。
电力系统中,对电网电压和电流基波参数的测量分析,通常采用传统的离散傅里叶变换(DFT 进行频谱分析来实现,当信号的频率不是DFT 频率分辨率的整数倍的时候,即对信号非整周期采样,会产生频谱泄漏,使测得的幅值、频率和相位偏离实际值,尤其相位测量误差更大[1-4]。
现提出一种基于全相位频谱分析的正弦信号高精度参数估计算法,在精度与实时性与算法复杂度上均优于现有算法,软件编写简单,在无噪情况下参数估计近似为无偏估计,尤其对相位的估计,误差可达到0.001%。
1全相位频谱分析文献[5]提出一种新型的频谱估计算法,对传统DFT 频谱分析时数据的截断方式进行了改进,可以很大程度地减小频谱泄漏。
若将N 阶中心对称窗和N 阶矩形窗卷积产生的一个2N -1阶窗作为窗函数,则是全相位单窗频谱分析,若将N 阶中心对称窗和自身卷积产生的一个2N-1阶窗作为窗函数,则是全相位双窗频谱分析,其框图如图1所示。
首先,推导对具有单一频率f 0的单频信号进行全相位频谱分析得到的幅度。
设单频信号:x=e j 2πf 0f sn其中,f 0为信号频率,f s 为采样频率。
对于时间序列中的一点x (N ,存在也只存在N 个包含该点的N 维向量:X 0=[x (N x (N+1…x (2N-1]T X 1=[x (N-1x (N …x (2N-2]T…X N-1=[x (1x (2…x (N ]T将每个向量进行循环移位,把样本点x (N 移到首位,则得到另外的N 个N 维向量:X 0′=[x (N x (N+1…x (2N-1]T X 1′=[x (N x (N+1…x (N-1]T…X N-1′=[x (N x (1…x (N-1]T对准x (N 相加得到全相位数据向量:X A P =1N[Nx (N (N-1x (N+1+x (1…x (2N-1+(N-1x (N-1]T基于全相位频谱分析的正弦信号高精度参数估计方法黄晓红1,王兆华2(1.河北理工大学信息学院,河北唐山063000;2.天津大学电子信息工程学院,天津300072摘要:对传统频谱分析的输入数据截断方式进行了改进,提出了全相位频谱分析,理论证明全相位频谱分析幅度谱是传统FFT 频谱分析幅度谱的平方,可以很大程度上减小频谱泄露,同时,给出了其实现框图。
全相位FFT频谱分析
首先,我们来了解一下傅里叶变换的基本概念。
傅里叶变换是一种将时域信号转换为频域信号的数学方法,经常用于分析信号的频谱特性。
其基本原理就是将信号分解为不同频率的正弦和余弦波的叠加。
传统的FFT算法只计算了信号的振幅谱,而忽略了信号的相位信息。
全相位FFT算法则在传统FFT算法的基础上进一步计算了信号的相位谱,从而能够完整地描述信号的频域特性。
具体实现全相位FFT频谱分析的步骤如下:
1.将原始信号分成多个相同长度的段,每段长度为N。
2.对每段信号进行FFT变换,得到每段信号的复数频谱序列。
3.分别计算每段信号的振幅谱和相位谱。
振幅谱用来表示信号在不同频率上的能量分布,相位谱用来表示信号在不同频率上的相位差异。
4.将每段信号的振幅谱和相位谱进行叠加,得到最终的全相位FFT频谱结果。
全相位FFT频谱分析在许多领域有着广泛的应用。
例如,在音频处理中,全相位FFT可以用于音频信号的频谱分析、声音合成和音频信号的相位重构等。
在图像处理中,全相位FFT可以用于图像的频谱滤波、图像压缩和图像的高频增强等。
总结起来,全相位FFT频谱分析是一种可以完整描述信号频域特性的算法。
它可以通过计算信号的振幅谱和相位谱来分析信号的频谱信息,并在许多应用中发挥重要作用。
通过全相位FFT频谱分析,我们可以更好地理解信号的频域特性,并进一步进行信号处理和分析。