自动控制原理matlab仿真实验实验严进宁

自动控制原理matlab仿真实验实验严进宁
自动控制原理matlab仿真实验实验严进宁

实验一 系统的数学模型

一、实验目的和任务 1、 学会使用MATLAB 的命令; 2、 掌握MATLAB 有关传递函数求取及其零、极点计算的函数。 3、 掌握用MATLAB 求取系统的数学模型 二、实验仪器、设备及材料 1、 计算机 2、 MATLAB 软件 三、实验原理

1、 MATLAB 软件的使用

2、 使用MATLAB 软件在计算机上求取系统的传递函数 四、实验报告要求

1、 将各实验内容的要求写入实验报告。

2、 写出要求的实验程序。

3、 记录各命令运行后的结果 五、实验内容

例1-3、设置传递函数2

2)13()

5(6)(+++=

s s s s G ,时间延迟常数4=τ

方式1:set(G,'ioDelay',4) %为系统的ioDelay 属性设定值

G %显示传递函数

解:该传递函数模型可以通过下面的语句输入到MATLAB 工作空间为: >> num=6*[1,5];

den=conv([1,3,1],[1,3,1]); G=tf(num,den); set(G,'ioDelay',4) G

运行结果为:

Transfer function:

6 s + 30

exp(-4*s) * ------------------------------ s^4 + 6 s^3 + 11 s^2 + 6 s + 1

例1-4、已知传递函数22)13()

5(6)(+++=

s s s s G

,提取系统的分子和分母多项式(实验)

解:提取系统的分子和分母多项式程序为: >> num=6*[1,5];

den=conv([1,3,1],[1,3,1]); G=tf(num,den)

[num den]=tfdata(G,'v') 运行结果为: Transfer function: 6 s + 30

------------------------------ s^4 + 6 s^3 + 11 s^2 + 6 s + 1 num =

0 0 0 6 30 den =

1 6 11 6 1

例1-5例1-5 某系统的零极点模型为:

)

22)(22)(2)(1()5(6)(2

j s j s s s s s G -++++++=

方法2:利用算子(实验)

>> s=zpk('s')

G=6*(s+5)^2/((s+1)*(s+2)*(s+2+2)*(s+2-2))

运行结果为: Zero/pole/gain: 6 (s+5)^2 ------------------- s (s+1) (s+2) (s+4)

例1-7已知系统传递函数)

2)(36(11

4222s s s s s s G +++++=,求零极点及增益,并绘制系统

零极点分布图。(实验)

(1)零极点及增益: 〉〉num=[1,4,11]; den=conv([1,6,3],[1,2,0]); G=tf(num,den) [z,p,k]=zpkdata(G,'V')

运行结果为:

Transfer function: s^2 + 4 s + 11 -------------------------- s^4 + 8 s^3 + 15 s^2 + 6 s z = + - p = 0 k =

1

(2)系统零极点分布图:

〉〉num=[1,4,11]; den=conv([1,6,3],[1,2,0]); G=tf(num,den) pzmap(G)

Transfer function: s^2 + 4 s + 11 -------------------------- s^4 + 8 s^3 + 15 s^2 + 6 s

例1-11 给定零极点模型: )

5.1)(23())

7)(2(8

.6)(+±+++=s j s s s s s G

用MATLAB命令得出其等效的零极点传递函数模型。输入程序的过程中要注意大小写。〉〉den1=conv([1 3 2j],[1 3 -2j]);

den2=conv(den1,[1 ]);

G=tf(conv([1 2],[1 7]),conv([1 0],den2))

运行结果为:

G =

s^2 + 9 s + 14

-----------------------------------------------

s^6 + s^5 + 18 s^4 + s^3 + 4 s^2 + 6 s

实验内容:

1、特征多项式的建立与特征根的求取在命令窗口依次运行下面命令,并记录

各命令运行后结果

>> p=[1,3,0,4]

p =

1 3 0 4

>> r=roots(p)

r =

+

-

>> p=poly(r)

p =

2、求单位反馈系统的传递函数:

输入运行命令:

>> numg=[1];deng=[500,0,0];

numc=[1,1];denc=[1,2];

[num1,den1]=series(numg,deng,numc,denc);

[num,den]=cloop(num,den,-1);

printsys(num,den)

运行结果:

num/den =

s + 1

----------------------------

500 s^3 + 1000 s^2 + 4 s + 4

3、传递函数零、极点的求取

在命令窗口依次运行下面命令,并记录各命令运行后结果:

>> num1=[6,0,1];

den1=[1,3,3,1];

z=roots(num1)

z =

0 +

0 -

>> p=roots(den1)

p =

+

-

>> n1=[1,1];n2=[1,2];d1=[1,2*i];d2=[1,-2*i];d3=[1,3]; num2=conv(n1,n2)

num2 =

1 3 2

>> den2=conv(d1,conv(d2,d3))

den2 =

1 3 4 12

>> printsys(num2,den2)

num/den =

s^2 + 3 s + 2

----------------------

s^3 + 3 s^2 + 4 s + 12

>> num=conv(num1,den2);

den=conv(den1,num2);

printsys(num,den)

num/den =

6 s^5 + 18 s^4 + 25 s^3 + 75 s^2 + 4 s + 12 ------------------------------------------- s^5 + 6 s^4 + 14 s^3 + 16 s^2 + 9 s + 2

>> pzmap(num,den),title('零极点图')

4、求反馈联接系统的传递函数:

在命令窗口依次运行下面命令,并记录各命令运行后结果:

>> numg=[1];deng=[500,0,0];numc=[1,1];denc=[1,2]; numh=[1,1];denh=[1,2];

[num,den]=feedback(numg,deng,numh,denh)

运行结果:

num =

0 0 1 2

den =

500 1000 1 1 >> printsys(num,den)

num/den =

s + 2

---------------------------

500 s^3 + 1000 s^2 + s + 1

5、自行利用MATLAB命令求取以下系统传递函数,并记录下结果。

>> G1=tf(2,[1 1 0]);

G2=tf([1 2],[1 3]);

Gp=feedback(G1,G2,1);

G3=tf(10,[1 1]);

Gs=series(G3,Gp);

H=tf([5 0],[1 6 8]);

Gc=feedback(Gs,H,-1)

Transfer function:

20 s^3 + 180 s^2 + 520 s + 480

-----------------------------------------------------

s^6 + 11 s^5 + 43 s^4 + 67 s^3 + 118 s^2 + 252 s - 32

实验二、典型环节的MATLAB仿真

一、实验目的:

1.熟悉MATLAB桌面和命令窗口,初步了解SIMULINK功能模块的使用方法。2.通过观察典型环节在单位阶跃信号作用下的动态特性,加深对各典型环节响应曲线的理解。

3.定性了解各参数变化对典型环节动态特性的影响

二、实验内容:按下列各典型环节的传递函数,建立相应的SIMULINK仿真模型,观察并记录其单位阶跃响应波形。

(1)比例环节G1(s)=1和G1(s)=2;

Simulink图形实现:

示波器显示结果:

(2)惯性环节G1(s)=1/s+1和G2(s)=1/+1

Simulink图形实现:

示波器显示结果:

(3)积分环节G1(s)=1/s Simulink图形实现:

示波器显示结果:

(4)微分环节G1(s)=s

Simulink图形实现:

示波器显示结果:

(5)比例+微分环节(PD)

1)、G1(s)=s+2

Simulink图形实现:

示波器显示结果:

2)、G2(s)=s+1 Simulink图形实现:

