连续时间信号和系统时域分析及MATLAB实现推荐文档.docx
- 文档编号:17090707
- 上传时间:2023-07-21
- 格式:DOCX
- 页数:40
- 大小:211.83KB
连续时间信号和系统时域分析及MATLAB实现推荐文档.docx
《连续时间信号和系统时域分析及MATLAB实现推荐文档.docx》由会员分享,可在线阅读,更多相关《连续时间信号和系统时域分析及MATLAB实现推荐文档.docx(40页珍藏版)》请在冰点文库上搜索。
连续时间信号和系统时域分析及MATLAB实现推荐文档
课程设计任务书
学生姓名:
专业班级:
指导教师:
工作单位:
题目:
连续时间信号和系统时域分析及MATLAB实现
初始条件:
MATLAB6.5
要求完成的主要任务:
一、用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实现连续时间系统对正弦信号、实指数信号的零状态响应的仿真波形。
给出几个典型例子,要求可以改变激励的参数,分析波形的变化。
时间安排:
学习MATLAB语言的概况第1天
学习MATLAB语言的基本知识第2、3天
学习MATLAB语言的应用环境,调试命令,绘图能力第4、5天
课程设计第6-9天
答辩第10天
指导教师签名:
年月日
系主任(或责任教师)签名:
年月日
摘要
MATLAB目前已发展成为由MATLAB语言、MATLAB工作环境、MATLAB图形处理系统、MATLAB数学函数库和MATLAB应用程序接口五大部分组成的集数值计算、图形处理、程序开发为一体的功能强大的系统。
本次课程设计则在深入研究连续时间信号傅里叶级数分析理论知识的基础上,利用MATLAB强大的图形处理功能、符号运算功能以及数值计算功能,通过MATLAB编程进行图形功能仿真,从而实现连续时间周期信号频域分析的仿真波形,包括以下内容:
用MATLAB实现常用连续时间信号的时域波形;用MATLAB实现信号的时域运算;用MATLAB实现信号的时域变换;用MATLAB实现信号简单的时域分解;用MATLAB实现连续时间系统的卷积积分的仿真波形;用MATLAB实现连续时间系统的冲激响应、阶跃响应的仿真波形;用MATLAB实现连续时间系统对正弦信号、实指数信号的零状态响应的仿真波形。
关键词:
MATLAB;图形处理;连续时间信号和系统;时域
Abstract
MATLABnowevolvedintoMATLABlanguage,MATLABworkingenvironment,MATLABgraphicsprocessingsystems,MATLABmathlibraryandtheMATLABapplicationprograminterfacehasfivemajorcomponentsofthesetofnumericalcomputation,graphicsprocessing,programdevelopmentasonepowerfulsystem.Thecurriculumdesign,in-depthstudyFourierseriesanalysisofcontinuous-timesignalonthebasisoftheoreticalknowledge,usingMATLABapowerfulgraphicsprocessingcapabilities,symboliccomputingandnumericalcomputingcapabilities,throughthefunctionalsimulationMATLABgraphicalprogramminginordertoachievecontinuoustimeperiodicsignalfrequencydomainanalysisofthesimulationwaveforms,includingthefollowing:
TimedomainwaveformofcontinuoustimesignalbyMATLAB;timedomainoperationsignalbyMATLAB;realizethetimedomainsignalbyMATLAB;MATLABtimedomainsignalsimpledecomposition;simulationwaveformofconvolutionintegralsofcontinuoustimesystemwithMATLAB;MATLABimpactsimulationwaveformimpulseresponse,thestepresponseofthecontinuoustimesystemtoachievezerostate;simulationwaveformofsinesignal,therealexponentialsignalresponseofcontinuoustimesystemwithMATLAB.
Keywords:
MATLAB;imageprocessing;continuoustimesignalsandsystems;timedomain
绪论
在科学技术飞速发展的今天,计算机正逐步将科技人员从繁重的计算工作中解脱出来。
在进行科学研究与工程应用中,往往需要大量的科学计算,一些科技人员曾经尝试使用传统的高级语言Basic、Fortran及C语言编写程序,以减轻工作量。
但编制程序需要掌握高级语言的语法,还要对各种算法进行了解,这对大多数科技人员来说是不大现实的,而且也是没有没有必要的。
MATLAB正是在这一应用要求背景下产生的数学类科技应用软件。
它具有的顶尖的数值计算功能、强大的图形可视化功能及简洁易学的“科学便捷式”工作环境和编程语言,从根本上满足了科技人员对工程数学计算的要求,并将科技人员从繁重的数学运算中解放出来,因而越来越受到广大科技工作者的普遍欢迎[1]。
MATLAB是matrix和laboratory前三个字母的缩写,意思是“矩阵实验室”,是MathWorks公司推出的数学类科技应用软件。
其Dos版本(MATLAB1.0)发行于1984年,现已推出了Windows版本(MATLAB5.3)。
经过十多年的不断发展与完善,MATLAB已发展成为由MATLAB语言、MATLAB工作环境、MATLAB图形处理系统、MATLAB数学函数库和MATLAB应用程序接口五大部分组成的集数值计算、图形处理、程序开发为一体的功能强大的系统。
MATLAB由“主包”和三十多个扩展功能和应用学科性的工具箱(Toolboxs)组成。
目前,MATLAB已经成为国际上最流行的电子仿真计算机辅助设计的软件工具,现在的MATLAB已经不仅仅是一个“矩阵实验室(MatrixLaboratory)”,它已经成为一种实用的、全新的计算机高级语言。
正是由于MATLAB在数值计算及符号计算等方面的强大功能,使MATLAB一路领先,成为数学类科技应用软件中的佼佼者。
目前,MATLAB已成为国际上公认的最优秀的科技应用软件。
MATLAB的上述特点,使它深受工程技术人员及科技专家的欢迎,并很快成为应用学科计算机辅助分析、设计、仿真、教学等领域不可缺少的基础软件。
1MATLAB简介
1.1MATLAB语言功能
MATLAB是一个高精度的科学计算语言,它将计算、可视化编程结合在一个容易使用的环境中,在这个环境中,用户可以把提出的问题和解决问题的办法用熟悉的数学符号表示出来,它的典型使用包括:
(1)数学和计算;
(2)运算法则;
(3)建模、仿真;
(4)数值分析、研究和可视化;
(5)科学的工程图形;
(6)应用程序开发,包括创建图形用户接口。
1.2MATLAB语言特点
MATLAB是一个交互式系统,他的基本数据单元是数组,这个数组不要求固定的大小,因此可以让用户解决许多技术上的问题,特别是那些包含矩阵和矢量运算的问题。
MATLAB的指令表达与数学、工程中常用的习惯形式相似,与C、Fortran、等高级语言相比,它的语法规则更简单、表达更符合工程习惯,正因为如此,人们用MATLAB语言编写程序就犹如在便笺上书写公式和求解,因而MATLAB被称为“便笺式”的科学工程语言。
MATLAB的最重要特征使他拥有解决特定应用问题的程序组,也就是TOOLBOX(工具箱),如信号处理工具箱,控制系统工具箱、神经网络工具箱、模糊逻辑工具箱、通信工具箱和数据采集工具箱等许多专用工具箱,对大多数用户来说,要想灵活、高效地运用这些工具箱,通常都需要学习相应的专业知识。
此外,开放性也许是MATLA最重要和最受欢迎的特点之一。
除内部函数外,所有的MATLAB主要文件和各工具箱文件都是可读的、可改的源文件,因为工具箱实际上是有一组复杂的MATLAB函数(M文件)组成,它扩展了MATLAB的功能,用以解决待定的问题,因此用户可以通过对源文件进行修改和加入自己编写的文件去构建新的专用工具箱。
2常用连续时间信号的时域波形
连续信号又称为模拟信号,其信号存在于整个时间范围内,包括单位阶跃信号,单位冲激信号,正弦信号,实指数信号,虚指数信号,复指数信号。
2.1单位阶跃信号
单位阶跃信号的定义如下:
单位阶跃信号的Matlab实现程序见附录,其信号图如下:
图2.1单位阶跃信号
2.2单位冲激信号
在连续时间系统中,单位冲激是一种重要的信号。
任何一种模拟信号都能通过冲激给予近似,通过系统对冲激输入的响应可以求的所有其他输入信号的响应。
单位冲激信号
(t)也称为狄拉克(Dirac)分布,定义如下:
第一个条件表明
在所有t不为0是取值为0,第二个条件是冲击下的面积为1,因此
信号具有单位面积的特性。
特别需要指出的是,
在t=0点的值
是没有定义的,
并不等于无穷。
冲激信号
可以近似地用一个位于原点、幅度为A、持续时间为1/A的脉冲来表示,这里A是一个很大的正值。
t=1/A=1/50,单位脉冲
的Matlab实现程序见附录,其信号图如下:
图2.2单位冲激信号
2.3正弦信号
正弦信号和余弦信号二者仅在相位上相差π/2,经常统称为正弦信号,一般写作
或
或
幅度A=3,频率f=5,相移
的正弦信号其Matlab实现程序见附录,其信号图如下:
图2.3正弦信号
2.4实指数信号
实指数信号可由下面的表达式来表示:
式中e是自然数2.718…,a和A是实数。
若a>0,信号将随时间而增长,若a<0,信号将随时间而衰减,若a=0,信号不随时间而变化,成为直流信号。
常数A表示指数信号在t=0点的初始值。
A=3,a=0.5的实指数信号
的Matlab实现程序见附录,其信号图如下:
图2.4实指数信号
2.5虚指数信号
虚指数信号可由下面的表达式来表示:
A=2,
的虚指数信号
的Matlab实现程序见附录,其信号图如下:
图2.5虚指数信号
2.6复指数信号
复指数信号可由下面的表达式来表示:
A=1,a=-1,
的复指数信号
的Matlab实现程序见附录,其信号图如下:
图2.6复指数信号
3连续时间信号的时域运算
在信号的传输和处理过程中往往需要进行信号的运算,它包括信号的相加、相乘、数乘、微分、积分。
3.1相加
要实现两信号的相加,即f(t)=f1(t)+f2(t)
f1(t)为单位阶跃信号,f2(t)为正弦信号,两信号相加的实现程序加附录,其信号图如下:
图3.1相加
3.2相乘
要实现两信号的相乘,即f(t)=f1(t)*f2(t)
f1(t)为单位阶跃信号,f2(t)为正弦信号,两信号相乘的实现程序加附录,其信号图如下:
图3.2相乘
3.3数乘
要实现信号的数乘,即f(t)=A*f1(t)
A=2,f1(t)为单位阶跃信号,信号数乘的实现程序加附录,其信号图如下:
图3.3数乘
3.4微分
微分即求信号的导数。
对函数f(t)=t2求一阶微分的实现程序见附录,其信号图如下:
图3.4微分
3.5积分
对f(t)=t2函数的一次积分的实现程序见附录,其信号图如下:
图3.5积分
4连续时间信号的时域变换
4.1反转
信号的反转就是将信号的波形以某轴为对称轴翻转180︒,将信号f(t)中的自变量t替换成-t即可得到其反转信号。
信号f(t)=t的反转实现程序见附录,其信号图如下:
图4.1反转
4.2时移
实现连续时间信号的时移即f(t-t0)或者f(t+t0),常数t0>0。
正弦信号的时移实现程序见附录,其信号图如下:
图4.2时移
4.3展缩
信号的展缩即将信号f(t)中的自变量t替换为at,a≠0。
正弦信号的展缩实现程序见附录,其信号图如下:
图4.3展缩
4.4倒相
连续信号的倒相是指将信号f(t)以横轴为对称轴对折得到-f(t)。
正弦信号的展缩实现程序见附录,其信号图如下:
图4.4倒相
4.5综合变化
将f(t)=sin(t)/t通过反褶、移位、尺度变换由f(t)的波形得到f(-2t+3)的波形。
该变化的实现程序见附录,其信号图如下:
图4.5综合变化
5连续时间信号简单的时域分解
5.1信号的交直流分解
信号的交直流分解即将信号分解成直流分量和交流分量两部分之和,其中直流分量定义为
fD(t)=
/t
交流分量定义为
fA(t)=f(t)-fD(t)
例如对函数f(t)=sin(t)+2进行交直流分解。
MATLAB命令见附录,分解波形图如图5.1所示
图5.1信号的交直流分解
5.2信号的奇偶分解
信号的奇偶分解即将信号分解成偶分量和奇分量两部分之和,偶分量定义为
fe(t)=fe(-t)
奇分量定义为
fo(t)=-fo(-t)
则任意信号f(t)可写成
上式第一部分是偶分量,第二部分是奇分量,即
例如对函数f(t)=sin(t-0.1)+t进行交直流分解。
MATLAB命令见附录,分解波形图如图5.2所示
图5.2奇偶分解
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)决定的冲激
信号
(t)及其平移信号之和;
(2)线形时不变连续系统,设其输入信号为f(t),单位响应为h(t)
,其零状态响应为y(t),则有:
y(t)=f(t)∗h(t)。
用MATLAB实现连续信号f1(t)与f2(t)卷积的过程如下:
(1)将连续信号f1(t)与f2(t)以时间间隔∆进行取样,得到离散序列f1(k∆)和f2(k∆);
(2)构造与f1(k∆)和f2(k∆)相对应的时间向量k1和k2;
(3)调用conv()函数计算卷积积分f(t)的近似向量f(n∆);
(4)构造f(n∆)对应的时间向量k。
卷积实现程序见附录。
例一:
图6.1例一
实现程序如下:
p=0.1;
k1=0:
p:
2;
f1=0.5*k1;
k2=k1;
f2=f1;
[f,k]=sconv(f1,f2,k1,k2,p)
例二:
图6.2例二
实现程序如下:
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)
则我们可用向量A和B来表示该系统,即:
A=[AN,AN-1,……A1,A0]
B=[BN,BN-1,……B1,B0]
注意,向量A和B的元素一定要以微分方程中时间求导的降幂次序来排列,且缺项要用0来补齐。
例如,对微分方程
,则表示该系统的对应向量应为A=[132],B=[101]。
7.1impulse()函数
函数impulse()将绘出由向量a和b表示的连续系统在指定时间范围内的冲激响应h(t)的时域波形图,并能求出指定时间范围内冲激响应的数值解。
impulse()函数有如下四种调用格式:
(1)impulse(b,a):
该调用格式以默认方式绘出向量A和B定义的连续系统的冲激响应的时域波形。
例如描述连续系统的微分方程为
运行如下MATLAB命令:
a=[156];
b=[32];
impulse(b,a);
则绘出系统的冲激响应波形,如图7.1.1所示。
图7.1.1连续系统的冲激响应1
(2)impulse(b,a,t):
绘出系统在0~t时间范围内冲激响应的时域波形。
对上例,若运行命令impulse(b,a,10),则绘出系统在0~10秒范围内冲激响应的时域波形,如图7.1.2所示.
图7.1.2连续系统的冲激响应2
(3)impulse(b,a,t1:
p:
t2):
绘出在t1~t2时间范围内,且以时间间隔p均匀取样的冲激响应波形。
对上例,若运行命令impulse(b,a,1:
0.1:
2),则绘出1~2秒内,每隔0.1秒取样的冲激响应的时域波形,如图7.1.3所示。
(4)y=impulse(b,a,t1:
p:
t2):
不绘出波形,而是求出系统冲激响应的数值解。
对上例,若运行命令y=impulse(b,a,0:
0.2:
2),则运行结果为:
y=3.00001.16040.3110-0.0477-0.1726-0.1928-0.1716-0.1383-0.1054-0.0777-0.0559
图7.1.3连续系统的冲激响应3
7.2step()函数
step()函数可绘出连续系统的阶跃响应g(t)在指定时间范围的时域波形并能求出其数值解,和impulse()函数一样也有四种调用格式。
(1)step(b,a):
该调用格式以默认方式绘出向量A和B定义的连续系统的阶跃响应的时域波形。
例如描述连续系统的微分方程为
运行如下MATLAB命令:
a=[156];
b=[32];
step(b,a);
则绘出系统的阶跃响应波形,如图7.2.1所示。
图7.2.1连续系统的阶跃响应1
(2)step(b,a,t):
绘出系统在0~t时间范围内阶跃响应的时域波形。
对上例,若运行命令step(b,a,10),则绘出系统在0~10秒范围内阶跃响应的时域波形,如图7.2.2所示.
图7.2.2连续系统的阶跃响应2
(3)step(b,a,t1:
p:
t2):
绘出在t1~t2时间范围内,且以时间间隔p均匀取样的阶跃响应波形。
对上例,若运行命令step(b,a,1:
0.1:
2),则绘出1~2秒内,每隔0.1秒取样的阶跃响应的时域波形,如图7.2.3所示。
图7.2.3连续系统的阶跃响应3
(4)y=step(b,a,t1:
p:
t2):
不绘出波形,而是求出系统阶跃响应的数值解。
对上例,若运行命令y=step(b,a,0:
0.2:
2),则运行结果为:
y=00.3930.5290.5500.5250.4880.4510.4200.3960.3770.364
8连续时间系统对正弦信号、实指数信号的零状态响应的仿真波形
MATLAB中的函数lsim()能对微分方程描述的LTI连续时间系统的响应进行仿真。
该函数能绘制连续时间系统在指定的任意时间范围内系统响应的时域波形图,还能求出连续时间系统在指定的任意时间范围内系统响应的数值解,函数lsim()的调用格式如下:
lsim(b,a,x,t)
在该调用格式中,a和b是由描述系统的微分方程系统决定的表示该系统的两个行向量。
x和t则是表示输入信号的行向量,其中t为表示输入信号时间范围的向量,x则是输入信号在向量t定义的时间点上的抽样值。
该调用格式将绘出向量b和a所定义的连续系统在输入量为向量x和t所定义的信号时,系统的零状态响应的时域仿真波形,且时间范围与输入信号相同。
8.1正弦信号的零状态响应
描述某连续时间系统的微分方程为
当输入信号为
时,该系统的零状态响应r(t)
MATLAB命令如下:
clc;
a=[1,2,1];
b=[1,2];
p=0.5;
t=0:
p:
5;
x=sin(2*pi*t);
lsim(b,a,x,t);
holdon;
p=0.2;
t=0:
p:
5;
x=sin(2*pi*t);
lsim(b,a,x,t);
p=0.01;
t=0:
p:
5;
x=sin(2*pi*t);
lsim(b,a,x,t);
holdoff;
图8.1正弦信号的零状态响应
8.2实指数信号的零状态响应
描述某连续时间系统的微分方程为
当输入信号为
时,该系统的零状态响应r(t)
MATLAB命令如下:
clc;
a=[1,2,1];
b=[1,2];
p=0.5;
t=0:
p:
5;
x=exp(-2*t);
lsim(b,a,x,t);
holdon;
p=0.3;
t=0:
p:
5;
x=exp(-2*t);
lsim(b,a,x,t);
p=0.01;
t=0:
p:
5;
x=exp(-2*t);
lsim(b,a,x,t);
holdoff;
图8.2实指数信号的零状态响应
图8.1、8.2中蓝线、绿线、红线分别代表p=0.5、p=0.3、p=0.01。
显然可以看出,函数lsim()对系统响应进行仿真的效果取决于向量t的时间间隔的密集程度。
图8.1、8.2绘出了上述系统在不
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 连续 时间 信号 系统 时域 分析 MATLAB 实现 推荐 文档