连续时间信号和系统时域分析及MATLAB实现.doc_第1页
连续时间信号和系统时域分析及MATLAB实现.doc_第2页
连续时间信号和系统时域分析及MATLAB实现.doc_第3页
连续时间信号和系统时域分析及MATLAB实现.doc_第4页
连续时间信号和系统时域分析及MATLAB实现.doc_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

MATLAB 课程设计任务书课程设计任务书 姓名:秦姓名:秦* 学号:学号:2012*0330 题目题目: 连续时间信号和系统时域分析及 MATLAB 实现 初始条件:初始条件: MATLAB 7.5.0 ,Windows XP 系统 实验任务:实验任务: 一、用 MATLAB 实现常用连续时间信号的时域波形(通过改变参数,分析其时 域特性) 。 1、单位阶跃信号,2、单位冲激信号,3、正弦信号,4、实指数信号,5、虚指 数信号,6、复指数信号。 二、用 MATLAB 实现信号的时域运算 1、相加 ,2、相乘 ,3、数乘,4、微分,5、积分 三、用 MATLAB 实现信号的时域变换(参数变化,分析波形变化) 1、反转,2、使移(超时,延时) ,3、展缩,4、倒相,5、综合变化 四、用 MATLAB 实现信号简单的时域分解 1、信号的交直流分解,2、信号的奇偶分解 五、用 MATLAB 实现连续时间系统的卷积积分的仿真波形 给出几个典型例子,对每个例子,要求画出对应波形。 六、用 MATLAB 实现连续时间系统的冲激响应、阶跃响应的仿真波形。 给出几个典型例子,四种调用格式。 七、利用 MATLAB 实现连续时间系统对正弦信号、实指数信号的零状态响应的 仿真波形。 目目 录录 1 MATLAB 简介1 1.1 MATLAB 设计目的.1 1.2 MATLAB 语言特点.1 2 常用连续时间信号的时域波形1 2.1 单位阶跃信号.1 2.2 单位冲激信号.2 2.3 正弦信号.3 2.4 实指数信号4 2.5 虚指数信号5 2.6 复指数信号6 3 连续时间信号的时域运算.7 3.1 相加.7 3.2 相乘.8 3.3 数乘.9 3.4 微分10 3.5 积分.11 4.1 反转.12 4.2 时移.13 4.3 展缩.14 4.4 倒相.15 4.5 综合变化.16 5 连续时间信号简单的时域分解17 5.1 信号的交直流分解.17 5.2 信号的奇偶分解.18 6 连续时间系统的卷积积分的仿真波形20 7 连续时间系统的冲激响应、阶跃响应的仿真波形22 7.1 IMPULSE()函数 .23 7.2 STEP()函数27 8 连续时间系统对正弦信号、实指数信号的零状态响应的仿真 波形.29 8.1 正弦信号的零状态响应30 8.2 实指数信号的零状态响应31 9 小结32 1 1 MATLAB 简介简介 1.1 MATLAB 设计目的设计目的 深入研究连续时间信号和系统时域分析的理论知识。利用MATLAB强大的图形处理 功能、符号运算功能以及数值计算功能,实现连续时间信号和系统时域分析的仿真波形 1.2 MATLAB 语言特点语言特点 MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中 在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、 创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处 理与通讯、图像处理、信号检测、金融建模设计与分析等领域。MATLAB的最重要特征 使他拥有解决特定应用问题的程序组,也就是TOOLBOX(工具箱),如信号处理工具箱, 控制系统工具箱、神经网络工具箱、模糊逻辑工具箱、通信工具箱和数据采集工具箱等 许多专用工具箱,对大多数用户来说,要想灵活、高效地运用这些工具箱,通常都需要 学习相应的专业知识。 2 常用连续时间信号的时域波形常用连续时间信号的时域波形 连续信号又称为模拟信号,其信号存在于整个时间范围内,包括单位阶跃信号,单 位冲激信号,正弦信号,实指数信号,虚指数信号,复指数信号。 2.1 单位阶跃信号单位阶跃信号 单位阶跃信号的定义如下: () =0,( 0) ? 单位阶跃信号的MATLAB程序: t=-0.5:0.01:5; t0=1.0; q=stepfun(t,t0); plot(t,q); 2 axis equal 其信号图如下: 2.2 单位冲激信号单位冲激信号 MATLAB实现程序如下: t=-5:0.01:5; a=(t=0); plot(t,a); 信号图如下: 3 2.3 正弦信号正弦信号 正弦信号其 MATLAB 实现程序如下: t=-1:0.0001:1; A=6; f=5; b=1; u=A*sin(2*pi*f*t+b); plot(t,u) axis(-1 1 -6.5 6.5) 其信号图如下: 4 2.4 实指数信号 实指数信号可由下面的表达式来表示: () = MATLAB 实现程序如下: t=0:0.002:3; A=3; a=0.5; b=A*exp(a*t); plot(t,b) axis(-0.2 3.1 -0.2 14) 其信号图如下: 5 2.5 虚指数信号 虚指数信号可由下面的表达式来表示: () = A=2,的虚指数信号的 MATLAB 实现程序如下 = /4() = t=0:0.001:20; a=2; w=pi/4; b=a*exp(i*w*t); subplot(221),plot(t,real(b),axis(0, 20,-4,4),title(实部) subplot(222),plot(t,imag(b),axis(0,20,-4,4),title(虚部) subplot(223),plot(t,abs(b),axis(0,20,1,4),title(模) 6 subplot(224),plot(t,angle(b),axis(0,20,-4,4),title(相角) 其信号图如下: 2.6 复指数信号 复指数信号可由下面的表达式来表示: () = ( + ) MATLAB 实现程序如下: t=0:0.01:4; a=-1; A=1; b=12; 7 c=A*exp(a+i*b)*t); subplot(221),plot(t,real(c),title(实部) subplot(222),plot(t,abs(c),title(模) subplot(223),plot(t,imag(c),title(虚部) subplot(224),plot(t,angle(c),title(相角) 其信号图如下: 3 连续时间连续时间信号的时域运算信号的时域运算 3.1 相加相加 8 要实现两信号的相加,即 f(t)=f1(t)+f2(t) f1(t)为单位阶跃信号,f2(t)为正弦信号,两信号相加的实现程序如下, t=-6:0.0001:10; t0=2; a=stepfun(t,t0); b=sin(2*pi*t); f=b+a; plot(t,f) axis(-6 10 -3 3) 其信号图如下: 3.2 相乘相乘 要实现两信号的相乘,即 f(t)=f1(t)*f2(t) f1(t)为单位阶跃信号,f2(t)为正弦信号,两信号相乘的实现程序如下: 9 t=0:0.0001:5; t0=0.5; a=stepfun(t,t0); b=sin(2*pi*t); f=a.*b; plot(t,f); axis(0 5 -2 2); 其信号图如下: 3.3 数乘数乘 要实现信号的数乘,即 f(t)=A*f1(t) A=3,f1(t)为单位阶跃信号,信号数乘的实现程序如下: 10 t=0:0.0001:5; a=3; t0=1; b=stepfun(t,t0); f=a*b; plot(t,f); axis(-2 5 0 5); 其信号图如下: 3.4 微分微分 微分即求信号的导数。 对函数 f(t)=t2求一阶微分的实现程序如下: t=-40:0.002:40; 11 a=t.*t; d=diff(a); subplot(211); plot(t,a,-); subplot(212); plot(d,-); 其信号图如下: 3.5 积分积分 对 f(t)=t2函数的一次积分的实现程序如下: t=-2:0.1:2; syms t; f=t*t; 12 a=int(f); subplot(211); ezplot(f); subplot(212); ezplot(a); 其信号图如下: 4.1 反转反转 信号的反转就是将信号的波形以某轴为对称轴翻转180 信号f(t)=t的反转MATLAB程序如下: t=-10:1:10; f=t; a=fliplr(f); 13 h=flipud(f); subplot(311); plot(t,f); axis(-2 2 -2 2); title(原); subplot(312); plot(t,a); axis(-5 5 -5 5); title(上下); subplot(313); plot(t,h); axis(-5 5 -5 5); title(左右); 其信号图如下: 14 4.2 时移时移 实现连续时间信号的时移即f(t-t0)或者f(t+t0),常数t00。 余弦信号的时移实现程序如下: t=0:0.0001:5; y=cos(2*pi*t); y1=cos(2*pi*(t-0.2); plot(t,y,-,t,y1); axis(0 5 -1.5 1.5); 其信号图如下: 15 4.3 展缩展缩 信号的展缩即将信号f(t)中的自变量t替换为at,a0。 正切信号的展缩实现程序如下: t=0:0.001:2; a=1; y=sin(2*pi*t); y1=subs(y,t,a*t); subplot(211); ezplot(y); subplot(212); ezplot(y1); 其信号图如下: 16 4.4 倒相倒相 连续信号的倒相是指将信号 f(t)以横轴为对称轴对折得到-f(t)。 正弦信号的展缩实现程序如下: t=0:0.0001:4; y=cos(2*pi*t); y1=-y; subplot(211); plot(t,y); axis(0 4 -1.5 1.5); subplot(212); plot(t,y1); axis(0 4 -1.5 1.5); 其信号图如下: 17 4.5 综合变化综合变化 将 f(t)=cos(t)/t 通过反褶、移位、尺度变换由 f(t)的波形得到 f(-2t+3)的波形。该变化的 实现程序如下 syms t; f=sym(cos(t)/t); f1=subs(f,t,t+2); f2=subs(f1,t,1*t); f3=subs(f2,t,-t); subplot(221);ezplot(f,-10,10); subplot(222);ezplot(f1,-10,10); subplot(223);ezplot(f2,-10,10); subplot(224);ezplot(f3,-10,10); 18 其信号图如下: 5 连续时间信号简单的时域分解连续时间信号简单的时域分解 5.1 信号的交直流分解信号的交直流分解 信号的交直流分解即将信号分解成直流分量和交流分量两部分之和,其中直流分量 定义为 fD(t)=/t f(t) 交流分量定义为 fA(t)=f(t)-fD(t) 例如对函数 f(t)=cos(t)+2 进行交直流分解。 程序如下: 19 t=-5:0.002:5; f=cos(2*pi*t)+2; a=mean(f); b=f-a; subplot(311); plot(t,f); axis(-2 2 0.5 5); subplot(312); plot(t,a); axis(-2 2 -2 5); subplot(313); plot(t,b); axis(-2 2 -1.5 1.5); 图像如下: 20 5.2 信号的奇偶分解信号的奇偶分解 对函数 f(t)=cos(t-5)+t 进行交直流分解。 MATLAB 程序如下: syms t; f=sym(cos(t- 5)+t ); f1=subs(f,t,-t) a=1/2*(f+f1); b=1/2*(f-f1); subplot(311); ezplot(f,-8,8); 21 subplot(312); ezplot(a,-8,8); subplot(313); ezplot(b,-8,8); 波形图如下图: 6 连续时间系统的卷积积分的仿真波形连续时间系统的卷积积分的仿真波形 卷积积分在信号与线形系统分析中具有非常重要的意义,是信号与系统分析 的基本方法之一。 连续时间信号 f1(t)和 f2(t)的卷积积分(简称为卷积)f(t)定义为: f(t)= f1(t)* f2(t)= 1(t)f2(t- ) 由此可得到两个与卷积相关的重要结论,即是: (1) f(t)= f1(t)* (t),即连续信号可分解为一系列幅度由 f (t) 决定的冲激 22 信号 (t) 及其平移信号之和; (2)线形时不变连续系统,设其输入信号为 f (t) ,单位响应为 h (t ) ,其零状态响应为 y (t),则有:y (t ) = f (t)h (t)。 用 MATLAB 实现连续信号 f 1(t)与 f2(t)卷积的过程如下: (1)将连续信号 f 1(t)与 f2(t)以时间间隔进行取样,得到离散序列 f 1(k)和 f2(k); (2)构造与 f 1(k)和 f2(k)相对应的时间向量 k1 和 k2 ; (3)调用 conv()函数计算卷积积分 f (t) 的近似向量 f (n); (4)构造 f (n)对应的时间向量 k。 卷积实现程序如下: function f,k=sconv(f1,f2,k1,k2,p) f=conv(f1,f2); %计算序列 f1 与 f2 的卷积和 f f=f*p; k0=k1(1)+k2(1); %计算序列 f 非零样值的起点位置 k3=length(f1)+length(f2)-2; %计算卷积和 f 的非零样值的宽度 k=k0:p:k3*p; %确定卷积和 f 非零样值的时间向量 subplot(2,2,1) plot(k1,f1) %在子图 1 绘 f1(t)时域波形图 title(f1(t) xlabel(t) ylabel(f1(t) subplot(2,2,2) plot(k2,f2) %在子图 2 绘 f2(t)时波形图 title(f2(t) xlabel(t) ylabel(f2(t) subplot(2,2,3) plot(k,f); %画卷积 f(t)的时域波形 h=get(gca,position); 23 h(3)=2.5*h(3); set(gca,position,h) %将第三个子图的横坐标范围扩为原来的 2.5 倍 title(f(t)=f1(t)*f2(t) xlabel(t) ylabel(f(t) 例一: 实现程序如下: p=0.1; k1=0:p:2; f1=0.5*k1; k2=k1; f2=f1; f,k=doc sconv(f1,f2,k1,k2,p) 例二: 24 实现程序如下: p=0.1; k1=0:p:2; f1=rectpuls(k1-1,length(k1); k2=k1; f2=f1; f,k=sconv(f1,f2,k1,k2,p) 7 连续时间系统的冲激响应、阶跃响应的仿真波形连续时间系统的冲激响应、阶跃响应的仿真波形 对于连续时间系统,求解系统的冲激响应 h(t)和阶跃响应 g(t)对我们进行连续系统的 分析具有非常重要的意义。MATLAB 为用户提供了专门用于求连续系统冲激响应和阶跃 响应并绘制其时域波形的函数 impulse()和 step()。 在调用 impulse()和 step()函数时,我们需要用向量来对连续时间系统进行分析。 设描述连续系统的微分方程为: iy(i)(t)=jx(j)(t) = 0 = 0 则我们可用向量 A 和 B 来表示该系统,即: A=AN,AN-1,A1,A0 B=BN,BN-1,B1,B0 注意,向量 A 和 B 的元素一定要以微分方程中时间求导的降幂次序来排列,且缺项 要用 0 来补齐。例如,对微分方程,则表示该系统的对 () + 3() + 2() = () + () 应向量应为 A=1 3 2,B=1 0 1。 25 7.1 impulse()函数()函数 函数 impulse()将绘出由向量 a 和 b 表示的连续系统在指定时间范围内的冲激响 应 h(t)的时域波形图,并能求出指定时间范围内冲激响应的数值解。 impulse()函数有如下四种调用格式: (1)impulse(b,a):该调用格式以默认方式绘出向量 A 和 B 定义的连续系统的冲激 响应的时域波形 。例如描述连续系统的微分方程为 () + 5() + 6() = 3() + 2() 运行如下 MATLAB 命令: a=1 5 6; b=3 2; impulse(b,a); 则绘出系统的冲激响应波形,如图所示: 26 (2)impulse(b,a,t):运行命令 impulse(b,a,6),则绘出系统在 06 秒范围内冲激响 应的时域波形,如图所示 (3)impulse(b,a,t1:p:t2):若运行命令 impulse(b,a,1:0.1:3),则绘出 13 秒内,每隔 0.1 秒取样的冲激响应的时域波形,如图所示: 27 (4)y=impulse(b,a,t1:p:t2):若运行命令 y=impulse(b,a,0:0.2:3),则运行结果为: 28 7.2 step()函数()函数 step()函数可绘出连续系统的阶跃响应 g(t)在指定时间范围的时域波形并能求出其 数值解,和 impulse()函数一样也有四种调用格式。 () + 5() + 6() = 3() + 2() 运行如下 MATLAB 命令: a=1 5 6; b=3 2; step(b,a); 则绘出系统的阶跃响应波形,如图所示。 29 (2)step(b,a,t):运行命令 step(b,a,6),绘出在 06 秒范围内阶跃响应的时域波形 30 (3)step(b,a,t1:p:t2):运行命令 step(b,a,1:0.1:3),绘出 13 秒内,每隔 0.1 秒取样 的阶跃响应的时域波形 31 (4)y=step(b,a,t1:p:t2):运行命令 y=step(b,a,0:0.2:3),则运行结果为: 32 8 连续时间系统对正弦信号、实指数信号的零状态响应的仿真连续时间系统对正弦信号、实指数信号的零状态响应的仿真 波形波形 MATLAB 中的函数 lsim()能对微分方程描述的 LTI 连续时间系统的响应进行仿真。 该函数能绘制连续时间系统在指定的任意时间范围内系统响应的时域波形图,还能求出 连续时间系统在指定的任意时间范围内系统响应的数值解,函数 lsim()的调用格式如下: lsim(b,a,x,t) 在该调用格式中,a 和 b 是由描述系统的微分方程系统决定的表示该系统的两个行向 量。x 和 t 则是表示输入信号的行向量,其中 t 为表示输入信号时间范围的向量,x 则是 输入信号在向量 t 定义的时间点上的抽样值。该调用格式将绘出向量 b 和 a 所定义的连续 系统在输入量为向量 x 和 t 所定义的信号时,系统的零状态响应的时域仿真波形,且时间 范围与输入信号相同。 8.1 正弦信号的零状态响应正弦信号的零状态响应 MATLAB 命令如下: a=1,2,1; b=1,2; p=0.5; t=0:p:5; x=sin(3*pi*t); lsim(b,a,x,t); hold on; p=1.0; t=0:p:8; x=sin(3*pi*t); lsim(b,a,x,t); p=0.01; t=0:p:5; 33 x=sin(3*pi*t); lsim(b,a,x,t); hold off; 8.2 实指数信号的零状态响应实指数信号的零状态响应 MATLAB 命令如下: a=1,3,1; b=1,3; p=0.5; t=0:p:5; x=exp(-2*t); lsim(b,a,x,t); 34 hold on; p=0.2; t=0:p:5; x=exp(-2*t)

温馨提示

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

评论

0/150

提交评论