版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
..课程设计任务书学生__专业__电信1306班指导王虹工作单位:信息工程学院题目:离散时间系统的输入输出描述的编程实现初始条件:1.Matlab软件;2.课程设计辅导资料:"Matlab语言基础及使用入门"、"信号与系统"、"数字信号处理原理与实现"、"Matlab及在电子信息课程中的应用"等;3.先修课程:信号与系统、数字信号处理、Matlab应用实践及信号处理类课程等。要求完成的主要任务:〔包括课程设计工作量及其技术要求,以及说明书撰写等具体要求1.课程设计时间:1周;2.课程设计内容:离散时间系统的输入输出描述的编程实现,具体包括:已知系统差分方程求任一激励下的响应、系统线性性质的分析讨论、利用卷积运算求响应等;3.本课程设计统一技术要求:研读辅导资料对应章节,对选定的设计题目进行理论分析,针对具体设计部分的原理分析、建模、必要的推导和可行性分析,画出程序设计框图,编写程序代码〔含注释,上机调试运行程序,记录实验结果〔含计算结果和图表,并对实验结果进行分析和总结,按要求进行实验演示和答辩等;4.课程设计说明书按学校"课程设计工作规范"中的"统一书写格式"撰写,具体包括:目录;与设计题目相关的理论分析、归纳和总结;与设计内容相关的原理分析、建模、推导、可行性分析;程序设计框图、程序代码〔含注释、程序运行结果和图表、实验结果分析和总结;课程设计的心得体会〔至少500字;参考文献〔不少于5篇;其它必要内容等。时间安排:1周指导教师签名:年月日系主任〔或责任教师签名:年月日目录1概述11.1离散时间信号及MATLAB实现1离散时间信号1离散时间信号的MATLAB表示1常用的典型序列12设计要求33理论分析33.1差分方程MATLAB实现33.2
系统的线性性质验证43.3直接卷积原理44程序设计与结果仿真54.1题一54.1.1原理分析5程序代码与结果54.2题二序列的相乘、相加10理论分析104.2.2程序代码与结果114.3题三134.3.1理论分析134.3.2程序代码与结果145.心得体会16参考文献17本科生课程设计成绩评定表17..1概述MATLAB是矩阵实验室〔MatrixLaboratory的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。随着其功能的日益完善,MATLAB已经发展成为适合多学科,多种工作平台的功能强大型软件。在国外高校,MATLAB已经成为线性代数,自动控制理论,数理统计,数字信号处理,时间序列分析,动态系统仿真等高级课程的基本教学工具;成为攻读学位的大学生,硕士生,博士生必须掌握的基本技能。在设计研究单位和工业部门,MATLAB被广泛用于科学研究和解决各种具体问题。在国内,特别是工程界,MATLAB一定会盛行起来。可以说,无论你从事工程方面的哪个学科,都能在MATLAB里找到合适的功能。另一方面,正如同FORTRAN和C等高级语言使人们摆脱了需要直接对计算机硬件资源进行操作一样,被称作为第四代计算机语言的MATLAB,利用其丰富的函数资源,使编程人员从繁琐的程序代码中解放出来。MATLAB用更直观的,符合人们思维习惯的代码,代替了C和FORTRAN语言的冗长代码,给用户带来的是最直观,最简洁的程序开发环境。使得其迅速普及,并显示出旺盛的生命力。1.1离散时间信号及MATLAB实现离散时间信号在离散时间系统中,信号要用序列来表示,其特点是时间离散,幅值连续。离散时间信号通常由对连续时间信号进行抽样获得。离散时间信号表示方法有3种:列表法、函数表示法、线图法。离散时间信号的MATLAB表示表示一个序列要用两个元素:样值和位置。在MATLAB中用样值向量和位置向量来表示一个序列,要求两个向量长度相等。例如x<n>={5,6,7,8}[0,3],其MATLAB产生语句为:n=0:3;X=[5,6,7,8]。常用的典型序列〔1单位阶跃序列单位阶跃序列定义如下,在MATLAB中,可以用逻辑关系表达式产生,在区间[n1,n2]范围内,其产生方式为:n=n1:n2;x=<<n-n0>>=0>。具体代码如下:function[x,n]=stepseq<n1,n2,n0>n=[n1:n2];x=[<n-n0>>=0];[x,n]=stepseq<-2,8,2>;%调用该函数stem<n,x>;%绘制函数图像同理,单位采样序列的产生方法如下:function[x,n]=impseq<n1,n2,n0>n=[n1:n2];x=[<n-n0>==0];调用该函数[x,n]=impseq<-2,8,2>;stem<n,x>〔2矩形序列矩形序列定义如下:其中,N为矩形序列的长度。在MATLAB中,可以用逻辑关系表达式产生,其产生方式为:x=<<<n-n1>>=0>&<<n-n2><=0>>;其中n1,n2表示取值区间的范围,由这两个值可以确定该矩形序列的长度,公式为N=n2-n1+1。具体代码如下:function[x,n]=jx<n1,n2,n0>n=[n1:n2];x=[<<n-n1>>=0>&<<n-n2><=0>];[x,n]=jx<-2,8,2>;stem<n,x>〔3实指数序列实指数序列定义为x<n>=a^n,-∞<n<+∞,式中a为实数。当n<0,x<n>=0时,上式可表示为x<n>=a^nu<n>.例如x<n>=0.8^n,0≤n≤10在MATLAB中可以用n=0:10;x=0.9.^n;产生。例如:n=[0:10];x=0.9.^n;%<运算符".^">stem<n,x>2设计要求课程设计内容:离散时间系统的输入输出描述的编程实现。具体包括:求系统的输出序列、验证系统的线性性质、求卷积。设计内容如下:1.给定因果稳定线性时不变系统的差分方程,对下列输入序列,求出系统的输出序列。<1>,<2>,<3>,<4>,<5>。2设系统差分方程为,要求用程序验证系统的线性性质。3计算下列卷积,并图示各序列及其卷积结果。3理论分析3.1差分方程MATLAB实现在《信号与系统》和《数字信号处理》课程中,我们知道描述线性移不变离散时间系统的数学模型是常系数差分方程,它与系统的结构流图之间可以互相推导。迭代解法〔也称递推解法是求解差分方程的最简单也最适用的方法,也是实现数字滤波器的一种基本方法。差分方程通式为:,x<n>与y<n>分别为系统的激励和响应。离散系统的响应可分为零输入响应分量和零状态响应分量,零输入分量仅由系统的初始状态y<-1>、y<-2>、…、y<-N>
引起,外激励
x<n>=0
;而零状态分量仅由外激励x<n>引起,初始状态
y<-1>、y<-2>、…、y<-N>
均为零。初始条件是指计算差分方程所需的初始值
y<0>、y<1>、…、y<N-1>。如果已知y<-1>、y<-2>、…、y<-N>,欲求y<0>、y<1>、…、y<N-1>,可利用迭代法逐一导出。这样我们可以由给定的差分方程以及已知的初始状态找到所需的初始值〔包括零输入初始值、零状态初始值、全响应初始值,进而求出响应。也可以利用系统单位冲激响应h<n>与输入信号x<n>的离散卷积求出。MATLAB以函数filter<num
,
den
,
x>,来计算在给定输入和差分方程系数时求差分方程的数值解。num,den分别为系统方程的系数向量。X是输入序列。3.2系统的线性性质验证线性系统是一个既具有分解特性,又具有零状态线性和零输入线性的系统,线性性质是线性系统所具有的本质特性,线性离散系统的数学模型是线性差分方程。即满足叠加原理的系统称为线性系统。线性性质实际上包含了可加性和齐次性两个性质。设y1<n>和y2<n>分别是系统对输入x1<n>和x2<n>的响应,系统的激励x<n>与响应y<n>之间的关系可简记为y〔n=T[x〔n]即y1<n>=T[x1<n>]和y2<n>
=
T[x2<n>],若满足:a1
y1<n>
+
a2
y2<n>
=
T[a1
x1<n>
+
a2
x2<n>]
=
a1
T[x1<n>]
+
a2
T[x2<n>]则此系统称为线性系统。验证系统的线性性质,即验证上式是否成立。3.3直接卷积原理1.离散时间序列f1<k>和f2<k>的卷积和定义:2.在离散信号与系统分析中有两个与卷积和相关的重要结论:<1>,即离散序列可分解为一系列幅度由f<k>决定的单位序列δ<k>及其平移序列之积。<2>对线性时不变系统,设其输入序列为f<k>,单位响应为h<k>,其零状态响应为y<k>,则有:3.在Matlab中可以通过直接调用conv.m用来实现两个离散序列的线性卷积。其调用格式是:y=conv<x,h>若x的长度为N,h的长度为M,则y的长度L=N+M-1。4MATLAB程序设计与结果仿真4.1题一题目:给定因果稳定线性时不变系统的差分方程,对下列输入序列,求出系统的输出序列。<1>,<2>,<3>,<4>,<5>。原理分析MATLAB以函数filter<num,den,x>,来计算在给定输入和差分方程系数时求差分方程的数值解。num,den分别为系统方程的系数向量。X是输入序列。只需改变输入序列,便可以得到不同的输出。由于题目中没有给定差分方程,设该方程为:2y[n]-1.7y[n-1]+1.1y[n-2]=2x[n],则num=[2];den=[2–1.71.1];程序代码与结果第一小题代码如下:n=[-20:100];num=[2];den=[2-1.71.1];x=impseq<-10,100,0>;%x<n>为冲击函数h=filter<num,den,x>;%使用函数filter<>求输出stem<n,h>%绘制离散序列数据xlabel<'n'>;ylabel<'y<n>'>;title<'响应y<n>电信1306胡容'>;系统输出函数y<n>的图像如图4.1所示4.1输出函数第二小题代码如下:n=[-20:100];num=[2];den=[2-1.71.1];x=impseq<-20,100,10>;h=filter<num,den,x>;%使用函数filter<>求输出stem<n,h>xlabel<'n'>;ylabel<'y<n>'>;title<'响应y<n>电信1306胡容'>;系统输出函数y<n>的图像如图4.2所示。图4.2系统输出响应第三小题代码如下:n=[-20:100];num=[2];den=[2-1.71.1];x=stepseq<-20,100,0>;h=filter<num,den,x>;%使用函数filter<>求输出stem<n,h>xlabel<'n'>;ylabel<'y<n>'>;title<'响应y<n>电信1306胡容'>;系统输出函数y<n>的图像如图4.3所示。图4.3系统输出响应图第四小题代码如下:n=[-20:100];num=[2];den=[2-1.71.1];x=stepseq<-20,100,0>-stepseq<-20,100,32>;%两个阶跃序列之差h=filter<num,den,x>;%使用函数filter<>求输出stem<n,h>xlabel<'n'>;ylabel<'y<n>'>;title<'响应y<n>电信1306胡容'>;系统输出函数y<n>的图像如图4.4所示。图4.4系统输出响应图第五小题代码如下:n=[-20:100];num=[2];den=[2-1.71.1];x0=stepseq<-20,100,0>-stepseq<-20,100,32>;x1=exp<pi*n*j/8>;x=x1.*x0;%对应项之间相乘,即点乘h=filter<num,den,x>;%使用函数filter<>求输出stem<n,h>xlabel<'n'>;ylabel<'y<n>'>;title<'响应y<n>电信1306胡容'>;系统输出函数y<n>的图像如图4.5所示。图4.5系统输出函数题目小结:通过本题我们学会了如何在给定因果稳定线性时不变系统的差分方程情况下对给定的输入序列求输出序列。4.2题二序列的相乘、相加题目:设系统差分方程为,要求用程序验证系统的线性性质。理论分析产生两种输入序列,分别乘以常数后:1.分别激励系统,再求输出之和;2.先相加,再激励系统求输出;对两个结果进行比较,方法是求它们之差,按误差的绝对值是否极小进行判断。如果二者误差绝对值极小则可忽略不计,即两序列为线性序列。程序代码与结果本题MATLAB代码如下:N=64;n=0:N-1;m=20;num=[1];den=[1,-0.8];%设定系统参数num,denx1=0.9.^n; %产生输入信号x1<n>x=[<n>=0>&<n<32>];x1=x1.*x;%点乘y1=filter<num,den,x1>; %对x1<n>的响应y1<n>x2=[<n-m>==0];y2=filter<num,den,x2>; %对x2<n>的响应y2<n>x3=7*x1+2*x2;y3=filter<num,den,x3>; %对5x1<n>+3x2<n>的响应y3<n>y=7*y1+2*y2;%y<n>=5y1<n>+3y2<n>subplot<2,2,1>;stem<n,y1,'.'>;line<[0,N],[0,0]>axis<[0,N,min<y1>,max<y1>]>;ylabel<'y1<n>]'>title〔’电信1306胡容’subplot<2,2,2>;stem<n,y2,'.'>;line<[0,N],[0,0]>axis<[0,N,min<y2>,max<y2>]>;ylabel<'y2<n>]'>title〔’电信1306胡容’subplot<2,2,3>;stem<n,y3,'.'>;line<[0,N],[0,0]>axis<[0,N,min<y3>,max<y3>]>;xlabel<'n'>;ylabel<'y3<n>]'>title〔’电信1306胡容’subplot<2,2,4>;stem<n,y,'.'>;line<[0,N],[0,0]>axis<[0,N,min<y>,max<y>]>;xlabel<'n'>;ylabel<'y<n>>'>title〔’电信1306胡容’e=y-y3,figure;stem<e>运行结果如图4.6和4.7所示。图4.6各输出响应图像由图4.6可以看出y<n>和y3<n>的函数图像几乎一模一样,由图4.7可以看出y<n>与y3<n>之差非常小,验证了y1<n>和y3<n>满足可加性和齐次性,所以该系统是线性的。图4.7序列e的图像4.3题三题目:计算下列卷积,并图示各序列及其卷积结果。理论分析卷积的计算计算x1<n>和x2<n>的线性卷积的FFT算法可由下面步骤实现:计算X1<k>=FFT[x1<n>];计算X2<k>=FFT[x2<n>];计算Y<k>=X1<k>X2<k>;计算x1<n>*x2<n>=IFFT[Y<k>].在Matlab自带的系统函数中,Conv<>可以很好的完成两个有限长序列的卷积运算,特别是对于N值较小的向量,是十分有效的。程序代码与结果题二MATLAB代码如下:>>Nx=20;Nh=10;m=5;%设定Nx,Nh和位移值mn=0:Nx-1;x1=<0.9>.^n;%产生x1<n>x2=zeros<1,Nx+m>;fork=m+1:m+Nx%产生x2<n>x2<k>=x1<k-m>;endnh=0:Nh-1;h1=ones<1,Nh>;%产生h1<n>h2=h1;%产生h2<n>y1=conv<x1,h1>;%计算y1<n>=x1<n>*h1<n>y2=conv<x2,h2>;%计算y2<n>=x2<n>*h2<n>subplot<321>,stem<x1,'.'>ylabel<'x1'>title〔’电信1306胡容’subplot<323>,stem<h1,'.'>ylabel<'h1'>title〔’电信1306胡容’subplot<325>,stem<y1,'.'>title〔’电信1306胡容’subplot<322>,stem<x2,'.'>ylabel<'x2'>title〔’电信1306胡容’subplot<324>,stem<h2,'.'>ylabel<'h2'>title〔’电信1306胡容’subplot<326>stem<y2,'.'>ylabel<'y2'>title〔’电信1306胡容’运行结果如图4.8所示图4.8序列卷积结果图5.心得体会在前几次课设和实验中我们就认识到了Matlab的强大功能,本次信号分析与处理次课程设计也是利用它完成的。Matlab作为一个功能强大,运算效率相当高的数学工具软件,经过了多年发展,目前几乎可以解决科学计算中的任何问题。作为一种以数组与矩阵为核心的处理工具,Matla
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 图文印刷制作服务合同
- 产品环境影响评估合同
- 养老机构临时托管合同模板
- 养老机构食品安全协议
- 社会服务岗位聘用合同模板
- 政府法律顾问团协议书
- 精准扶贫养殖合同模板
- 网站社交媒体整合协议
- 老年文化交流协议
- 群塔防碰撞专项安全方案
- 2024-2025学年高一上学期期中考试动员主题班会课件
- 【课件】跨学科实践:探索厨房中的物态变化问题+课件人教版(2024)物理八年级上册
- 2022-2023学年北京市海淀区七年级(上)期中数学试卷【含解析】
- 220kV架空送电线路铁塔拆除施工方案
- 水闸工作桥计算说明书
- 陕西省主要树种代码表
- 核电专业词汇
- 学习解读《关于推动现代职业教育高质量发展的意见》PPT课件
- 科教方案(范本)
- 学校教学质量分析制度(完整版)
- 一年级10以内加减法口算题(100道题_可直接打印)
评论
0/150
提交评论