当前位置:文档之家› 系统仿真的MATLAB实现.

系统仿真的MATLAB实现.

系统仿真的MATLAB实现.
系统仿真的MATLAB实现.

第七章系统仿真的MATLAB实现

由于计算机技术的高速发展,我们可以借助计算机完成系统的数字仿真。综前所述,数字仿真实质上是根据被研究的真实系统的模型,利用计算机进行实验研究的一种方法。仿真的主要过程是:建立模型、仿真运行和分析研究仿真结果。仿真运行就是借助一定的算法,获得系统的有关信息。

MATLAB是一种面向科学与工程计算的高级语言,它集科学计算、自动控制、信号处理、神经网络和图像处理等学科的处理功能于一体,具有极高的编程效率。MATLAB是一个高度集成的系统,MATLAB提供的Simulink是一个用来对动态系统进行建模、仿真和分析的软件包,它支持线性和非线性系统,能够在连续时间域、离散时间域或者两者的混合时间域里进行建模,它同样支持具有多种采样速率的系统。在过去几年里,Simulink已经成为数学和工业应用中对动态系统进行建模时使用得最为广泛的软件包。

MATLAB仿真有两种途径:(1)MATLAB可以在SIMULINK窗口上进行面向系统结构方框图的系统仿真;(2)用户可以在MATLAB的COMMAND窗口下,用运行m文件,调用指令和各种用于系统仿真的函数,进行系统仿真。这两种方式可解决任意复杂系统的动态仿真问题,前者编辑灵活,而后者直观性强,实现可视化编辑。

下面介绍在MATLAB上实现几类基本仿真。

7.1 计算机仿真的步骤

在学习计算机仿真以前,让我们先总结一下计算机仿真的步骤。

计算机仿真,概括地说是一个“建模—实验—分析”的过程,即仿真不单纯是对模型的实验,还包括从建模到实验再到分析的全过程。因此进行一次完整的计算机仿真应包括以下步骤:

(1)列举并列项目

每一项研究都应从说明问题开始,问题由决策者提供或由熟悉问题的分析者提供。

(2)设置目标及完整的项目计划

目标表示仿真要回答的问题、系统方案的说明。项目计划包括人数、研究费用以及每一阶段工作所需时间。

(3)建立模型和收集数据

模型和实际系统没有必要一一对应,模型只需描述实际系统的本质或者描述系统中所研究部分的本质。因此,最好从简单的模型开始,然后进一步建立更复杂的模型。

(4)编制程序和验证

利用数学公式、逻辑公式和算法等来表示实际系统的内部状态和输入/输出的关系。建模者必须决定是采用通用语言如MATLAB、FORTRAN、C还是专用仿真语言来编制程序。在本教材中,我们选择的是MATLAB和其动态仿真工具Simulink。

(5)确认

确认指确定模型是否精确地代表实际系统。它不是一次完成,而是比较模型和实际系统特性的差异,不断对模型进行校正的迭代过程。

(6)实验设计

确定仿真的方案、初始化周期的长度、仿真运行的长度以及每次运行的重复次数。

(7)生产性运行和分析

通常用于估计被仿真系统设计的性能量度。利用理论定性分析、经验定性分析或系统历史数据定量分析来检验模型的正确性,利用灵敏度分析等手段来检验模型的稳定性。

(8)文件清单和报表结果

(9)实现

图7.1是计算机仿真的程序图。

图7.1 计算机仿真程序流图

7.2 基于数值积分法的连续系统仿真

7.2.1 数值积分法的MATLAB实现

MATLAB的工具箱提供了各种数值积分方法函数,这些函数是ODE23、ODE45、ODE113和ODE15s。这些函数均是m文件,还有一个函数是ode1.C,是直接用C语言编写的。

函数ode23( )是用Runge-Kutta法求解微分方程。它是一种采用三阶积分算法、二阶误差估计、变积分步长的低阶积分算法,调用格式为

[T, Y] = ode23 ( 'F', TSPAN, YO, OPTIONS )

其中,F为系统模型文件名,模型为y' = f( t, y )形式;

TSPAN = [ T o TFINAL] 为积分计算时间,初值为T o ,终值为TFINAL ; YO 为系统输出初始值;

OPTIONS 选项积分计算相对允差 'RelTol' 和绝对允差 'AbsTol',当缺省时,

Reltol =1e-3, AbsTol =1e-6

T 为计算点时间向量,Y 为微分方程的解。

函数ode45( )也是用Runge-Kutta 法求解微分方程,它是变步长的一种中等阶次积分算法,调用格式为

[T, Y] = ode45 ( 'F' , TSPAN, YO, OPTIONS )

各项含义同上。

函数ode113( )是变阶的Adams-Bashforth-Moulton ,用变阶方法解微分方程,采用多步法,调用格式为

[T, Y] = ode113 ( 'F', TSPAN, YO, OPTIONS )

各项含义同上。

函数odel5s( )采用改进的Gear 法解微分方程,调用格式为 [T, Y] = odel5s ( 'F', TSPAN, YO, OPTIONS ) 各项含义同上。

MATLAB 还提供了解微分方程函数ode23s 。函数ode1.C 是用Euler 法求解微分方程。

在SIMULINK 中,系统仿真有变步距和固定步距两种工作方式。在变步距仿真中,可选用ode45、ode23、ode113、ose15s 和ode23s 。在固定步距仿真中,可选用材ode5、ode4、ode3、ode2和ode1。ode5是5阶Runge-Kutta 法,ode4是4阶Runge-Kutta 法,odel 是Euler 法。

【例7.1】求微分方程1 x 10,t 0 5,x x

0=≤≤+= 。 用MATLAB 编写程序: 建立一个m 函数文件dfun.m

funcion y =dhfn ( t ,x ) y =sqrt ( 3*x )+5 ;

在MATLAB COMMAND 窗口下运行 % MATLAB PROGRAM 7-1 [ t, x ]=ode23 ( 'dfun',[0 l0],1) ; Plot ( t ,x ) ;

7.2.2 基于数值积分法的连续系统的数字仿真

对于一个n 阶微分方程表示的连续系统,也可以用具有n 个状态变量的状态空间表达式来描述:

DU CX Y

BU AX X

+=+=

状态方程BU AX X += 实际上是n 个一阶微分方程组成的方程组。如果应用四

阶Runge-Kutta 法进行仿真计算。则该式可以改写为

h)

BU(t )hK A(X K ))2

