基于MATLAB的序列DFT实现.docx
《基于MATLAB的序列DFT实现.docx》由会员分享,可在线阅读,更多相关《基于MATLAB的序列DFT实现.docx(11页珍藏版)》请在冰豆网上搜索。
基于MATLAB的序列DFT实现
课程设计
课程设计名称:
数字信号处置课程设计
专业班级:
电子信息工程0604
学生姓名:
学号:
406
指导教师:
课程设计时刻:
2020年6月14日
数字信号处置专业课程设计任务书
学生姓名
专业班级
电信0604
学号
406
题目
基于MATLAB的序列DFT实现
课题性质
其他
课题来源
自拟课题
指导教师
同组姓名
主要内容
根据已学的知识并结合MATLAB对下面三个序列计算在N=16和N=8时序列的N点DFT,并画出幅频特性曲线,最后用DFT理论解释为何两种N值下的DFT结果差别如此之大?
复正弦序列
余弦序列
正弦序列
任务要求
1、写出设计原理和设计思路,画出程序流程图
2、用MATLAB画出序列的N点DFT及其幅频特性曲线
3、用MATLAB画出N点DFT的幅频特性曲线
参考文献
1.程佩青著,《数字信号处理教程》,清华大学出版社,2001
2.SanjitK.Mitra著,孙洪,余翔宇译,《数字信号处理实验指导书(MATLAB版)》,电子工业出版社,2005年1月
3.郭仕剑等,《MATLAB数字信号处理》,人民邮电出版社,2006年
审查意见
指导教师签字:
教研室主任签字:
年月日
说明:
本表由指导教师填写,由教研室主任审核后下达给选题学生,装订在设计(论文)首页
一设计内容与技术要求
1.设计内容:
设计题目:
基于MATLAT的序列DFT实现
内容要求:
依照已学的知识并结合MATLAB对下面三个序列计算在N=16和N=8时序列的N点DFT,并画出幅频特性曲线,最后用DFT理论说明为何两种N值下的DFT结果不同如此之大?
复正弦序列
余弦序列
正弦序列
2技术要求:
1.写出设计原理和设计思路,画出程序流程图
2.用MATLAB画出序列的N点DFT及其幅频特性曲线
MATLAB画出N点DFT的幅频特性曲线
二 设计原理及设计思路
离散傅里叶变换(DFT),是持续傅里叶变换在时域和频域上都离散的形式,将时域信号的采样变换为在离散时刻傅里叶变换(DTFT)频域的采样。
在形式上,变换两头(时域和频域上)的序列是有限长的,而事实上这两组序列都应当被以为是离散周期信号的主值序列。
即便对有限长的离散信号作DFT,也应当将其看做通过周期延拓成为周期信号再作变换。
时域中N点序列x[n]的DFT概念为
X[k]=∑x[n]exp[-j*2pi*kn/N]
三 程序流程图
输入相对应的参数
N=16;N=8
分别调用序列复正弦序列,正弦序列,余弦序列
通过matlab仿真得出结果
根据幅频特性曲线对结果进行分析
四 程序源代码
设计进程:
1.关于余弦序列
k=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)
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.关于正弦序列
k=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.关于复正弦序列
N=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.程佩青著,《数字信号处置教程》,清华大学出版社,2001
2.SanjitK.Mitra著,孙洪,余翔宇译,《数字信号处置
实验指导书(MATLAB版)》,电子工业出版社,2005
年1月
3.郭仕剑等,《MATLAB数字信号处置》,人民邮电出版社,2006年
课程设计心得
一周的DSP课程设计,一次思维的深切再拓展,一次把所学知识和实践结合验证的机遇,这次设计让人感受颇深,第一我想谈论一下咱们小组碰到的问题,关于正弦和余弦大体上没问题,在做复数DFT时,咱们最先想到的是转换形式,将幂函数转换为实部加虚部,然后再依照前面的两个例子累加,可是在程序实现的时候,碰到的问题是如何考虑那个虚部,一个j,尽管出来了幅频特性曲线,但总感觉不安心,感觉又写不妥,始终没有找到缘故,咱们用该种方式取得的图形如下:
当N=16时,该
当N=8时
咱们通过度析,这两种方式所取得的幅频特性曲线应该是一样的,通过对照,N=16时,呈现单一离散频率序列,当N=8时,再也不呈现单一离散频率序列,而是含有丰硕的谐波成份,请教师对照分析一下。
这次课程设计,让我收益匪浅,学到了很多东西,由于对讲义知识把握不牢,对matlab知识的欠缺,让我在设计进程中碰到很多困难,可是最终通过和同窗探讨,查找资料相关知识,咱们小组最终取得了成功,我想这正是咱们做课程设计的真正目的,专门是关于复数序列的两种试探方式,我感到莫大的成绩感,两种方式得出的结果大体相同,尽管还不明白第二种方式是不是正确,但我想,课程设计的目的已经达到,发散思维,把握知识。
同时,对matlab操作环境有了更进一步的熟悉,加倍熟练把握了一些大体操作知识,同时在和同窗探讨的时候,对一些知识的漏点进行了弥补,查找资料,分析结果,对照图形,咱们小组相互合作,这种团队合作让咱们收成颇丰,咱们也取得了必然的功效。
关于matlab的利用,在尔后的毕业设计中,工作学习中,我想它都会起到专门大的作用,这次课程设计真的很高兴,受益专门大,感激咱们小组成员李腾,查找资料,探讨分析,咱们或许不是最好的,但咱们是最尽力的。
同时也感激教师的指导,我会继续尽力,不断提高自己。
2020年6月14日
信息科学与工程学院课程设计成绩评判表
课程名称:
数字信号处置课程设计
设计题目:
基于MATLAB的序列DFT实现
专业:
电子信息工程班级:
电信0604姓名:
彭绪坤学号:
406
序号
评审项目
分数
满分标准说明
1
内容
20
思路清晰;语言表达准确,概念清楚,论点正确;实验方法科学,分析归纳合理;结论严谨,设计有应用价值。
任务饱满,做了大量的工作。
2
创新
10
内容新颖,题目能反映新技术,对前人工作有改进或突破,或有独特见解
3
完整性、实用性
10
整体构思合理,理论依据充分,设计完整,实用性强
4
数据准确、可靠
10
数据准确,公式推导正确
5
规范性
10
设计格式、绘图、图纸、实验数据、标准的运用等符合有关标准和规定
6
纪律性
20
能很好的遵守各项纪律,设计过程认真;
7
答辩
20
准备工作充分,回答问题有理论依据,基本概念清楚。
主要问题回答简明准确。
在规定的时间内作完报告。
总分
综
合
意
见
指导教师年月日