示波器显示结果:

(6)比例+积分环节

1)、G1(1)=1+1/s

Simulink图形实现:

和示波器显示结果:

1)G2(s)=1+1/2s

Simulink图形实现:

示波器显示结果:

实验三、控制系统的时域分析

一、实验目的

学习利用MATLAB 进行控制系统时域分析,包括典型响应、判断系统稳定性和分析系统的动态特性。

二、实验内容 (一) 稳定性

1. 系统传函为25

425

)(2

++=

s s s G ,试判断其稳定性 >> roots([1,4,25]) 运行结果: ans = + -

特征方程的根都具有负实部,因而该系统为稳定的。

2.用Matlab 判断2

5372

2)(2342++++++=s s s s s s s G 的稳定性

>> roots([1,7,3,5,2]) 运行结果: ans =

+ + - +

特征方程的根不是全部都具有负实根,因而该系统是不稳定的。 (二)阶跃响应 1. 二阶系统()10

2102

++=

s s s G

1)键入程序,观察并记录单位阶跃响应曲线如图14所示。

>> G=tf([0,0,10],[1,2,10]); t=0::5; c=step(G,t); plot(t,c) Css=dcgain(G) Css = 1

图14MATLAB 绘制的响应曲线

2)计算系统的闭环根、阻尼比、无阻尼振荡频率,并记录

>> num=[10]; den=[1,2,10]; G=tf(num,den); roots(den) wn=sqrt(num) znb=2/(2*wn) ans = + - wn = znb =

3)记录实际测取的峰值大小、峰值时间及过渡过程时间,并填表: 相关理论知识可填下表:3//πωπ==d p t = >> num=[10]; den=[1,2,10]; G=tf(num,den); step(num,den); grid

[y,t]=step(G); [Y,k]=max(y); cmax=Y tp=t(k); i=length(t); C=dcgain(G);

while(y(i)>*C)&(y(i)<*C) i=i-1;

end time2=t(i)

while(y(i)>*C)&(y(i)<*C) i=i-1; end time5=t(i) cmax = time2 = time5 =

4)修改参数,分别实现1=ζ和2=ζ的响应曲线,并记录 >> wn=sqrt(10); znb=1; num=[wn^2];

den=[1,2*znb*wn,wn^2] G=tf(num,den); step(G) hold on znb=2;

den=[1,2*znb*wn,wn^2] G=tf(num,den);

4.52%

(00.9)

3.55%

n s n

t ζωζζω??=??=<

??=??

step(G) grid title den = den =

