已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验指导书定稿范文 一、实验目的1.熟练Matlab的基本操作2.熟悉信号处理课程中的基本信号,包括基本的连续信号和离散信号,学会利用Matlab仿真软件产生这些基本信号。 二、实验原理1.Matlab绘图基础1)基本绘图常用函数plot()subplot()figure holdon/off stem()ezplot()该函数可以便捷地绘出符号函数的波形,但它的缺点是不够灵活,比如不能指定线型和颜色等。 2)交互式绘图先建图,之后打开图像窗口菜单栏中view里的所有选项。 2.基本信号的表达与描述1)连续信号和常用奇异信号的产生?正弦信号其表达式为)sin()(+t=Ktf,其信号的参数振幅K、角频率、与初始相位。 其波形如下图所示图1正弦信号实验一基本信号的表达与绘图3利用Matlab提供的函数cos和sin可产生正弦和余弦信号,弧度制。 ?指数信号:指数信号可表示为atKetf=)(。 对于不同的a取值,其波形表现为不同的形式,如下图所示图2指数信号利用Matlab提供的函数exp()描述指数函数。 ?抽样信号其表达式为()tttSasin=。 是一个偶函数,n2t=?,时,函数值为零。 该函数在很多应用场合具有独特的运用。 图3抽样信号使用Matlab提供的函数sinc(x)可计算抽样信号()()x?矩形脉冲信号函数rectpulse(t)可产生高度为 1、宽度为 1、关于t=0对称的矩形脉冲信号。 函数rectpulse(t,w)可产生高度为 1、宽度为w、关于t=0对称的矩形脉冲信号。 ?周期方波tttxsin=,函数sinc(x)的定义为()xxcsinsin=。 实验一基本信号的表达与绘图4函数()t*wsquare0产生基本频率为0w(周期0/2wT=)的周期方波。 函数()DUTYtwsquare,*0产生基本频率为0w(周期0/2wT=)、占空比100*/TDUTY=的周期方波。 为一个周期中信号为正的时间长度。 2/T=,50=DUTY,()50,*0twsquare等同于()t*wsquare0。 ?周期三角波和锯齿波Sawtooth是Matlab中产生锯齿波或三角波的函数。 x=sawtooth(t)x=sawtooth(t,width)第一种调用方式,将产生周期为2的锯齿波。 以02这个周期内为例,当t=0时,x=-1,当t=2时,x=1。 由此可见,在02这个周期内,x(t)是关于t的以1/为斜率的线段。 第二种调用方式中,width是0到1之间的标量。 在0到2width区间内,x的值从-1线性变化到1;在2width2区间内,x的值又从1线性变化到-1。 sawtooth(t,1)和sawtooth(t)是等价的。 ?阶跃信号产生方式有两种,一种是直接生成,另一种方式是利用Matlab里自带的函数heaviside()?冲激信号的产生dirac函数为Matlab中产生冲击信号的函数。 2)离散信号的产生?单位脉冲序列和单位阶跃序列Matlab中的函数ones(1,n)和zeros(1,n)可以生成单位脉冲序列和单位阶跃序列。 ?指数序列?正弦序列?离散周期方波?白噪声序列白噪声序列在信号处理中是常用的序列。 函数rand可产生在0,1区间均匀分布的白噪声序列,函数randn可产生均值为0,方差为1的高斯分布的白噪声序列。 实验一基本信号的表达与绘图5 三、实验内容1.熟悉matlab的使用,特别是绘图相关和描述信号的函数。 2.编写matlab程序,产生下列连续信号和奇异信号1)产生一个幅度为2,频率为4HZ,相位为6的正弦信号。 2)产生随时间衰减的指数信号()tetx?=2。 3)产生()tttxsin=信号4)产生高度为 1、宽度为 4、延时2s的矩形脉冲信号5)产生一个幅度为1,基频为2Hz,占空比为50%的周期方波6)通过下列程序观察输出图形x=-2*pi:0.01:2*pi;plot(x,sawtooth(x,0.5);title(周期三角波)7)用两种方式在Matlab中产生阶跃信号8)用dirac函数在Matlab中产生冲击信号3.编写matlab程序,产生下列离散信号1)产生单位脉冲序列3?k和阶跃序列3?ku2)产生离散序列kkx?=435.03)产生正弦序列?+53sink4)产生幅度为1,基频rad40=、占空比为50%的周期方波5)产生均值为0,方差为1的高斯分布的白噪声序列 四、思考题1.产生并画出以下离散序列a、离散正余弦序列100),5.0sin (2)3/1.0cos(3+=kkkkx实验一基本信号的表达与绘图6b、单位采样序列?=?3,03,13kkkc、单位阶跃序列?=?3,03,13kkku d、实数指数序列k100,)9.0(=kxk2.产生复数值离散信号kx1010,)3.0j1.0?(?=+kek在四个子图中画出其幅度、相位、实部和虚部的波形。 3.总结在实验中使用的主要函数及其功能。 实验二连续时间系统的时域分析7实验二连续时间系统的时域分析 一、实验目的1.掌握用Matlab描述线性时不变(LTI)系统的方法。 2.掌握用Matlab实现零输入响应、零状态响应、冲激响应和阶跃响应的方法。 3.掌握用Matlab实现连续时间卷积运算。 二、实验原理1.描述线性时不变(LTI)系统的方法连续时间系统的研究方法包括输入-输出法和系统状态变量分析法。 首先介绍输入-输出法。 “信号与系统”研究的大部分是LTI系统,可以用一元高阶微分方程描述。 设激励信号f(t),系统响应y(t),则系统表示为()t()t()t()t()t()t()t()tfEfdtdEfdtdEfdtdEyCydtdCydtdCydtdCmmmmmmnnnnnn+=+?1111011110?(2.1)在Matlab中,上述系统可用tf函数建立,使用方法为sys=tf(b,a),其中a,b即nnCCCCa,110?=?和mmEEEEb,110?=?,是两个行矢量,分别由系统响应和激励信号的各阶导数项系数由搞至低排列而成;返回值sys即为上述LTI系统的模型。 系统状态变量分析法在主教材中已详细讲解。 前述系统是一个一元高阶微分方程,必然可以化成两个多元一阶微分方程组,其中一个描述系统状态在激励信号作用下的变化,称为状态方程d+=(2.2)()t()t()tBfAxxdt另一个描述输出信号和系统状态及激励信号的关系,称为输出方程()()t()tDfCxty+=(2.3)其中()xTk xxxt,21?=表示状态变量矢量,()tTm ffff,21?=表示输入激励矢量,()tTrrrrr,21?=表示输出矢量。 mrkrmkkkDCBA,分别表示四个系数矩阵。 实验二连续时间系统的时域分析8对于用状态方程和输出方程描述的系统模型,在Matlab中用ss函数建立。 使用方法为sys=ss(a,b,c,d),其中四个参数即为上述四个矩阵,返回值sys表示该系统模型。 2.微分方程式的建立与求解微分方程的解包括齐次解和特解两部分。 齐次解即系统特征方程的根,用roots函数计算。 使用方法a=roots(p),其中p为特征方程的系数由高至低排列构成的行矢量,返回值a是特征组成的列矢量。 例2.1求微分方程的齐次解。 ()t()t()t()t()tfyydtdydtdydtd=+121672233对应程序如下p=171612;a=roots(p);a输出结果a=-3.0000-2.0000+0.0000i-2.0000-0.0000i注意有一个二重跟-2,从而写出齐次解为()()ttheAeAtAtr33221?+=特解即系统函数在给定激励信号作用下的输出。 Matlab提供lsim函数对LTI系统进行仿真。 使用方法为y=lsim(sys,u,t),其中sys表示LTI系统,矢量u和t分别表示激励信号的抽样值和抽样时间,返回值y为对应于上述抽样时间的系统响应值。 例2.2给定方程式()t()t()t()t()tffdtdyydtdydtd+=+3222如果已知1)()2ttf=;2)()tetf=,分别求两种情况下方程的特解。 解首先建立系统模型sys,然后生成10s的抽样时间t及两种输入信号f1,f2,再分别激励sys得到响应信号y1和y2,最后在两个子图上分别绘制两种输入信号及其响应。 对应程序如下a=123;b=11;sys=tf(b,a);t=0:0.1:10;f1=t.2;实验二连续时间系统的时域分析9y1=lsim(sys,f1,t);f2=exp(t);y2=lsim(sys,f2,t);subplot(2,2,1)plot(t,f1)subplot(2,2,2)plot(t,f2)subplot(2,2,3)plot(t,y1)subplot(2,2,4)plot(t,y2)可以将上述脚本中抽样间隔改为1s,再运行程序,对比两次绘图结果有何不同。 一般来说,随着抽样率的提高,仿真结果和理论值会越来越接近。 3.零输入响应和零状态响应在Matlab中,lsim函数还可以对带有非零起始状态的LTI系统进行仿真,使用方法为y=lsim(sys,u,t,x0),其中sys表示LTI系统,矢量u和t分别表示激励信号的抽样值和抽样时间,矢量x0表示该系统的初始状态,返回值y是系统响应值。 如果只有起始状态而没有激励信号,或者令激励信号为0,则得到零输入响应。 如果既有初始状态也有激励信号,则得到完全响应。 请注意lsim函数只能对用状态方程描述的LTI系统仿真非零起始状态响应,函数ss(对传递函数描述的LTI系统将失效,函数tf)。 4.冲激响应与阶跃响应如果分别用冲激信号和阶跃信号作激励,lsim函数可仿真出冲激响应和阶跃响应。 但鉴于这两种响应的重要性,为简化操作,Matlab专门提供了impulse(sys)和step(sys)两个函数分别直接产生LTI系统的冲激响应和阶跃响应,其中sys表示LTI系统模型。 1)连续系统的单位冲激响应h(t)的计算impulse(sys)计算并画出连续系统的冲激响应,sys可由函数tf(b,a)获得,其中b和a分别是系统函数H(s)的分子多项式和分母多项式的系数矩阵。 h=impulse(sys,t)计算并画出系统在向量t定义的时间范围内的冲激响应,向量h保存对应时间的系统冲激响应的输出值。 2)连续系统单位阶跃响应g(t)的计算step(sys)计算并画出连续系统的阶跃响应。 g=step(sys,t)计算并画出连续系统在向量t定义的时间范围内的阶跃响应。 向量g保存对应时间的系统阶跃响应的输出值。 5.连续时间卷积的计算在Matlab中,连续时间的卷积运算可以用数值方法计算近似值。 首先对卷积公式()t()()d?tfff?=21两侧以T为间隔抽样,再将积分拆成长度为T的若干小段,得到()()()?=+?=mTmTmTdnTffnTf21假设抽样间隔足够小,以至于两个函数相邻抽样点上的值几乎不变,则近似有实验二连续时间系统的时域分析10()()(f)?m?mTnTmTfTnTf21(2.1)Matlab中定义了w=conv(u,v)函数实现卷积和()()(?m)?+=mnvmunw1(2.2)下面讨论如何利用conv函数实现连续时间卷积。 首先假设序列u(m)是函数()tf1从1t时刻开始,以T为间隔采样的结果,则()mTfTtmu111=?+(2.3)假设1t是T的整数倍。 同理假设v(m)是对函数()tf2从2t时刻开始以相同间隔抽样得到的序列,即()mTfTtmv211=?+(2.4)将式(2.3)和(2.4)带入式(2.1),有()?+?+?TtmnvTtmuTnTfm2111(2.5)定义Ttmm11?+=,Tttnn211+?+=并带入式(2.5)得到()()()?m?+mnvmuTnTf1(2.6)对比式(2.2)和(2.6)有()()?+T?+=ttnTwnTwnTf211(2.7)即w(n)近似为从21tt+时刻开始以T为间隔对f(t)抽样得到的序列,从而可以用conv函数实现连续时间卷积。 在以上推导的基础上,定义了一个函数conv1实现连续时间卷积文件名为conv1.m functionw,tw=conv1(u,tu,v,tv)%输入参数u和v表示两个序列,tu和tv分别表示他们的抽样时间返回值,即输出参数w和tw分别表示卷积结果及其抽样时间。 T=tu (2)-tu (1);%以T为间隔抽样,再将积分拆成长度为T的若干小段,相当于dt w=T*conv(u,v);tw=tu (1)+tv (1)+T*0:length(u)+length(v)-2;实验二连续时间系统的时域分析11%抽样时间tw=tu (1)+tv (1),tu (1)+tv (1)+T,tu (1)+tv (1)+2T,tu (1)+tv (1)+T(length(u)-1+length(v)-1)卷积的时间为两序列起点的和到两序列终点的和 三、实验内容1.用Matlab传递函数描述如下系统()t()t()t()t()tfyydtdydtdydtd=+1216722332.用matlab描述如下系统输出方程()t()()?t?+?=ftfxxxy21321100103.给定如图所示电路,t0时i(t)的零状态响应和零输入响应。 图2.1电路图解由所示电路写出回路方程和结点方程()()?t?+?=?ftfxxxxxx21321321030001022330102实验二连续时间系统的时域分析12分别得到状态方程和输出方程下面将用两种方法计算完全响应。 第一种方法首先仿真2V电压e作用足够长时间(10s)后系统进入稳态,从而得到稳态值x0,再以该值作为初始值仿真4V电压e作用下的输出rf,即是系统的完全响应,为充分掌握lsim函数的使用方法,还仿真了系统的零状态响应rzs和零输入响应rzi。 第二种方法构造一个激励信号,先保持2V足够长时间再跳变为4V,然后即可以零初始状态一次仿真得到系统的完全响应r1。 对应程序如下C=1;L=1/4;R1=1;R2=3/2;A=-1/R1/C,-1/C;1/L,-R2/L;B=1/R1/C;0;C=-1/R1,0;D=1/R1;sys=ss(A,B,C,D);%建立LTI系统sys tn=-10:0.01:-0.01;%生成-10s到-0.01s的抽样时间,间隔为0.01s en=2*(tn0);%生成机理信号的抽样值e(t)=2rn tnxn=lsim(sys,en,tn);%仿真t=0);%生成激励信号的抽样值e(t)=4ezi=0*(t=0);%生成零输入信号的抽样值e(t)=0rzs=lsim(sys,e,t);%仿真零状态响应rzi=lsim(sys,ezi,t,x0);%仿真零输入响应实验二连续时间系统的时域分析13rf=lsim(sys,e,t,x0);%仿真完全响应r1=lsim(sys,en;e,tn;t);%用另一种方法仿真完全响应4.已知描述某连续系统的微分方程为()t()t()t()t()tffyyy8265+=+计算该系统的单位冲激响应h(t).统的单位冲激响应h(t).对应程序如下a=1,5,6;b=2,8;sys=tf(b,a);t=0:0.1:10;h=impulse(sys,t);plot(h);xlabel(t);title(h(t)5.已知描述某连续系统的微分方程为()t()t()t()t()tffyyy8265+=+计算该系统的单位冲激响应h(t).例2.7已知某系统冲激响应为()2tth=,0 以-0.5s开始,宽度为1.5s,幅度为1的矩形脉冲e(t)激励该系统,求输出信号y(t)。 对应程序如下t=-1:0.01:4;e=-0.5:0.01:(-0.5+1.5);h=(t0&t=-1&t1=-1&t1-T1/4&t (11);%直流分量本来是a0/2,这里为了方便,直接表示成a0ak=F(12:21)+F(10:-1:1);fs=cos(kron(t,0:5*omg0)*a0;ak(1:5);%合成原函数subplot(2,1,1)plot(t,f,t,fs,-)subplot(2,1,2)stem(k(11:21),a0,ak)%三角形式傅里叶系数图只有正半轴2.画出如下图对称方波(取E= 1、T=1),并采用有限项傅里叶级数对原函数进行逼近,画出对称方波的 1、 3、 5、 7、 9、11次谐波的傅里叶级数合成波形,观察吉布斯现象。 实验三周期信号的傅里叶级数分析20对应的程序以及结果图分别显示如下sum=0;t=-3:0.01:3;E=1;T=1;ta=T/2;w=2*3.14159/T;for n=1:1fn=(2*E*ta/T)*sin(w*ta*n/2)/(w*ta*n/2);f=(E*ta/T)+cos(n*w*t)*fn-E/2;%由于没有直流分量,将原公式中减去直流分量的差值得()t()()2cos2/2100EtnnSaTETEfn?=?+=sum=sum+f;end plot(t,sum)实验三周期信号的傅里叶级数分析21sum=0;t=-3:0.01:3;E=1;T=1;ta=T/2;w=2*3.14159/T;for n=1:3fn=(2*E*ta/T)*sin(w*ta*n/2)/(w*ta*n/2);f=(E*ta/T)+cos(n*w*t)*fn-E/2;sum=sum+f;end plot(t,sum)实验三周期信号的傅里叶级数分析22sum=0;t=-3:0.01:3;E=1;T=1;ta=T/2;w=2*3.14159/T;for n=1:5fn=(2*E*ta/T)*sin(w*ta*n/2)/(w*ta*n/2);f=(E*ta/T)+cos(n*w*t)*fn-E/2;sum=sum+f;end plot(t,sum)实验三周期信号的傅里叶级数分析23sum=0;t=-3:0.01:3;E=1;T=1;ta=T/2;w=2*3.14159/T;for n=1:7fn=(2*E*ta/T)*sin(w*ta*n/2)/(w*ta*n/2);f=(E*ta/T)+cos(n*w*t)*fn-E/2;sum=sum+f;end plot(t,sum)实验三周期信号的傅里叶级数分析24sum=0;t=-3:0.01:3;E=1;T=1;ta=T/2;w=2*3.14159/T;for n=1:9fn=(2*E*ta/T)*sin(w*ta*n/2)/(w*ta*n/2);f=(E*ta/T)+cos(n*w*t)*fn-E/2;sum=sum+f;end plot(t,sum)实验三周期信号的傅里叶级数分析25sum=0;t=-3:0.01:3;E=1;T=1;ta=T/2;w=2*3.14159/T;for n=1:11fn=(2*E*ta/T)*sin(w*ta*n/2)/(w*ta*n/2);f=(E*ta/T)+cos(n*w*t)*fn-E/2;sum=sum+f;end plot(t,sum)3.将下图中的锯齿波展开为Fourier级数,按(3.4)式求出Fourier级数的系数,并在频域分别采用矩形窗、Hanning窗和三角窗加权,观察其Gibbs效应及其消除情况。 程序如下clc实验三周期信号的傅里叶级数分析26clear allt=-3:0.1:3;y=sawtooth(2.*pi.*t);subplot(2,3,1);plot(t,y);title(锯齿波函数);axis(-2.5,2.5,-1,1);K=100;f1=0;f2=0;f3=0;f4=0;t=-5:0.1:5;for k=1:K f1=sin(2.*pi.*k.*t)./(pi.*k)+f1;f2=sin(2.*pi.*k.*t).*(0.5+0.5.*cos(2*pi.*k./K)./(pi.*k)+f2;f3=sin(2.*pi.*k.*t).*(0.54+0.46.*cos(2*pi.*k./K)./(pi.*k)+f3;f4=sin(2.*pi.*k.*t).*(1-abs(2.*k./K)./(pi.*k)+f4end subplot (232)plot(t,f1)title(傅里叶级数)axis(-4,4,-0.5,0.5)subplot (233)plot(t,f2)title(矩形窗加权)axis(-4,4,-0.5,0.5)subplot (234)plot(t,f3)title(Hanning加权)axis(-4,4,-0.5,0.5)subplot (235)plot(t,f4)title(三角窗加权)axis(-4,4,-0.5,0.5) 四、思考题1.通过Matlab实现三角形式的傅里叶级数和指数形式的傅里叶级数实验三周期信号的傅里叶级数分析27()()()?+=?tnntttf000sin13sin31sin4)(n=1,3,5)2.通过Matlab实现三角形式
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 木门年代销合同范本
- 消防员培训考试考务人员培训考试题及答案
- 断桥铝窗维修协议书
- 豌豆种子试题带答案
- 施工项目门卫协议书
- 剧院新员工演出服务培训试题及标准解答
- 会计保险实务题库及答案
- 基于标准的学业质量管理:上海市A区初级中学的探索与实践
- 蒲江事业单位题库及答案
- 基于条件风险方法的含风电电力系统经济调度:模型、策略与应用
- GB/T 43683.4-2025水轮发电机组安装程序与公差导则第4部分:立式轴流转桨式或轴流定桨式水轮机
- 婴幼儿心肺复苏课件
- DB43-T 1976-2021 压力容器波纹金属软管定期检查技术规范
- 南开大学简介
- GB/T 17219-2025生活饮用水输配水设备、防护材料及水处理材料卫生安全评价
- JTG3410-2025公路沥青及混合料试验规程解读宣贯
- 化工厂安全培训活动课件
- 监狱干警给犯人授课课件
- 2025至2030电石行业市场深度调研及前景趋势与投资研究报告
- 家电清洗培训课件下载
- 知道智慧树我们身边的知识产权满分测试答案
评论
0/150
提交评论