信号与系统实验(MATLAB 西电版)实验19 离散系统状态方程的求解
- 格式:ppt
- 大小:174.00 KB
- 文档页数:16
信号与系统MATLAB实验报告实验目的本实验旨在通过MATLAB软件进行信号与系统的相关实验,探究信号与系统的特性与应用。
实验步骤1. 准备工作在正式进行实验之前,我们需要做一些准备工作。
首先,确保已经安装好MATLAB软件,并且熟悉基本的操作方法。
其次,准备好实验所需的信号与系统数据,可以是已知的标准信号,也可以是自己采集的实际信号。
2. 信号的生成与显示使用MATLAB编写代码,生成不同类型的信号。
例如,可以生成正弦信号、方波信号、三角波信号等。
通过绘制信号波形图,观察不同信号的特点和变化。
t = 0:0.1:10; % 时间范围f = 1; % 信号频率s = sin(2*pi*f*t); % 正弦信号plot(t, s); % 绘制信号波形图3. 系统的建模与分析根据实验需求,建立相应的系统模型。
可以是线性时不变系统,也可以是非线性时变系统。
通过MATLAB进行模型的建立和分析,包括系统的时域特性、频域特性、稳定性等。
sys = tf([1, 2], [1, 3, 2]); % 系统传递函数模型step(sys); % 绘制系统的阶跃响应图4. 信号与系统的运算对于给定的信号和系统,进行信号与系统的运算。
例如,进行信号的卷积运算、系统的响应计算等。
通过MATLAB实现运算,并分析结果的意义与应用。
x = [1, 2, 3]; % 输入信号h = [4, 5, 6]; % 系统响应y = conv(x, h); % 信号的卷积运算plot(y); % 绘制卷积结果的波形图5. 实验结果分析根据实验数据和分析结果,对实验进行结果总结与分析。
可以从信号的特性、系统的特性、运算结果等方面进行综合性的讨论和分析。
实验总结通过本次实验,我们学习了如何在MATLAB中进行信号与系统的实验。
通过生成信号、建立系统模型、进行运算分析等步骤,我们深入理解了信号与系统的基本原理和应用方法。
通过实验数据和结果分析,我们对信号与系统有了更深刻的认识,并掌握了MATLAB在信号与系统实验中的应用技巧。
实验一 基本信号的产生与运算一、 实验目的学习使用MATLAB 产生基本信号、绘制信号波形、实现信号的基本运算。
二、 实验原理MATLAB 提供了许多函数用于产生常用的基本信号:如阶跃信号、脉冲信号、指数信号、正弦信号和周期方波等等。
这些信号是信号处理的基础。
1、 利用MATLAB 产生下列连续信号并作图。
(1)51),1(2)(<<---=t t u t x (2)300),32sin()(3.0<<=-t t e t x t (3)1.01.0,3000cos 100cos )(<<-+=t t t t x (4)2000),8.0cos()1.0cos()(<<=t t t t x ππ 答:(1)、>> t=-1:0.02:5; >> x=(t>1);>> plot(t,-2*x);>> axis([-1,5,-3,1]);>> title('杨婕婕 朱艺星'); >> xlabel('x(t)=-2u(t-1)');(2)、>> t=0:0.02:30;>> x=exp(-0.3*t).*sin(2/3*t);>> plot(t,x);>> title('杨婕婕朱艺星');>> xlabel('x(t)=exp(-0.3*t).*sin(2/3*t)');因为原函数在t=15后x(t)取值接近于零,所以将横坐标改成0到15,看得更清晰axis([0,15,-0.2,0.6]);(3)>> t=-0.1:0.01:0.1;x=cos(100*t)+cos(3000*t);plot(t,x);>> title('杨婕婕朱艺星');>>xlabel('x=cos(100*t)+cos(3000*t)');因为t的间隔取太大,以至于函数不够准确,缩小t的间隔:t=-0.1:0.002:0.2;x=cos(100*t)+cos(3000*t);plot(t,x);title('杨婕婕')>> t=-0.1:0.0001:0.1;x=cos(100*t)+cos(3000*t);>> plot(t,x);title('杨婕婕朱艺星');>> xlabel('x=cos(100*t)+cos(3000*t)');(4)、t=0:0.01:200;>> x=cos(0.1*pi*t).*cos(0.8*pi*t);>> plot(t,x);>> title('杨婕婕朱艺星');>> xlabel('x=cos(0.1*pi*t).*cos(0.8*pi*t)');因为为周期函数,可以将横坐标t间隔扩大以便于观察图像>> axis([0,30,-1,1]);2、利用MATLAB 产生下列离散序列并作图。
资料范本本资料为word版本,可以直接编辑和打印,感谢您的下载求解系统的状态方程地点:__________________时间:__________________说明:本资料适用于约定双方经过谈判,协商而共同承认,共同遵守的责任与义务,仅供参考,文档可直接下载或修改,不需要的部分可直接删除,使用时请详细阅读内容求解系统的状态方程一、实验设备PC计算机,MATLAB软件,控制理论实验台二、实验目的(1)掌握状态转移矩阵的概念。
学会用MATLAB求解状态转移矩阵(2)学习系统齐次、非齐次状态方程求解的方法,计算矩阵指数,求状态响应;(3)通过编程、上机调试,掌握求解系统状态方程的方法,学会绘制输出响应和状态响应曲线;(4)掌握利用MATLAB导出连续状态空间模型的离散化模型的方法。
三、实验原理及相关基础(1)参考教材P99~101“3.8利用MATLAB求解系统的状态方程”(2)MATLAB现代控制理论仿真实验基础(3)控制理论实验台使用指导实验内容(1)求下列系统矩阵A对应的状态转移矩阵(a)(b)代码:syms lambdaA=[lambda 0 0;0 lambda 0;0 0 lambda];syms t;f=expm(A*t)(c)代码:syms t;syms lambda;A=[lambda 0 0 0;0 lambda 1 0;0 0 lambda 1;0 0 0 lambda];f=expm(A*t)(2) 已知系统a) 用MATLAB求状态方程的解析解。
选择时间向量t,绘制系统的状态响应曲线。
观察并记录这些曲线。
(1)代码:A=[0 1; -2 -3];B=[3;0];C=[1 1];D=[0];u=1;syms t;f=expm(A*t);%状态转移矩阵x0=0;s1=f*B*u;s2=int(s1,t,0,t)%状态方程解析解状态曲线:(2)A=[0 1;-2 -3];syms t;f=expm(A*t);X0=[1;0];t=[0:0.5:10];for i=1:length(t);g(i)=double(subs(f(1),t(i)));endplot(t,g)状态转移矩阵syms lambdaA=[lambda 0 0;0 lambda 0;0 0 lambda];syms tf=expm(A*t)b) 计算系统在初始状态作用下状态响应和输出响应的数值解(用函数initial( )), 绘制系统的状态响应曲线和输出响应曲线。
数字信号处理课程实验报告实验名称离散信号及离散系统的MATLAB编程实现系别教师姓名实验地点实验日期一、实验内容1、用MATLAB仿真(编写)离散序列2、常见序列运算3、差分方程的求解4、系统零极点的求解。
(红色部分为必做项目)二、实验目的1. 复习离散时间的信号和系统,复习离散时间重要类型的信号和它们的运算的实现。
2. 熟悉MATLAB软件的集成开发环境,学会利用MATLAB编程及获得帮助的方法。
3. 学会利用MATLAB的绘图功能。
三、涉及实验的相关情况介绍(包含使用软件或实验设备等情况)matlab软件,计算机四、实验试做记录(含程序、数据记录及分析)1、 Matlab表示序列MATLAB中,可采用向量表示序列,由于MATLAB中对序列下标默认为从1开始递增,因此要表示离散信号,一般应采用两个向量分别对信号的自变量和因变量进行描述。
如, n= -3~4,在MATLAB中表示为>> n = [-3, -2, -1, 0, 1, 2, 3, 4]; %自变量取值>> x = [ 2, 1, -1, 0, 1, 4, 3, 7]; %因变量取值说明:(1)向量可用方括号[ ]表示。
(2)当向量取值连续变化时可用冒号运算符“:”简化赋值过程,如的n值,可简化为n=[-3:4]或n= -3:4 。
(3)分号“;”表示不回显表达式的值。
(4)“%”表示其后内容为注释对象。
(5)符号“>>”是MATLAB命令窗口的输入提示符,此外,为便于多次调用,也可在m文件中输入相应的命令语句。
利用MATLAB,还可对信号的波形进行描述,常采用的绘图语句有stem,plot,subplot, axis,title,xlabel,ylabel,gtext, hold on, hold off, grid 等。
其中stem 绘制离散图形;plot 绘制连续图形;subplot 用于绘制子图,应在stem 或plot 语句前调用;axis 指定x 和y轴的取值范围,用在stem或plot语句后;title 标注图形名称,xlabel, ylabel 分别标注x轴和y轴名称;gtext可将标注内容放置在鼠标点击处;hold on和 hold off 用于控制对象绘制方式,是在原图上还是在新图上绘制;grid用于绘制网格。
离散时间信号与系统[实验目的]1.了解信号处理的基本操作2.熟悉一些常用的序列及其应用[实验原理]我们所接触的信号大多为连续信号,为使之便于处理,往往要对其进行采样,对信号抽样并保证其能完全恢复,对抽样频率有一定的限制。
基本的离散序列的定义如下:1.单位采样序列2.单位阶跃序列3.实指数序列,;a为实数4.复数指数序列,5.正余弦序列,6.周期序列,[实验内容]1.用MATLAB实现函数impseq(n0,n1,n2),使函数实现,。
函数定义:function [x,n]=impseq(n0,n1,n2)if (n1>n2||n0>n2||n0<n1)error('parameter error');end;if (n1<=n2)for n=1:n2-n1+1if (n==n0)x(1,n)=n1-1+n;x(2,n)=1;end;x(1,n)=n1-1+n;x(2,n)=0;end;x(2,n0-n1+1)=1;end;运行结果:impseq(3,1,9)ans =6 7 8 9 10 11 12 13 140 0 0 0 1 0 0 0 0注:上面一行为自变量n,下面一行为函数值,以下运行结果为两行的,都与此题同,不在表明。
2.用MATLAB实现函数stepseq(n0,n1,n2),使函数实现u(n-n0),。
函数定义:function [x,n]=stepseq(n0,n1,n2)if (n0>n2||n0<n1||n1>n2)error('parameter error');end;for n=1:n2-n1+1if (n+n1-1<n0)x(1,n)=n1+n-1;x(2,n)=0;elsex(1,n)=n1+n-1;x(2,n)=1;end;end;运行结果:Stepseq(4,2,10)ans =2 3 4 5 6 7 8 9 100 0 1 1 1 1 1 1 1 注:与上同,上面一行是自变量,下面一行是函数值。
§9.6 离散时间系统状态方程的求解概述:离散系统状态方程的求解和连续系统的求解方法类似,包括时域和变换域两种方法。
矢量差分方程的时域求解;An 的计算;离散系统状态方程的Z 变换解一.矢量差分方程的时域求解离散系统的状态方程表示为(1)此式为一阶差分方程,可以应用迭代法求解。
设给定系统的起始状态为:在 , 则按式(1)有 以下用迭代法,求 时刻的值:对于任意n 值,当 可归结为 (2)上式中,当 时第二项不存在,此时的结果只由第一项决定,即 本身,只有当 时,式(2)才可给出完整的 之结果。
如果起始时刻选 ,并将上述对 值的限制以阶跃信号的形式写入表达式,于是有还可解得输出为()()()n n n Bx A λλ+=+10n n =()0λn ()()()0001n n n Bx A λλ+=+()()nn n ,,3,200 ++()()()0001n n n Bx A λλ+=+()()()()()()1 112000000+++=+++=+n n n n n n Bx ABx λA Bx A λλ2()()()()()()()21 2230000000+++++=+++=+n n n n n n n Bx ABx Bx A λA Bx A λλ230n n >()()()()()()()()()∑-=--------+=-+++++=-+-=110002001000 1 1 11n ni in nn n n n n n n i n n n n n n n n Bx A λABx Bx A Bx A λA Bx A λλ 0n n =()0n λ0n n >()n λ00=n n ()()()()()⎪⎪⎭⎪⎪⎬⎫⎪⎪⎩⎪⎪⎨⎧-⎥⎦⎤⎢⎣⎡+=∑-=-- 零状态解零输入解10101n u i n u n n i i n Bx A λA λn ()()()n n n Dx C λy +=()()()()()()零状态解零输入解n u n n u i n u n i Dx Bx CA λCA i 1n n +-⎥⎦⎤⎢⎣⎡+=∑-=--1010由两部分组成:•一是起始状态经转移后在 时刻得到的响应分量 ;•另一是对时刻以前的输入量的响应。
信号与系统 matlab实验报告信号与系统 Matlab 实验报告引言:信号与系统是电子信息类专业中的一门重要课程,它研究了信号的产生、传输和处理过程,以及系统对信号的响应和影响。
通过实验,我们可以更直观地理解信号与系统的基本概念和原理,并掌握使用 Matlab 进行信号与系统分析和处理的方法。
实验一:信号的产生与显示在信号与系统课程中,我们首先需要了解不同类型的信号,以及如何产生和显示这些信号。
在 Matlab 中,我们可以使用一些函数来生成常见的信号波形,如正弦波、方波、三角波等。
通过编写简单的 Matlab 程序,我们可以实现信号的产生和显示。
实验二:信号的采样与重构在实际应用中,信号通常以连续时间的形式存在,但在数字系统中需要将其转换为离散时间的信号进行处理。
这就需要进行信号的采样和重构。
在 Matlab 中,我们可以使用采样函数和重构函数来模拟这一过程,并观察采样率对信号重构质量的影响。
实验三:信号的滤波与频谱分析信号滤波是信号处理中的重要环节,它可以去除信号中的噪声和干扰,提高信号质量。
在 Matlab 中,我们可以使用滤波函数来实现不同类型的滤波器,并观察滤波对信号频谱的影响。
此外,我们还可以使用频谱分析函数来研究信号的频谱特性,如频谱密度、功率谱等。
实验四:系统的时域与频域分析系统是信号处理中的重要概念,它描述了信号在系统中的传输和变换过程。
在Matlab 中,我们可以使用系统函数来模拟不同类型的系统,并观察系统对信号的时域和频域响应。
通过实验,我们可以深入理解系统的时域特性和频域特性,如冲击响应、频率响应等。
实验五:信号的调制与解调信号调制是将信息信号转换为调制信号的过程,而解调则是将调制信号恢复为原始信号的过程。
在 Matlab 中,我们可以使用调制函数和解调函数来模拟不同类型的调制和解调方式,如调幅、调频、调相等。
通过实验,我们可以了解不同调制方式的原理和特点,并观察调制和解调对信号的影响。
2016-2017学年第一学期信号与系统实验报告班级:姓名:学号:成绩:指导教师:实验一 常见信号的MATLAB 表示及运算一.实验目的1.熟悉常见信号的意义、特性及波形2.学会使用MATLAB 表示信号的方法并绘制信号波形 3. 掌握使用MATLAB 进行信号基本运算的指令 4. 熟悉用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 所定义的时间点上的样值。
信号与系统matlab实验报告信号与系统MATLAB实验报告引言信号与系统是电子工程、通信工程和控制工程等领域中的重要基础课程。
通过实验,我们可以更好地理解信号与系统的概念和基本原理,并掌握使用MATLAB进行信号与系统分析的方法。
本报告将介绍我们在信号与系统实验中的实验过程、结果和分析。
实验一:连续时间信号的采样与重构在这个实验中,我们研究了连续时间信号的采样与重构。
首先,我们通过MATLAB生成了一个连续时间信号,并使用采样定理确定了采样频率。
然后,我们对连续时间信号进行采样,并通过重构方法将采样信号还原为连续时间信号。
最后,我们通过观察重构信号与原始信号的相似性来评估重构的效果。
实验二:线性时不变系统的频率响应在这个实验中,我们研究了线性时不变系统的频率响应。
首先,我们通过MATLAB生成了一个输入信号,并设计了一个线性时不变系统。
然后,我们通过将输入信号输入到系统中,并记录输出信号的幅度和相位,从而得到系统的频率响应。
最后,我们绘制了系统的幅频特性和相频特性曲线,并对其进行了分析和讨论。
实验三:离散时间信号的采样与重构在这个实验中,我们研究了离散时间信号的采样与重构。
首先,我们通过MATLAB生成了一个离散时间信号,并使用采样定理确定了采样周期。
然后,我们对离散时间信号进行采样,并通过重构方法将采样信号还原为离散时间信号。
最后,我们通过观察重构信号与原始信号的相似性来评估重构的效果,并讨论了离散时间信号的采样与重构的特点。
实验四:离散时间系统的差分方程在这个实验中,我们研究了离散时间系统的差分方程。
首先,我们通过MATLAB生成了一个输入信号,并设计了一个离散时间系统。
然后,我们通过将输入信号输入到系统中,并根据系统的差分方程计算输出信号。
最后,我们对输入信号和输出信号进行了分析和比较,并讨论了离散时间系统的差分方程的特点和应用。
实验五:连续时间信号的傅里叶变换在这个实验中,我们研究了连续时间信号的傅里叶变换。