(三)系统动态特性分析 用Matlab 求二阶系统12012120)(2

++=

s s s G 和01

.0002.001.0)(2++=s s s G 的峰值时间p t 上升时间r t 调整时间s t 超调量%σ。

1.二阶系统12012120

)(2++=

s s s G

现代信号处理Matlab仿真——例611

例6.11 利用卡尔曼滤波估计一个未知常数 题目: 设已知一个未知常数x 的噪声观测集合,已知噪声v(n)的均值为零, 方差为 ,v(n)与x 不相关,试用卡尔曼滤波估计该常数 题目分析: 回忆Kalman 递推估计公式 由于已知x 为一常数,即不随时间n 变化,因此可以得到: 状态方程: x(n)=x(n-1) 观测方程: y(n)=x(n)+v(n) 得到A(n)=1,C(n)=1, , 将A(n)=1,代入迭代公式 得到:P(n|n-1)=P(n-1|n-1) 用P(n-1)来表示P(n|n-1)和P(n-1|n-1),这是卡尔曼增益表达式变为 从而 2v σ1??(|1)(1)(1|1)(|1)(1)(1|1)(1)()()(|1)()[()(|1)()()]???(|)(|1)()[()()(|1)](|)[()()](|1)H w H H v x n n A n x n n P n n A n P n n A n Q n K n P n n C n C n P n n C n Q n x n n x n n K n y n C n x n n P n n I K n C n P n n --=----=----+=--+=-+--=--2()v v Q n σ=()0w Q n =(|1)(1)(1|1)(1)()H w P n n A n P n n A n Q n -=----+21 ()(|1)[(|1)]v K n P n n P n n σ-=--+22(1)()[1()](1)(1)v v P n P n K n P n P n σσ-=--=-+

《自动控制原理》

《自动控制原理》 实验报告 姓名: 学号: 专业: 班级: 时段: 成绩: 工学院自动化系

实验一 典型环节的 MATLAB仿真 一、实验目的 1.熟悉MATLAB桌面和命令窗口,初步了解SIMULINK功能模块的使用方法。 2.通过观察典型环节在单位阶跃信号作用下的动态特性,加深对各典型环节响应曲线的理解。 3.定性了解各参数变化对典型环节动态特性的影响。 二、实验原理 1.比例环节的传递函数为 K R K R R R Z Z s G200 , 100 2 ) ( 2 1 1 2 1 2= = - = - = - = 其对应的模拟电路及SIMULINK图形如图1-3所示。 三、实验内容 按下列各典型环节的传递函数,建立相应的SIMULINK仿真模型,观察并记录其单位阶跃响应波形。 ①比例环节1 ) ( 1 = s G和2 ) ( 1 = s G; ②惯性环节 1 1 ) ( 1+ = s s G和 1 5.0 1 ) ( 2+ = s s G ③积分环节 s s G1 ) ( 1 = ④微分环节s s G= ) ( 1 ⑤比例+微分环节(PD)2 ) ( 1 + =s s G和1 ) ( 2 + =s s G ⑥比例+积分环节(PI) s s G1 1 ) ( 1 + =和s s G21 1 ) ( 2 + = 四、实验结果及分析 图1-3 比例环节的模拟电路及SIMULINK图形

① 仿真模型及波形图1)(1=s G 和2)(1=s G ② 仿真模型及波形图11)(1+= s s G 和1 5.01)(2+=s s G 11)(1+= s s G 1 5.01 )(2+=s s G ③ 积分环节s s G 1)(1= ④ 微分环节

自动控制原理MATLAB仿真实验报告

实验一 MATLAB 及仿真实验(控制系统的时域分析) 一、实验目的 学习利用MATLAB 进行控制系统时域分析,包括典型响应、判断系统稳定性和分析系统的动态特性; 二、预习要点 1、 系统的典型响应有哪些? 2、 如何判断系统稳定性? 3、 系统的动态性能指标有哪些? 三、实验方法 (一) 四种典型响应 1、 阶跃响应: 阶跃响应常用格式: 1、)(sys step ;其中sys 可以为连续系统,也可为离散系统。 2、),(Tn sys step ;表示时间范围0---Tn 。 3、),(T sys step ;表示时间范围向量T 指定。 4、),(T sys step Y =;可详细了解某段时间的输入、输出情况。 2、 脉冲响应: 脉冲函数在数学上的精确定义:0 ,0)(1)(0 ?==?∞ t x f dx x f 其拉氏变换为:) ()()()(1)(s G s f s G s Y s f === 所以脉冲响应即为传函的反拉氏变换。 脉冲响应函数常用格式: ① )(sys impulse ; ② ); ,();,(T sys impulse Tn sys impulse ③ ),(T sys impulse Y = (二) 分析系统稳定性 有以下三种方法: 1、 利用pzmap 绘制连续系统的零极点图; 2、 利用tf2zp 求出系统零极点; 3、 利用roots 求分母多项式的根来确定系统的极点 (三) 系统的动态特性分析 Matlab 提供了求取连续系统的单位阶跃响应函数step 、单位脉冲响应函数impulse 、零输入响应函数initial 以及任意输入下的仿真函数lsim.

MATLAB仿真实验报告

MATLAB 仿真实验报告 课题名称:MATLAB 仿真——图像处理 学院:机电与信息工程学院 专业:电子信息科学与技术 年级班级:2012级电子二班 一、实验目的 1、掌握MATLAB处理图像的相关操作,熟悉相关的函数以及基本的MATLAB语句。 2、掌握对多维图像处理的相关技能,理解多维图像的相关性质 3、熟悉Help 命令的使用,掌握对相关函数的查找,了解Demos下的MATLAB自带的原函数文件。 4、熟练掌握部分绘图函数的应用,能够处理多维图像。 二、实验条件

MATLAB调试环境以及相关图像处理的基本MATLAB语句,会使用Help命令进行相关函数查找 三、实验内容 1、nddemo.m函数文件的相关介绍 Manipulating Multidimensional Arrays MATLAB supports arrays with more than two dimensions. Multidimensional arrays can be numeric, character, cell, or structure arrays. Multidimensional arrays can be used to represent multivariate data. MATLAB provides a number of functions that directly support multidimensional arrays. Contents : ●Creating multi-dimensional arrays 创建多维数组 ●Finding the dimensions寻找尺寸 ●Accessing elements 访问元素 ●Manipulating multi-dimensional arrays操纵多维数组 ●Selecting 2D matrices from multi-dimensional arrays从多维数组中选择二维矩 阵 (1)、Creating multi-dimensional arrays Multidimensional arrays in MATLAB are created the same way as two-dimensional arrays. For example, first define the 3 by 3 matrix, and then add a third dimension. The CAT function is a useful tool for building multidimensional arrays. B = cat(DIM,A1,A2,...) builds a multidimensional array by concatenating(联系起来)A1, A2 ... along the dimension DIM. Calls to CAT can be nested(嵌套). (2)、Finding the dimensions SIZE and NDIMS return the size and number of dimensions of matrices. (3)、Accessing elements To access a single element of a multidimensional array, use integer subscripts(整数下标). (4)、Manipulating multi-dimensional arrays

Matlab仿真实例-卫星轨迹

卫星轨迹 一.问题提出 设卫星在空中运行的运动方程为: 其中是k 重力系数(k=401408km3/s)。卫星轨道采用极坐标表示,通过仿真,研究发射速度对卫星轨道的影响。实验将作出卫星在地球表面(r=6400KM ,θ=0)分别以v=8KM/s,v=10KM/s,v=12KM/s 发射时,卫星绕地球运行的轨迹。 二.问题分析 1.卫星运动方程一个二阶微分方程组,应用Matlab 的常微分方程求解命令ode45求解时,首先需要将二阶微分方程组转换成一阶微分方程组。若设,则有: 2.建立极坐标如上图所示,初值分别为:卫星径向初始位置,即地球半径:y(1,1)=6400;卫星初始角度位置:y(2,1)=0;卫星初始径向线速度:y(3,1)=0;卫星初始周向角速度:y(4,1)=v/6400。 3.将上述一阶微分方程及其初值带入常微分方程求解命令ode45求解,可得到一定时间间隔的卫星的径向坐标值y(1)向量;周向角度坐标值y(2)向量;径向线速度y(3)向量;周向角速度y(4)向量。 4.通过以上步骤所求得的是极坐标下的解,若需要在直角坐标系下绘制卫星的运动轨迹,还需要进行坐标变换,将径向坐标值y(1)向量;周向角度坐标值y(2)向量通过以下方程转换为直角坐标下的横纵坐标值X,Y 。 5.卫星发射速度速度的不同将导致卫星的运动轨迹不同,实验将绘制卫星分别以v=8KM/s ,v=10KM/s ,v=12KM/s 的初速度发射的运动轨迹。 三.Matlab 程序及注释 1.主程序 v=input('请输入卫星发射速度单位Km/s :\nv=');%卫星发射速度输入。 axis([-264007000-1000042400]);%定制图形输出坐标范围。 %为了直观表达卫星轨迹,以下语句将绘制三维地球。 [x1,y1,z1]=sphere(15);%绘制单位球。 x1=x1*6400;y1=y1*6400;???????-=+-=dt d dt dr r dt d dt d r r k dt r d θ θθ2)(2 22222θ==)2(,)1(y r y ?????????????**-=**+*-===)1(/)4()3(2)4()4()4()1()1()1()3()4()2() 3()1(y y y dt dy y y y y y k dt dy y dt dy y dt dy ???*=*=)] 2(sin[)1(Y )]2(cos[)1(X y y y y

自动控制原理MATLAB仿真实验

传递函数及方框图的建立(典型环节) 一、实验目的 1.熟悉MATLAB 桌面和命令窗口,初步了解SIMULINK 功能模块的使用方法。 2.通过观察典型环节在单位阶跃信号作用下的动态特性,加深对各典型环节响应曲线的理解。 3.定性了解各参数变化对典型环节动态特性的影响。 二、SIMULINK 的使用 MATLAB 中SIMULINK 是一个用来对动态系统进行建模、仿真和分析的软件包。利用SIMULINK 功能模块可以快速的建立控制系统的模型,进行仿真和调试。 1.运行MATLAB 软件,在命令窗口栏“>>”提示符下键入simulink 命令,按Enter 键或在工具栏单击按钮,即可进入如图1-1所示的SIMULINK 仿真环境下。 2.选择File 菜单下New 下的Model 命令,新建一个simulink 仿真环境常规模板。 3.在simulink 仿真环境下,创建所需要的系统。 以图1-2所示的系统为例,说明基本设计步骤如下: 1)进入线性系统模块库,构建传递函数。点击simulink 下的“Continuous ”,再将右边窗口中“Transfer Fen ”的图标用左键拖至新建的“untitled ”窗口。 2)改变模块参数。在simulink 仿真环境“untitled ”窗口中双击该图标,即可改变传递函数。其中方括号内的数字分别为传递函数的分子、分母各次幂由高到低的系数,数字之间用空格隔开;设置完成后,选择OK ,即完成该模块的设置。 3)建立其它传递函数模块。按照上述方法,在不同的simulink 的模块库中,建立系统所需的传递函数模块。例:比例环节用“Math ”右边窗口“Gain ”的图标。 4)选取阶跃信号输入函数。用鼠标点击simulink 下的“Source ”,将右边窗口中“Step ”图标用左键拖至新建的“untitled ”窗口,形成一个阶跃函数输入模块。 5)选择输出方式。用鼠标点击simulink 下的“Sinks ”,就进入输出方式模块库,通常选用“Scope ”的示波器图标,将其用左键拖至新建的“untitled ”窗口。 6)选择反馈形式。为了形成闭环反馈系统,需选择“Math ” 模块库右边窗口“Sum ”图1-1 SIMULINK 仿真界面 图1-2 系统方框图

