信号与系统MATLAB实验全_第1页
信号与系统MATLAB实验全_第2页
信号与系统MATLAB实验全_第3页
信号与系统MATLAB实验全_第4页
信号与系统MATLAB实验全_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

实验篇 信号与系统实验指导实验一、MATLAB编程基础及典型实例一、实验目的(1) 熟悉MATLAB软件平台的使用;(2) 熟悉MATLAB编程方法及常用语句;(3) 掌握MATLAB的可视化绘图技术;(4) 结合信号与系统的特点,编程实现常用信号及其运算。二、实验原理连续信号是指自变量的取值范围是连续的,且对于一切自变量的取值,除了有若干个不连续点以外,信号都有确定的值与之对应。严格来说,MATLAB并不能处理连续信号,而是用等时间间隔点的样值来近似表示连续信号。当取样时间间隔足够小时,这些离散的样值就能较好地近似连续信号。矩阵是MATLAB进行数据处理的基本单元,矩阵运算是MATLAB最重要的运算。通常意义上的数量(也称为标量)在MATLAB系统中是作为11的矩阵来处理的,而向量实际上是仅有一行或者一列的矩阵。通常用向量表示信号的时间取值范围,如n = -5:5,但信号x(n)、向量n本身的下标都是从1开始的,因此必须用一个与向量x等长的定位时间变量n,以及向量x,才能完整地表示序列x(n)。这一点详情可参考预备篇示例7的程序说明。三、实验内容与步骤(1) 新建一个文件夹,以自己的汉语名字命名,以后就用该文件夹专门存放自己所编制的M文件和产生的图形;将该文件夹设置成当前工作目录。(2) 绘制信号的曲线,t的范围在0 30s,取样时间间隔为0.1s.(3) 在n = -10:10 范围产生离散序列: ,并绘图。四、实验报告要求整理并给出“实验内容与步骤”(2)、(3)的程序代码与产生的图形;并回答下面的问题。(1) 在调用某一函数文件时,该文件中除了输入、输出变量外的其它变量在调用函数结束后是否还存在?这些变量是全局还是局部变量?(2) 设n = 10:0.2:20,你可以通过哪些方法查看向量n的维数?经过关系运算y = (n = 3)以后,y的维数是多少?y又等于什么?(3) 通过MATLAB的帮助系统,学习fliplr函数的功能和使用方法。再此基础上,写出能够产生如下图形的程序,其中。45实验二、 连续时间系统的时域分析一、实验目的(1) 深刻理解卷积运算,掌握连续线性卷积的计算方法;(2) 加深对线性时不变系统中零状态响应概念的理解,掌握其求解方法;(3) 掌握给定连续系统的冲激响应和阶跃响应。二、实验原理(1)线性时不变 (LTI) 连续时间系统用常系数线性微分方程进行描述,系统的零状态响应就是在系统初始状态为零条件下微分方程的解。MATLAB控制系统工具箱提供了一个lsim函数来求解连续时间系统的零状态响应。设系统方程为:,该方程左边、右边的系数向量分别为,所对应的系统模型sys可借助MATLAB中的tf函数得到:sys = tf(b, a) .这样,系统的零状态响应为:y = lsim(sys, f, t) ,其中f是输入信号向量,t是与f对应的时间变量。(2)连续系统的冲激响应、阶跃响应分别是输入信号为和所对应的零状态响应。MATLAB控制系统工具箱专门提供了两个函数求解连续系统的冲激响应和阶跃响应。冲激响应:y = impulse(sys, t) ;阶跃响应:y = step(sys, t) .其中sys, t的含义同上。(3)卷积是信号与系统中一个最基本、也是最重要的概念之一。在时域中,对于LTI 连续时间系统,其零状态响应等于输入信号与系统冲激响应的卷积;而利用卷积定理,这种关系又对应频域中的乘积。如实验一所述,我们用离散卷积来代替连续卷积,只要取样时间间隔足够小时,就可得到满意的效果。MATLAB信号处理工具箱提供了一个计算两个离散序列卷积和的函数conv。设向量a、b代表待卷积的两个序列,则c = conv(a, b)就是a与b卷积后得到的新序列。我们知道两个序列卷积以后,一般而言所得新序列的时间范围、序列长度都会发生变化。例如设f1(n)长度为5,3n1;f2(n)长度为7,2n8;则卷积后得到的新序列长度为11,1n9。但是用conv函数求出卷积后没有给出新序列所对应的时间变量。为此,我们在下面的程序示例中给出了一个函数文件dconv,它在完成conv函数功能的同时,还产生了一个对应新序列的时间变量。(4)对于连续卷积,令(为整数),则 (*)由(*)式,连续卷积积分可由离散卷积和近似代替,只要取样时间间隔足够小,就可以得到高精度卷积积分的数值计算。在示例3中给出了一个函数文件cconv来完成该功能。三、程序示例示例1:已知系统的微分方程为,。求零状态响应。a = 1 4 4;b = 1 3;sys = tf(b, a);td = 0.01;t = 0 : td : 10;f = exp(-t);y = lsim(sys, f, t);plot(t, y);xlabel(t(sec);ylabel(y(t);grid on程序运行结果见下图。示例2:利用conv函数,编制一个函数文件dconv,其输出为两个序列卷积后的新序列以及与该新序列对应的时间变量。function f, k = dconv(f1, f2, k1, k2)% 计算 f1与f2的卷积,并返回与得到的新序列相对应的时间变量f = conv(f1, f2);k_start = k1(1) + k2(1);k_end = length(f1) + length(f2) - 2;k = k_start : (k_start + k_end);示例3:在dconv函数和(*)式的基础上,编制一个函数文件cconv,利用离散卷积和来近似计算连续卷积积分。function f, k = cconv(f1,f2,k1,k2,td)% 计算 f1与f2的连续卷积,并返回与得到的新序列相对应的时间变量f = td*conv(f1,f2); % 实验讲义中的(*)式计算k_start = k1(1) + k2(1);k_end = length(f1) + length(f2) - 2;k = k_start :td: (k_start + k_end*td);四、实验内容与步骤(1) 已知系统的微分方程为,。计算系统的零状态响应、冲激响应和阶跃响应,并画出相应的图形。(2) 编程实现如下图所示的两个波形;并利用cconv函数计算这两个信号的卷积、画出卷积后的波形。五、实验报告要求整理并给出“实验内容与步骤”(1)、(2)、(3)中的程序代码与产生的图形;并回答下面的问题。(1) 在“实验内容与步骤”(1),零状态响应和阶跃响应是否相同?为什么?(2) 两序列进行卷积后得到新的序列,说明新序列在时域长度、时域区间上与原来两序列的关系。实验三、连续时间系统的频域分析一、实验目的(1) 理解周期信号的傅里叶分解,掌握傅里叶系数的计算方法;(2) 深刻理解和掌握非周期信号的傅里叶变换及其计算方法;(3) 熟悉傅里叶变换的性质,并能应用其性质实现信号的幅度调制;(4) 理解连续时间系统的频域分析原理和方法,掌握连续系统的频率响应求解方法,并画出相应的幅频、相频响应曲线。二、实验原理(1) 周期信号的傅里叶分解设有连续时间周期信号,它的周期为T,角频率,且满足狄里赫利条件,则该周期信号可以展开成傅里叶级数,即可表示为一系列不同频率的正弦或复指数信号之和。傅里叶级数有三角形式和指数形式两种。1) 三角形式的傅里叶级数:式中系数,称为傅里叶系数,可由下式求得:2) 指数形式的傅里叶级数:式中系数称为傅里叶复系数,可由下式求得:周期信号的傅里叶分解用Matlab进行计算时,本质上是对信号进行数值积分运算。Matlab中进行数值积分运算的函数有quad函数和int函数。其中int函数主要用于符号运算,而quad函数(包括quad8,quadl)可以直接对信号进行积分运算。因此利用Matlab进行周期信号的傅里叶分解可以直接对信号进行运算,也可以采用符号运算方法。quadl函数(quad系)的调用形式为:yquadl(func,a,b)或yquadl(myfun,a,b)。其中func是一个字符串,表示被积函数的.m文件名(函数名);a、b分别表示定积分的下限和上限。第二种调用方式中”符号表示取函数的句柄,myfun表示所有限定义的函数的文件名。(2)周期信号的频谱周期信号经过傅里叶分解可表示为一系列正弦或复指数信号之和。为了直观地表示出信号所含各分量的振幅,以频率(或角频率)为横坐标,以各谐波的振幅或虚指数函数的幅度为纵坐标,可画出幅度频率关系图,称为幅度频谱或幅度谱。类似地,可画出各谐波初相角与频率的关系图,称为相位频谱或相位谱。在计算出信号的傅里叶分解系数后,就可以直接求出周期信号的频谱并画出其频谱图。(3)非周期信号的傅里叶变换和性质非周期信号的傅里叶变换定义为:称为频谱密度函数,一般需要用幅度谱和相位谱两个图形才能将它完全表示出来。傅里叶变换具有很多性质,如线性、奇偶性、对称性、尺度变换、时移特性、频移特性、卷积定理、时域微分和积分、频域微分和积分、能量谱和功率谱等。其中频移特性在各类电子系统中应用广泛,如调幅、同步解调等都是在频谱搬移的基础上实现的。实现频谱搬移的原理如下图所示:它是将信号(常称为调制信号)乘以所谓载频信号或,得到高频已调信号。显然,若信号的频谱为,则根据傅里叶变换的频移性质,高频已调信号的频谱函数为:可见,当用某低频信号去调制角频率为的余弦(或正弦)信号时,已调信号的频谱是包络线的频谱一分为二,分别向左和向右搬移,在搬移中幅度谱的形式并未改变。Matlab中提供了专门的函数modulate()用于实现信号的调制,其调用形式为ymodulate(x,Fc,Fs,method)。其中x为被调信号,Fc为载波频率,Fs为信号x的采样频率,method为所采用的调制方式。实现信号的调制也可以利用Matlab直接求解被调信号的傅里叶变换。Matlab中symbolic工具箱提供了直接求解信号的傅里叶变换和逆变换的函数fourier()和ifourier()。这两个函数采用符号运算方法,在调用之前要用syms命令对所用到的变量进行说明,返回的同样是符号表达式。除此之外,要实现傅里叶变换的数值计算,可以直接利用傅里叶变换的定义,调用前述的quad函数对信号进行数值积分运算,得到相应的变换结果;也可以对原始信号离散化采样,进行数值计算求解傅里叶变换。数值计算的原理如下:对于一大类信号,当足够小时,上式的近似情况可以满足实际需要。若信号是时限的,则n的取值是有限的,设为N,则上式变为:式中频率也进行了取样,。采用Matlab实现时,要注意正确生成的N个样本的向量及向量,两向量的内积结果即完成傅里叶变换的数值计算。此外,时间取样间隔需要满足取样定理(Nyquist条件):。如果某个信号不是严格的带限信号,则可根据实际计算的精度要求来确定一个适当的频率为信号的带宽。(4) 连续系统的频域分析和频率响应设线性时不变(LTI)系统的冲击响应为,该系统的输入(激励)信号为,则此系统的零状态输出(响应)可以写成卷积的形式:。设,和的傅里叶变换分别为,和,则它们之间存在关系:,反映了系统的输入和输出在频域上的关系。这种利用频域函数分析系统问题的方法常称为系统的频域分析法。函数反映了系统的频域特性,称为系统的频率响应函数(有时也称为系统函数)可定义为系统响应(零状态响应)的傅里叶变换与激励的傅里叶变换之比,即:它是频率(角频率)的复函数,可写为:,其中,可见是角频率为的输出与输入信号幅度之比,称为幅频特性(或幅频响应);是输出与输入信号的相位差,称为相频特性(或相频响应)。Matlab工具箱中提供的freqs函数可直接计算系统的频率响应,其调用形式为:Hfreqs(b,a,w)。其中b为系统频率响应函数有理多项式中分子多项式的系数向量,或者说系统微分方程式右边激励的系数;a为分母多项式的系数向量,或微分方程左式的系数;w为需计算的系统频率响应的频率抽样点向量。三、程序示例示例1:给定一个周期为4、脉冲宽度为2的矩形信号,用Matlab计算其傅里叶系数并绘图。程序代码:T=4;tao=2;w=2*pi/T;singrect=inline(abs(t)=1).*1);a0=quadl(singrect,-2,2)/T;%计算a0 N=10;an=zeros(1,N);bn=zeros(1,N);for k=1:N an(k)=quadl(rectcos,-2,2,k,w)*2/T; %计算an;endfor k=1:N bn(k)=quadl(rectsin,-2,2,k,w)*2/T; %计算bn;end;n=1:1:N;figure(1);subplot(1,2,1);plot(n,an);grid on;subplot(1,2,2);plot(n,bn);grid on;% 有限项级数逼近t=-6:0.01:6;A0=a0;AN=zeros(1,N);fiN=zeros(1,N);AN=sqrt(an.2+bn.2);fiN=-atan(bn./an);figure(2);subplot(6,2,1);x=pulstran(t,-8:4:8,rectpuls,2);plot(t,x);axis(-8,8,-1,2);grid on;subplot(6,2,2);plot(t,A0/2);grid on;wave=a0/2;for k=1:12 wave=wave+an(k)*cos(k*w*t+fiN(k); subplot(6,2,k+2);plot(t,wave);grid on; end程序中“rectcos”和“rectsin”分别为所预先定义的函数文件。其中rectcos.m文件为:function y=rectcos(t,n,w);y=(abs(t)=1).*1.*cos(n*w*t);定义了函数与余弦函数之间的乘积。rectsin.m文件为:function y=rectsin(t,n,w);y=(abs(t)=1).*1.*sin(n*w*t);定义了函数与正弦弦函数之间的乘积。运行结果:傅里叶系数图形:有限项数逼近图形,采用前10次谐波:示例2:给定一个非周期信号,用Matlab计算其傅里叶变换及其性质并实现信号幅度调制。(令)源程序:R=0.005; t=-2:R:2;f=(abs(t)=1).*1;%f函数w1=40;N=1000;k=-N:N; w=k*w1/N; %采样点为N,w为频率正半轴采样点F=f*exp(-j*t*w)*R; F=real(F);%求F(jw),为向量内积相乘figure(1);subplot(2,1,1);plot(t,f);xlabel(t);ylabel(f(t);grid on;subplot(2,1,2);plot(w,F);xlabel(w);ylabel(F(jw);grid on;%尺度变换sf=(abs(t)|wm|时,有F(ejw)=0),则有:如果取样频率ws2wm时,频谱不发生混叠;否则会出现频谱混叠。(2) 信号的重构设信号f(t)被采样后形成的采样信号为fs(t),信号的重构是指由fs(t)经过内插处理后,恢复出原来的信号f(t)的过程。因此又称为信号恢复。由

温馨提示

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

评论

0/150

提交评论