课程设计课程设计名称:数字信号处理课程设计专业班级:电子信息工程0604学生姓名:学号:20064300406指导教师:课程设计时间:2009年6月14日数字信号处理专业课程设计任务书学生姓名专业班级电信0604学号20064300406题目基于MATLAB的序列DFT实现课题性质其他课题来源自拟课题指导教师同组姓名主要内容根据已学的知识并结合MATLAB对下面三个序列计算在N=16和N=8时序列的N点DFT,并画出幅频特性曲线,最后用DFT理论解释为何两种N值下的DFT结果差别如此之大?复正弦序列)()(81nRenxNnj余弦序列)(8cos)(2nRnnxN正弦序列)(8sin)(3nRnnxN任务要求1、写出设计原理和设计思路,画出程序流程图2、用MATLAB画出序列的N点DFT及其幅频特性曲线3、用MATLAB画出N点DFT的幅频特性曲线参考文献1.程佩青著,《数字信号处理教程》,清华大学出版社,20012.SanjitK.Mitra著,孙洪,余翔宇译,《数字信号处理实验指导书(MATLAB版)》,电子工业出版社,2005年1月3.郭仕剑等,《MATLAB7.x数字信号处理》,人民邮电出版社,2006年审查意见指导教师签字:教研室主任签字:年月日说明:本表由指导教师填写,由教研室主任审核后下达给选题学生,装订在设计(论文)首页一设计内容与技术要求1.设计内容:设计题目:基于MATLAT的序列DFT实现内容要求:根据已学的知识并结合MATLAB对下面三个序列计算在N=16和N=8时序列的N点DFT,并画出幅频特性曲线,最后用DFT理论解释为何两种N值下的DFT结果差别如此之大?复正弦序列)()(81nRenxNnj余弦序列)(8cos)(2nRnnxN正弦序列)(8sin)(3nRnnxN2技术要求:1.写出设计原理和设计思路,画出程序流程图2.用MATLAB画出序列的N点DFT及其幅频特性曲线3.用MATLAB画出N点DFT的幅频特性曲线二设计原理及设计思路离散傅里叶变换(DFT),是连续傅里叶变换在时域和频域上都离散的形式,将时域信号的采样变换为在离散时间傅里叶变换(DTFT)频域的采样。在形式上,变换两端(时域和频域上)的序列是有限长的,而实际上这两组序列都应当被认为是离散周期信号的主值序列。即使对有限长的离散信号作DFT,也应当将其看作经过周期延拓成为周期信号再作变换。时域中N点序列x[n]的DFT定义为X[k]=∑x[n]exp[-j*2pi*kn/N]三程序流程图输入相对应的参数N=16;N=8分别调用序列复正弦序列,正弦序列,余弦序列四程序源代码设计过程:1.对于余弦序列)(8cos)(2nRnnxNk=16;n1=[0:1:15];xa1=cos(2*pi*n1/k);subplot(2,2,1)plot(n1,xa1)xlabel('t/T');ylabel('x(n)');xk1=fft(xa1);xk1=abs(xk1);subplot(2,2,2)stem(n1,xk1)通过matlab仿真得出结果根据幅频特性曲线对结果进行分析xlabel('k');ylabel('X(k)');n2=[0:1:7];xa2=cos(2*pi*n2/k);subplot(2,2,3)plot(n2,xa2)xlabel('t/T');ylabel('x(n)');xk2=fft(xa2);xk2=abs(xk2);subplot(2,2,4)stem(n2,xk2)xlabel('k');ylabel('X(k)');所得原序列和幅频特性曲线:2.对于正弦序列)(8sin)(3nRnnxNk=16;n1=[0:1:15];xa1=sin(2*pi*n1/k);subplot(2,2,1)plot(n1,xa1)xlabel('t/T');ylabel('x(n)');xk1=fft(xa1);xk1=abs(xk1);subplot(2,2,2)stem(n1,xk1)xlabel('k');ylabel('X(k)');n2=[0:1:7];xa2=sin(2*pi*n2/k);subplot(2,2,3)plot(n2,xa2)xlabel('t/T');ylabel('x(n)');xk2=fft(xa2);xk2=abs(xk2);subplot(2,2,4)stem(n2,xk2)xlabel('k');ylabel('X(k)');所得原序列和幅频特性曲线:3.对于复正弦序列)()(81nRenxNnjN=16;N1=8;n=0:N-1;k=0:N1-1;x1n=exp(j*pi*n/8);X1k=fft(x1n,N);X2k=fft(x1n,N1);Subplot(2,2,1);stem(n,abs(X1k),'.');axis([0,20,0,20]);ylabel('|X1(k)|')title('16点的DFT[x1(n)]')Subplot(2,2,3);stem(k,abs(X2k),'.');axis([0,20,0,20]);ylabel('|X1(k)|')title('8DFT[x1(n)]')五.结果分析:N点离散傅里叶变换的一种物理解释就是X(k)是x(n)以N为周期的周期延拓序列的离散傅里叶级数系数的主值区间序列。当N=16时,x1(n),x2(n),x3(n)正好分别是exp(j*pi*n/8),cos(pi*n/8),sin(pi*n/8)。所以x1(n),x2(n),x3(n)的周期延拓序列就是这三个单一频率的正弦序列。当N=8时,x1(n),x2(n),x3(n)正好分别是exp(j*pi*n/8),cos(pi*n/8),sin(pi*n/8)的半个周期,所以x1(n),x2(n),x3(n)的周期延拓序列就不再是单一的正弦序列,而是含有丰富的谐波成分,其离散傅里叶级数的系数与N=16时的差别很大。因此对信号进行频谱分析的时候一定要截取整个周期,负责得到错误的频谱。参考文献:1.程佩青著,《数字信号处理教程》,清华大学出版社,20012.SanjitK.Mitra著,孙洪,余翔宇译,《数字信号处理实验指导书(MATLAB版)》,电子工业出版社,2005年1月3.郭仕剑等,《MATLAB7.x数字信号处理》,人民邮电出版社,2006年课程设计心得一周的DSP课程设计,一次思维的深入再拓展,一次把所学知识和实践结合验证的机会,这次设计让人感受颇深,首先我想谈论一下我们小组遇到的问题,对于正弦和余弦基本上没问题,在做复数DFT时,我们最先想到的是转换形式,将幂函数转换为实部加虚部,然后再依照前面的两个例子累加,但是在程序实现的时候,遇到的问题是如何考虑这个虚部,一个j,虽然出来了幅频特性曲线,但总感觉不放心,觉得又写不妥,始终没有找到原因,我们用该种方法得到的图形如下:当N=16时,该当N=8时我们经过分析,这两种方法所得到的幅频特性曲线应该是一样的,经过对比,N=16时,呈现单一离散频率序列,当N=8时,不再呈现单一离散频率序列,而是含有丰富的谐波成分,请老师对比分析一下。这次课程设计,让我收益匪浅,学到了不少东西,由于对课本知识掌握不牢,对matlab知识的欠缺,让我在设计过程中遇到不少困难,但是最终通过和同学探讨,查找资料相关知识,我们小组最终取得了成功,我想这正是我们做课程设计的真正目的,特别是对于复数序列的两种思考方法,我感到莫大的成就感,两种方法得出的结果基本相同,虽然还不知道第二种方法是否正确,但我想,课程设计的目的已经达到,发散思维,掌握知识。同时,对matlab操作环境有了更进一步的认识,更加熟练掌握了一些基本操作知识,同时在和同学探讨的时候,对一些知识的漏点进行了弥补,查找资料,分析结果,对比图形,我们小组互相合作,这种团队合作让我们受益匪浅,我们也取得了一定的成果。对于matlab的使用,在今后的毕业设计中,工作学习中,我想它都会起到很大的作用,这次课程设计真的很开心,受益很大,感谢我们小组成员李腾,查找资料,探讨分析,我们或许不是最好的,但我们是最努力的。同时也感谢老师的指导,我会继续努力,不断提高自己。2009年6月14日信息科学与工程学院课程设计成绩评价表课程名称:数字信号处理课程设计设计题目:基于MATLAB的序列DFT实现专业:电子信息工程班级:电信0604姓名:彭绪坤学号:20064300406序号评审项目分数满分标准说明1内容20思路清晰;语言表达准确,概念清楚,论点正确;实验方法科学,分析归纳合理;结论严谨,设计有应用价值。任务饱满,做了大量的工作。2创新10内容新颖,题目能反映新技术,对前人工作有改进或突破,或有独特见解3完整性、实用性10整体构思合理,理论依据充分,设计完整,实用性强4数据准确、可靠10数据准确,公式推导正确5规范性10设计格式、绘图、图纸、实验数据、标准的运用等符合有关标准和规定6纪律性20能很好的遵守各项纪律,设计过程认真;7答辩20准备工作充分,回答问题有理论依据,基本概念清楚。主要问题回答简明准确。在规定的时间内作完报告。总分综合意见指导教师年月日