自动控制原理课程设计MATLAB仿真

目录 概述 (1) 一、实验目的 (1) 二、简述MATLAB语言的特点及其主要功能 (1) 三、控制系统仿真时常用的方法和指令 (2) 1、控制系统仿真时常用的方法 (2) a、数学仿真 (2) b、半物理仿真 (2) c、全物理仿真 (2) 2、控制系统仿真时常用的指令 (2) 1)、Bode图 (2) ①、绘制Bode图 (2) ②、系统的增益裕度和相角裕度 (2) 2)、Nichols图 (3) 3)、Nyquist图 (3) 4)、一般频率响应图 (3) 5)、频率响应的奇异值图 (3) 6)、绘制根轨迹 (4) 四、实验内容 (4) 五、心得体会 (22) 六、参考文献 (22)

概述 MATLAB 是一种直观、高效的计算机语言,同时也是一个科学计算平台。 它的伴随工具Simulink 是用来对真实世界的动力学系统建模、模拟仿真和分析的软件。我们可将综合性和设计性实验项目通过MATLAB 在计算机上仿真,使系统的观察实验的动态过程。目前,MATLAB 已经成为我们当代大学生必须掌握的基本技能,在设计研究单位和工业部门,MATLAB 已经成为研究和解决各种具体工程问题的一种标准软件。在完成了验证性、综合性和设计性实验后,课程设计必不可少。课程设计是工科实践教学的一个重要的环节,目的是培养我们综合运用理论知识分析和解决实际问题的方法和能力,实现由知识向技能的初步化。所以课程设计是培养我们思维创造能力最有效的途径。 一、实验目的 1、培养理论联系实际的科学态度,训练综合运用经典控制理论和相关课程知识 的能力。 2、掌握自动控制原理的时域分析法,根轨迹法,频域分析法,以及各种(矫正) 装置的作用及用法,能够利用不同的分析方法对给定系统进行性能分析,能根据不同的系统性能指标要求进行合理的系统设计,并调试满足系统的指标。 3、学会使用MATLAB语言及Simulink动态仿真工具进行系统的仿真与调试。 4、锻炼独立思考和动手解决控制系统实际问题的能力。 二、简述MATLAB语言的特点及其主要功能 MATLAB是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks 公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。 MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连 matlab开发工作界面接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。

MATLAB实现通信系统仿真实例