h BU(t K 2h A(X K )2h BU(t )K 2h A(X K BU AX K )K 2K 2K (K 6

h

X X k 3k 4k 2k 3k 1k 2k k 14321k 1k +++=+++

=+++=+=++++

=+

式中,K 1,K 2,K 3,K 4均为n 维列向量。

系统输出为

y k =CX k +DU( t k )

类似地,可将各种数值积分方法用于连续系统的仿真中。

【例7.2】用MATLAB编写图7.2所示液压控制系统的仿真程序。

图7.2 系统方框图

用MATLAB编写仿真程序,采用四阶Runge-Kutta法:

% MATLAB PROGRAM 7-2

% ****** Input system data ***** %调入数据文件

hynat;

% Input system function; %调入系统模型

ypfun1 = ' valve ';

ypfun = ' hysys ';

% Initialization %初始化

yref = 5000; % Referent value of system output

x0 = [0 0]; % Initial value of servo valve

y0 = [0 0 0]; % Initial value of hydraulic cylinder

u0 = 0;

t0 = 0; % Start time of simulation

tfinal = 1; % End time of simulation

tsamp = 0.01; % Sample period

h = 0.001; % Simulation step size

Y1imit = 512;

Ilimit = 40;

max_epoch = fix ( tfinal / h )-1;

t = t0;

u1 = u0;

x = x0';

y = y0;

tout = zeros ( max_epoch, 1 );

uout = zeros ( max_epoch, 1);

yd = zeros ( max_epoch, 1 );

yout = zeros ( max_epoch, legth ( y ) );

i = 1;

tout ( i ) = t;

uout ( i ) = 1;

yd ( i ) = Kf * y ( l );

yout ( i, : ) = y';

% The main loop

for i = 1 : max_epoch

% Compute output of valve

svl = feval ( ypfun1, t, u, x, av, bv );

sv2 = fcval (ypfun1, t+h/2, u, x+h*sv1/2, av, hv ); %模块valve仿真sv3 = feval (ypfun1, t+h/2, u, x+h*sv2/2, av, hv );

sv4 = feval (ypfun1, t+h, u, x+h*sv3, av, hv);

x = x+h*(svl+2*sv2+2*sv3+sv4)/6;

vo = cv*x;

% Compute output of cylinder

xl = feval (ypfun, t, vo, y, a, b);

s2 = feval (ypfun, t+h/2, vo, y+h*s1/2, a, h); %模块hysya 仿真s3 = feval (ypfun, t+h/2, vo, y+h*s2/2, a, b);

s4 = feval (ypfun, t+h u, vo, y+h*s3, a, b);

y = y+h* (sl+2*s2+2*s3+s4)/6;

i=i+l

t=t+h;

tout(i) =t;

uout(i) =u;

yd(i)=Kf*y(l);

yout(i, :) = y';

% Discrete control process %离散控制量计算if abs (round (t/tsamp)-t/tsamp)

ye = yref-y(l)*Kf;

ul=Kd*ye;

% Saturation block

if ul>Ylimit

xl=ylimit ;

else if ul<-ylimit

xl =-Ylimit;

else xl = ul;

end

end

% D/A conversion

x2 = Kda*xl;

% Amplifier gain

x3=Ka*x2;

% V/I conversion

u4=Kvi*x3;

% limit of current

if u4>Ilimit

x4=Ilimit;

else if u4<-Ilimit

x4=-Ilimit;

else x4 =u4;

end

end

u = Kq*x4;

end % for discrete section end % for main loop

% save data to file %存储仿真数据hout = [tout uout yout];

save hout.dat hout -ascii;

plot (tout, yd, ' y');

gird;

m 函数文件

valve .m

function xd = valve (t, u, x, av, bv)

xd = av*x+hv*u;

m 函数文件

hysys. M

function yd=hysys(t, u, y, a, b)

yd = a* y+h*u

上例的仿真结果如图7.3所示。

图7.3 例7.2系统仿真结果

7.3 基于离散相似法的连续系统仿真

前面讨论的连续系统仿真采用的方法是数值积分法。对于连续系统仿真还有一种方法是离散相似法。所谓离散相似法是首先将连续系统模型离散化,得到等价的或相似的离散化的模型,然后对相似的离散模型进行仿真计算。根据这一原理,首先应将连续时间系统模型转换为等价的离散时间系统模型。连续系统离散化处理是通过采样保持器来实现的。从一个连续时间系统转换为相应的离散时间模型,两者的等价特性取决于采样保持器。

MATLAB提供了将连续系统模型转换为离散时间系统模型的函数C2D,调用

格式为

sysd = c2d (sys, Ts)

其中,sys 为线性连续时间系统;T s 为采样时间;sysd 为等价的离散时间系统。

当采样保持器为零阶保持器时; sysd = c2d (sys, Ts, method)

其中,method 为离散化方法,MATLAB 提供以下几种离散化方法,可以选用:

① 'zoh '为零阶保持器 ② 'foh'为一阶保持器

③ 'tustion'为双线性变换法,2

s T 12

s T 1e Z s s s T s -+==

④ 'prewarp'为改进的双线性变换法

⑤ 'matched'使连续和离散系统具有匹配的DC 增益 【例7.3】连续系统传递函数s

e s s s s H 35.02

5

41)(-++-=

,采样一阶采样保持器,采样周期为s T s 1.0=,求其离散化系统模型,并比较离散前后系统阶跃响应。

用MATLAB 编写程序: % MATLAB PROGRAM 7-3

sys = tf ( [l -1] , [14 5] , 'td' , 0.35 ); sysd = c2d ( sysc, 0.l, 'for' ) step ( sysc, sysd ); 运行结果: Transfer function:

4

^6703.05^629.16^009104

.00562.02^0456.03^0115.0z z z z z z +---+

Sampling time: 0.1

图7.4 例7.3离散前后系统阶跃响应比较

7.4 离散事件系统仿真的MATLAB实现应用实例

7.4.1 随机变量的产生

MATLAB提供了两个基本的函数用于产生随机数。它们是rand和randn。

1.rand

它的作用是产生(0, 1)间均匀分布的随机数或向量。其调用形式有

Y = rand ( n ) 返回一个n维的U(0,l)随机数方阵,n

必须是一个标量

Y = rand (m, n)或Y = rand ([m n]) 返回一个m×n维的U(0, l)随机数矩

阵,n必须是一个标量

Y = rand (size(A) ) 返回和矩阵A相同维数的矩阵

rand 返回单个的随机数

s = rand ( 'state' ) 返回均匀分布随机数发生器的当前状

态矢量,其维数是35。这种形式一般

不常用。

MATLAB 5以上的版本使用了多种随机数发生器,它可以产生[ 2-53,253 ]内的所有浮点数。它的序列周期为21492。

【例7.4】

>> rand (3, 4)

ans =

0.9528 0.5982 0.8368 0.3759

0.7041 0.8407 0.5187 0.8986

0.9539 0.4428 0.0222 0.4290

>>a = zero (2, 2) %zeros函数可以起到声明变量的作用

a =

0 0

00

>>rand (size(a))

ans =

0.1996 0.5385

0.3031 0.9201

>>(3-1)*rand(2, 3)+l %产生[1,3]区间上的均匀分布随机数ans =

2.0506 1.0689 2.5374

1.6137

2.4307 1.1190

2.randn

其作用是产生标准正态分布的随机数或随机矢量,其调用形式和rand类似。

【例7.5】

>>randn(1,2)

ans =

-0.4326 -1.6656

>>randn(1, 2) / 2+1 %产生N(1, 0.25)的正态分布。

ans =

l.0627 1.1438

3.randperm

其作用是产生一个随机置换,调用形式

p = randperm(n) 产生1:n的一个随机置换。

【例7.6】

>>p = randperm(4)

p =

2 3 4 1

以rand和randn为基础可以产生给定分布的随机数,例如泊松分布和二项分布。M文件函数posong演示了如何产生泊松分布的随机数。

function p = posong(a, n, m)

w = ones(n, m)*(-a);

th = exp(w);

r = ones(n, m)

dv = r > th;

p = zeros(n, m);

while nnz(dv ) > 0

r = r.*(rand(n, m).*dv);

dv = r > th;

p = p+dv;

end

在这里我们对它的MATLAB的实现,简要地说明一下。参数a指泊松分布的参数,n, m则指返回的随机矢量的维数。这个程序中有几个地方需要注意:(1)MATLAB支持矢量的逻辑运算,运算结果是一个元素为0或1的矢量。如“r > th”这条语句。

(2)函数nnz的作用是统计一个矢量非0元素的个数。在这里的作用是判断是不是r中所有的元素小于exp(-a)。

(3)运算符“.*”表示数组元素对元素的乘法,如[a1, a2, …,an].*[b1, b2, …, bn] = [al*bl, a2*b2, …, an*bn]

总之这个程序比较充分的利用了MATLAB基于向量的特点,产生二项分布随机数M文件函数,请大家自己尝试。

其实,像上面的这些工作可以由MATLAB完成,MATLAB的统计工具箱提供了一个各种分布随机数的发生器函数。安装MATLAB的统计工具箱,就可以使用这些函数。表7.1列出了这些函数。

你可以通过help命令在MATLAB界面上来获得这些函数的详尽使用方法。下面作为示例来看看random的用法。

4.Random

它的作用是产生一个由name参数指定的分布的随机数。其调用形式为:R = random (name, A, M, N ),

name指定分布的形式,A说明该分布的参数,M,N规定产生的随机数的矩阵维数,M为行数,N为列数,它们的缺省值都是1(MATLAB所有函数涉及维数的参数,顺序都是行在前,列在后)。由于name指定的分布可能不止由一个参数来表示,所以调用形式要做相应的变化。

R = random(name, A, B, M, N),指定的分布含有两个参数。

R = random(name, A, B, C, M, N),指定的分布含有三个参数。

例如,泊松分布只含有一个参数,就要选用第一种形式来调用。

>>random ( 'poiss', 4, 2, 2)

ans =

6 4

6 1

表7.1 MATLAB统计工具箱里的随机数发生器

7.4.2 离散事件系统仿真的一个实例——报童问题仿真

报童问题是一个古典的概率统计分析问题,虽然问题本身并不复杂,但作为一个演示实例,可以反映出离散事件系统计算机仿真的很多特征。

1.报童问题

一报童从报刊发行中心定报后零售,每卖一份报纸可赚钱a元,若定报后卖不出去,则可再退回发行处,此时每退一份报要赔钱b元。虽然每天卖出报的份数是随机的,但报童可根据以往卖报情况的统计来获得每天卖k份的概率p(k),试求报童每天期望受益达到最大的定报量z'。

2.数学摸型

设报童每天订报z 份,而报纸每天卖出y 份,我们假设y 的分布为

,2,1,0 )(===k p k y p k

考虑到报童每天的损失有如下两种情形。

(1)供过于求。因退货造成的平均损失为:

∑∞

=-=01)(k k p k z b c

(2)供不应求。因缺货造成的平均损失为

∑∞

+=-=12)(z k k p z k a c

所以,每天的期望损失费(也可以从总收益的角度来考虑)为

21)(c c z C +=

现在我们的目标是求出使得每天期望损失最小的定报量,换言之,就是使报童的每天期望总收益达到最大。写成一个目标函数的形式

)(1

min z C z -='

约束条件如z 的取值范围,要受到报童的资本多少的影响。

只有在特殊的概率分布情况下,我们才可以推导出C (z )的解析形式,并通过求极值的方法来求解。但在实际的应用中,这样的思路往往是行不通的。但是可以通过枚举所有可能的订报量,求出对应的平均损失,进行比较求出满足条件的z ,这里搜索域通常是有限的。以上就是一个比较简单的计算机仿真方法。

3.报童问题的计算机仿真

对于给定每一订报量Z 值,利用离散随机变量采样算法产生给定分布的随机数R ,用来表示报童当天卖出的报纸数,从而可以计算出一天的损失以及一个阶段的平均损失。这里比较关键的一点是如何产生服从给定分布的随机变量,这个内容在本教材中不再详尽介绍。而且在实际的应用中,分布并非总是给定了的,需要我们

收集数据,并从中辨识分布,进行参数估计。图7.5是根据上述思路设计出的仿真流程框图。

其中各变量含义如下:

Tm——一轮试验的预定模拟天数T——一轮实验的仿真天数累计值

Z——订报量Z′——最优订报量

G——定报量Z之上界S1——损失值之累计值

S——最小损失值

这里,a和b是这个问题的两个参数。

图7.5 报童问题计算机仿真流程框图

4.计算机仿真

根据图7.5所示框图,我们不难写出报童问题的仿真程序,其MATLAB源码如下。

function [superz, supers] = baotong ( tm, g, a, b)

z = 1;

supers =1000;

while z

% r=poisondis (5, 1, tm);

r = round (2*randn (1, tm)+5);

%产生均匀分布随机数

t =1;

s =0;

dv = z>r;

s = sum(((z-r)*b).*dv);

s = s+sum(((r-z)*a).*(l-dv));

aver_s =s/tm;

if supers>=aver_s

supers = aver_s;

superz = z;

end;

z = z +1;

end;

上面的代码,是在随机变量均匀分布的假设下编写的,对于其他的分布,大家只要用相应的随机数发生器进行替换即可。

5.仿真结果和输出数据分析

在分布为均匀分布,参数a=0.2,b=0.4的条件下,在MATLAB命令窗口运行仿真程序就可以得出仿真的结果。例如

>>[ z, s ] = baotong (5, 10, 0.2, 0.4)

z =

4

s =

0.2400

此外,我们还可以改变参数a、b的值,观察相应最优值的变化,用MATLAB 可以很方便的画出C-a,C-b的变化曲线。

6.报童问题模拟系统的推广和应用

报童仿真问题的改进推广和应用可以有以下几个方面:

(1)求每天的卖出报数服从任意分布的情况下,使报童收益最大意义下的最优订报量Z′;

(2)对报纸总发行量进行测算;

(3)适当修改仿真系统,可将其用于其它系统,例如企业的订货和库存策略研究。

7.5 SIMULINK动态仿真

SIMULINK是MATLAB重要软件包,用于对动态系统仿真

......,它适用于连续系统和离散系统,也适用线性系统和非线性系统。它采用系统模块直观地描述系统典型环节,因此可十分方便地建立系统模型而不需要花较多时间编程。正由于这些特点,SIMULINK广泛流行,被认为是最受欢迎的仿真软件。本节对SIMULINK和它的MATLAB实现,作一个简单介绍,为大家今后运用SIMULINK打下基础。

SIMULINK实际上是面向结构的系统仿真软件。利用它进行系统仿真的步骤如下:

(1)启动SIMULINK,进入SIMULINK窗口;

(2)在SIMULINK窗口下,借助SIMULINK模块库,创建系统框图模型并调整模块参数;

(3)设置仿真参数后,启动仿真;

(4)输出仿真结果。

7.5.1 SIMULINK窗口及模型库

用户首先进入MATLAB COMMAND窗口,键入Simulink,立即弹出Simulink 模块库窗口,如图7.6所示。

Library:Simulink窗口是Simulink模块库窗口,共有7个标准模块子库。一个MATLAB演示程序图标。

这七个标准模块子库是Source(信号源)、Sink(显示输出)、Discrete(离散)、Linear(线性)、Nonlinear(非线性)、Connections(连接)、Blocksets & Toolboxes。每个模块子库又包含许多常用的模块,供用户建模时使用,SIMULINK提供的库模块清单见附录。

图7.6 Simulink模块库窗口

Matlab通信系统仿真实验报告

Matlab通信原理仿真 学号: 2142402 姓名:圣斌

实验一Matlab 基本语法与信号系统分析 一、实验目的: 1、掌握MATLAB的基本绘图方法; 2、实现绘制复指数信号的时域波形。 二、实验设备与软件环境: 1、实验设备:计算机 2、软件环境:MATLAB R2009a 三、实验内容: 1、MATLAB为用户提供了结果可视化功能,只要在命令行窗口输入相应的命令,结果就会用图形直接表示出来。 MATLAB程序如下: x = -pi::pi; y1 = sin(x); y2 = cos(x); %准备绘图数据 figure(1); %打开图形窗口 subplot(2,1,1); %确定第一幅图绘图窗口 plot(x,y1); %以x,y1绘图 title('plot(x,y1)'); %为第一幅图取名为’plot(x,y1)’ grid on; %为第一幅图绘制网格线 subplot(2,1,2) %确定第二幅图绘图窗口 plot(x,y2); %以x,y2绘图 xlabel('time'),ylabel('y') %第二幅图横坐标为’time’,纵坐标为’y’运行结果如下图: 2、上例中的图形使用的是默认的颜色和线型,MATLAB中提供了多种颜色和线型,并且可以绘制出脉冲图、误差条形图等多种形式图: MATLAB程序如下: x=-pi:.1:pi; y1=sin (x); y2=cos (x); figure (1); %subplot (2,1,1); plot (x,y1); title ('plot (x,y1)'); grid on %subplot (2,1,2); plot (x,y2);

春MATLAB仿真期末大作业

MATLAB仿真 期末大作业 姓名:班级:学号:指导教师:

2012春期末大作业 题目:设单位负反馈控制系统前向通道传递函数由)()(21s G s G 和串联,其中: ) 1(1)()(21++==s A s G s K s G A 表示自己学号最后一位数(可以是零),K 为开环增益。要求: (1)设K=1时,建立控制系统模型,并绘制阶跃响应曲线(用红色虚线,并标注坐标和标题);求取时域性能指标,包括上升时间、超调量、调节时间、峰值时间; (2)在第(1)问中,如果是在命令窗口绘制阶跃响应曲线,用in1或者from workspace 模块将命令窗口的阶跃响应数据导入Simulink 模型窗口,用示波器显示阶跃响应曲线;如果是在Simulink 模型窗口绘制阶跃响应曲线,用out1或者to workspace 模块将Simulink 模型窗口的阶跃响应数据导入命令窗口并绘制阶跃响应曲线。 (3)用编程法或者rltool 法设计串联超前校正网络,要求系统在单位斜坡输入信号作用时,速度误差系数小于等于0.1rad ,开环系统截止频率s rad c /4.4''≥ω,相角裕度大于等于45度,幅值裕度大于等于10dB 。

仿真结果及分析: (1)、(2)、将Simulink模型窗口的阶跃响应数据导入命令窗口并绘制阶跃响应曲线 通过在Matlab中输入命令: >> plot(tout,yout,'r*-') >> title('阶跃响应曲线') 即可得出系统阶跃响应曲线,如下: 求取该控制系统的常用性能指标:超调量、上升时间、调节时间、峰值时间的程序如下: G=zpk([],[0,-1],5)。 S=feedback(G,1)。

电机学matlab仿真大作业报告

. 基于MATLAB的电机学计算机辅助分析与仿真 实验报告

一、实验内容及目的 1.1 单相变压器的效率和外特性曲线 1.1.1 实验内容 一台单相变压器,N S =2000kVA, kV kV U U N N 11/127/21=,50Hz ,变压器的参数 和损耗为008.0* ) 75(=C k o R ,0725.0*=k X ,kW P 470=,kW P C KN o 160)75(=。 (1)求此变压器带上额定负载、)(8.0cos 2滞后=?时的额定电压调整率和额定效率。 (2)分别求出当0.1,8.0,6.0,4.0,2.0cos 2=?时变压器的效率曲线,并确定最大效率和达到负载效率时的负载电流。 (3)分析不同性质的负载(),(8.0cos 0.1cos ),(8.0cos 222超前,滞后===???)对变压器输出特性的影响。 1.1.2 实验目的 (1)计算此变压器在已知负载下的额定电压调整率和额定效率 (2)了解变压器效率曲线的变化规律 (3)了解负载功率因数对效率曲线的影响 (4)了解变压器电压变化率的变化规律 (5)了解负载性质对电压变化率特性的影响 1.1.3 实验用到的基本知识和理论 (1)标幺值、效率区间、空载损耗、短路损耗等概念 (2)效率和效率特性的知识 (3)电压调整率的相关知识 1.2串励直流电动机的运行特性 1.2.1实验内容 一台16kw 、220V 的串励直流电动机,串励绕组电阻为0.12Ω,电枢总电阻为0.2Ω。电动势常数为.电机的磁化曲线近似的为直线。其中为比例常数。假设电枢电流85A 时,磁路饱和(为比较不同饱和电流对应的效果,饱和电流可以自己改变)。

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仿真 实验报告 实验名称: 8QAM误码率仿真 试验日期: 2014年 6月3日 专业:通信工程 姓名:罗侃鸣 班级: 2011112班 学号: 20112272

一、实验要求 写MATLAB程序,对图示的信号星座图完成M=8的QAM通信系统Monte Carlo仿真,在不同SNRindB=0:15时,对N=10000(3比特)个符号进行仿真。画出该QAM系统的符号误码率。 二、实验原理 1 QAM调制原理 QAM(Quadrature Amplitude Modulation)正交幅度调制技术,是用两路独立的基带信号对两个相互正交的同频载波进行抑制载波双边带调幅,利用这种已调信号的频谱在同一带宽内的正交性,实现两路并行的数字信息的传输。该调制方式通常有8QAM,16QAM,64QAM。 QAM调制实际上就是幅度调制和相位调制的组合,相位+ 幅度状态定义了一个数字或数字的组合。QAM的优点是具有更大的符号率,从而可获得更高的系统效率。通常由符号率确定占用带宽。因此每个符号的比特(基本信息单位)越多,频带效率就越高。 调制时,将输入信息分成两部分:一部分进行幅度调制;另一部分进行相位调制。对于星型8QAM信号,每个码元由3个比特组成,可将它分成第一个比特和后两个个比特两部分。前者用于改变信号矢量的振幅,后者用于差分相位调制,通过格雷编码来改变当前码元信号矢量相位与前一码元信号矢量相位之间的相位差。 QAM是一种高效的线性调制方式,常用的是8QAM,16QAM,64QAM等。当随着M 的增大,相应的误码率增高,抗干扰性能下降。 2 QAM星座图 QAM调制技术对应的空间信号矢量端点分布图称为星座图。QAM的星座图呈现星状分

MATLAB Simulink系统建模与仿真 实验报告

MATLAB/Simulink 电力系统建模与仿真 实验报告 姓名:****** 专业:电气工程及其自动化 班级:******************* 学号:*******************

实验一无穷大功率电源供电系统三相短路仿真 1.1 无穷大功率电源供电系统仿真模型构建 运行MATLAB软件,点击Simulink模型构建,根据电路原理图,添加下列模块: (1)无穷大功率电源模块(Three-phase source) (2)三相并联RLC负荷模块(Three-Phase Parallel RLC Load) (3)三相串联RLC支路模块(Three-Phase Series RLC Branch) (4)三相双绕组变压器模块(Three-Phase Transformer (Two Windings)) (5)三相电压电流测量模块(Three-Phase V-I Measurement) (6)三相故障设置模块(Three-Phase Fault) (7)示波器模块(Scope) (8)电力系统图形用户界面(Powergui) 按电路原理图连接线路得到仿真图如下: 1.2 无穷大功率电源供电系统仿真参数设置 1.2.1 电源模块 设置三相电压110kV,相角0°,频率50Hz,接线方式为中性点接地的Y形接法,电源电阻0.00529Ω,电源电感0.000140H,参数设置如下图:

1.2.2 变压器模块 变压器模块参数采用标幺值设置,功率20MVA,频率50Hz,一次测采用Y型连接,一次测电压110kV,二次侧采用Y型连接,二次侧电压11kV,经过标幺值折算后的绕组电阻为0.0033,绕组漏感为0.052,励磁电阻为909.09,励磁电感为106.3,参数设置如下图: 1.2.3 输电线路模块 根据给定参数计算输电线路参数为:电阻8.5Ω,电感0.064L,参数设置如下图: 1.2.4 三相电压电流测量模块 此模块将在变压器低压侧测量得到的电压、电流信号转变成Simulink信号,相当于电压、电流互感器的作用,勾选“使用标签(Use a label)”以便于示波器观察波形,设置电压标签“Vabc”,电流标签“Iabc”,参数设置如下图:

matlab机电系统仿真大作业

一曲柄滑块机构运动学仿真 1、设计任务描述 通过分析求解曲柄滑块机构动力学方程,编写matlab程序并建立Simulink 模型,由已知的连杆长度和曲柄输入角速度或角加速度求解滑块位移与时间的关系,滑块速度和时间的关系,连杆转角和时间的关系以及滑块位移和滑块速度与加速度之间的关系,从而实现运动学仿真目的。 2、系统结构简图与矢量模型 下图所示是只有一个自由度的曲柄滑块机构,连杆与长度已知。 图2-1 曲柄滑块机构简图 设每一连杆(包括固定杆件)均由一位移矢量表示,下图给出了该机构各个杆件之间的矢量关系 图2-2 曲柄滑块机构的矢量环

3.匀角速度输入时系统仿真 3.1 系统动力学方程 系统为匀角速度输入的时候,其输入为输出为;。 (1) 曲柄滑块机构闭环位移矢量方程为: (2)曲柄滑块机构的位置方程 (3)曲柄滑块机构的运动学方程 通过对位置方程进行求导,可得 由于系统的输出是与,为了便于建立A*x=B形式的矩阵,使x=[], 将运动学方程两边进行整理,得到 将上述方程的v1与w3提取出来,即可建立运动学方程的矩阵形式 3.2 M函数编写与Simulink仿真模型建立 3.2.1 滑块速度与时间的变化情况以及滑块位移与时间的变化情况 仿真的基本思路:已知输入w2与,由运动学方程求出w3和v1,再通过积分,即可求出与r1。 (1)编写Matlab函数求解运动学方程 将该机构的运动学方程的矩阵形式用M函数compv(u)来表示。 设r2=15mm,r3=55mm,r1(0)=70mm,。 其中各个零时刻的初始值可以在Simulink模型的积分器初始值里设置

M函数如下: function[x]=compv(u) %u(1)=w2 %u(2)=sita2 %u(3)=sita3 r2=15; r3=55; a=[r3*sin(u(3)) 1;-r3*cos(u(3)) 0]; b=[-r2*u(1)*sin(u(2));r2*u(1)*cos(u(2))]; x=inv(a)*b; (2)建立Simulink模型 M函数创建完毕后,根据之前的运动学方程建立Simulink模型,如下图: 图3-1 Simulink模型 同时不要忘记设置r1初始值70,如下图: 图3-2 r1初始值设置

实验一 典型环节的MATLAB仿真汇总

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

波形图为: 实验处理:2)(1=s G SIMULINK 仿真模型 波形图为: 实验结果分析:增加比例函数环节以后,系统的输出型号将输入信号成倍数放大. ② 惯性环节11)(1+= s s G 和15.01)(2+=s s G 实验处理:1 1 )(1+=s s G SIMULINK 仿真模型

波形图为: 实验处理:1 5.01 )(2+= s s G SIMULINK 仿真模型 波形图为: 实验结果分析:当1 1 )(1+= s s G 时,系统达到稳定需要时间接近5s,当

电机大作业(MATLAB仿真-电机特性曲线)

电机大作业 专业班级:电气XXXX 姓名:XXX 学号:XXX 指导老师:张威

一、研究课题(来源:教材习题 4-18 ) 1. 74 、R 2 0.416 、X 2 3.03 、R m 6. 2 X m 75 。电动机的机械损耗p 139W,额定负载时杂散损耗p 320W, 试求额定负载时的转差率、定子电流、定子功率因数、电磁转矩、输出转矩和效 率。 二、编程仿真 根据T 形等效电路: 3D - R Q 运用MATLAB 进行绘图。MATLAB 文本中,P N PN ,U N UN ,尺 R 1, X 1 X1 , R 2 R 2,X 2 X 2,R m Rm, X m Xm ,p pjixiesunh ao , p pzasansunhao 。定子电流I11,定子功率因数 Cosangle1,电磁转矩Te , 效率 Xiaolv 。 1.工作特性曲线绘制 MATLA 文本: R1=0.715;X 仁1.74;Rm=6.2;Xm=75;R2=0.416;X2=3.03;pjixiesu nhao=139; pzasa nsu nhao=320;p=2;m 仁 3; ns=1500;PN=17000;UN=380;fN=50; Z1=R1+j*X1; Zm=Rm+j*Xm; for i=1:2500 s=i/2500; nO=n s*(1-s); Z2=R2/s+j*X2; Z=Z1+Zm*Z2/(Zm+Z2); 有一台三相四极的笼形感应电动机, 参数为P N 17kW 、U N 380V (△联 Rm 结)、尺 0. 715 、X j lcr S

U1=UN; I1=U1/Z; l110=abs(l1); An gle 仁an gle(ll); Cosa ngle10=cos(A ngle1); P仁3*U1*l110*Cosa ngle10; l2=l1*Zm/(Zm+Z2); Pjixie=m1*(abs(I2))A2*(1-s)/s*R2; V=(1-s)*pi*fN; Te0=Pjixie/V; P20=Pjixie-pjixies un hao-pzasa nsun hao; Xiaolv0=P20/P1; P2(i)=P20; n (i)=n0; l11(i)=l110; Cosa ngle1(i)=Cosa ngle10; Te(i)=Te0; Xiaolv(i)=Xiaolv0; hold on; end figure(1) plot(P2, n); xlabel('P2[W]');ylabel(' n[rpm]'); figure(2) plot(P2,l11); xlabel('P2[W]');ylabel('l1[A]'); figure(3) plot(P2,Cosa nglel); xlabel('P2[W]');ylabel('go nglvyi nshu'); figure(4) plot(P2,Te); xlabel('P2[W]');ylabel('Te[Nm]'); figure(5) plot(P2,Xiaolv); xlabel('P2[W]');ylabel('xiaolv');

MATLAB与系统仿真实验指导书

实验指导书(标准格式) 《MATLAB与系统仿真》 实验指导书 课程编号:ME2121025课程名称:MATLAB与系统仿真适应专业:电气工程及其自动化课程类别:限选 实验教学种类:上机课程总学时:30+6 实验学时:6 执笔人:勾燕洁 西安电子科技大学机电工程学院 2006 年9 月

目录 实验一MA TLAB的基本使用及矩阵操作------------------- 3 实验二MA TLAB编程与图形处理---------------------------- 9 实验三MA TLAB中的数值运算与系统仿真---------------- 15

实验一MA TLAB的基本使用及矩阵操作 一、实验目的和要求 熟悉MA TLAB的界面和基本操作,掌握矩阵的建立方法及各种运算。 1.熟悉MA TLAB软件的界面和帮助系统。 2.掌握MA TLAB软件中关于矩阵建立、矩阵初等变换以及矩阵算术、关系、逻辑运算的各种命令。 3.掌握MA TLAB软件中M函数和M文件的编写,以及程序结构与控制,学会编写一般程序。 二、实验内容 1.启动与退出 2.数、数组、矩阵的输入 3.MA TLAB的基本命令 4.矩阵大小的测试 5.矩阵元素的操作 6.特殊矩阵的产生 7.矩阵的算术运算 8.矩阵的关系运算 9.矩阵的逻辑运算 10.常用函数 三、实验仪器、设备(软、硬件)及仪器使用说明 PC机一台,注意正确开、关机及打开软件。 四、实验原理 无 五、实验方法与步骤 1.启动与退出 双击MA TLAB图标,进入MA TLAB命令窗口,即可输入命令,开始运算; 观察各个窗口以及菜单; 单击File菜单中的Exit,或使用MATLAB的Exit命令退出。

运动控制MATLAB仿真

大作业: 直流双闭环调速MATLAB仿真 运动控制技术课程名称: 名:姓电气学院院:学 自动化业:专 号:学 孟濬指导教师: 2012年6月2日

------------------------------------- -------------学浙大江 李超 一、Matlab仿真截图及模块功能描述 Matlab仿真截图如下,使用Matlab自带的直流电机模型: 模块功能描述: ⑴电机模块(Discrete DC_Machine):模拟直流电机 ⑵负载转矩给定(Load Torque):为直流电机添加负载转矩 ⑶Demux:将向量信号分离出输出信号 ⑷转速给定(Speed Reference):给定转速 ⑸转速PI调节(Speed Controller):转速PI调节器,对输入给定信号与实际信号

的差值进行比例和积分运算,得到的输出值作为电流给定信号。改变比例和积分运算系数可以得到不同的PI控制效果。 ⑹电流采样环节(1/z):对电流进行采样,并保持一个采样周期 ⑺电流滞环调节(Current Controller):规定一个滞环宽度,将电流采样值与给定值进行对比,若:采样值>给定值+0.5*滞环宽度,则输出0; 若:采样值<给定值—0.5*滞环宽度,则输出1; 若:给定值—0.5*滞环宽度<采样值<给定值+0.5*滞环宽度,则输出不变 输出值作为移相电压输入晶闸管斩波器控制晶闸管触发角 :根据输入电压改变晶闸管触发角,从而改变电机端电压。GTO⑻晶闸管斩波.⑼续流二极管D1:在晶闸管关断时为电机续流。 ⑽电压传感器Vd:测量电机端电压 ⑾示波器scope:观察电压、电流、转速波形 系统功能概括如下:直流电源通过带GTO的斩波器对直流电机进行供电,输出量电枢电流ia和转速wm通过电流环和转速环对GTO的通断进行控制,从而达到对整个电机较为精确的控制。 下面对各个部分的功能加以详细说明: (1)直流电机 双击电动机模块,察看其参数:

基于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

华科matlab大作业

MATLAB语言、控制系统分析与设计 大作业 升降压斩波电路MATLAB仿真 专业:电气工程及其自动化 班级: 设计者: 学号: 评分: 华中科技大学电气与电子工程学院 2016 年1月

评分栏

目录 一、引言 (4) 二、电路设计与仿真 (4) 三、仿真结果及分析 (7) 四、深入讨论 (10) 五、总结 (10) 六、参考资料 (11)

升降压斩波电路MATLAB 仿真 一.引言 Buck/Boost 变换器是输出电压可低于或高于输入电压的一种单管直流变换器,其主电路与Buck 或Boost 变换器所用元器件相同,也有开关管、二极管、电感和电容构成。与Buck 和Boost 电路不同的是,电感L 在中间,不在输出端也不在输入端,且输出电压极性与输入电压相反。开关管也采用PWM 控制方式。Buck/Boost 变换器也有电感电流连续喝断续两种工作方式,在此只讨论电感电流在连续状态下的工作模式。 二.电路设计与仿真 1、电路原理 当可控开关V 处于通态时,电源E 经V 向电感L 供电使其储存能量,此时电流为i1。同时,电容C 维持输出电压基本恒定并向负载R 供电。此后,使V 关断,电感L 中储存的能量向负载L 释放,电流为i2。负载电压极性为上正下负,与电源电压极性相反。 稳态时,一个周期T 内电感L 两端电压UL 对时间积分为零,即 当V 处于通态期间,UL=E ;而当V 处于断态期间,UL=-Uo 。于是 所以,输出电压为 =?dt T L U off o on t U Et =E E t T t E t t U on on off on o α α -=-== 1

MATLAB与系统仿真实验手册

MATLAB与控制系统仿真实验指导书 河北大学电子信息工程学院 2006年9月

目录 实验一MATLAB基本操作与基本运算 (1) 实验二M文件及数值积分仿真方法设计 (3) 实验三MATLAB 的图形绘制 (4) 实验四函数文件设计和控制系统模型的描述 (6) 实验五控制系统的分析与设计 (7) 实验六连续系统离散化仿真方法设计 (8) 实验七SIMULINK 仿真 (9) 实验八SIMULINK 应用进阶 (10) 附录MATLAB常用函数 (12)

实验一MATLAB基本操作与基本运算 一、实验目的及要求: 1.熟悉MATLAB6.5的开发环境; 2.掌握MATLAB6.5的一些常用命令; 3.掌握矩阵、变量、表达式的输入方法及各种基本运算。 二、实验内容: 1.熟悉MATLAB6的开发环境: ①MATLAB的各种窗口: 命令窗口、命令历史窗口、启动平台窗口、工作空间窗口、当前路径窗口。 图1 MA TLAB界面窗口 ②路径的设置: 建立自己的文件夹,加入到MA TLAB路径中,并保存。 设置当前路径,以方便文件管理。 ③改变命令窗口数据的显示格式 >> format short >> format long

然后键入特殊变量:pi (圆周率),比较显示结果。 2.掌握MATLAB 常用命令 >> who %列出工作空间中变量 >> whos %列出工作空间中变量,同时包括变量详细信息 >>save test %将工作空间中变量存储到test.mat 文件中 >>load test %从test.mat 文件中读取变量到工作空间中 >>clear %清除工作空间中变量 >>help 函数名 %对所选函数的功能、调用格式及相关函数给出说明 >>lookfor %查找具有某种功能的函数但却不知道该函数的准确名称 如: lookfor Lyapunov 可列出与Lyapunov 有关的所有函数。 3. 在MATLAB 的命令窗口计算: 1) )2sin(π 2) 5.4)4.05589(÷?+ 4. 设计M 文件计算: 已知 求出: 1) a+b a-b a+b*5 a-b+I (单位阵) 2) a*b a.*b a/b 3) a^2 a.^2 注意:点运算 . 的功能,比较结果。 5. 设计M 文件计算: x=0:0.1:10 当sum>1000时停止运算,并显示求和结果及计算次数。 三、实验报告要求: 1)体会1、2的用法; 2)对3、4、5写出程序及上机的结果。 ?? ??? ?????=987654321a ?? ?? ? ?????=300120101b ) 2(100 2 i i i x x sum -=∑=

MATLAB大作业

安阳工学院 专业课课程大作业 课程名称(中文) MATLAB编程应用成绩 姓名黄红伟 班级通信工程 学号 201002030060 日期 2012年12月23日

数字基带传输系统的仿真实现 [摘要]:MATLAB 语言是一种数据分析和处理功能十分强大的计算机应用软件 ,它可以将声音文件变换为离散的数据文件 , 然后利用其强大的矩阵运算能力处理数据 ,如数字滤波、傅里叶变换、时域和频域分析、声音回放以及各种图的呈现等 , 信号处理是MATLAB 重要应用的领域之一。数字通信系统有两种主要的通信模式:数字频带传输通信系统,数字基带传输通信系统。数字基带传输系统指不经载波调制而直接传输数字基带信号的系统,常用于传输距离不太远的情况下。本次大作业通过分析数字基带信号传输的特性,运用数值仿真的方法,对数字基带传输系统作了模拟。 [关键词]:MATLAB;数字基带传输系统 1.背景介绍 20世纪60年代出现了数字传输技术,它采用了数字信号来传递信息,从此通信进入了数字化时代。目前,通信网已基本实现数字化,在我国公众通信网中传输的信号主要是数字信号。数字通信技术的应用越来越广泛,例如数字移动通信、数字卫星通信、数字电视广播、数字光纤通信、数字微波通信、数字视频通信、多媒体通信等等。数字通信系统主要的两种通信模式:数字频带传输通信系统,数字基带传输通信系统。数字基带信号指未经调制的数字信号,它所占据的频谱是从零频或很低频率开始的。数字基带传输系统指不经载波调制而直接传输数字基带信号的系统,常用于传输距离不太远的情况下。 研究数字基带传输系统的原因:实际中,基带传输不如频带传输应用广泛,但对基带传输的研究仍有非常重要的意义。这是因为:第一,数字基带系统在近程数据通信系统中广泛采用;第二,数字基带系统的许多问题也是频带传输系统必须考虑的问题;第三,随着数字通信技术的发展,基带传输这种方式也有迅速发展的趋势,它不仅用于低速数据传输,而且还用于高速数据传输;第四,在理论上,任何一个线性调制的频带传输系统,总是可以有一个等效的基带载波调制系统所替代。因此,很有必要对基带传输系统进行综合系统的分析。 2.仿真理论基础 MA TLAB工具有很强的仿真能力可以仿真NR码、NRZ码、AMI码、PAM码等各种编码及分析其功率谱。同时可以仿真通信系统的应用。这里先简单介绍下仿真的理论基础。 2.1.时域抽样和频域抽样 若信号函数s(t)为定义在时间区间(-∞,+∞)上的连续函数,按区间[-T/2,T/2]截短为ST(t),再对ST(t)按时间间隔?t均匀取样,取样点数:N(t)=T/?t;仿真时用这个样值函数来表示S(t)。如果信号的最高频率为fH,那么必须有fH 〈〈0.5/?t,设为Bs,Bs=0.5/?t 称为仿真系统的系统带宽。 若信号s(t)的频谱S(f)为定义在频率区间(-∞,+∞)上的连续函数,按区间[-Bs,Bs]截断S(f),然后?f均匀取样。N(t)=2 Bs /?f=N;?f=1/T如果仿真程序设定的频域采样间隔是?f,那么就不能仿真截断时间1/?f的信号。2.2.频域分析函数t2f的功能是作傅立叶变换格式:X=t2f(x)函数f2t的功能是作傅立叶反变换格式:x=t2f(X)其中x是时域信号x(t)的截短抽样取得的取样值矢量。X是傅立叶X(f)的取样值矢量。 2.2.取样判决和误码率的测量 对于基带系统的研究,误码率是一个非常重要的概念,也是评价系统好坏的重要参数。在用matlab仿真系统中,在模拟实际的条件下,达到理想的误码率是我们的目标。

MATLAB与系统仿真实验手册2010

实验一MATLAB基本操作与基本运算 (1) 实验二M文件及数值积分仿真方法设计 (3) 实验三MATLAB 的图形绘制 (4) 实验四函数文件设计和控制系统模型的描述 (6) 实验五控制系统的分析与设计 (7) 实验六连续系统离散化仿真方法设计 (8) 实验七SIMULINK 仿真 (9) 实验八SIMULINK 应用进阶 (10) 附录MATLAB常用函数 (11) 实验一MATLAB基本操作与基本运算 一、实验目的及要求: 1.熟悉MATLAB6.5的开发环境; 2.掌握MATLAB6.5的一些常用命令; 3.掌握矩阵、变量、表达式的输入方法及各种基本运算。 二、实验内容: 1.熟悉MATLAB6的开发环境: ①MATLAB的各种窗口: 命令窗口、命令历史窗口、启动平台窗口、工作空间窗口、当前路径窗口。

图1 MA TLAB 界面窗口 ②路径的设置: 建立自己的文件夹,加入到MA TLAB 路径中,并保存。 设置当前路径,以方便文件管理。 ③改变命令窗口数据的显示格式 >> format short >> format long 然后键入特殊变量:pi (圆周率),比较显示结果。 2.掌握MATLAB 常用命令 >> who %列出工作空间中变量 >> whos %列出工作空间中变量,同时包括变量详细信息 >>save test %将工作空间中变量存储到test.mat 文件中 >>load test %从test.mat 文件中读取变量到工作空间中 >>clear %清除工作空间中变量 >>help 函数名 %对所选函数的功能、调用格式及相关函数给出说明 >>lookfor %查找具有某种功能的函数但却不知道该函数的准确名称 如: lookfor Lyapunov 可列出与Lyapunov 有关的所有函数。 3. 在MATLAB 的命令窗口计算: 1) )2sin(π 2) 5.4)4.05589(÷?+ 4. 设计M 文件计算: 已知 求出: 1) a+b a-b a+b*5 a-b+I (单位阵) 2) a*b a.*b a/b 3) a^2 a.^2 注意:点运算 . 的功能,比较结果。 ?? ??? ?????=987654321a ?? ?? ? ?????=300120101b

