您的当前位置:首页正文

二阶状态轨迹的显示

来源:要发发知识网
教学实验报告

电子信息学院 专业 通信工程 2011年 11 月16 日 实验名称 二阶状态轨迹的显示 指导教师 姓名 年级 学号 成绩 一、 预习部分 1. 实验目的 2. 实验基本原理 3. 主要仪器设备(含必要的元器件、工具) 一.实验目的 1. 熟悉二阶连续时间系统状态轨迹的概念。 2. 掌握连续时间系统冲激响应、阶跃响应的求解方法。 3. 观察过阻尼,欠阻尼,临界阻尼情况下,RLC 电路的状态轨迹。 二.实验原理 (系统数学模型的描述方法有输入输出描述法和状态变量分析法。在输入输出 描述法中,主要建立系统的输入(激励)与系统的输出(响应)之间的关系,不 关心系统内部的变化情况。在状态变量分析法中,需在先确定状态变量后,建立 描述系统状态变量与输入之间的关系(状态方程),以及建立系统输出变量与系 统状态变量及系统输入之间的关系(输出方程),这种分析法不仅能反映输入与 输出的关系,而且能了解系统内部的变化过程。 在状态变量分析法中,状态变量是建立状态方程和输出方程的关键变量,是 能描述系统动态特性的一组独立完备的变量。对于一个二阶系统,则可以用两个 状态变量来描述系统的动态特性,这两个状态变量构成的列矢量称为状态矢量, 以这两个状态变量为坐标轴而形成的空间称为二维状态空间。在状态空间中状态 矢量端点随时间变化而描述出的路径为状态轨迹。因此状态轨迹对应系统在不同 时刻,不同条件下的状态,知道了某段时间内的状态轨迹,则系统在该时间内的 变化过程也就知道了,所以二阶状态轨迹的描述方法是一种在几何平面上研究系 统动态性能(包括稳定性在内)的方法。用计算机模拟二阶状态轨迹的显示,方 法简单直观,且能很方便观察电路参数变化时,状态轨迹的变化规律。 三.涉及的MATLAB 相关内容 1. MATLAB 图形用户界面(GUI)设计 利用MATLAB 图形用户界面工具设计修改RLC 电路参数及显示RLC 电路二阶 状态轨迹的界面;并用程序控制界面中的控件,显示RLC 电路的二阶状态轨迹。 2. ss 函数 功能:建立系统状态空间模型。 调用格式:sys = ss(a,b,c,d) 其中,a,b,c,d 为状态方程和输出方程的矩阵,sys 为建立的状态空间模 型。 3. step 函数 功能:求线性时不变系统的阶跃响应。 调用格式:y = step(sys,t) 其中,y 为系统的阶跃响应,sys 为系统的状态空间模型。 4. axes 函数 功能:设置当前轴。 调用格式:axes(h) 其中,h 为已存在轴的句柄 二、 实验操作部分 1. 实验数据、表格及数据处理 2. 实验操作过程(可用图表示) 3. 实验结论 四、 实验内容与方法 1.验证性实验 图1 所示为RLC 电路,可看作一个二阶连续时间系统。对于该二阶系统,若要用状态变量分析来描述该系统的数学模型,可选用i (t) L 和v (t) c 作为状态变量,这两个状态变量所形成的空间称为状态空间。在状态空间中,状态矢[iL(t);vc(t)] L随时间变化而描出的路径叫状态轨迹。 图1 RLC 电路 本实验将利用计算机模拟该系统的状态轨迹,实验步骤如下: (a) 在MATLAB 命令窗口重输入“guide”,启动GUI (b) 利用GUI界面,并将其保存为trace.fig 文件。图2 修改RLC 电路参数及显示RLC 电路二阶状态轨迹的界面 (c) 运行GUI,并生成trace.m 文件。 (d) 选中图2 所示界面中“显示状态轨迹”按钮,点击右键选择菜单上的View Callbacks,选择Callback,MATLAB Editor 会自动调到该按钮对用的Callback Function 上,可以直接在那里填写代码,编程控制GUI。其中“显示状态轨迹”按钮Callback Function 的程序代码如下: function pushbutton1_Callback(hObject, eventdata, handles) t = 0:0.1:100; %从界面上获取电路参数 R = str2num(get(handles.edit1,'string')); L = str2num(get(handles.edit2,'string')); C = str2num(get(handles.edit3,'string')); %若系统以i(t) L ,v (t) c 为响应,伊e(t)为激励 %确定系统状态方程和输出方程中的a,b,c,d 矩阵 a = [-R/L -1/L;1/C 0]; b = [1/L;0]; c = [1 0;0 1]; d = [0]; sys = ss(a,b,c,d); %建立系统状态空间模型 Response = step(sys,t); %求系统的阶跃响应 axes(handles.axes1); plot(t,Response(:,1),'b-','linewidth',3); %显示i (t) L ylabel('il(t)','fontsize',14) axes(handles.axes2); plot(t,Response(:,2),'r-','linewidth',3); %显示v (t) c ylabel('vc(t)','fontsize',14) axes(handles.axes3); plot(Response(:,2),Response(:,1),'linewidth',3); %显示状态轨迹 xlabel('vc(t)','fontsize',14) ylabel('il(t)','fontsize',14) %判断系统的阻尼状态 alph = R/(2*L); omega = 1/sqrt(L*C); if (R==0) str = '无阻尼'; else if(alph>omega) str = '¹过阻尼'; end if(alph==omega) str = '临界阻尼'; end if(alph4L/C) 使系统处于临界阻尼状态(R2=4L/C) 使系统处于欠阻尼状态(R2<4L/C) 2. 程序设计实验 已知某系统的系统函数为 若系统起始状态为零,在激励信号为e(t) =δ (t)情况下,画出该系统的状态轨迹。 在GUI设计界面,添加代码如下: function pushbutton1_Callback(hObject, eventdata, handles) t=0:0.1:8; n=[1 3]; d=[1 3 2]; [a b c d]=tf2ss(n,d); sys = ss(a,b,c,d); Response = impulse(sys,t); axes(handles.axes1); plot(t,Response(:,1),'b-','linewidth',3); ylabel('r(t)','fontsize',14) GUI如下: 三、 实验效果分析(包括仪器设备等使用效果) 实验分析: 1. 实验中要明白,临界阻尼是系统最快到达稳定状态的;而过阻尼的总体趋势和临界阻尼差不多,不过过阻尼比临界阻尼晚一些到达稳定状态;欠阻尼要在稳定状态附近“震荡”好久才能到达稳定状态。由每幅图的第三个图就能看出,临界阻尼和过阻尼的电压都是一直增加(通过斜率可以知道增加的速度),而电流是先增后减(通过斜率可以看出变化速率);而欠阻尼状态都是先增后减,就好像“冲过了极限值值”。 2. 由上面图形可以看出:到达稳定状态时,系统的电流为0,电压为电源电压。 3. 连续时间系统状态方程的求解 有两种方法求解:用拉普拉斯变换法求解状态方程、用时域法求解状态方程(矢量微分方程求解)。变换域方法比较简便,而时域方法往往需要借助计算机求解。 (1) 用拉普拉斯变换法求解状态方程。 dλtAλtBet方程dt rtCλtDet1020起始条件λ00k 方程两边取拉氏变换 sΛsλ0AΛsBEsRsCΛsDEs 整理得 sIAΛsλ0BEs ΛssIAλ0sIABEs 11将sIA记为Φs,称为特征矩阵或预解1矩阵,则 ΛsΦsλ0ΦsBEs RsCΦsλ0CΦsBDEs 因而时域表示式为 λtL1Φsλ0L1ΦsBL1EsrtCL1Φsλ0CL1ΦsBDtL1Es 零状态解零输入解若系统为零状态的,则RsCΦsBDEs 则系统的转移函数矩阵为HsCΦsBD H11sH21sHHn1sH12sH22sH1msH1msHnms Hn2sHijs是第i个输出分量对第j个输入分量的转移函数。 设Φs的拉氏反变换为则 φt,Hs的拉氏反变换为 ht, λtφtλ0φtBetrtCφtλ0htet 零状态解零输入解(2) 用时域法求解状态方程(矢量微分方程求解) 若已知ddtλtAλtBet(1) 1020并给定起始状态矢量λ0k0 对式(1)两边左乘 ,移项有 eAtddtλteAtAλteAtBet =>ddteAtλteAtBet 两边取积分,并考虑起始条件,有 eAtλtλ0t0eABe()d 对上式两边左乘 eAt,并考虑到eAteAtI ,可得 方程一般解为λteλ0Att0eAtBedeλ0eBet AtAt则 rtCλtDet CeAtλ0t0eAtBedDet Ceλ0[CeBDδt]et AtAt零输入解零状态解求解其中eAt用计算机即可求解。 四、 教师评语 指导教师 年 月 日

因篇幅问题不能全部显示,请点此查看更多更全内容