补充内容:模拟调制系统的MATLAB 仿真 1.抽样定理 为了用实验的手段对连续信号分析,需要先对信号进行抽样(时间上的离散化),把连续数据转变为离散数据分析。抽样(时间离散化)是模拟信号数字化的第一步。 Nyquist 抽样定律:要无失真地恢复出抽样前的信号,要求抽样频率要大于等于两倍基带信号带宽。 抽样定理建立了模拟信号和离散信号之间的关系,在Matlab 中对模拟信号的实验仿真都是通过先抽样,转变成离散信号,然后用该离散信号近似替代原来的模拟信号进行分析的。 【例1】用图形表示DSB 调制波形)4cos()2cos(t t y ππ= 及其包络线。 clf %%计算抽样时间间隔 fh=1;%%调制信号带宽(Hz) fs=100*fh;%%一般选取的抽样频率要远大于基带信号频率,即抽样时间间隔要尽可能短。 ts=1/fs; %%根据抽样时间间隔进行抽样,并计算出信号和包络 t=(0:ts:pi/2)';%抽样时间间隔要足够小,要满足抽样定理。 envelop=cos(2*pi*t);%%DSB 信号包络 y=cos(2*pi*t).*cos(4*pi*t);%已调信号 %画出已调信号包络线 plot(t,envelop,'r:','LineWidth',3); hold on plot(t,-envelop,'r:','LineWidth',3); %画出已调信号波形 plot(t,y,'b','LineWidth',3); axis([0,pi/2,-1,1])% hold off% xlabel('t'); %写出图例 【例2】用图形表示DSB 调制波形)6cos()2cos(t t y ππ= 及其包络线。 clf %%计算抽样时间间隔 fh=1;%%调制信号带宽(Hz) fs=100*fh;%抽样时间间隔要足够小,要满足抽样定理。 ts=1/fs; %%根据抽样时间间隔进行抽样

自动控制原理MATLAB仿真实验

自动控制原理MATLAB仿真实验 实验一典型环节的MATLAB仿真 一、实验目的 1.熟悉MATLAB桌面和命令窗口,初步了解SIMULINK功能模块的使用方法。 2.通过观察典型环节在单位阶跃信号作用下的动态特性,加深对各典型环节响应曲线的理解。 3.定性了解各参数变化对典型环节动态特性的影响。 二、SIMULINK的使用 MATLAB中SIMULINK是一个用来对动态系统进行建模、仿真和分析的软件包。利用SIMULINK功能模块可以快速的建立控制系统的模型,进行仿真和调试。 1.运行MATLAB软件,在命令窗口栏“>>”提示符下键入simulink命令,按Enter 键或在工具栏单击按钮,即可进入如图1-1所示的SIMULINK仿真环境下。 2.选择File菜单下New下的Model命令,新建一个simulink仿真环境常规模板。 图1-1 SIMULINK仿真界面图1-2 系统方框图

3.在simulink 仿真环境下,创建所需要的系统。 以图1-2所示的系统为例,说明基本设计步骤如下: 1)进入线性系统模块库,构建传递函数。点击simulink 下的“Continuous ”,再将右边窗口中“Transfer Fen ”的图标用左键拖至新建的“untitled ”窗口。 2)改变模块参数。在simulink 仿真环境“untitled ”窗口中双击该图标,即可改变传递函数。其中方括号内的数字分别为传递函数的分子、分母各次幂由高到低的系数,数字之间用空格隔开;设置完成后,选择OK ,即完成该模块的设置。 3)建立其它传递函数模块。按照上述方法,在不同的simulink 的模块库中,建立系统所需的传递函数模块。例:比例环节用“Math ”右边窗口“Gain ”的图标。 4)选取阶跃信号输入函数。用鼠标点击simulink 下的“Source ”,将右边窗口中“Step ”图标用左键拖至新建的“untitled ”窗口,形成一个阶跃函数输入模块。 5)选择输出方式。用鼠标点击simulink 下的“Sinks ”,就进入输出方式模块库,通常选用“Scope ”的示波器图标,将其用左键拖至新建的“untitled ”窗口。 6)选择反馈形式。为了形成闭环反馈系统,需选择“Math ” 模块库右边窗口“Sum ”图标,并用鼠标双击,将其设置为需要的反馈形式(改变正负号)。 7)连接各元件,用鼠标划线,构成闭环传递函数。 8)运行并观察响应曲线。用鼠标单击工具栏中的“”按钮,便能自动运行仿真环境下的系统框图模型。运行完之后用鼠标双击“Scope ”元件,即可看到响应曲线。 三、实验原理 1.比例环节的传递函数为 221211()2100,200Z R G s R K R K Z R =-=-=-== 其对应的模拟电路及SIMULINK 图形如图1-3所示。

增量调制MATLAB仿真实验

增量调制MATLAB仿真实验

增量调制(DM)实验 一、实验目的 (1)进一步掌握MATLAB的应用。 (2)进一步掌握计算机仿真方法。 (3)学会用MATLAB软件进行增量调制(DM)仿真实验。 二、实验原理 增量调制是由PCM发展而来的模拟信号数字化的一种编码方式,它是PCM的一种特例。增量调制编码基本原理是指用一位编码,这一位码不是表示信号抽样值的大小,而是表示抽样幅度的增量特性,即采用一位二进制数码“1”或“0”来表示信号在抽样时刻的值相对于前一个抽样时刻的值是增大还是减小,增大则输出“1”码,减小则输出“0”码。输出的“1”,“0”只是表示信号相对于前一个时刻的增减,不表示信号的绝对值。 增量调制最主要的特点就是它所产生的二进制代码表示模拟信号前后两个抽样值的差别(增加、还是减少)而不是代表抽样值本身的大小,因此把它称为增量调制。在增量调制系统的发端调制后的二进制代码1和0只表示信号这一个抽样时刻相对于前一个抽样时刻是增加(用1码)还是减少(用0码)。收端译码器每收到一个1码,译码器的输出相对于前一个时刻的值上升一个量化阶,而收到一个0码,译码器的输出相对于前一个时刻的值下降一个量化阶。 增量调制(DM)是DPCM的一种简化形式。在增量调制方式下,采用1比特量化器,即用1位二进制码传输样值的增量信息,预测器是