matlab大作业(控制系统仿真)

河南工业大学 控制系统仿真 姓名:宋伯伦 班级:自动化1501 学号:201523020128 成绩: 2017年6月16 日

设 计 题 目 基于MATLAB的皮带配料控制系统的仿真 设计内容和要求 阐述皮带配料控制系统的工作原理、物料流量特点,建立系统模型,通过Matlab进行控制系统仿真,达到适应系统工作过程各参数变化的目的。

报告主要章节 第一章概述与引言 随着科学技术的不断发展,电子皮带秤配料系统已在煤炭、化工、烟草、冶金、建材等行业中广泛应用。目前大多数皮带秤配料系统仍然是采用传统的PID控制算法,灵敏度较高,可以说在理论上调节是能做到无误差的,或者说在误差较小的范围内的确很有优势,但是出现较大误差时,其动态特性并不是很理想,超调量一般较大。所以,本课题设计了一套更为合理高效的电子皮带秤配料系统,本设计主要针对皮带秤配料系统中配料这一环节,采用模糊PID和传统PID控制相结合的方法。 本课题主要内容包括皮带秤的原理与组成,系统的总体设计,模糊控制算法结合本系统的分析以及采用MATILAB进行模糊PID控制仿真。 第二章各部分设计方案及工作原理 皮带秤配料系统中配料皮带秤作为在线测量的动态称量衡器,有着重要的作用,目前已广泛用于冶金、煤炭、烟草、化工、建材等行业中,是集输送、称量、配料于一体的设备。皮带秤仪表除了显示瞬时流量和累积流量外,还能根据由接线盒传过来的数据与给定值的偏差来控制给料机的给料,从而保证瞬时流量的恒定。这样就构成了一个闭环控制系统。 2.1皮带秤配料系统组成及工作原理 2.1.1皮带秤配料系统组成 配料皮带秤系统结构如图2.1所示,由三大部分组成,分别是料斗、给料设备和皮带秤。

