Matlab在数字信号处理实验教学中的应用研究.docVIP

Matlab在数字信号处理实验教学中的应用研究.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
王捷张福宝宋杰 电子信息工程系,山东烟台 264001 、容易实现的优点,非常适用于数字信号处理课程的实 Matlab 实验教学的完整设计方案,体现了Matlab 在实验教学中的优势。根。 作者简介:关成斌,男,安徽淮北人,硕士,讲师。主要研究方向:数字信号处理教学与研究。基金项目:国家自然科学基金资助项目,项目编号60972159。 要的专业基础课,其内容抽象、公式繁多、理论性强,常常使学生感觉到枯燥乏味、 抽象难学。为了提高学习效果,为后续专业课程的学习打下坚实的基础,数字信号处理课程的实验环节就显的尤其重要[1~2]。 数字信号处理的实验可用有不同的方法来实现。比如有的公司开发了DSP 实验箱,可以应用于数字信号处理的实验教学中[3]。但DSP 实验箱一般需要向DSP 芯片中写程序,这种编程比较复杂,而且程序的可读性较差,因此虽然现象直观但是对原理的理解不是那么直接。目前数字信号处理实验较多采用Matlab 语言来实现。Matlab 语言以矩阵运算为基础,具有可靠的数值计算功能和符号计算功能、强大的绘图和图形用户界面可视化功能[4-6],具有丰富的数字信号处理函数[7]等特点,将其用于数字信号处理实验,使问题变得简单、明晰,因此它在数字信号处理实验环节中发挥了越来越重要的作用。 2.基于Matlab 的数字信号处理实验示例 对信号进行频域分析是数字信号处理中非常重要的内容,DFT 是分析序列离散谱的重要工具,并且DFT 在其它许多领域都有广泛的应用 [1~2] 。但是直接计算DFT 的运算量太 大,运算速度太慢。FFT 是DFT 的快速算法,可提高运算速度,在资源的占用以及处理的实时性上要优越得多。本文以DFT 和FFT 算法的比较为例设计如下实验教学方案。 2.1实验目的 进一步加深对DFT 算法原理和基本性质的理解;掌握FFT 算法原理和编程实现方法;通过对实验结果的分析比较,加深对DFT 和FFT 运算量不同的认识。 2.2实验原理DFT 表达式为:X(k=N-1 n =0Σx(nW kn N (1 其中,N 为DFT 运算的点数;W N =e -j 2π N ,为旋转因子。 FFT 正是利用旋转因子的对称性和周期性等,通过一定的数学方法降低运算量。目前,最常用FFT 算法有基 2DIT-FFT 和基2DIF-FFT 、分裂基FFT 、离散哈特莱变换等。本实验以研究基2DIT-FFT 的软件实现方法为例,其蝶形运算流图如图1所示。 图1基2DIT-FFT 碟形运算流图 2.3程序流程图 DFT 运算的程序框图如图2所示。基2DIT-FFT 的程序框图如图3所示。 2.4程序代码clear all;close all;clc; %%%-----输入序列------%%%开始M=12;%基2FFT 幂次数N=2^M; %采样点数 f=30;Um=5;%基准频率、幅度delta_t=1/(f*N;%采样间隔n=0:N-1;t=n*delta_t; x=Um*sin(2*f*pi*t+Um*sin(2*30*f*pi*t+randn(size(t;%序列 figure(1stem(n,x %序列图 %%%-----输入序列------%%%结束%%%-----DFT 运算-----%%%开始tic WN=exp(-j*2*pi/N;%求WN for k=1:N %对应于X(k的每一点 38-- 图2DFT运算程序框图图3基2DIT-FFT运算程序框图 WNk=WN^(k-1;%求WNk X(k=0;%初始化X(k for n=1:N WNkn=WNk^(n-1;%求WNkn X(k=X(k+x(n*WNkn;%迭加运算 end end t=toc figure(2 k=1:N; stem(k-1,abs(X(k; %%%-----DFT运算-----%%%结束 %%%-----FFT运算------%%%开始 tic nxd=bin2dec(fliplr(dec2bin([1:N]-1,M+1;%求1:2^M数列序号的倒序 X=x(nxd;%将x倒序排列作为y的初始值 WN=exp(-i*2*pi/N; for L=1:M B=2^(L-1;%第L级中,两个输入数据相距B个点,有B个不同的旋转因子 for J=0:(B-1%J代表了不同的旋转因子 for end end end t=toc figure(3 k=1:N; stem(k-1,abs(X(k; %%%-----FFT运算-----%%%结束 2.5实验结果 原始序列为对式(2所示信号的一个周期进行4096次等间隔采样得到的序列。序列如图4所示,图5为对该序列进行局部放大的效果。 x=5sin(60πt+5sin(1800π+

文档评论(0)

44488569 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5101121231000003

1亿VIP精品文档

相关文档