一个单位延迟器,延迟一个采样时间间隔。预测滤波器的分子系数向量是[0,1],分母系数为1。当前样值与预测器输出的前一样值相比较,如果其差值大于零,则发1码,如果小于零则发0码。 三、实验内容 增量调制系统框图如图一所示,其中量化器是一个零值比较器,根据输入的电平极性,输出为 δ,预测器是一个单位延迟器,其输出为前一个采样时刻的解码样值,编码器也是一个零值比较器,若其输入为负值,则编码输出为0,否则输出为1。解码器将输入1,0符号转换为 δ,然后与预测值相加后得出解码样值输出,同时也作为预测器的输入 输入样值 e n e n =δsgn(e n ) 传输 n ) n n-1+δsgn(e n ) x n + - + + 预测输出 + n-1 + 预测输出 解码样值输出 x n-1 预测输入x n =x n-1+δsgn(e n ) 图一 增量调制原理框图 设输入信号为: x(t)=sin2π50t+0.5sin 2π150t 增量调制的采样间隔为1ms,量化阶距δ=0.4,单位延迟器初始值为0。建立仿真模型并求出前20个采样点使客商的编码输出序列以 解码 编码 二电平量化 单位延迟 单位 延迟

自动控制原理仿真实验

实验一一阶惯性系统特性仿真分析 1 实验目的:熟悉仿真模块及参数设定方法,研究一阶惯性环节闭环传递函数参数T和K对系统单位阶跃响应性能的影响。 2 实验方法:利用SIMULINK建立系统结构图。见图1。 3 实验内容:按照仿真图要求,从SIMULINK库中取出相应的模块,并连接闭合的系统结构图。闭环传函G(s)=K/(Ts+1),K=1,T=0.2秒,观察阶跃相应曲线。重复改变T 分别为0.5秒、0.8秒观察阶跃相应曲线的变化。计算一阶系统的动态响应指标tr和ts。 4 实验步骤:启动计算机,运行Matlab软件,启动Simulink程序,按照内容要求组装控制系统,做好实验准备。 5 实验结果分析及结论: ①求出一界系统单位阶跃响应函数表达式,计算T=0.2,0.5,0.8时的响应指标tr和ts。 ② T逐渐增大时,上升时间tr和调节时间ts怎样变化? ③ T逐渐减小时,系统的闭环极点怎样变化? ④ T一定K增大时,系统的tr和ts怎样变化?闭环极点怎样变化? ⑤一界系统一定稳定吗?为什么? ⑥结论。 图1 一阶系统仿真

实验二二阶系统单位阶跃响应仿真分析 1 实验目的:学习利用SIMULINK库中的模块构成二阶系统的方法。分析二界系统的阻尼系数zhita对系统稳定性的影响。 2 实验方法:利用SIMULINK建立系统结构图。见图2。 3 实验内容:选择适当的仿真模块构成上述系统。令Wn=1。别选取zhita=1.5>1(过阻尼)、zhita=1(临界阻尼)、0

高频电子线路Matlab仿真实验

高频电子线路Matlab 仿真实验要求 1. 仿真题目 (1) 线性频谱搬移电路仿真 根据线性频谱搬移原理,仿真普通调幅波。 基本要求:载波频率为8kHz ,调制信号频率为400Hz ,调幅度为0.3;画出调制信号、载波信号、已调信号波形,以及对应的频谱图。 扩展要求1:根据你的学号更改相应参数和代码完成仿真上述仿真;载波频率改为学号的后5位,调制信号改为学号后3位,调幅度设为最后1位/10。(学号中为0的全部替换为1,例如学号2010101014,则载波为11114Hz ,调制信号频率为114,调幅度为0.4)。 扩展要求2:根据扩展要求1的条件,仿真设计相应滤波器,并获取DSB-SC 和SSB 的信号和频谱。 (2) 调频信号仿真 根据调频原理,仿真调频波。 基本要求:载波频率为30KHz ,调制信号为1KHz ,调频灵敏度32310f k π=??,仿真调制信号,瞬时角频率,瞬时相位偏移的波形。 扩展要求:调制信号改为1KHz 的方波,其它条件不变,完成上述仿真。 2. 说明 (1) 仿真的基本要求每位同学都要完成,并且记入实验基本成绩。 (2) 扩展要求可以选择完成。