MATLAB通信系统仿真实验报告

实验一、MATLAB的基本使用与数学运算 目的:学习MATLAB的基本操作,实现简单的数学运算程序。 内容: 1-1 要求在闭区间[0,2π]上产生具有10个等间距采样点的一维数组。试用两种不同的指令实现。 运行代码:x=[0:2*pi/9:2*pi] 运行结果: 1-2 用M文件建立大矩阵x x=[ 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9] 代码:x=[ 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9] m_mat 运行结果: 1-3已知A=[5,6;7,8],B=[9,10;11,12],试用MATLAB分别计算 A+B,A*B,A.*B,A^3,A.^3,A/B,A\B. 代码:A=[5 6;7 8] B=[9 10;11 12] x1=A+B X2=A-B X3=A*B X4=A.*B X5=A^3 X6=A.^3 X7=A/B X8=A\B 运行结果: 1-4任意建立矩阵A,然后找出在[10,20]区间的元素位置。 程序代码及运行结果: 代码:A=[12 52 22 14 17;11 10 24 03 0;55 23 15 86 5 ] c=A>=10&A<=20

大作业-----双闭环直流调速系统的MATLAB仿真

大作业 双闭环直流调速系统的MATLAB 仿真 (设计性实验) 一、实验目的 1、了解Simulink 下数学模型的仿真方法。 2、掌握数学模型的仿真建模方法和仿真参数设置要求 3、进一步掌握双闭环反馈控制系统的基本特性。 二、实验原理 双闭环控制系统的结构原理框图如下所示: 要求:在实验前需下根据双闭环控制原理计算出各环的PI 参数,写出正确的系统控制数学模型。 三、实验内容 1、直流电机双闭环控制系统SIMULINK 仿真模块建立。 2、仿真参数的设置。 3、各控制点的波形分析。 4、改变给定, 观察输出响应的变化。 5、用传递函数方程仿真。 四、实验步骤 1、按上述结构和参数建立仿真模型。 2、设定输入为单位阶跃信号,用scope 观察系统输出响应。 3、将改变给定,其余参数不变,观察系统输出响应。 4、突加负载,观察系统的抗扰性能。改变开环放大系数,观察系统的稳定性能。 5.用建立的传递函数方程仿真。 五、实验报告 按规定的实验报告要求写出实验报告,报告的内容有实验目的、建模名称,参数设置,实验电路,仿真模型结构图、仿真结果波形,结果分析。 名称 路径 参数设置 AC V oltage Source Simpowersystem/electrical/ Ground(output) Simpowersystem/ connectors Thyristor Simpowersystem/Power electronics Series RLC branch Simpowersystem/Elenemts C=inf L=0纯电阻 Vlotage Measurement Simpowersystem/ Measurements Current Measurement Simpowersystem/ Measurements Multimeter Simpowersystem/ Measurements T Connector Simpowersystem/ connectors Scope Simulink/sinks α 1/C e U *n n U d0 U n + - ASR 1/R T l s+1 R T m s K s T s s+1 ACR β U * i U i - - E I d ±?I dL 负载扰

