《信号与系统——MATLAB综合实验》讲义_第二讲
- 格式:pdf
- 大小:566.03 KB
- 文档页数:45
实验六 连续系统分析的MATLAB 实现一、实验目的1、深刻理解连续时间系统的系统函数在分析连续系统的时域特性、频率特 性及稳定性中的重要作用及意义;2、掌握利用MATLAB 分析连续系统的时域响应、频率响应和零极点的基本 方法。
二、实验仪器设备PC 机、MATLAB 软件。
三、预习练习1.为了使实验能够顺利地进行,课前对教材中连续系统的频域分析的相关内容和实验原理、方法及内容做好充分预习,并预期实验的结果。
2.学习 MATLAB 软件,尤其是其中的和连续系统的频域分析有关的一些函数的使用。
3.写出实验内容2中的图6-5所示电路的频率响应。
四、实验原理连续时间LTI 系统可用如下的线性常系数微分方程来描述:()(1)(1)110()(1)(1)110()()()()()()()()n n n n m m m m a y t a yt a yt a y tb f t b ft b f t b f t ----++++=++++ (6-1) 如果系统的输入和初始状态已知,便可以用解析的方法求出系统的响应。
但对于高阶系统,手工计算将会变得非常繁琐和困难。
MATLAB 的控制工具箱(control toolbox )里包含了许多可用于分析线性非时变(LTI )系统的函数,使用命令help control 可以查看控制工具箱里的这些函数。
在调用这些函数时,需要用系数向量表示系统。
在后面会介绍具体的使用方法。
(一)系统的频率响应如果设LTI 系统的冲激响应为()h t ,该系统的激励信号为()f t ,则此系统的零状态响应()y t 为()()*()y t h t f t = (6-2)设()f t ,()h t ,()y t 的傅里叶变换分别为()F j ω,()H j ω,()Y j ω,根据时域卷积定理,与式(6-2)对应的频域关系为()()()Y j H j F j ωωω= (6-3)一般地,连续系统的频率响应定义为系统的零状态响应()y t 的傅里叶变换()Y j ω与激励信号()f t 的傅里叶变换()F j ω之比,即()()()Y j H j F j ωωω= (6-4)通常,()H j ω是ω的复函数,因此,又可将其写为()()()j H j H j e ϕωωω= (6-5)称()H j ω为系统的幅频特性,()ϕω为系统的相频特性。
预备知识MATLAB如今已经被广泛地应用于各个领域中,是当今世界上最优秀的数值计算软件。
它广为流传的原因不仅在于在它的计算功能强大,图形功能丰富、方便,还在于它的编程效率高,扩充能力强;语句简单,易学易用,而不会像其他的那些高级语言一样距人于千里之外。
在这里我们就对MATLAB做一下简单的介绍。
1、MATLAB简介在科学技术飞速发展的今天,计算机正扮演着越来越重要的角色。
在进行科学研究与工程一用的过程中,科技人员往往会遇到大量繁重的数学运算和数值分析,传统的高级语言BASIC、FORTRAN及C语言等虽然能在一定成都上减轻计算量,但它们均要求应用人员具有较强的编程能力和对算法有深入的研究[7]。
另外,在运用这些高级语言进行计算结果的可视化分析及图形处理方面,对非计算机专业的普通用户来说,仍存在着一定的难度。
MATLAB正式在这一应用要求背景下产生的数学类科技应用软件,它具有的顶尖的数值计算功能。
强大的图形可视化功能及简介医学的“科学便笺式”工作环境和编程语言,从根本上满足了科技人员对工程数学计算的要求,并将科技人员从繁重的数学运算中解放出来,因而,越来越受到广大科技工作者的普遍欢迎。
MATLAB是matrix和laboratory前三个字母的缩写,意思是“矩阵实验室”,是MathWorks公司推出的数学类可以应用软件。
其DOS版本(MATLAB1.0)发行于1984年,到现在已经到了MATLAB7.X。
经过20多年的不断发展与完善,MATLAB 已发展成为由MATLAB语言、MATLAB工作环境、MATLAB图形处理系统、MATLAB 数学函数库和MATLAB应用程序接口五大部分组成的集数值计算、图形处理、程序开发为一体的功能强大的系统。
MATLAB由“主包”和三十多个扩展功能和应用学科性的工具箱(Toolboxs)组成。
MATLAB具有一下基本功能:数值计算功能符号计算功能图形处理集可视化功能可视化建模集动态仿真功能MATLAB语言是以矩阵计算为基础的程序设计语言,语法规则简单易学,用户不用花太多时间即可掌握其编程技巧。
信号与系统MATLAB综合实验一、实验目的:1、学习MATLAB语言的编程方法及熟悉MATLAB指令。
2、掌握连续时间信号的卷积运算方式,分析建立信号波形间的联系。
3、通过使用MATLAB函数研究线性时不变离散时间系统的时域特性,以加深对线性时不变离散时间系统的时不变性的理解。
二、实验仪器1、计算机2、MATLAB 软件三、实验原理一个离散时间系统是将输入序列变换成输出序列的一种运算。
若以T[•]表示这种运算,则一个离散时间系统可由图1-1来表示,即→∙→(1-1)x n T y n()[]()图1-1 离散时间系统离散时间系统中最重要的、最常用的是“线性时不变系统”。
时不变系统系统的运算关系T[•]在整个运算过程中不随时间(也不随序列的先后)而变化,这种系统称为时不变系统(或称移不变系统)。
这个性质可用以下关系表示:若输入)(ny,则将输入序列移动任意位后,其输出序列除了跟着x的输出为)(n移位外,数值应保持不变,即若)ynm[mT--(m为任意整数)=(xn(()]()][nT=,则)yxn满足以上关系的系统就称为时不变系统。
四、实验内容及结论1、连续时间系统的时域分析已知微分方程: )(2)(3)(2)(3)(t f t f t y t y t y +'=+'+'',1)0(-='-y , 2)0(=-y 若激励信号为)()(t u t f =,利用阶跃响应函数step(sys,t) 求解画波形;利用零状态响应函数lsim 求解画波形;利用卷积函数求解画波形;比较结果。
程序如下:dt=0.001;t1=0:dt:10;f1=-1*exp(-t1)+4*exp(-2*t1);t2=t1;f2=u(t2);f=conv(f1,f2);f=f*dt;t3=0:dt:20;subplot(311)plot(t3,f);xlabel('时间(t)');ylabel('y(t)');title('零状态响应(卷积法)');b=[3 2];a=[1 3 2];sys=tf(b,a);t=0:0.01:10;x=stepfun(t,0);y=lsim(sys,x,t);subplot(312)plot(t,y);xlabel('时间(t)');ylabel('y(t)');title('零状态响应(阶跃函数求法)');sys=tf(b,a);t=0:0.1:10;y=step(sys,t);subplot(313)plot(t,y);xlabel('时间t)');ylabel('y(t)');title('阶跃响应');结论:上述三种方法求得的都是输入为阶跃函数时候的零状态响应,也为阶跃响应,通过图形我们可以看出,利用卷积法求出的零状态和另外两种方法求出的零状态响应图形有一点差别,三者在0到10区间上响应都一致,而利用卷积法求的响应却在下面的区间内发生了变化,我试图修改程序,无论怎么改,发现只要调用了卷积函数,求得的图形就像上述的卷积法求的图形一样,不得解。
信号与系统-MATLAB综合实验课程设计一、课程设计的目的和意义在信号与系统学习中,MATLAB是非常重要的工具。
本课程设计主要目的是让学生通过实验,掌握使用MATLAB进行信号与系统分析和处理的方法和技巧。
同时,课程设计还能够加深学生对信号与系统理论知识的理解和掌握,提高其综合运用能力。
二、课程设计的内容和要求1. 实验一:信号的生成和绘制本实验主要包括以下内容:•生成几种基本信号(如正弦信号、方波信号、三角波信号等)。
•通过MATLAB绘制生成的信号,并加上合适的标注。
要求学生能够掌握信号的生成方法和MATLAB的绘图函数的使用。
2. 实验二:信号的运算与变换本实验主要包括以下内容:•对已有信号进行运算(如加、减、乘、除等)。
•对信号进行卷积、相关等线性变换操作。
•对信号进行傅里叶变换,并绘制幅度谱、相位谱等图形。
要求学生能够掌握信号的运算、变换方法和MATLAB的相应函数的使用。
3. 实验三:系统的分析和建立本实验主要包括以下内容:•对系统进行零极点分析,并绘制零极点图。
•对已有系统进行时域和频域分析(如阶跃响应、冲击响应、幅频响应等)。
要求学生能够掌握系统的分析方法和MATLAB的相应函数的使用。
4. 实验四:信号的滤波和降噪本实验主要包括以下内容:•对信号进行数字滤波(如低通滤波、高通滤波、带通滤波、带阻滤波等)。
•对信号进行去噪处理(如中值滤波、小波变换去噪等)。
要求学生能够掌握信号滤波、降噪方法和MATLAB的相应函数的使用。
三、课程设计的实施流程1.分组。
依据班级人数以及教学设备的数量,安排学生分为若干个小组,每个小组3-4人。
2.模拟分配实验。
询问小组成员们的意见,模拟分配每个小组所要完成的课程设计任务。
3.实验操作。
每个小组根据分配到的实验课程设计,使用MATLAB进行模拟操作。
4.结果展示。
每个小组进行结果展示,介绍自己的设计思路,并展示实验结果。
其他小组成员以及教师进行现场互相交流和讨论。
实验1 信号的时域描述与运算一、实验目的1. 掌握信号的MATLAB 表示及其可视化方法。
2. 掌握信号基本时域运算的MATLAB 实现方法。
3. 利用MATLAB 分析常用信号,加深对信号时域特性的理解。
二、实验原理与方法1. 连续时间信号的MATLAB 表示连续时间信号指的是在连续时间范围内有定义的信号,即除了若干个不连续点外,在任何时刻信号都有定义。
在MATLAB 中连续时间信号可以用两种方法来表示,即向量表示法和符号对象表示法。
从严格意义上来说,MATLAB 并不能处理连续时间信号,在MATLAB 中连续时间信号是用等时间间隔采样后的采样值来近似表示的,当采样间隔足够小时,这些采样值就可以很好地近似表示出连续时间信号,这种表示方法称为向量表示法。
表示一个连续时间信号需要使用两个向量,其中一个向量用于表示信号的时间范围,另一个向量表示连续时间信号在该时间范围内的采样值。
例如一个正弦信号可以表示如下:>> t=0:0.01:10; >> x=sin(t);利用plot(t,x)命令可以绘制上述信号的时域波形,如图1所示。
如果连续时间信号可以用表达式来描述,则还可以采用符号表达式來表示信号。
例如对于上述正弦信号,可以用符号对象表示如下:>> x=sin(t); >> ezplot(X);利用ezplot(x)命令可以绘制上述信号的时域波形012345678910-1-0.8-0.6-0.4-0.200.20.40.60.81Time(seconds)图1 利用向量表示连续时间信号-6-4-20246-1-0.50.51t图 2 利用符号对象表示连续时间信号sin(t)常用的信号产生函数 函数名 功能 函数名 功能 heaviside 单位阶跃函数 rectpuls 门函数sin 正弦函数 tripuls 三角脉冲函数 cos 余弦函数 square 周期方波sinc sinc 函数 sawtooth周期锯齿波或三角波 exp 指数函数2.连续时间信号的时域运算对连续时间信号的运算包括两信号相加、相乘、微分、积分,以及位移、反转、尺度变换(尺度伸缩)等。
信号与系统课程设计--信号与系统Matlab实验系列信号与系统课程设计报告2013—2014学年第二学期课程名称:信号与系统设计题目:信号与系统Matlab实验系列学院:专业班级:学号:姓名:指导老师:目录实验一连续时间信号时域分析 (1)实验二离散时间信号时域分析 (5)实验三连续时间系统时域分析 (9)实验四离散时间系统时域分析 (11)实验五连续时间信号频域分析 (13)实验六连续时间系统频域分析 (18)实验七信号采样与重建 (24)实验八传输函数与系统特性 (28)感想与心得 (32)实验一 连续时间信号时域分析一、 实验内容1、用MATLAB 表示连续信号:t Ae α,0cos()A t ωϕ+,0sin()A t ωϕ+。
2、用MATLAB 表示抽样信号(sinc(t ))、矩形脉冲信号(rectpuls(t , width))及三角脉冲信号(tripuls(t , width, skew))。
3、编写如图3的函数并用MATLAB 绘出满足下面要求的图形。
(1)();(2)(2);(3)(12);(4)(0.51)f t f t f t f t - - - +二、 源程序及执行结果分析1. 用MATLAB 表示连续信号:t Ae α,0cos()A t ωϕ+,0sin()A t ωϕ+。
(1)源程序%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% f=A*exp(alpha*t) % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%A=1;alpha=-0.3; t=-10:0.01:10; f=A*exp(alpha*t); plot(t,f)title('f(t)=A*exp(alpha*t)'); xlabel('t') ; ylabel('f(t)') ; grid on%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %f=A*cos(omega0*t+phi) % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%t=-10:0.01:10;A=1;omega0=pi;phi=pi/3; f=A*cos(omega0*t+phi); plot(t,f)title(' f=A*cos(omega0*t+phi)'); xlabel('t') ; ylabel('f(t)') ; grid on%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %f=A*sin(omega0*t+phi) % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%t=-10:0.01:10;A=1;omega0=pi;phi=pi/3; f=A*sin(omega0*t+phi);plot(t,f)title('f=A*sin(omega0*t+phi)'); xlabel('t') ; ylabel('f(t)') ; grid on(2)执行结果2、用MATLAB 表示抽样信号(sinc(t ))、矩形脉冲信号(rectpuls(t , width))及三角脉冲信号(tripuls(t , width, skew))。
实验二傅里叶分析及应用姓名学号班级一、实验目的(一)掌握使用Matlab进行周期信号傅里叶级数展开和频谱分析1、学会使用Matlab分析傅里叶级数展开,深入理解傅里叶级数的物理含义2、学会使用Matlab分析周期信号的频谱特性(二)掌握使用Matlab求解信号的傅里叶变换并分析傅里叶变换的性质1、学会运用Matlab求连续时间信号的傅里叶变换2、学会运用Matlab求连续时间信号的频谱图3、学会运用Matlab分析连续时间信号的傅里叶变换的性质(三)掌握使用Matlab完成信号抽样并验证抽样定理1、学会运用MATLAB完成信号抽样以及对抽样信号的频谱进行分析2、学会运用MATLAB改变抽样时间间隔,观察抽样后信号的频谱变化3、学会运用MATLAB对抽样后的信号进行重建二、实验条件需要一台PC机和一定的matlab编程能力三、实验内容2、分别利用Matlab符号运算求解法和数值计算法求下图所示信号的FT,并画出其频谱图(包括幅度谱和相位谱)[注:图中时间单位为:毫秒(ms)]。
符号运算法: Ft=sym('t*(Heaviside(t+2)-Heaviside(t+1))+Heaviside(t+1)-Heaviside(t-1)+(-t)*(Heavi side(t-1)-Heaviside(t-2))'); Fw = fourier(Ft); ezplot(abs(Fw)),grid on; phase = atan(imag(Fw)/real(Fw)); ezplot(phase);grid on; title('|F|'); title('phase');3、试用Matlab 命令求ωωωj 54-j 310)F(j ++=的傅里叶反变换,并绘出其时域信号图。
[注意:(1)写代码时j i]syms tFw = sym('10/(3+iw)-4/(5+iw)');ft = ifourier(Fw,t);F = abs(ft);ezplot(F,[-3,3]),grid on;4、已知门函数自身卷积为三角波信号,试用Matlab命令验证FT的时域卷积定理。