实验二 连续时间信号在MATLAB中的运算
- 格式:doc
- 大小:297.03 KB
- 文档页数:6
信号与系统MATLAB第一次实验报告一、实验目的1.熟悉MATLAB软件并会简单的使用运算和简单二维图的绘制。
2.学会运用MATLAB表示常用连续时间信号的方法3.观察并熟悉一些信号的波形和特性。
4.学会运用MATLAB进行连续信号时移、反折和尺度变换。
5.学会运用MATLAB进行连续时间微分、积分运算。
6.学会运用MATLAB进行连续信号相加、相乘运算。
7.学会运用MATLAB进行连续信号的奇偶分解。
二、实验任务将实验书中的例题和解析看懂,并在MATLAB软件中练习例题,最终将作业完成。
三、实验内容1.MATLAB软件基本运算入门。
1). MATLAB软件的数值计算:算数运算向量运算:1.向量元素要用”[ ]”括起来,元素之间可用空格、逗号分隔生成行向量,用分号分隔生成列向量。
2.x=x0:step:xn.其中x0位初始值,step表示步长或者增量,xn 为结束值。
矩阵运算:1.矩阵”[ ]”括起来;矩阵每一行的各个元素必须用”,”或者空格分开;矩阵的不同行之间必须用分号”;”或者ENTER分开。
2.矩阵的加法或者减法运算是将矩阵的对应元素分别进行加法或者减法的运算。
3.常用的点运算包括”.*”、”./”、”.\”、”.^”等等。
举例:计算一个函数并绘制出在对应区间上对应的值。
2).MATLAB软件的符号运算:定义符号变量的语句格式为”syms 变量名”2.MATLAB软件简单二维图形绘制1).函数y=f(x)关于变量x的曲线绘制用语:>>plot(x,y)2).输出多个图像表顺序:例如m和n表示在一个窗口中显示m行n列个图像,p表示第p个区域,表达为subplot(mnp)或者subplot(m,n,p)3).表示输出表格横轴纵轴表达范围:axis([xmax,xmin,ymax,ymin])4).标上横轴纵轴的字母:xlabel(‘x’),ylabel(‘y’)5).命名图像就在subplot写在同一行或者在下一个subplot前:title(‘……’)6).输出:grid on举例1:举例2:3.matlab程序流程控制1).for循环:for循环变量=初值:增量:终值循环体End2).while循环结构:while 逻辑表达式循环体End3).If分支:(单分支表达式)if 逻辑表达式程序模块End(多分支结构的语法格式)if 逻辑表达式1程序模块1Else if 逻辑表达式2程序模块2…else 程序模块nEnd4).switch分支结构Switch 表达式Case 常量1程序模块1Case 常量2程序模块2……Otherwise 程序模块nEnd4.典型信号的MATLAB表示1).实指数信号:y=k*exp(a*t)举例:2).正弦信号:y=k*sin(w*t+phi)3).复指数信号:举例:4).抽样信号5).矩形脉冲信号:y=square(t,DUTY) (width默认为1)6).三角波脉冲信号:y=tripuls(t,width,skew)(skew的取值在-1~+1之间,若skew取值为0则对称)周期三角波信号或锯齿波:Y=sawtooth(t,width)5.单位阶跃信号的MATLAB表示6.信号的时移、反折和尺度变换:Xl=fliplr(x)实现信号的反折7.连续时间信号的微分和积分运算1).连续时间信号的微分运算:语句格式:d iff(function,’variable’,n)Function:需要进行求导运算的函数,variable:求导运算的独立变量,n:求导阶数2).连续时间信号的积分运算:语句格式:int(function,’variable’,a,b)Function:被积函数variable:积分变量a:积分下限b:积分上限(a&b默认是不定积分)8.信号的相加与相乘运算9.信号的奇偶分解四、小结这一次实验让我能够教熟悉的使用这个软件,并且能够输入简单的语句并输出相应的结果和波形图,也在一定程度上巩固了c语言的一些语法。
连续时间信号卷积运算的MATLAB 实现一、实验目的(1)理解掌握卷积的概念及物理意义。
(2)理解单位冲激响应的概念及物理意义。
二、实验原理连续信号卷积运算定义为1212()()*()()()f t f t f t f f t d τττ∞-∞==-⎰卷积计算可以通过信号分段求和来实现,即1212120()()*()()()lim ()()k f t f t f t f f t d f k f t k τττ∞∞∆→=-∞-∞==-=∆-∆∆∑⎰ 如果只求当t n =∆(n 为整数)时()f t 的值()f n ∆,则由上式可得1212()()()()[()]k k f n f k f n k f k f n k ∞∞=-∞=-∞∆=∆∆-∆=∆∆-∆∑∑ 式中的12()[()]k f k f n k ∞=-∞∆-∆∑ 实际上就是连续信号1()f t 和2()f t 经等时间间隔∆均匀抽样的离散序列1()f k ∆和2()f k ∆的卷积和。
当∆足够小时,()f n ∆就是卷积积分的结果——连续时间信号()f t 的较好的数值近似。
三、实验程序function[f,k]=sconv(f1,f2,k1,k2,p)f=conv(f1,f2);f=f*p;k0=k1(1)+k2(1);k3=length(f1)+length(f2)-2;k=k0:p:k3*p;subplot(2,2,1)plot(k1,f1)title('f1(t)')xlabel('t')ylabel('f(1)')subplot(2,2,2)plot(k2,f2)title('t')xlabel('t')ylabel('f(2)')subplot(2,2,3)plot(k,f);h=get(gca,’position’);h(3)=2.5*h(3);set(gca,'position',h)title('f(t)=f1(t)*f2(t)')xlabel('t')ylabel('f(t)')四、求解f t=cost∗sint(1)Matlab命令如下:p=0.1;k1=0:p:6;f1=sin(k1);k2=k1;f2=f1;[f,k]=sconv(f1,f2,k1,k2,p)(2)运行过程如下:图一程序截图图二运行结果五、实验小结实验结果表明,用Matlab计算出的结果与理论分析结果一致。
实验教程目录实验一:连续时间信号与系统的时域分析-------------------------------------------------6一、实验目的及要求---------------------------------------------------------------------------6二、实验原理-----------------------------------------------------------------------------------61、信号的时域表示方法------------------------------------------------------------------62、用MATLAB仿真连续时间信号和离散时间信号----------------------------------73、LTI系统的时域描述-----------------------------------------------------------------11三、实验步骤及内容--------------------------------------------------------------------------15四、实验报告要求-----------------------------------------------------------------------------26 实验二:连续时间信号的频域分析---------------------------------------------------------27一、实验目的及要求--------------------------------------------------------------------------27二、实验原理----------------------------------------------------------------------------------271、连续时间周期信号的傅里叶级数CTFS---------------------------------------------272、连续时间信号的傅里叶变换CTFT--------------------------------------------------283、离散时间信号的傅里叶变换DTFT -------------------------------------------------284、连续时间周期信号的傅里叶级数CTFS的MATLAB实现------------------------295、用MATLAB实现CTFT及其逆变换的计算---------------------------------------33三、实验步骤及内容----------------------------------------------------------------------34四、实验报告要求-------------------------------------------------------------------------48 实验三:连续时间LTI系统的频域分析---------------------------------------------------49一、实验目的及要求--------------------------------------------------------------------------49二、实验原理----------------------------------------------------------------------------------491、连续时间LTI系统的频率响应-------------------------------------------------------492、LTI系统的群延时---------------------------------------------------------------------503、用MATLAB计算系统的频率响应--------------------------------------------------50三、实验步骤及内容----------------------------------------------------------------------51四、实验报告要求-------------------------------------------------------------------------58 实验四:调制与解调以及抽样与重建------------------------------------------------------59一、实验目的及要求--------------------------------------------------------------------------59二、实验原理----------------------------------------------------------------------------------591、信号的抽样及抽样定理---------------------------------------------------------------592、信号抽样过程中的频谱混叠----------------------------------------------------------623、信号重建--------------------- ----------------------------------------------------------624、调制与解调----------------------------------------------------------------------------------645、通信系统中的调制与解调仿真---------------------------------------------------------66三、实验步骤及内容------------------------------------------------------------------------66四、实验报告要求---------------------------------------------------------------------------75 实验五:连续时间LTI系统的复频域分析----------------------------------------------76一、实验目的及要求------------------------------------------------------------------------76二、实验原理--------------------------------------------------------------------------------761、连续时间LTI系统的复频域描述--------------------------------------------------762、系统函数的零极点分布图-----------------------------------------------------------------773、拉普拉斯变换与傅里叶变换之间的关系-----------------------------------------------784、系统函数的零极点分布与系统稳定性和因果性之间的关系------------------------795、系统函数的零极点分布与系统的滤波特性-------------------------------------------806、拉普拉斯逆变换的计算-------------------------------------------------------------81三、实验步骤及内容------------------------------------------------------------------------82四、实验报告要求---------------------------------------------------------------------------87 附录:授课方式和考核办法-----------------------------------------------------------------88实验一信号与系统的时域分析一、实验目的1、熟悉和掌握常用的用于信号与系统时域仿真分析的MA TLAB函数;2、掌握连续时间和离散时间信号的MATLAB产生,掌握用周期延拓的方法将一个非周期信号进行周期信号延拓形成一个周期信号的MATLAB编程;3、牢固掌握系统的单位冲激响应的概念,掌握LTI系统的卷积表达式及其物理意义,掌握卷积的计算方法、卷积的基本性质;4、掌握利用MA TLAB计算卷积的编程方法,并利用所编写的MA TLAB程序验证卷积的常用基本性质;掌握MATLAB描述LTI系统的常用方法及有关函数,并学会利用MATLAB求解LTI系统响应,绘制相应曲线。
实验一、MATLAB编程基础及典型实例一、实验目的(1)熟悉MATLAB软件平台的使用;(2)熟悉MATLAB编程方法及常用语句;(3)掌握MATLAB的可视化绘图技术;(4)结合《信号与系统》的特点,编程实现常用信号及其运算。
示例一:在两个信号进行加、减、相乘运算时,参于运算的两个向量要有相同的维数,并且它们的时间变量范围要相同,即要对齐。
编制一个函数型m文件,实现这个功能。
function [f1_new,f2_new,n]=duiqi(f1,n1,f2,n2)a=min(min(n1),min(n2));b=max(max(n1),max(n2));n=a:b;f1_new=zeros(1,length(n));f2_new=zeros(1,length(n));tem1=find((n>=min(n1))&(n<=max(n1))==1);f1_new(tem1)=f1;tem2=find((n>=min(n2))&(n<=max(n2))==1);f2_new(tem2)=f2;四、实验内容与步骤− 2 t (2)绘制信号x(t)= esin( t=0:0.1:30; 23t ) 的曲线,t的范围在0~30s,取样时间间隔为0.1s。
y=exp(-sqrt(2)*t).*sin(2*t/3); plot(t,y);(3)在n=[-10:10]范围产生离散序列:x( n)=⎧2 n ,− 3⎨≤ n ≤ 3,并绘图。
⎩0, Othern=-10:1:10;z1=((n+3)>=0);z2=((n-3)>=0);x=2*n.*(z1-z2);stem(n,x);(4)编程实现如下图所示的波形。
t=-2:0.001:3;f1=((t>=-1)&(t<=1));f2=((t>=-1)&(t<=2));f=f1+f2;plot(t,f);axis([-2,3,0,3]);(5)设序列f1(k)={ 0 , 1 , 2 , 3 , 4 , 5 },f2(k)={ 6 , 5 , 4 , 3 , 2 , 1 , 0 }。
《信号与系统》课程实验报告《信号与系统》课程实验报告一图1-1 向量表示法仿真图形2.符号运算表示法若一个连续时间信号可用一个符号表达式来表示,则可用ezplot命令来画出该信号的时域波形。
上例可用下面的命令来实现(在命令窗口中输入,每行结束按回车键)。
t=-10:0.5:10;f=sym('sin((pi/4)*t)');ezplot(f,[-16,16]);仿真图形如下:图1-2 符号运算表示法仿真图形三、实验内容利用MATLAB实现信号的时域表示。
三、实验步骤该仿真提供了7种典型连续时间信号。
用鼠标点击图0-3目录界面中的“仿真一”按钮,进入图1-3。
图1-3 “信号的时域表示”仿真界面图1-3所示的是“信号的时域表示”仿真界面。
界面的主体分为两部分:1) 两个轴组成的坐标平面(横轴是时间,纵轴是信号值);2) 界面右侧的控制框。
控制框里主要有波形选择按钮和“返回目录”按钮,点击各波形选择按钮可选择波形,点击“返回目录”按钮可直接回到目录界面。
图1-4 峰值为8V,频率为0.5Hz,相位为180°的正弦信号图1-4所示的是正弦波的参数设置及显示界面。
在这个界面内提供了三个滑动条,改变滑块的位置,滑块上方实时显示滑块位置代表的数值,对应正弦波的三个参数:幅度、频率、相位;坐标平面内实时地显示随参数变化后的波形。
在七种信号中,除抽样函数信号外,对其它六种波形均提供了参数设置。
矩形波信号、指数函数信号、斜坡信号、阶跃信号、锯齿波信号和抽样函数信号的波形分别如图1-5~图1-10所示。
图1-5 峰值为8V,频率为1Hz,占空比为50%的矩形波信号图1-6 衰减指数为2的指数函数信号图1-7 斜率=1的斜坡信号图1-8 幅度为5V,滞后时间为5秒的阶跃信号图1-9 峰值为8V,频率为0.5Hz的锯齿波信号图1-10 抽样函数信号仿真途中,通过对滑动块的控制修改信号的幅度、频率、相位,观察波形的变化。
实验二 连续信号时域分析的MATLAB 实现一. 实验目的1. 熟悉MATLAB 软件平台;2. 掌握MATLAB 编程方法、常用语句和可视化绘图技术;3. 编程实现常用信号及其运算MATLAB 实现方法。
二. 实验原理信号一般是随时间而变化的某些物理量。
按照自变量的取值是否连续,信号分为连续时间信号和离散时间信号,一般用()f t 和()f k 来表示。
若对信号进行时域分析,就需要绘制其波形,如果信号比较复杂,则手工绘制波形就变得很困难,且难以精确。
MATLAB 强大的图形处理功能及符号运算功能,为实现信号的可视化及其时域分析提供了强有力的工具。
根据MATLAB 的数值计算功能和符号运算功能,在MATLAB 中,信号有两种表示方法,一种是用向量来表示,另一种则是用符号运算的方法。
在采用适当的MATLAB 语句表示出信号后,就可以利用MATLAB 中的绘图命令绘制出直观的信号波形了。
下面分别介绍连续时间信号和离散时间信号的MATLAB 表示及其波形绘制方法。
1.连续时间信号所谓连续时间信号,是指其自变量的取值是连续的,并且除了若干不连续的点外,对于一切自变量的取值,信号都有确定的值与之对应。
从严格意义上讲,MATLAB 并不能处理连续信号。
在MATLAB 中,是用连续信号在等时间间隔点上的样值来近似表示的,当取样时间间隔足够小时,这些离散的样值就能较好地近似出连续信号。
在MATLAB 中连续信号可用向量或符号运算功能来表示。
⑴ 向量表示法对于连续时间信号()f t ,可以用两个行向量f 和t 来表示,其中向量t 是用形如12::t t p t =的命令定义的时间范围向量,其中,1t 为信号起始时间,2t 为终止时间,p 为时间间隔。
向量f 为连续信号()f t 在向量t 所定义的时间点上的样值。
例如:对于连续信号sin()()()t f t Sa t t== ,我们可以将它表示成行向量形式,同时用绘图命令plot()函数绘制其波形。
实验二连续时间信号在MATLAB中的表示和运算实验二连续时间信号在MATLAB中的表示和运算[实验目的]1.掌握连续时间信号在MATLAB中的表示法。
2.掌握信号的时域运算和变换。
3.进一步掌握部分绘图函数的应用。
[实验原理]在MATLAB中通常用两种方法来表示信号,一种是向量来表示信号,另一种则是用符号运算的方法来表示信号。
一. 向量表示法MATLAB的信号处理工具箱有大量的函数可用于产生信号,这些函数中大部分都要求样间隔的时间值矢量t,是用命令t=0:0.005:1;这个矢量包含每秒200个时间抽样点,或者说抽样频率为200Hz。
要产生离散时间信号的时间值矢量k,例如,从k=0到k=1000,使用命令k=0 :1000 ;给定了t或k,就可以开始产生需要的信号。
在MATLAB中,可以精确地表示离散时间信号,因为信号的值对应于矢量的各元素。
但是,MATLAB对连续时间信号只能提供近似表示,由各元素分别代表连续时间信号抽样值的一个矢量来近似。
当使用这种近似时,应该选择足够小的抽样间隔,以保证那些样本值能反映信号的全部细节。
t=0:0.1:30;f=exp(-.1*t).*sin(2/3*t);plot(t,f);gridylabel('f(t)')xlabel('Time(sec)')axis([0 30 -1 1]);在这段程序中,绘制的曲线时,时间坐标值作为元素保存在矢量中。
表达式exp(-.1*t)和sin(2/3*t)分别产生一个矢量,各矢量中的元素等于对应不同时间点处表达式的值。
由这两个表达式生成的两个矢量的对应元素相乘得到矢量,然后用plot 命令绘出该信号的时域波形。
plot命令可以将点与点间用直线连接,当点与点间的距离很小时,绘出的图形就成了光滑的曲线,如图。
二. 符号运算的表示法如前说述,MATLAB可以有两种方法来表示连续时间信号。
用这两种方法均可实现连续信号的时域运算和变换,但用符号运算的方法则较为简便。
信号与系统——实验指导实验一 常见信号的表示及运算一、实验目的1.熟悉常见信号的意义、特性及波形2. 掌握用matlab软件产生基本信号的方法.3. 应用matlab软件实现信号的加、减、乘、反褶、移位、尺度变换及卷积运算。
二、实验原理1. 信号的表示方法● 常用信号:连续函数()θω+=t t f sin )(, at Ae t f =)(,ttt Sa sin )(= 离散信号()n n f 0sin )(ω=,njw e n f 0)(=,)()(n u a n f n =● 奇异信号:连续函数:冲激函数)(t δ,阶跃函数)(t u ,斜坡函数)(t R 离散信号:冲激函数)(n δ,阶跃函数)(n u ,斜坡函数)(n R2.卷积连续函数的卷积:⎰∞∞--=τττd t f f t g )()()(21离散函数的卷积:∑∞-∞=-=m m n fm f n g )()()(21三、实验要求1.预习实验原理;2.对实验内容编写程序(M文件),上机运行;3.绘出运算或变换后信号的波形.四.实验内容1. 熟悉matlab 工作环境(1) 运行matlab.exe ,进入matlab 工作环境,如图(1)所示。
图1 matlab工作环境(2) matlab工作环境由Command Window(命令窗口)、Current Direcroty(当前目录)、workspace(工作空间)、command History(历史命令)和Editor(文件编辑器)5部分组成。
其中所有文件的编辑和调试、运行在Editor编辑窗口下进行。
程序的运行也可以在命令窗口进行。
程序调试的信息显示在命令窗口。
(3) 程序文件的产生:点击菜单file下的New下的M_files,进入编辑器界面,如图2。
图2 M文件编辑器(4) 在m文件编辑器下键入程序代码,保存程序文件(命名规则同C语言)。
如果所定义的是函数文件,则要求函数名为M文件名。
用MATLAB实现常用的连续时间信号及其时域运算信息与通信工程学院通信133班卢承慧一.引言1.要求:1.1用MATLAB语言产生连续时间信号1.2对连续时间信号进行时域运算2.任务:①绘制用于产生以下信号的通用程序,要求对于任意给定的参数都能实现所要求的信号。
调试并运行这些程序,具体产生由指导教师制定的信号并绘制信号波形。
a. f(t)=δ(t-t );b. f (t) = Au(t-t )。
②已知信号波形如图7.6所示,使用MATLAB语言求出下列信号的表达式并绘制出各信号波形。
a.f(-t);b.f(t-2);c.f(1-2t)。
图7.6任务②中的f(t)3.思考题编制一通用程序用于产生信号)()cos()(0t t u t Ae t f at -=-ω,要求对于任意给定的参数都能实现所要求的信号。
二.基本原理1.1连续时间信号如果在所讨论的时间间隔内,除若干个不连续点之外,对于任意时间值都可以给出确定的函数值,此信号就称为连续信号。
从严格意义上来讲,MATLAB 不能处理连续时间信号。
在MATLAB 中,使用连续时间信号在等时间间隔点的样值来近似表示连续时间信号的。
当取样时间间隔足够小时,这些离散的样值就能较好的近似出连续时间信号。
由于在MATLAB 中,矩阵的元素个数是有限的,因此MATLAB 无法表示无限序列。
MATLAB 的绘图命令有很多种,其中比较常用的绘制连续时间信号的绘图命令有“plot ”,“stairs ”,“ezplot ”等。
“plot ”适用于绘制平滑的曲线,而“stairs ”适合于绘制具有阶跃形式的图形,“ezplot ”只能用于符号函数的绘图。
1.2单位阶跃信号单位阶跃信号的波形图如图1所示,通常以符号u (t )表示⎩⎨⎧><=)0( 1)0( 0)(t t t u在跳变点t=0处,函数未定义,或在t=0处规定函数值u (0)=21。
图1用MATLAB 实现单位阶跃信号%t1:起始时刻;t2:终止时刻;t0:跳变时刻function u(t1,t0,t2)t=t1:0.01:t2; %步长值越小,图形越精确 n=length(t); tt=t0:0.01:t2; n1=length(tt);x=[zeros(1,n-n1),ones(1,n1)]; %产生单位阶跃信号 stairs(t,x),grid on title('单位阶跃信号')axis([t1 t2 -0.2 1.1]) %为方便波形顶部避开图 框,改变图框坐标1.3单位冲激信号单位冲激信号是持续时间无穷小、瞬间幅度无穷大、涵盖面积恒1的理想信号。
实验项目名称:运用MATLAB进行连续时间信号卷积运算(所属课程:信号与系统)院系:电子信息与电气工程专业班级:电气工程及其自动化姓名:安永军学号:201002040062实验日期:2012年4月12 号实验地点:A-07-408合作者:张德扬指导老师:李静本实验项目成绩: 教师签字: 日期:一:实验目的1,掌握连续时间信号的基本运算的实现方法。
2,熟悉连续LTI 系统在典型激励信号下的响应及其特征。
3、掌握连续LTI 系统单位冲激响应的求解方法。
4、重点掌握用卷积法计算连续时间系统的零状态响应。
5、熟悉MATLAB 相关函数的调用格式及作用。
6、会用MATLAB 对系统进行时域分析。
二、实验原理1、信号的运算包括:信号的基本运算,包括加、减、乘、除等;信号的时域变换,包括信号的平移、翻转、尺度变换等;两个信号的卷积运算等。
2、连续时间线性时不变系统(LTI )可以用如下的线性常系数差分方程来描述:()(1)()(1)110110()()()()()()()()n n m m n m n n r t r t r t r t e t e t e t e t a a a a b b b b ----++++=++++''其中,n m ≥,系统的初始条件为(0)r -,(0)r -',(0)r -'', (1)(0)n r--。
系统的响应一般包括两个部分,即由当前输入所产生的响应(零状态响应)和由历史输入(初始状态)所产生的响应(零输入响应)。
对于低阶系统,一般可以通过解析的方法得到响应。
但对于高阶系统,手工计算就比较困难,这时MATLAB 强大的计算功能就能比较容易地确定系统的各种响应,如冲激响应、阶跃响应、零输入响应、零状态响应、全响应等。
1)直接求解法在MATLAB 中,要求以系数相量的形式输入系统的微分方程。
因此,在使用前必须对系统的微分方程进行变换,得到其传递函数。
电子信息工程系实验报告课程名称:信号与系统实验项目名称:连续时间信号在MATLAB 中的运算 实验时间:2013-11-22班级:电信112班 姓名: 学号:一、实 验 目 的:1、学会运用MATLAB 进行连续信号的时移、反折和尺度变换;2、学会运用MATLAB 进行连续信号的相加、相乘运算;3、学会运用MATLAB 数值计算方法求连续信号的卷积。
二、实 验 环 境:1、Windows 72、MATLAB 7.1三、实 验 原 理:2.1信号的时移、反折和尺度变换信号的时移、反折和尺度变换是针对自变量时间而言的,其数学表达式与波形变换之间存在一定的变换规律。
信号()f t 的时移就是将信号数学表达式中的t 用0t t ±替换,其中0t 为正实数。
因此,波形的时移变换是将原来的()f t 波形在时间轴上向左或者向右移动。
0()f t t +为()f t 波形向左移动0t ;0()f t t -为()f t 波形向右移动0t 。
信号()f t 的反折就是将表达式中的自变量t 用t -替换,即变换后的波形是原波形的y 轴镜像。
信号()f t 的尺度变换就是将表达式中的自变量t 用at 替换,其中,a 为正实数。
对应于波形的变换,则是将原来的()f t 的波形以原点为基准压缩(1a >)至原来的1/a ,或者扩展(01a <<)至原来的1/a 。
上述可以推广到0()f at t ±的情况。
2.2 MATLAB 数值计算法求连续时间信号的卷积用MATLAB 分析连续时间信号,可以通过时间间隔取足够小的离散时间信号的数值计算方法来实现。
可调用MATLAB 中的conv( )函数近似地数值求解连续信号的卷积积分。
如果对连续时间信号1()f t 和2()f t 进行等时间间隔t ∆均匀抽样,则1()f t 和2()f t 分别变为离散序列1()f m t ∆和2()f m t ∆。
其中m 为整数。
当t ∆足够小时,1()f m t ∆和2()f m t ∆即为连续时间信号1()f t 和2()f t 。
因此连续信号的卷积积分运算转化为:1212()()*()()()f t f t f t f f t d τττ∞-∞==-⎰120lim()()t m f m t f t m t t ∞∆→=-∞=∆⋅-∆⋅∆∑采用数值计算法,只求当t n t =∆时卷积积分()f t 的值()f n t ∆,其中,n 为整数,即12()()()m f n t f m t f n t m t t ∞=-∞∆=∆⋅∆-∆⋅∆∑12()[()]m tf m t f n m t ∞=-∞=∆∆⋅-∆∑其中,12()[()]m f m t f n m t ∞=-∞∆⋅-∆∑实际就是离散序列1()f m t ∆和2()f m t ∆的卷积和。
当t∆足够小时,()f n t ∆就是卷积积分的结果,从而连续时间信号12()()[()*()]f t f n t f n f n ≈∆=∆上式表明通过MATLAB 实现连续信号1()f t 和2()f t 的卷积,可以利用各自抽样后的离散时间序列的卷积再乘上抽样间隔t ∆。
抽样间隔t ∆越小,误差也就越小。
四、实 验 内 容 及 结 果 分 析:4.1 试用MATLAB 命令绘制信号/2()sin(10)sin(9)tt f t e t e t ππ--=+的波形图。
解:为画出/2()sin(10)sin(9)tt f t e t e t ππ--=+连续信号的波形图编写如下程序代码:clear; clc; t = -1:0.001:3;ft = exp(-t).*sin(10*pi*t)+exp(-t/2).*sin(9*pi*t); plot(t,ft); grid on ; axis([-1,3,-2.5,2.5]);把编写好程序以sye41.m 为文件名保存,并执行此文件,然后在窗口中可看到/2()sin(10)sin(9)t t f t e t e t ππ--=+连续信号的波形如图1所示:图1/2()sin(10)sin(9)t t f t e t e t ππ--=+连续信号的波形4.2 已知信号()()(1)(1)[(1)()]f t u t u t t u t u t =--+-+-,画出()f t 、(2)f t +、()f t -、(21)f t -+的波形。
解:(1)先在MATLAB 的工作目录下创建uCT 的M 文件,其MATLAB 源文件为: function f = uCT(t)f = (t>=0);(2)然后建立()f t 函数文件,即在MATLAB 的工作目录下创建funct1.m 文件,MATLAB 源程序为: function f = funct1(t)f=uCT(t)-uCT(t-1)+(t-1).*(uCT(t+1)-uCT(t));(3)调用上述函数来绘制所求的信号波形。
程序运行完,产生如图2所示的波形。
MATLAB 源程序为: clear;clc; t=-2:0.001:4; ft1=funct42(t); ft2=funct42(t+2); ft3=funct42(-t); ft4=funct42(-2*t+1);subplot(2,2,1) plot(t,ft1); grid on ; title('f(t)'); axis([-2 2 -2 2]);subplot(2,2,2) plot(t,ft2); grid on ; title('f(t+2)'); axis([-2 2 -1 2]); subplot(2,2,3) plot(t,ft3);grid on ; title('f(-t)'); axis([-2 4 -2 2]); subplot(2,2,4) plot(t,ft4);grid on ; title('f(-2*t+1)'); axis([-2 4 -2 2]);图 2 ()f t 、(2)f t +、()f t -、(21)f t -+的波形图4.3 求信号1()()(2)f t u t u t =--与2()()(1)(2)(3)f t u t u t u t u t =+-----的卷积结果12()()*()f t f t f t =,并画出12(),()f t f t 和()f t 的波形。
解:为画出12(),()f t f t 和()f t 的波形图编写如下程序代码: clear; clc; dt = 0.001; t = -2:dt:11; f1 = uCT(t)- uCT(t-2); f2 = uCT(t)+uCT(t-1) -uCT(t-2)-uCT(t-3); f = conv(f1,f2)*dt; n=length(f);tt = (0:n-1)*dt-2; subplot(2,2,1); plot(t,f1); grid on ; axis([-2 4 -0.2 1.2]); title('f1(t)'); xlabel('t');subplot(2,2,2); plot(t,f2); grid on ;axis([-2 4 -0.2 2.2]);title('f2(t)'); xlabel('t');subplot(2,1,2); plot(tt,f); grid on ;axis([-2 11 -0.2 3.2]); title('f(t)=f1(t)*f2(t)'); xlabel('t');把编写好程序以sye43.m 为文件名保存,并执行此文件,然后在窗口中可看到12(),()f t f t 和()f t 的波形如图3所示:图3 12(),()f t f t 和()f t 的波形图4.4 求信号1()(0.5)(0.5)f t u t u t =+--与自身的卷积结果11()()*()f t f t f t =,并画出1()f t 和()f t 的波形。
解:为画出1()f t 和()f t 的波形图编写如下程序代码:clear; clc; dt = 0.001; t = -2:dt:2; f1 = uCT(t+0.5)- uCT(t-0.5); f = conv(f1,f1)*dt; n =length(f); tt = (0:n-1)*dt-2;subplot(1,2,1); plot(t,f1); grid on ; axis([-1, 1, -0.2,1.2]); title('f1(t)'); xlabel('t'); subplot(1,2,2); plot(tt,f);grid on ; axis([0, 4, -0.2,1.2]);title('f(t)=f1(t)*f1(t)');xlabel('t');把编写好程序以sye44.m为文件名保存,并执行此文件,然后在窗口中可看到1()f t和()f t的波形如图4所示:图41()f t和()f t的波形图五、问题与思考:MATLAB运算符中 .*和 * 的区别?可结合例子说明。
编写如下程序代码:clc;clear;A=[1 2 3;4 5 6;7 8 9]B=[1 1 1;10 10 10;100 100 100]C=A*BD=A.*B运行结果如右图:总结如下:C=A*B表示的是矩阵A和矩阵B的基本运算。
D=A.*B表示的是矩阵A中的元素乘以矩阵B中对应的元素。