MATLAB控制系统仿真实验报告

清华大学自动化工程学院 实验报告 课程:控制系统仿真 专业自动化班级 122 姓名学号 指导教师: 时间: 2015 年 10 月 19 日— 10 月 28 日

目录 实验一 MATLAB环境的熟悉与基本运算 (1) 实验二 MATLAB语言的程序设计 (6) 实验三 MATLAB的图形绘制 (9) 实验四采用SIMULINK的系统仿真 (14) 实验五控制系统的频域与时域分析 (17) 实验六控制系统PID校正器设计法 (23)

实验一 MATLAB环境的熟悉与基本运算 一、实验时间及地点: 实验时间:上午8:30—9:30 实验地点:计算中心 二、实验目的: 1.熟悉MATLAB开发环境 2.掌握矩阵、变量、表达式的各种基本运算 三、实验内容: 1、新建一个文件夹(自己的名字命名,在机器的最后一个盘符) 2、启动,将该文件夹添加到MATLAB路径管理器中。 3、保存,关闭对话框 4、学习使用help命令,例如在命令窗口输入help eye,然后根据帮助说明,学习使用指令eye(其它不会用的指令,依照此方法类推) 5、学习使用clc、clear,观察command window、command history和workspace 等窗口的变化结果。 6、初步程序的编写练习,新建M-file,保存(自己设定文件名,例如exerc1、exerc2、 exerc3……),学习使用MATLAB的基本运算符、数组寻访指令、标准数组生成函数和数组操作函数。 注意:每一次M-file的修改后,都要存盘。 练习A: (1)help rand,然后随机生成一个2×6的数组,观察command window、command history和workspace等窗口的变化结果 (2)学习使用clc、clear,了解其功能和作用 (3)输入一个2维数值数组,体会标点符号的作用(空格和逗号的作用)。 (4)一维数组的创建和寻访,创建一个一维数组(1×8)X,查询X数组的第2个元素,查询X数组的第3个元素到第6个元素,查询X数组的第5个 元素到最后一个元素,查询X数组的第3、2、1个元素,查询X数组中≤5元 素,将X数组的第2个元素重新赋值为111,实例expm1。 (5)二维数组的创建和寻访,创建一个二维数组(4×8)A,查询数组A 第2行、第3列的元素,查询数组A第2行的所有元素,查询数组A第6列的 所有元素,查询数组A按列拉长形成新的数组B(1×8),查询数组A按行拉长 形成新的数组C(1×8),以全元素赋值的方式对数组A赋值。 (6)两种运算指令形式和实质内涵的比较。设有3个二维数组A2×4,B2×4,C2×2,写出所有由2个数组参与的合法的数组运算和矩阵指令 (7)学习使用表8列的常用函数(通过help方法)

相关主题
文本预览
相关文档 最新文档