实验2 离散信号和系统的时域分析.doc_第1页
实验2 离散信号和系统的时域分析.doc_第2页
实验2 离散信号和系统的时域分析.doc_第3页
实验2 离散信号和系统的时域分析.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验二 离散信号和系统的时域分析1. 实验目的(1) 学习MATLAB在信号分析和系统分析中的应用;(2) 掌握MATLAB表示离散序列的方法、序列运算的MATLAB实现;(3) 利用MATLAB分析离散系统。2. 实验原理(1) 离散信号的表示:在MATLAB中,可以用向量(数组)来表示有限长序列,不过这样的向量并没有包含样本位置的信息,因此,需要用两个向量(数组)来表示一个有限长序列,其中一个向量表示序列的值,称为样本向量;另一个向量表示样本的位置(即序列的序号),称为位置向量。比如序列在MATLAB中需要用以下两个向量来表示:n = -2,-1,0,1,2,3; x = 2,1,-1,5,2; 其中 向量n表示序号,向量x表示序列的值。当不需要样本位置信息或者序列从n = 0 开始时,可以只用样本向量表示。另外由于内存的限制,MATLAB无法表示无限长序列。(2) 离散信号的基本运算 信号相加:序列相加是对应样本相加,如果两序列长度不等或者位置向量不同,则不能用算数运算符“+”直接实现相加,必须对位置向量和长度统一处理后再相加。以下M函数可以实现任意两序列的相加运算: function y, n = sigadd(f1,n1,f2,n2)% y n = sigadd(f1,n1,f2,n2),Add two sequences.% Inputs:% f1 - the first sequence% n1 - index vector of f1% f2 - the second sequence% n2 - index vector of f2% Outputs:% y - the output sequence% n - index vector of y n = min(n1(1),n2(1):max(n1(end),n2(end); % index vector of y(n)y1 = zeros(1,length(n); y2 = y1; % initializationy1(n = n1(1) & n = n2(1) & n = n2(end) = f2;y = y1 + y2; 序列的移位:序列移位后,样本向量没有变化,只是位置向量变了。任意序列的移位可以用以下的M函数实现: function y,n = sigshift(x,m,n0)% y,n = sigshift(x,m,n0),result of y = x(n-n0);% Inputs:% x - sequence to be shifted% m - the index vector of x% n0 - shift amount % Outputs:% y - the output sequence% n - the index vector of yy = x;n = m + n0; 序列的反折:序列反折后,样本向量倒置,位置向量倒置且变号。以下函数可以实现序列的反折运算:function y,n = sigfold(x,m)% y,n = sigfold(x,n),result of y(n) = x(-n);% Inputs:% x - sequence to be folded% m - the index vector of x% Outputs:% y - the output sequence% n - the index vector of y y = fliplr(x);n = -fliplr(m);(3) 系统零状态响应的求解系统零状态响应表示为 ,在MATLAB中,零状态响应的求解可以用两种方法实现:求出单位样值响应h(n),然后计算卷积和。 首先用函数impz求出系统的单位样值响应,其调用格式为: 其中,h 是单位样值响应的样本序列,n是其位置向量;b、a分别是差分方程右边和左边的系数向量,N可以是单位样值响应的样本个数,此时 n = 0,1,2,N-1;N 也可以是一个向量,用来指定所求的样本的位置,此时 n = N。 其次,用函数conv计算卷积和,其调用格式为: 其中,x,h为做卷积和的两个序列,y是卷积的结果。 用函数filter直接求系统的零状态响应,其调用格式为: 其中,x是输入序列,y是与x等长的输出序列,b、a分别为差分方程右边和左边的系数向量。3. 实验内容和步骤(1) 序列产生及表示a 在MATLAB中产生有限区间上的(n)或(n-n0);b 产生两个随机序列:x1样本为整数,始于-2,结束于7;x2:始于0,结束于15,样本值介于 -2与2之间;参考:a. %Generate the delta sequence function x,n = deltaN(n0,n1,n2)% x,n deltaN(n0,n1,n2),generate delta(n-n0),n1 = n = n2;draw % its stem graph if needed% Inputs:% n0 - sample position% n1 - beginning index of x% n2 - end index of x% Outputs:% x - the delta sequence% n - index vector of xn = n1:n2;x = n = n0;if nargout =,=,5. 思考题:(1) MATLAB中如何表示一个离散信号?是否可以表示无限长序列?为什么?据此你可以得出什么结论?(2) 利用conv

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论