用快速傅里叶变换对信号进行频谱分析
实验二用快速傅里叶变换对信号进行频谱分析一、实验目的1理解离散傅里叶变换的意义;2掌握时域采样率的确定方法;3掌握频域采样点数的确定方法;4掌握离散频率与模拟频率之间的关系;5掌握离散傅里叶变换进行频谱分析时,各参数的影响。二、实验原理序列的傅里叶变换结果为序列的频率响应,但是序列的傅里叶变换是频率的连续函数而且在采用计算机计算时,序列的长度不能无限长,为了便于计算机处理,作如下要求:序列x(n)为有限长,n从0N1,再对频率在02兀范围内等间隔采样,采样点数为N,采样间隔为2n/N。第k个采样点对应的频率值为2nk/N。可得离散傅里叶变换及其逆变换的定义为Nr!.沁(1)X(k),乙x(n)e-jNnn,0x(n),1X(k)ej竽k,o如果把一个有限长序列看作是周期序列的一个周期,则离散傅里叶变换就是傅里叶级数。离散傅里叶变换也是周期的,周期为N。数字频率与模拟频率之间的关系为,2吋/f,s即f,fs-2兀2兀T(3)则第k个频率点对应的模拟频率为上2兀k1kskffk,N2兀TNTsN(4)ss在用快速傅里叶变换进行频谱分析时,要确定两个重要参数:采样率和频域采样点数,采样率可按奈奎斯特采样定理来确定,采样点数可根据序列长度或频率分辨率f来确定fZ,则N>f用快速傅里叶变换分析连续信号的频谱其步骤可总结如下:(1) 根据信号的最高频率,按照采样定理的要求确定合适的采样频率f;(2) 根据频谱分辨率的要求确定频域采样点数N,如没有明确要求频率分辨率,则根据实际需要确定频率分辨率;(3) 进行N点的快速傅里叶变换,最好将纵坐标根据帕塞瓦尔关系式用功率来表示横坐标根据式(7-21)转换为模拟频率Hz;(4)根据所得结果进行分析。三、实验内容1采样率和采样点数的确定在本实验中要用到正弦波、矩形波和正弦调制波正弦波:sin(20兀t);矩形波:频率为50Hz、占空比为1的矩形波;正弦波调制波:sin(20兀t)Xcos(100兀t)根据上述波形确定采样频率。假定所有波形的频率分辨率均为0.5Hz,确定频域采样点数。2信号的频谱分析 正弦波进行快速傅里叶变换; 矩形波进行快速傅里叶变换; 正弦调制波进行快速傅里叶变换;3分析各信号的频谱与时域波形之间的关系四、实验步骤1复习并理解离散傅里叶变换的定义和物理意义;2.编写Matlab程序对信号进行频谱分析(参看例题中的程序);3调试程序,排除程序中的错误;4分析程序运行结果,检验是否与理论一致;5如结果不理想,调整有关参数,得到较理想的结果。五、实验报告要求1阐明实验的目的、原理和内容;2打印主要程序并粘贴在实验报告中;3打印实验结果并粘贴在实验报告中;4针对实验结果加以分析和总结。六、思考题(1)频谱的幅度有没有物理意义?如没有,怎样处理才能有物理意义?(2)为什么所得信号的频谱均是关于中心点对称的?(3)要让所得频谱近似为理想的冲激,该如何调整参数?附例题例1试对信号x(t)=2sin(30兀t)cos(32兀t)+sin(60兀t)进行频谱分析。解:信号中包含了3种频率:15Hz、16Hz和30Hz,最高频率为30Hz,所以采样率不能低于60Hz,这里取100Hz。没有明确告诉频率分辨率,但是有两个频率仅相差1Hz,因此,频率分辨率不能低于1Hz,取0.1Hz。当然采样率越高、频率分辨率越高,则计算量就越大。程序如下:deltf=0.1;%频率分辨率Fs=100;%采样率N=Fs/deltf;%采样点数n=0:N-1;%采样点x=2*sin(30*pi*n/Fs)-cos(32*pi*n/Fs)+sin(60*pi*n/Fs);%采样y=fft(x);%快速傅里叶变换ye=y.*conj(y);%计算能量subplot(2,2,1);plot(n*Fs/N,real(y),'k');xlabel('频率/Hz');ylabel('幅度');text(45,100,'实部');subplot(2,2,2);plot(n*Fs/N,imag(y),'k');xlabel('频率/Hz');ylabel('幅度');axis(0100-15001500);text(45,1200,'虚部');subplot(2,2,3);plot(n*Fs/N,ye,'k');xlabel('频率/Hz');ylabel('幅度');axis(0100012e5);text(45,10e5,'能量');subplot(2,2,4);plot(n*Fs/N,ye/NA2,'k');xlabel('频率/Hz');ylabel('幅度');axis(010001.5);text(45,1.2,'功率');