文档详情

数字信号处理实验报告_2(离散傅里叶变换与快速傅里叶变换)..doc

发布:2017-01-13约2.4千字共6页下载文档
文本预览下载声明
西华大学实验报告(理工类) 开课学院及实验室: 电气信息学院 6A-205 实验时间 : 年 月 日 学 生 姓 名 学号 成 绩 学生所在学院 电气信息学院 年级/专业/班 课 程 名 称 数字信号处理 课 程 代 码 实验项目名称 离散傅里叶变换与快速傅里叶变换 项 目 代 码 指 导 教 师 项 目 学 分 一、实验目的 1、练习M文件(函数)的编写; 2、学习DFT、FFT的初步应用; 3、学习用simulink建模仿真信号的抽样 二、实验原理 DFT、IDFT、FFT、IFFT 三、实验设备、仪器及材料 计算机、Matlab软件 四、实验步骤(按照实际操作过程) 1、编写自己的离散傅里叶变换式:说明:离散傅里叶变对表达式如下 DFT.m程序 程序说明 function [Xk]=dft(xn) 定义函数dft,xn为参数 xn为需要进行DFT的序列 if nargin1 error(need x(n)!); end dft需要参数 N=length(xn); 取序列的点数 n=0:N-1; k=0:N-1; WN=exp(-j*2*pi/N); 计算 nk=n*k; WNnk=WN.^nk; Xk=xn*WNnk; 编写M文件(函数)的具体步骤 (1)用鼠标点击Matlab主界面工具条上的New M-File图标,打开M文件编辑窗口; (2)在编辑框中输入以下程序后以文件名“dft.m”存盘(请不要改变路径设置); (3)重复步骤(1),在编辑框中输入以下程序后以文件名“idft.m”存盘; IDFT.m程序代码 程序说明 function [xn]=idft(Xk) 定义函数dft,xn为参数 xn为需要进行DFT的序列 if nargin1 error(need X(k)!); end dft需要参数 N=length(Xk); 取序列的点数 n=0:N-1; k=0:N-1; WN=exp(-j*2*pi/N); 计算 nk=n*k; WNnk=WN.^(-nk); xn=Xk*WNnk/N; 2、自编函数dft、idft与工具函数fft、ifft的比较: (1)在命令窗口中建立一序列x(6点); x=[5 2 1 组号 ?] (2)分别用dft和fft对x进行离散傅立叶变换(X1=dft(x); X2=fft(x);),比较结果; (3)分别用idft和ifft进行逆离散傅立叶变换(x1=idft(X1); x2=ifft(X2);),比较结果(x1、x2与原序列x进行比较,x1和x2相互比较); 3、DFT的应用: (1)在Matlab主界面中,用鼠标点击菜单File / Import Data…; (2)在文件对话框中选择数据文件dsp01.mat,导入信号x;(x为512点的序列) (3)对信号进行fft变换,作出幅度谱和相位谱。 程序代码 程序说明 N=length(x); 取得信号点数 n=0:N-1; X=fft(x); 进行DFT mX=abs(X); 取模 aX=angle(X); 取幅角 w=2*pi*n/N; 计算各点频率 subplot(2,1,1); plot (w(1:256),mX(1:256)); 作幅度谱(线图) subplot(2,1,2); plot (w(1:256),aX(1:256)); 作相位谱(线图) 五、实验报告要求 1、对于实验内容1要给出程序; 2、对于实验内容2要给出对比数据和相关结论; 3、对于实验内容3要给出相关谱线; 4、实验报告按规定格式填写,要求如下: (1)实验步骤根据自己实际操作填写; (2)各小组实验数据不能完全相同,否则以缺席论处; 5、实验结束,实验数据交指导教师检查,得到允许后可以离开,否则以缺席论处。 六、实验过程记录(数据、图表、计算等) n=-2:3;x=[1 3 5 7 9 11] X1=dft(x) X2=fft(x) X1 = 36.0000 -6.0000 +10.3923i -6.0000 + 3.4641i -6.0000 - 0.0000i -6.0000 - 3.4641i -6.0000 -10.3923i X2 = 36.0000 -6.0000 +10.3923i -6.0000 + 3.4641i -6.0000
显示全部
相似文档