资源描述:
《利用dft分析离散信号频谱》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、YUNNANNORMALUNIVERSITY本科学生实验报告学号姓名学院_专业、班级_实验课程名称数字信号处理教师及职称开课学期2014至2015学年下学期填报时间2015年4月10曰云南师范大学教务处编印实验序号实验时间实验名称利用DFT分析离散信号频谱2015年4月8日实验室同析3121.实验目的应用离散傅里叶变化DFT,分析离散信号x(t)的频谱,深刻理解利用DFT分析模拟信号频谱的原理、分析过程中出现的现象及解决方法。实验原理、实验流程或装置示意图实验原理:根据信号傅里叶变换建立的时域与频域之间的对应关系,可以得到有限长序
2、列的离散傅里叶变换(DFT)与4种确定信号傅里叶变换之间的关系,实现由DFT分析频谱。1.四种信号的频谱函数及其对应关系连续时间非周期信号x(t)的频谱函数X(jo)=Tx(t)e'jwtdt;周期为TO的连续时间信号x(t)的频谱函数X(nw0)=l/T0fx(t)e^-jnwOtdt式中:TO是信号的周期;w0=2pi/T0=2pi«)称为信号的基频(基波);nwO称为信号的谐频。离散非周期信号x[k]的频谱函数X(e^jQ)是周期为2*pi的连续谱,定义为X(e"jQ)=DTFT{x[k]}=Zx[k]e"-jkQ,周期为N
3、的离散周期信号x[k]的频谱函数X[m]是周期为N的离散谱,定义为X[m]=DFS{x[k]}=Ex[k]e"-jmk2*pi/n.2.离散傅里叶变换DFT与MATLAB实现有限长N的序列x[k]可以表示为有限N项的虚指数信号{e"-jmk2*pi/n;m=0,1,...,N—1}线性组合,即有限长N的序列x[k]的傅里叶表示为x[k]=l/NZx[m]e"-jmk2*pi/N;k=0,1,...N—1;其中x[m]二5Zx[k]e"-jmk2*pi/N:m二0,1,...N—1;3.利用DFT计算离散周期的频谱(1)确定离散周期
4、序列x'[k]的基本周期N;(2)利用fft函数对序列x'[k]的一个周期进行N点FFT计算,得至ljXm1[例X[]mrLrLX已知周期序列x[k]=cos(JT/8k+n/3)+0.5cos(k7/8k),利用FFT计算其频谱并与理论分析比较。N=16;k=0:N-l;x=cos(pi/8*k+pi/3)+0.5*cos(7*pi/8*k);X=fft(xzN);subplot(2,1,1);stem(k-N/2,abs(fftshift(X)));ylabel(1Magnitude1);xlabel(1Frequency(r
5、ad)1);subplot(2,1,2〉;stem(k-N/2,angle(fftshift(X)));ylabel('Phase1);xlabel('Frequency(rad)•);86429pn-ESBSFrequency(rad)①-£=□LFrequency(rad)【例1.4.2】k=0:30;x=0.8.周期序列的幅度普和相位谱利用DFT分析序列x[k】=0.8Ak.*u[k]的频谱subplot(2,1,2);w=k-15;plot(w,abs(fftshift(fft(x))));序列时域波形及其幅度频谱3.实验
6、设备及材料MATLAB软件、计算机3.实验方法步骤及注意事项实验方法步骤:(1)打幵MATLAB软件(2)根据题目要求编写程序(3)运行程序(4)分析实验结果(5)关闭计算机注意事项:(1)对于实验仪器要轻拿轻放,遵守实验的规则。(2)程序运行前要检查程序是否正确。二.实验内容1.利用FFT分析信号x[k]=cos(3冗/8*k),k=O,l,...,31的频率:(1)确定DFT计算的参数。(2)进行理论值与计算值比较,讨论信弓频谱分析过程中产生误差的原因及改善方法。N=16;k=0:N-1;x=cos(pi*3/8*k);X=f
7、ft(x,M);subplot(2,1,1);stem(k-N/2,abs(fftshift(X)));ylabel(•Magnitude1;xlabel(1Frequency(rad)•);subplot(2,1,2);stem(k-N/2zangle(fftshift(X)));ylabel(’Phase’);xlabel(’Frequency(rad)1);642C9pn£6e乏rti•8-6-4•202Frequency(rad)468CDcnTOJCZQ_Frequency(rad)6周期序列的幅度谱与相位3.有限长脉冲
8、序列x[k]=[2,3,3,l,0,5;k=0,l,2,3,4,5]4UfflFFT分析其频谱,并绘出其幅度谱与相位谱。解:N=6;k=O:N-1;x=[2,3,3,1,0,5];X=fft(x,N);subplot(2,1,1);stem(k-N