1.0 >> ma = 0.3; >> omega_c = 2 * pi * 8000; >> omega = 2 * pi * 400; >> t = 0 : 5 / 400 / 1000 : 5 / 400; >> u_cm = 1; >> fc = cos(omega_c * t); >> fa = cos(omega * t); >> u_am = u_cm * (1 + fa).* fc; >> U_c =fft(fc,1024); >> U_o =fft(fa,1024); >> U_am =fft(u_am, 1024); >> figure(1); >> subplot(321);plot(t, fa, 'k');title('调制信号');grid;axis([0 2/400 -1.5 1.5]); >> subplot(323);plot(t, fc, 'k');title('高频载波');grid;axis([0 2/400 -1.5 1.5]); >> subplot(325);plot(t, u_am, 'k');title('已调信号');grid;axis([0 2/400 -3 3]); >> fs = 5000; >> w1 = (0:511)/512*(fs/2)/1000; >> subplot(322);plot(w1, abs([U_am(1:512)']),'k');title('调制信号频谱');grid;axis([0 0.7 0 500]); >> subplot(324);plot(w1, abs([U_c(1:512)']),'k');title('高频载波频谱');grid;axis([0 0.7 0 500]); >> subplot(326);plot(w1, abs([U_am(1:512)']),'k');title('已调信号频谱');grid;axis([0 0.7 0 500]); 1.1 >> ma = 0.8; >> omega_c = 2 * pi * 11138; >> omega = 2 * pi * 138; >> t = 0 : 5 / 400 / 1000 : 5 / 400; >> u_cm = 1; >> fc = cos(omega_c * t);

Matlab 编程方法及仿真实验

《现代机械工程基础实验》之机械工程控制基础综合实验报告 姓名 学号 班级 山东建筑大学机电工程学院 2012.06.04~06

第一部分 Matlab 编程方法及仿真实验 实验1. 三维曲面的绘制(略) 实验2. 系统零极点绘制例:求部分分式展开式和)(t g 一个线性定常系统的传递函数是 1 5422 3)(2 3 ++++= s s s s s G (1) 使用MATLAB 建立传递函数,并确定它的极点和零点,写出)(s G 的部分分式展开式并绘制 系统的脉冲响应。 实验结果:零点-0.6667 极点-0.8796 + 1.1414i -0.8796 - 1.1414i -0.2408 实验3. 系统的阶跃响应 例. )(s G 的阶跃响应 对例2中由(1)式给出的传递函数)(s G ,增加一个0=s 处的极点,使用impulse 命令绘制其拉普拉斯反变换式曲线,得到阶跃响应图。将该响应与对)(s G 使用step 命令所得到的响应比较,确定系统的DC 增益。利用初值定理和终值定理来校验结果。 实验结果:DC 增益= 2

实验4. 双输入反馈系统单位阶跃响应 考虑一个如图1所示的反馈系统,它既有参考输入也有干扰输入,其中对象和传感器的传递函数是 )12)(15.0(4)(++=s s s G p ,105.01 )(+=s s H 控制器是一个增益为80,有一个在3-=s 处的零点,极点/零点比15=α超前控制器。推导 两个独立的MATLAB 模型,其中一个模型的输入为)(s R ,另一个输入为)(s D 。使用这些模型确定闭环零点和极点,并在同一坐标系内绘制它们的阶跃响应。 D (s ) 图1 具有参考和干扰输入的反馈系统方框图 实验结果: 参考输入的CL 极点:-49.3658 -7.3336 + 7.9786i -7.3336 - 7.9786i -3.4670 参考输入的DC 增益:320 干扰输入的CL 零点:-45 干扰输入的CL 极点:-49.3658 -7.3336 + 7.9786i -7.3336 - 7.9786i -3.4670 干扰输入的DC 增益:4 -20

自动控制原理实验报告73809

-150-100 -50 50 实验一 典型环节的模拟研究及阶跃响应分析 1、比例环节 可知比例环节的传递函数为一个常数: 当Kp 分别为0.5,1,2时,输入幅值为1.84的正向阶跃信号,理论上依次输出幅值为0.92,1.84,3.68的反向阶跃信号。实验中,输出信号依次为幅值为0.94,1.88,3.70的反向阶跃信号, 相对误差分别为1.8%,2.2%,0.2%. 在误差允许范围内可认为实际输出满足理论值。 2、 积分环节 积分环节传递函数为: (1)T=0.1(0.033)时,C=1μf (0.33μf ),利用MATLAB ,模拟阶跃信号输入下的输出信号如图: T=0.1 T=0.033 与实验测得波形比较可知,实际与理论值较为吻合,理论上T=0.033时的波形斜率近似为T=0.1时的三倍,实际上为8/2.6=3.08,在误差允许范围内可认为满足理论条件。 3、 惯性环节 i f i o R R U U -=TS 1 CS R 1Z Z U U i i f i 0-=-=-=15 20

惯性环节传递函数为: K = R f /R 1,T = R f C, (1) 保持K = R f /R 1 = 1不变,观测T = 0.1秒,0.01秒(既R 1 = 100K,C = 1μf , 0.1μf )时的输出波形。利用matlab 仿真得到理论波形如下: T=0.1时 t s (5%)理论值为300ms,实际测得t s =400ms 相对误差为:(400-300)/300=33.3%,读数误差较大。 K 理论值为1,实验值2.12/2.28, 相对误差为(2.28-2.12)/2.28=7%与理论值 较为接近。 T=0.01时 t s (5%)理论值为30ms,实际测得t s =40ms 相对误差为:(40-30)/30=33.3% 由于ts 较小,所以读数时误差较大。 K 理论值为1,实验值2.12/2.28, 相对误差为(2.28-2.12)/2.28=7%与理论值较为接近 (2) 保持T = R f C = 0.1s 不变,分别观测K = 1,2时的输出波形。 K=1时波形即为(1)中T0.1时波形 K=2时,利用matlab 仿真得到如下结果: t s (5%)理论值为300ms,实际测得t s =400ms 相对误差为:(400-300)/300=33.3% 读数误差较大 K 理论值为2,实验值4.30/2.28, 1 TS K )s (R )s (C +-=

自动控制原理课程设计

扬州大学水利与能源动力工程学院 课程实习报告 课程名称:自动控制原理及专业软件课程实习 题目名称:三阶系统分析与校正 年级专业及班级:建电1402 姓名:王杰 学号: 141504230 指导教师:许慧 评定成绩: 教师评语: 指导老师签名: 2016 年 12月 27日

一、课程实习的目的 (1)培养理论联系实际的设计思想,训练综合运用经典控制理论和相关课程知识的能力; (2)掌握自动控制原理的时域分析法、根轨迹法、频域分析法,以及各种校正装置的作用及用法,能够利用不同的分析法对给定系统进行性能分析,能根据不同的系统性能指标要求进行合理的系统设计,并调试满足系统的指标; (3)学会使用MATLAB语言及Simulink动态仿真工具进行系统仿真与调试; (4)学会使用硬件搭建控制系统; (5)锻炼独立思考和动手解决控制系统实际问题的能力,为今后从事控制相关工作打下较好的基础。 二、课程实习任务 某系统开环传递函数 G(s)=K/s(0.1s+1)(0.2s+1) 分析系统是否满足性能指标: (1)系统响应斜坡信号r(t)=t,稳态误差小于等于0.01; (2)相角裕度y>=40度; 如不满足,试为其设计一个pid校正装置。 三、课程实习内容 (1)未校正系统的分析: 1)利用MATLAB绘画未校正系统的开环和闭环零极点图 2)绘画根轨迹,分析未校正系统随着根轨迹增益变化的性能(稳定性、快速性)。 3)作出单位阶跃输入下的系统响应,分析系统单位阶跃响应的性能指标。 4)绘出系统开环传函的bode图,利用频域分析方法分析系统的频域性能指标(相角裕度和幅值裕度,开环振幅)。 (2)利用频域分析方法,根据题目要求选择校正方案,要求有理论分析和计算。并与Matlab计算值比较。 (3)选定合适的校正方案(串联滞后/串联超前/串联滞后-超前),理论分析并计算校正环节的参数,并确定何种装置实现。

Matlab仿真实验教程

MATLAB的实验仿真 目录 实验一MATLAB在控制系统模型建立与仿真中的应用 (1) 实验二典型系统的时域响应分析 (13) 实验三线性控制系统的根轨迹与频域分析 (17) 实验四线性系统的校正 (22) 附录一 MATLAB6.5 控制系统工具箱函数和结构化的控制语句 (30) 附录二 SIMULINK 基本模块介绍 (34)

实验一 MATLAB 在控制系统模型建立与仿真中的应用 一、 MATLAB 基本操作与使用 1. 实验目的 1) 掌握MATLAB 仿真软件的安装及启动,熟悉 MATLAB 工作环境平台。 2) MATLAB 命令窗口,包括工具条以及菜单选项的使用;MATLAB 语言的基本规定,包括数值的表示、变量命名规定、基本运算符、预定义变量以及表达式等。 3) MATLAB 图形绘制功能、M 文件程序设计和线性控制系统传递函数模型的建立等。 2. 实验仪器 PC 计算机一台,MATLAB 软件1套 3. 实验内容 1) MATLAB 的启动 这里介绍MATLAB 装入硬盘后,如何创建MATLAB 的工作环境。 方法一 MATLAB 的工作环境由matlab.exe 创建,该程序驻留在文件夹matlab\bin\ 中。它的图标是 matlab 。只要从<我的电脑>或<资源管理器>中去找这个程序,然后双击此图标,就会自动创建如图1所示的MATLAB6.5 版的工作平台 。 图1 在英文Windows 平台上的MATLAB6.5 MATLAB 工作平台 方法二 假如经常使用MATLAB ,则可以在Windows 桌面上创建一个MATLAB 快捷方式图标。具体办法为: 把<我的电脑>中的 matlab 图标用鼠标点亮,然后直接把此图标拖到Windows 桌面上即可。此后,直接双击Windows 桌面上的matlab 图标,就可建立图1所示的 MATLAB 工作平台。 2) MATLAB 工作环境平台 桌面平台是各桌面组件的展示平台,默认设置情况下的桌面平台包括 6 个窗口,具体如下: ① MATLAB 窗口 Command Window

自动控制原理MATLAB仿真实验报告.

自动控制原理实验报告学院电子信息与电气工程学院

实验一 MATLAB 及仿真实验(控制系统的时域分析) 一、实验目的 学习利用MATLAB 进行控制系统时域分析,包括典型响应、判断系统稳定性和分析系统的动态特性; 二、预习要点 1、 系统的典型响应有哪些? 2、 如何判断系统稳定性? 3、 系统的动态性能指标有哪些? 三、实验方法 (一) 四种典型响应 1、 阶跃响应: 阶跃响应常用格式: 1、)(sys step ;其中sys 可以为连续系统,也可为离散系统。 2、),(Tn sys step ;表示时间范围0---Tn 。 3、),(T sys step ;表示时间范围向量T 指定。 4、),(T sys step Y =;可详细了解某段时间的输入、输出情况。 2、 脉冲响应: 脉冲函数在数学上的精确定义:0 ,0)(1)(0 ?==?∞ t x f dx x f 其拉氏变换为: ) ()()()(1 )(s G s f s G s Y s f === 所以脉冲响应即为传函的反拉氏变换。 脉冲响应函数常用格式: ① )(sys impulse ; ② ); ,(); ,(T sys impulse Tn sys impulse ③ ),(T sys impulse Y = (二) 分析系统稳定性 有以下三种方法: 1、 利用pzmap 绘制连续系统的零极点图; 2、 利用tf2zp 求出系统零极点; 3、 利用roots 求分母多项式的根来确定系统的极点 (三) 系统的动态特性分析 Matlab 提供了求取连续系统的单位阶跃响应函数step 、单位脉冲响应函数impulse 、零输入响应函数initial 以及任意输入下的仿真函数lsim.

基于MATLAB的系统仿真实验

基于MATLAB的系统仿真实验 实验指导书 新乡学院 二○○八年三月

说明 MATLAB是MATrix LABoratory的缩写,是一种基于矩阵的数学与工程计算系统,可以用作动态系统的建模与仿真。研究系统的结构和参数的变化对系统性能的影响可利用MATLAB强大的计算和作图功能,因此本实验采用MATLAB仿真研究连续控制系统和离散控制系统的性能分析过程。通过该实验提高学生对控制系统的分析与设计能力,加深对《自动控制原理》课程内容的理解。 由于学时有限,该实验由同学们参考有关MATLAB应用的书籍利用课后时间完成。

第一部分 基于MATLAB 连续系统的仿真 一、 实验目的 在研究系统的结构和参数的变化对系统性能的影响时,采用解析和作图的方法比较麻烦,而且误差也大,用MATLAB 仿真实现则简单方便,精度高。本实验采用MATLAB 实现控制系统的数学描述、控制系统的时域分析及根轨迹和频率特性分析。通过该实验,加深学生对系统阶次,型号,参数与系统性能的关系的理解。 二、实验环境 在计算机Windows 环境下安装好MATLAB6.3以上版本后,双击MATLAB 图标或成“开始”菜单打开MATLAB ,即可进入MATLAB 集成环境。 三、MATLAB 应用实例 1.拉氏变换和反变换 例 求22)(2++=t t t f 的拉氏变换 解 键入 syms s t; ft=t^2+2*t+2; st=laplace(ft,t,s) 运行结果为 st= 2/s^3+2/s^2+2/s 例 求) 2)(34(6 )(2 ++++= s s s s s F 的拉氏反变换 解 键入 syms s t; Fs=(s+6)/(s^2+4*s+3)/(s+2); ft=ilaplace(Fs,s,t) 运行结果为 ft= 3/2*exp(-3*t)+5/2*exp(-t)-4*exp(-2*t) 2。求根运算 例 求多项式 43)(2 3 ++=s s s p 的根,再由根建多项式。 解 键入 p=[1 3 0 4]; r=root(p) 运行结果为 r= -3.3553 0.1777+1.0773i 1.7777-1.0773i

相关文档
最新文档