当前位置:文档之家› 基于MATLAB的MIMO-OFDMA系统的设计与仿真

基于MATLAB的MIMO-OFDMA系统的设计与仿真

基于MATLAB的MIMO-OFDMA系统的设计与仿真
基于MATLAB的MIMO-OFDMA系统的设计与仿真

基于MATLAB的MIMO-OFDMA系统的设计与仿真

摘要

在信息时代的快速发展形势下,产生了越来越多的业务需求,用户对通信系统的性能提出了更高的要求。基于正交频分复用( Orthogonal Frequency Division Multiplexing,OFDM )技术和多输入多输出(Multiple Input Multiple Output,MIMO )技术的无线通信系统在增加系统容量、提高频谱利用率以及对抗频率选择性衰落等方面具备优越的性能,是未来通信领域中的关键技术。

本文首先阐述了MIMO技术和OFDM技术的国内外研究概况,然后通过分析MIMO技术和OFDM技术的基本原理和系统结构,设计出简单的MIMO-OFDM系统。基于MATLAB软件对所建立的MIMO系统的信道容量进行了仿真,并对SISO-OFDM系统和MIMO-OFDM系统的性能进行了比较,仿真结果表明,本文所提出的MIMO-OFDM系统方案能够在不增加误比特率的情况下增加信道容量,最后结合空时分组码(Space Time Block Coding,STBC)对MIMO-OFDM系统进行了完善并采用MATLAB对其性能进行了仿真,结果显示,相较于未完善的系统完善后的系统的误比特率指标明显降低,传输可靠性得到了极大的提高。

关键词:无线通信;MIMO;OFDM;误比特率

Performance Evaluation of MIMO-OFDMA

System using Matlab

Abstract

As the rapid development of information technology has resulted in more influences on people’s daily lives and businesses. Higher requirements should be provided by communication system to meet people’s needs. The communication system which based on the technology of Orthogonal Frequency Division Multiplexing (OFDM) and Multiple Input Multiple Output (MIMO) enables to not only increase the system capacity, but improve the spectrum utilization, and moreover to effectively against frequency selective fading, has become the key technologies in the field of communication in the future.

This paper first gives an in-detailed survey on MIMO and OFDM technologies in academic society. After that, we designed a simple MIMO-OFDM system by means of the analysis of the basic concepts and the architecture of MIMO and OFDM technology. Followed by performance evaluation via Matlab to compare SISO-OFDM and MIMO-OFDM systems in term of channel capacity and Bit Error Rate (BER) to validate the proposed MIMO-OFDM system outperforms SISO-OFDM. Finally, we further integrated space-time block codes into the proposed MIMO-OFDM system, through simulation results, we can observe that BER can be significant reduced compared to its counterpart which without implements space-time block codes. Keywords:Wireless communication,MIMO, OFDM, Bit Error Rate (BER)

目录

第1章绪论 (1)

1.1课题背景 (1)

1.2国内外研究概况 (1)

1.2.1OFDM研究概况 (1)

1.2.1MIMO研究概况 (2)

1.2.2MIMO-OFDM研究概况 (3)

1.3论文结构 (3)

第2章相关理论基础 (4)

2.1OFDM基本原理 (4)

2.1.1OFDM数学描述 (4)

2.1.2OFDM系统框图 (7)

2.2MIMO原理及数学描述 (9)

2.2.1MIMO系统模型 (9)

2.2.2MIMO信道容量 (11)

2.2.3空时编码技术 (11)

2.3无线信道环境及数学描述 (12)

第3章仿真与分析 (14)

3.1MIMO信道容量仿真 (14)

3.2MIMO-OFDM系统与仿真 (16)

3.3基于STBC的MIMO-OFDM系统与仿真 (19)

3.3本章小结 (20)

第4章总结 (21)

4.1完成的工作 (21)

4.2不足与展望 (21)

致谢 (22)

参考文献 (23)

附录 (24)

南京林业大学本科生毕业设计(论文)

第1章绪论

1.1课题背景

对于无线通信系统,其性能的优劣通常采用有效性和可靠性指标来进行评价。其中,有效性的衡量一般采用频带利用率,而可靠性的衡量则通过误信率和误码率[1]。故高频带利用率和低误码率是一个良好的无线通信系统所需具备的必要条件。多输入多输出(MIMO)技术可以在无线信道上成倍地增大信道容量,它的另一个显著优点是提高了数据传输的可靠性,即降低了误比特率,并且这些优点的实现不需要提高发射功率或者增加信号带宽,高效地将空间资源转换为频谱资源。然而,MIMO技术也存在缺陷,由于接收端接收到的信号实质上是多路信号互相重叠形成的,因此,不同时刻信号间在频率选择性信道中会出现码间干扰现象,导致频率选择性衰落[2]。OFDM的基本思想是将一个高速率的数据流转换成很多并行的低速子数据流,将信道分成若干正交子信道,使低速子数据流依次调制到对应的子信道上进行数据传输[3]。同时,由于每个子信道上的信号带宽小于信道的相关带宽,虽然总的信道并非平坦,但是每个子信道上可以看作是平坦性衰落,从而来消除ISI(Inter Symbol Interference,符号间干扰),而且由于这一特性可以信道均衡变得相对容易,频率选择性衰落信道所带来的不良影响可通过普通的频域均衡消除。鉴于此,将MIMO技术与OFDM技术结合不仅可以显著提高频谱利用率而使MIMO技术所存在的频率选择性衰落问题得到改善,而且可使数据速率极大提高,系统容量增加。因此,MIMO-OFDM技术被视为下一代移动通信系统的关键技术,具有广阔的发展前景和现实意义。

1.2国内外研究概况

1.2.1OFDM研究概况

OFDM技术发展经历了较长的历史阶段,它的形成归功于许多通信领域科学家们的贡献。早在20世纪60年代,利用子信道频谱相互重叠的并行数据来进行传输和实现频分复用的方法便被人提出,该方法可避免高速均衡的使用、抑制窄带脉冲噪声、对抗多径衰落,进而使频谱资源的利用率显著提高,可以说是OFDM系统的雏形。不久之后,该技术就被应用到了多种高频军事通信系统中,

这极大的促进了OFDM技术的进一步发展。1966年,Robert.W.Chang发表文章《Orthogonal Frequency Multiplex Data Transmission System》提出了传输信号通过一个带宽受限的信道时无ISI和ICI的原理。1967年,Burton R.Saltzberg发表文章《Perfomance of an Efficient Paraller Data》提出:设计一个有效的系统主要应该集中考虑如何减少相邻信道的交叉干扰(Cross Interference),而不是仅考虑每个独立的子信道情。1971年Weinstein和Ebert通过文章《Data Transmission by Frequency-Division Multiplexing Using the Discrete Fourier Transform》提出把离散傅里叶变换(Discrete Fourier Transform,DFT)应用到并行传输系统中,用其实现多个调制解调器的功能,从而使正交频分复用只须经过基带处理便可实现而无需带通滤波器,使OFDM技术的实现难度大大降低,进而促进了OFDM技术的推广应用。1980年,Abraham Peled和Antonio Ruiz对OFDM技术做出了一个重要贡献,他们在论文第一次引入了CP(Cyclic Prefix,循环前缀)来解决正交性问题,他们将OFDM符号的循环扩展加入到了防卫间隔中,当CP大于信道冲激响应时间时,就能够实现弥散信道中子载波之间的正交性。虽然加入CP也同时带来了能量损失,但是相比于其所获得的几乎是零的ICI,还是值得的。而之后随着快速傅里叶变换(Fast Fourier Transform,FFT)的提出,以及近年来半导体技术和数字信号处理(Digital Signal Processing,DSP)技术的飞速发展,使得OFDM技术的运用愈加广泛。目前,OFDM技术已经成功运用到多种无线传输标准中,比如有数字音频广播(Digital Audio Broadcasting,DAB),数字视频广播(Digital Video Broadcasting,DVB),无线局域网IEEE 802.11a/g和欧洲电信组织(European Telecommunications Standards Institute,ETSI)的宽带射频接入网的局域网标准HiperiLAN2,无线城域网IEEE802.16标准等,Wi-Fi和WiMAX技术的兴起使得OFDM成为一种“时髦”的技术。同时也是长期演进(Long Term Evolution,LTE)技术中的三大关键技术之一,目前已在4G LTE技术中得到试用,预计仍然会作为未来5G中主要的调制技术。

1.2.1MIMO研究概况

早在1908年,Marconi就已经提出了有关MIMO技术的观点,他认为MIMO技术可以用来实现抗衰落。然而真正推动MIMO技术发展的工作则是由AT&T Bell实验室的学者完成的。1994年,punlraj等人提出多天线系统。1995

年Teladar提出了在衰落情况下的MIMO容量。1996年Foshini给出了一种多入多出处理算法—D-BLAST(Diagonal-Bell Laboratories Layered Space-Time,对角-贝尔实验室分层空时)算法,1998年Tarokh等讨论了用于MIMO的空时码,随后Wolinansky等采用V-BLAST(Vertical-Bell Laboratories Layered Space-Time,垂直-贝尔实验室分层空时)算法建立了一个MIMO实验系统并通过室内试验证实发该系统可实现普通系统中极难达到的频谱利用率。这些工作的推进使得MIMO技术的研究得到了迅速发展。

1.2.2MIMO-OFDM研究概况

目前,对于MIMO-OFDM技术的应用正在逐步增加。在国外,D-Link、Intel、Atheros与Broadcom等公司先后发布了各自的MIMO-OFDM的芯片组,欧盟启动了STINGRAY项目,致力于室外宽带无线接入的正交频分复用演示系统的研究[5]。目前,MIMO-OFDM技术已被多种无线传输标准采纳。例如,IEEE802.11n和IEEE802.16a(WiMax)就已经成功采纳了MIMO-OFDM技术,同时它也是下一代蜂窝通信(3GPP-LTE,移动WIMAX,IMT-Advanced),广播(DAB,DVB,DMB)中的关键技术,由此可见,MIMO-OFDM技术在当今移动通信系统中发挥着其巨大的优势,给人们带来了诸多便利。

1.3论文结构

本文主要研究了MIMO-OFDM调制解调系统,利用Matlab软件对信道容量和误比特率这两项指标进行了仿真并进行相关性能分析。简单地介绍了课题背景,概述MIMO技术、OFDM技术以及MIMO-OFDM技术的发展史以及国内外研究概况。第二章主要叙述了OFDM技术和MIMO技术的基本概念与组成结构以及仿真中所使用的无线信道环境模型。第三章根据第二章所描述的相关理论基础设计出简单的MIMO-OFDM系统结构。使用Matlab仿真不同数量的收发天线下MIMO系统所具备的信道容量,然后分析加上空时编码后本系统的性能。第四章归纳本课题研究内容,分析本课题中存在的缺陷以及展望今后可能进行的工作。

第2章 相关理论基础

2.1 OFDM 基本原理

2.1.1 OFDM 数学描述

OFDM 技术是一种特殊的多载波调制(Multi-carrier Modulation,MCM )技术,和MCM 技术相同之处都是先把一串高速数据流分解成若干个速率低得多的子数据流,然后将子数据流放置在对应的各个载波上,最后将多个子载波进行合成来实现并行传输,而OFDM 技术的优点在于各子载波间相互正交、重叠。如下图2.1所示,并且当子载波的带宽小于信道的相干带宽,信道是“非频率选择性信道”,可以近似看成是平坦的,大大减少了频率选择性衰落的影响。当符号持续时间小于信道“相干时间”时,信道等效为“线性时不变”系统,从而降低时间选择性衰落对系统的影响。

图 2.1 FDM 和OFDM 频带利用率的比较

在实际传输过程中,通常OFDM 符号由几个经过调制的子载波信号合成,其中每个子载波信号可以是相移键控(Phase Shift Keying,PSK )信号或是正交幅度调制(Quadrature Amplitude Modulation,QAM )信号。其中,如果子载波的个数用N 来表示,OFDM 符号的长度用T 表示,i d ,1N ,2,1,0-??=,i 分配给每个子载波的数据符号,i f 是第i 个子载波的载波频率,矩形函数

2/,1)(T t t rect ≤=,那么从s t t =开始的OFDM 符号可以表示为:

技术

FDM

技术

OFDM

其他,0)()]},)((2exp[)2(Re{)(1

=+≤≤-+--=∑-=t s T t t t t t T i

f j T t t rect d t s s s s c N i s i π (2-1) 一般地,为了表述方便OFDM 的输出信号通过等效复基带信号来描述,表达式如下。

其他,0)()]},(2exp[)2({)(1

=+≤≤---=∑-=t s T t t t t t T i

j T t t rect d t s s s s N i s i π (2-2)在图2.2中,给出了OFDM 系统的基本模型框图。

图2.2 OFDM 基本模型框图

众所周知,对于任意两个函数)(1t S 和)(2t S ,如果有

?

=T

dt t S t S 0

210)()(,则表

示函数)(1t S 和)(2t S 在区间(0,T )上正交。同样为了满足子载波间的正交性,对于OFDM ,设相邻子载波的频率间隔为1/T ,T 是符号的持续时间,任意一对子载波的内积应该满足

??

?≠==??

-2

1210

220

112

1

k k k k dt e

e

T

T

t T

k j t T

k j π

π

(2-3)

解调式2-3中的第j 个子载波,接着在时间长度T 内进行积分,即:

()()()101012exp 212s s s s N t T j s i s t i N t T i s j t i j i d exp j t t d j t t dt

T T T i j d exp j t t dt d T T πππ-+=-+=????=--- ? ?????

-??=-= ???

∑?∑? (2-4)

根据式2-4,符号k d 可由第j 个子载波解调恢复得到。而对其他载波来说,由于在积分间隔内,频率相差()/i j T -可以产生整数倍个周期,所以积分结果为0。

当N 的值很大时,OFDM 的实现需依赖于大量的正弦波发生器、调制器、解调器以及滤波器等设备,从而导致整个系统的造价非常高昂,极大的制约了该技术的广泛应用。因此,为了降低OFDM 系统的复杂度和成本,通常考虑用离散傅里叶变换(Discrete Fourier Transform,DFT )和离散傅里叶逆变换(Inverse Discrete Fourier Transform,IDFT )(公式如下(2-5))来实现上述功能。

∑∑-=??-=???-?=

?=1

/.210

/2][1

][:][][:N k N

k n j N n N

k n j e

k x N

n x IDFT e n x k X DFT ππ (2-5)

对式(2-2)中的OFDM 等效复基带信号)(t s 以T/N 的速率进行抽样,即令

/,(0,1,...,1)t kT N k N ==-,则可得到:

1

02(/)exp N k i i ik s s kT N d j N π-=??

== ???∑, ()01K N ≤≤- (2-6)

可见k s

等效为对i d 进行IDFT 运算,同理,在接收端同样可以采用DFT 恢复原始的数据信号,在接收端对接收到的

k s 进行DFT 变换即得:

1

2exp N i k i ik d s j N π-=?

?=

- ???∑ ,()01i N ≤≤- (2-7) 在OFDM 系统的实际运用中,由于DFT 计算发在度高,通常采用其快速算法IFFT/FFT 来实现离散傅里 叶变化,随着N 的增大,其计算优势愈加明显[3]。

2.1.2OFDM系统框图

OFDM系统收发机简化框图如图2.2所示,发射端主要进行以下工作:首先将输入信号序列进行串并转换以分成多路并行数据。随后,为了之后进行的QPSK调制,将数据分为两个I、Q通道,产生复信号。通过傅里叶反变换,将频域数据转换为时域数据,插入保护间隔后进行并串转换。最后,将调制后的数据发射到信道。接收端对其进行逆变换,之后,发射端的数据可通过基于确知导频的信道估计来恢复。

图2.2OFDM的系统模型框图

在串行通信系统中,数据符号的传输是连续进行的,每个数据符号都可占用全部可用频带。一旦数据传输速度过快,信道中将出现严重的符号间干扰[6]。而在OFDM系统中,利用串并转换来实现并行数据传输。转换之后,每个数据释放出部分的频带,减少符号间干扰。与此同时,由于整个信道带宽被分割成多个窄带子频带,单个信道的频率响应相对较为平坦,能够在一定程度上对抗频率选择性衰落。所以,串并转换是实现OFDM系统必不可少的过程。在Matlab中串并转换的具体实现方法有很多,在本课题中用reshape函数和for循环来实现。

本课题中采用正交相移键控(Quadrature Phase Shift Keying,QPSK)来实现子载波的调制。QPSK是MPSK调制中4

M的调制方式,它利用载波的4种

不同相位来表示数字信息的调制方法。一般表达式为

)cos()()(n c

n s

QPSK nT t g t e θω

+-=

∑+∞

-∞

= (2-8)

式中,)(t g 为矩形脉冲,其幅值为1,持续时间为s T ,n θ为第n 个码元的初始相位。QPSK 信号中每个码元含有2bit 的信息。如果用ab 来代表这两个比特,那么这两个比特之间会有四种组合,即00、01、10和11。根据不同相位的取值,QPSK 信号矢量图有A 、B 两种方式[1]。如下图2.3所示。

图2.3 QPSK 信号矢量图

本文中采用B 方式,把构成双比特码元的前一信息比特用I 表示,后一信息比特用Q 表示,从而实现IQ 分路。为了很好的观察QPSK 信号调制,在OFDM 仿真程序出画出了发射端和接收端的QPSK 星座映射图,如下图2.4所示。

-1

-0.5

00.51

-0.8

-0.6-0.4

-0.2

00.2

0.4

0.6

0.8正交分量

同相分量

发送端的QPSK星座映射-2

-1

12

-1.5

-1

-0.5

0.5

1

1.5

正交分量

同相分量

接收端的QPSK星座映射

图2.4 QPSK 信号收发端星座映射

2.2 MIMO 原理及数学描述

2.2.1 MIMO 系统模型

MIMO 技术是在无线通信天线技术和智能天线技术的基础上发展起来的,该技术结合了多入单出(Multiple-Input Single-Output ,MISO )技术与单入多出(Single-Input Multiple-Output ,SIMO )技术的优点[7]。典型的MIMO 技术的框图如下图2.5所示。

图2.5 MIMO 系统原理图

假设发射机采用t N 个天线,接收端采用r N 个天线,从发射端的任意一根发射天线到接收端的任意一根接收天线间的无线通道都是相互独立的,则对于

r t N N ?维的天线阵列,接收信号向量可以表示为:

n Hx y += (2-9)

其中,()T

Nt x x x x ,,,21 =为发射端信号向量,()T

Nr y y y y ,,,21 =为接收端信号

向量,()T

Nr n n n n ,,,21 =为噪声向量。c H 为r t N N ?维的复衰落系数信道矩阵。

可以表示为

????????????=Nr Nt Nt Nt Nr Nr c h h h h h h h h h H ,2

,1,,22,21,2,12,11,1 (2-10) 其中,j i h ,(r t N j N i ,,3,2,1;,,3,2,1 ==)表示第i 个发射天线与第j 个接收天线之间的信道衰落矩阵。不同的衰落信道,所配备的衰落系数也不相同。

2.2.2 MIMO 信道容量

对于随机的r t N N ?阶信道H ,本系统的信道容量为发送信号向量x 和接收向量y 之间的最大户信息量[8]。假设总的发射功率为P ,噪声总功率为2σ?M ,每根发射天线上的发送功率为N P /,每根接收天线上的信噪比(signal-to-noise ratio ,SNR )为2/σP SNR =,在未知的c H (即未知信道的瞬时衰落系数)的情况下,此时信道容量可以表示为:

??

????+

=H t m HH N SNR I C )det(log 2 (2-11)

式中,),min(M N m =。

2.2.3 空时编码技术

MIMO 技术在实际应用中通常与空时编码技术相结合使用,空时编码是分集技术的一种,利用发射分集将编码技术、阵列天线相结合[9]。在不增加额外带宽的情况下,能够有效抵消多径衰落,降低误码率,提高信号功率和频谱效率,为接收端提供额外的信道增益。目前提出的典型空时编码主要有分层空时码(Bell Labs Layered Space-Time ,BLAST )、空时格码(Space Time Trellis Coding ,STTC )、空时分组码(Space Time Block Coding,STBC )等三种。本文中采用的是STBC-MIMO ,原理图如下图2.6。

天线2

*112()

x x =-*221()

x x =天线1

图2.6 Alamouti 空时编码方案

首先,需要对信源发送的二进制信息比特进行星座映射而得到调制符号1x 和2x 。然后,再将调制所得到的符号进行空时编码,最后的并行发射由天线进行。图中采用的空时编码矩阵表示如下[10]。

???

???-=*

1*

2

21x x x x X (2-12)

其中,从天线1和天线2发送的符号分别为][*211x x X -=,][2*

12

x x X =,

021=?X X 。若信道在两个连续符号周期内保持不变,那么接收端的信号可以用

式2-8表示。

N H X Y T += (2-13)

式中,][21h h H =,1h 和2h 分别表示天线1和天线2的信道。???

???=21n n N 表示信道中

存在的加性高斯白噪声。

2.3 无线信道环境及数学描述

所谓无线信道,指的是一种利用电磁波在空间中传输信号的物理媒质,其质量对无线通信系统的性能具有重大影响。电磁波在传输过程中由于受到发射端与接收端之间许多障碍物的反射、绕射和散射等物理现象的影响导致无线信道是动态而不可预测的,从而增加了分析无线通信系统的难度[11,12]。在实际仿真过程中,限于条件,现实生活中的信道通常采用几种常用的信道来模拟,如加性高斯白噪声信道、多径瑞丽衰落信道等。

一般地,我们采用在信道中加入了加性高斯白噪声的方式来得到加性高斯白噪声信道,加性高斯白噪声在信号的传输过程中最为常见。图2.4为加入加性高斯白噪声的信道原理图。

图中,

n(t)为加性高斯白噪声(Additive White Gaussian Noise,AWGN ),均值为0,方差是噪声功率的大小。在MATLAB 中通常用awgn 函数或randn 函数实现这种信道。

多径瑞丽衰落信道是指服从瑞丽分布的多径衰落信道,多径信道的基本模型为

)(~)()(~)

(1

k t N k k t x t r t y τ-=∑= (2-14)

式中,)(t r k 为第k 条路径的衰落,服从瑞丽分布,k τ为第k 条多径分量的传播延迟,延迟和衰落都用时间函数描述。在本程序中,这种信道用一个自定义的函数RayleighCH 来实现。 %瑞利信道矩阵函数

function H=RayleighCH(Nr,Nt) H=zeros(Nr,Nt); R=eye(Nr*Nt);

X=randn(Nr*Nt,1)/sqrt(2)+j*randn(Nr*Nt,1)/sqrt(2); H=reshape(R'*X,Nr,Nt);

第3章 仿真与分析

3.1 MIMO 信道容量仿真

根据第二章中介绍的MIMO 系统采用不同数量天线阵列的系统容量进行分

析,仿真中采用的信道为瑞丽衰落信道,信噪比最大为30。下面用MATLAB 仿真其信道容量。仿真结果下图所示。

510

15202530

0123456

78

SNR(dB)

信道容量( b /s /H z )

SISO 信道容量

图3.1 SISO 信道容量

510

15202530

SNR(dB)

信道容量( b /s /H z )

不同数量天线MISO 信道容量

图3.2 不同天线MISO 信道容量

510

15202530

SNR(dB)

信道容量( b /s /H z )

不同数量天线MIMO 信道容量

图 3.3 不同数量天线的MIMO 信道容量对比

对比图3.1,3.2和3.3,我们可以得到以下结论:

当收发端天线数目一定时,信道容量随着SNR的增加而增大。当SNR一定时,Tx数目或Rx数目的增加,都能带来信道容量的增加。但是,Rx数目的增加比Tx数目的增加对于信道容量的提升影响更明显。

以上实验结果表明,在相同SNR下,MIMO系统信道容量最大,SISO系统最小。随着Tx与Rx的不断增加,相应的信道容量基本符合线性增长。

3.2MIMO-OFDM系统与仿真

MIMO-OFDM系统中,发送端需要进行IFFT(QPSK调制后),接收端进行FFT(MMSE均衡前),等效于将信道(衰落信道和噪声)变换到频域,即进行FFT运算,利用简单的乘法运算,代替较为复杂的卷积运算实现过信道。图中的衰落信道和噪声均是在时域生成后,再进行FFT变换到频域。系统结构框架如下图3.4所示。

发送天线接收天线

图3.4MIMO-OFDM系统结构框图

根据系统结构框图进行分析编程,程序原理图如下图3.3所示

图3.5 MIMO-OFDM 程序框图

一个K 发L 收的MIMO 系统具有K *L 条信道。每个发送天线对应有L 条信道。程序中可根据需求设置不同的天线数目,OFDM (IFFT )调制点数为64,在每个SNR 下,进行1000次仿真,多径数为6,仿真得到的BER 曲线如下。

SNR(dB)

A v e r a g e

B E R

图3.6 SISO-OFDM 的BER 曲线

Matlab结构图控制系统仿真

图5. 利用 SIMULINK仿

4. 建立如图11-54所示的仿真模型,其中PID控 制器采用Simulink子系统封装形式,其内部 结构如图11-31(a)所示。试设置正弦波信号 幅值为5、偏差为0、频率为10πHz\始终相位 为0,PID控制器的参数为Kp=10.75、 Ki=1.2、Kd=5,采用变步长的ode23t算法、 仿真时间为2s,对模型进行仿真。 (6)观察仿真结果。系统放着结束后,双击仿真模型中的示波器模块,得到仿真结果。单击示波器窗口工具栏上的Autoscale按钮,可以自动调整坐标来 使波形刚好完整显示,这时的波形如图所示。 图3 2. 题操作步骤如下: (1) 打开一个模型编辑窗口。 (2) 将所需模块添加到模型中。在模块库浏览器中单击Sources,将 Clock(时钟)拖到模型编辑窗口。同样,在User-Defined Functions(用户定义模块库)中把Fcn(函数模块)拖到模型编辑窗口,在Continuous(连续系统模块库)中把 Integrator(积分模块)拖到模型编辑窗口,在Sinks中把Display模块编辑窗口。 (3) 设置模块参数并连接各个模块组成仿真模型。双击Fcn模块,打开Function Block operations中把Add模块拖到模型编辑窗口,在Sinks中把Scope模块拖到模型编辑窗口。 (3) 设置模块参数并连接各个模块组成仿真模型。先双击各个正弦源,打开其Block Parameters对话框,分别设置Frequency(频率)为2*pi、 6*pi、10*pi、 14*pi、18*pi,设置Amplitude(幅值)为1、1/3、1/5、1/7和1/9,其余参数不改变。对于求和模块,將符号列表List of signs设置为 +++++。 (4) 设置系统仿真参数。单击模型

控制系统MATLAB仿真基础

系统仿真 § 4.1控制系统的数学模型 1、传递函数模型(tranfer function) 2、零极点增益模型(zero-pole-gain) 3、状态空间模型(state-space) 4、动态结构图(Simulink结构图) 一、传递函数模型(transfer fcn-----tf) 1、传递函数模型的形式 传函定义:在零初始条件下,系统输出量的拉氏变换C(S)与输入量的拉氏变换R(S)之比。 C(S) b1S m+b2S m-1+…+b m G(S)=----------- =- -------------------------------- R(S) a1S n + a2S n-1 +…+ a n num(S) = ------------ den(S) 2、在MATLAB命令中的输入形式 在MATLAB环境中,可直接用分子分母多项式系数构成的两个向量num、den表示系统: num = [b1, b2, ..., b m]; den = [a1, a2, ..., a n]; 注:1)将系统的分子分母多项式的系数按降幂的方式以向量的形式输入两个变量,中间缺项的用0补齐,不能遗漏。 2)num、den是任意两个变量名,用户可以用其他任意的变量名来输入系数向量。 3)当系统种含有几个传函时,输入MATLAB命令状态下可用n1,d1;n2,d2…….。 4)给变量num,den赋值时用的是方括号;方括号内每个系数分隔开用空格或逗号;num,den方括号间用的是分号。 3、函数命令tf( ) 在MATLAB中,用函数命令tf( )来建立控制系统的传函模型,或者将零极点增益模型、状态空间模型转换为传函模型。 tf( )函数命令的调用格式为: 圆括号中的逗号不能用空格来代替 sys = tf ( num, den ) [G= tf ( num, den )]

matlab控制系统仿真.

课程设计报告 题目PID控制器应用 课程名称控制系统仿真院部名称龙蟠学院 专业自动化 班级M10自动化 学生姓名 学号 课程设计地点 C208 课程设计学时一周 指导教师应明峰 金陵科技学院教务处制成绩

一、课程设计应达到的目的 应用所学的自动控制基本知识与工程设计方法,结合生产实际,确定系统的性能指标与实现方案,进行控制系统的初步设计。 应用计算机仿真技术,通过在MATLAB软件上建立控制系统的数学模型,对控制系统进行性能仿真研究,掌握系统参数对系统性能的影响。 二、课程设计题目及要求 1.单回路控制系统的设计及仿真。 2.串级控制系统的设计及仿真。 3.反馈前馈控制系统的设计及仿真。 4.采用Smith 补偿器克服纯滞后的控制系统的设计及仿真。 三、课程设计的内容与步骤 (1).单回路控制系统的设计及仿真。 (a)已知被控对象传函W(s) = 1 / (s2 +20s + 1)。 (b)画出单回路控制系统的方框图。 (c)用MatLab的Simulink画出该系统。

(d)选PID调节器的参数使系统的控制性能较好,并画出相应的单位阶约响应曲线。注明所用PID调节器公式。PID调节器公式Wc(s)=50(5s+1)/(3s+1) 给定值为单位阶跃响应幅值为3。 有积分作用单回路控制系统PID控制器取参数分别为:50 2 5 有积分作用单回路控制系统PID控制器取参数分别为:50 0 5

大比例作用单回路控制系统PID控制器取参数分别为:50 0 0 (e)修改调节器的参数,观察系统的稳定性或单位阶约响应曲线,理解控制器参数对系统的稳定性及控制性能的影响? 答:由上图分别可以看出无积分作用和大比例积分作用下的系数响应曲线,这两个PID调节的响应曲线均不如前面的理想。增大比例系数将加快系统的响应,但是过大的比例系数会使系统有比较大的超调,并产生振荡,使稳定性变坏;

控制系统的MATLAB仿真与设计课后答案

控制系统的MATLAB仿真与设计课后答案

>>z=-4*sqrt(2)*sin(t); >>plot3(x,y,z,'p'); >>title('Line in 3-D Space'); >>text(0,0,0,'origin'); >>xlabel('X'),ylable('Y'),zlable('Z');grid; 4>>theta=0:0.01:2*pi; >>rho=sin(2*theta).*cos(2*theta); >>polar(theta,rho,'k'); 5>>[x,y,z]=sphere(20); >>z1=z; >>z1(:,1:4)=NaN; >>c1=ones(size(z1)); >>surf(3*x,3*y,3*z1,c1); >>hold on >>z2=z; >>c2=2*ones(size(z2)); >>c2(:,1:4)=3*ones(size(c2(:,1:4))); >>surf(1.5*x,1.5*y,1.5*z2,c2); >>colormap([0,1,0;0.5,0,0;1,0,0]); >>grid on >>hold off 第四章 1>>for m=100:999 m1=fix(m/100); m2=rem(fix(m/10),10); m3=rem(m,10); if m==m1*m1*m1+m2*m2*m2+m3*m3*m3 disp(m) end end 2M文件:function[s,p]=fcircle(r) s=pi*r*r; p=2*pi*r; 主程序: [s,p]=fcircle(10) 3>>y=0;n=100; for i=1:n y=y+1/i/i; end >>y

MatLab与控制系统仿真(重点编程)

第 4 章 MatLab 的程序设计 MatLab 是一个工具、开发平台,同时它也是一门编程语言。与在命令窗口用交互的方式工作相比,通过程序运行来解决实际问题,其效率更高,因此,凡是复杂的、大型的应用都是以程序的方式执行。相对其它高级语言, MatLab 更简单、编程的效率更高、调试过程也更容易。 MatLab 中的程序文件是以 m 为后缀,所以通常将 MatLab 的程序文件称为 m 文件。MatLab提供了两种形式的m文件,即:脚本(Script)式m文件(就简称m文件)、函数型 m 文件。在 MatLab 中已经嵌入了一个功能强大的集成开发环境—— m 文件编辑器,用它来进行程序的编辑、修改、调试、运行等,完成应用开发工作。 4.1 MatLab 程序设计基础 通过前面内容的学习,大家对 MatLab 已经有了一个初步的认识和印象,到目前为止,我们都是在“命令”窗口中,以交互的方式运行,完成我们的工作。实际上简单的m 文件,就是一个批处理程序,它是若干条命令的集合。 例: 4.1.1 M 文件规则和属性 函数 M 文件必须遵循一些特定的规则。除此之外,它们有许多的重要属性,这其中包括: 1. 函数名和文件名必须相同。例如,函数 fliplr 存储在名为 fliplr.m 文件中。 2. MATLAB 头一次执行一函数个 M 文件时,它打开相应的文本文件并将命令编辑成存储器的内部表示,以加速执行以后所有的调用。如果函数包含了对其它函 数 M 文件的引用,它们也同样被编译到存储器。普通的脚本 M 文件不被编译,即使它们是从函数 M 文件内调用;打开脚本 M 文件,调用一次就逐行进行注释。 3. 在函数 M 文件中,到第一个非注释行为止的注释行是帮助文本。当需要帮助时,返回该文本。例如, ? help fliplr 返回上述前八行注释。 4. 第一行帮助行,名为 H1 行,是由 lookfor 命令搜索的行。 5. 函数可以有零个或更多个输入参量。函数可以有零个或更多个输出参量。

MATLAB控制系统各种仿真例题(包括simulink解法)

一、 控制系统的模型与转换 1. 请将下面的传递函数模型输入到matlab 环境。 ]52)1)[(2(24)(322 33++++++=s s s s s s s G ) 99.02.0)(1(568 .0)(22+--+=z z z z z H ,T=0.1s >> s=tf('s'); G=(s^3+4*s+2)/(s^3*(s^2+2)*((s^2+1)^3+2*s+5)); G Transfer function: s^3 + 4 s + 2 ------------------------------------------------------ s^11 + 5 s^9 + 9 s^7 + 2 s^6 + 12 s^5 + 4 s^4 + 12 s^3 >> num=[1 0 0.56]; den=conv([1 -1],[1 -0.2 0.99]); H=tf(num,den,'Ts',0.1) Transfer function: z^2 + 0.56 ----------------------------- z^3 - 1.2 z^2 + 1.19 z - 0.99 2. 请将下面的零极点模型输入到matlab 环境。请求出上述模型的零极点,并绘制其位置。 )1)(6)(5()1)(1(8)(22 +++-+++=s s s s j s j s s G ) 2.8() 6.2)(2.3()(1 511-++=----z z z z z H ,T=0.05s >>z=[-1-j -1+j]; p=[0 0 -5 -6 -j j]; G=zpk(z,p,8) Zero/pole/gain: 8 (s^2 + 2s + 2) -------------------------- s^2 (s+5) (s+6) (s^2 + 1) >>pzmap(G)

《MATLAB与控制系统。。仿真》实验报告剖析

《MATLAB与控制系统仿真》 实验报告 班级: 学号: 姓名: 时间:2013 年 6 月

目录实验一 MATLAB环境的熟悉与基本运算(一)实验二 MATLAB环境的熟悉与基本运算(二)实验三 MATLAB语言的程序设计 实验四 MATLAB的图形绘制 实验五基于SIMULINK的系统仿真 实验六控制系统的频域与时域分析 实验七控制系统PID校正器设计法 实验八线性方程组求解及函数求极值

实验一 MATLAB环境的熟悉与基本运算(一) 一、实验目的 1.熟悉MATLAB开发环境 2.掌握矩阵、变量、表达式的各种基本运算 二、实验基本原理 1.熟悉MATLAB环境: MATLAB桌面和命令窗口、命令历史窗口、帮助信息浏览器、工作空间浏览器、文件和搜索路径浏览器。 2.掌握MA TLAB常用命令 表1 MA TLAB常用命令 3.MATLAB变量与运算符 3.1变量命名规则 3.2 MATLAB的各种常用运算符 表3 MATLAB关系运算符 表4 MATLAB逻辑运算符

| Or 逻辑或 ~ Not 逻辑非 Xor 逻辑异或 符号功能说明示例符号功能说明示例 :1:1:4;1:2:11 . ;分隔行.. ,分隔列… ()% 注释 [] 构成向量、矩阵!调用操作系统命令 {} 构成单元数组= 用于赋值 4.MATLAB的一维、二维数组的寻访 表6 子数组访问与赋值常用的相关指令格式 三、主要仪器设备及耗材 计算机 四.实验程序及结果 1、新建一个文件夹(自己的名字命名,在机器的最后一个盘符) 2、启动MATLAB,将该文件夹添加到MATLAB路径管理器中。 3、学习使用help命令。

MATLAB控制系统与仿真设计

MATLAB控制系统与仿真 课 程 设 计 报 告 院(系):电气与控制工程学院 专业班级:测控技术与仪器1301班 姓名:吴凯 学号:1306070127

指导教师:杨洁昝宏洋 基于MATLAB的PID恒温控制器 本论文以温度控制系统为研究对象设计一个PID控制器。PID控制是迄今为止最通用的控制方法,大多数反馈回路用该方法或其较小的变形来控制。PID控制器(亦称调节器)及其改进型因此成为工业过程控制中最常见的控制器(至今在全世界过程控制中用的84%仍是纯PID调节器,若改进型包含在内则超过90%)。在PID控制器的设计中,参数整定是最为重要的,随着计算机技术的迅速发展,对PID参数的整定大多借助于一些先进的软件,例如目前得到广泛应用的MATLAB仿真系统。本设计就是借助此软件主要运用Relay-feedback法,线上综合法和系统辨识法来研究PID控制器的设计方法,设计一个温控系统的PID控制器,并通过MATLAB中的虚拟示波器观察系统完善后在阶跃信号下的输出波形。 关键词:PID参数整定;PID控制器;MATLAB仿真。 Design of PID Controller based on MATLAB Abstract This paper regards temperature control system as the research object to design a pid controller. Pid control is the most common control method up until now; the great majority feedback loop is controlled by this method or its small deformation. Pid controller (claim regulator also) and its second generation so become the most common controllers in the industry process control (so far, about 84% of the controller being used is the pure pid controller, it’ll exceed 90% if the second generation included). Pid parameter setting is most important in pid controller designing, and with the rapid development of the computer technology, it mostly recurs to some advanced software, for example, mat lab simulation software widely used now. this design is to apply that soft mainly use Relay feedback law and synthetic method on the line to study pid

《控制系统MATLAB仿真》实验讲义88

《自动控制原理实验》 目录 第一部分实验箱的使用 第二部分经典控制实验 第一章基本实验 实验一典型环节及其阶跃响应 实验二二阶系统阶跃响应 实验三控制系统的稳定性分析 实验四控制系统的频率特性 实验五连续控制系统的串联校正 实验六数字PID控制实验 第二章综合实验 第三部现代控制理论实验 第一章基本实验 第二章综合实验

实验一 典型环节及其阶跃响应 预习要求: 1、复习运算放大器的工作原理;了解采用A μ741运算放大器构成各种运算电路的方法; 2、了解比例控制、微分控制、积分控制的物理意义。 一、实验目的 1、学习自动控制系统典型环节的电模拟方法,了解电路参数对环节特性的影响。 2、学习典型环节阶跃响应的测量方法; 3、学会根据阶跃响应曲线计算确定典型环节的传递函数。 二、实验内容 1、比例环节 电路模拟: 图1-1 传递函数: 2211 ()()()U s R G s U s R ==- 2、惯性环节 电路模拟: 图1-2 传递函数: 22112()/()()11 U s R R K G s U s Ts R Cs = =-=- ++ 3、积分环节 电路模拟: A/D1 D/A1 A/D1

图1-3 传递函数: 21()11 ()()U s G s U s Ts RCs = =-=- 4、微分环节 电路模拟: 图1-4 传递函数: 211() ()() U s G s s RC s U s τ= =-=- 5、比例微分 电路模拟: 图1-5 传递函数: 222111 ()()(1)(1)()U s R G s K s R C s U s R τ= =-+=-+ 6、比例积分 电路模拟: 图1-6 A/D1 2 R D/A1 A/D1 A/D1 A/D1 C

MatLab与控制系统仿真(重点编程)

第4章MatLab的程序设计 MatLab是一个工具、开发平台,同时它也是一门编程语言。与在命令窗口用交互的方式工作相比,通过程序运行来解决实际问题,其效率更高,因此,凡是复杂的、大型的应用都是以程序的方式执行。相对其它高级语言,MatLab更简单、编程的效率更高、调试过程也更容易。 MatLab中的程序文件是以m为后缀,所以通常将MatLab的程序文件称为m文件。MatLab提供了两种形式的m文件,即:脚本(Script)式m文件(就简称m文件)、函数型m文件。在MatLab中已经嵌入了一个功能强大的集成开发环境——m文件编辑器,用它来进行程序的编辑、修改、调试、运行等,完成应用开发工作。 4.1 MatLab程序设计基础 通过前面内容的学习,大家对MatLab已经有了一个初步的认识和印象,到目前为止,我们都是在“命令”窗口中,以交互的方式运行,完成我们的工作。实际上简单的m文件,就是一个批处理程序,它是若干条命令的集合。 例: 4.1.1 M文件规则和属性 函数M文件必须遵循一些特定的规则。除此之外,它们有许多的重要属性,这其中包括: 1. 函数名和文件名必须相同。例如,函数fliplr存储在名为fliplr.m文件中。 2. MATLAB头一次执行一函数个M文件时,它打开相应的文本文件并将命令编辑成存储器的内部表示,以加速执行以后所有的调用。如果函数包含了对其它函数M文件的引用,它们也同样被编译到存储器。普通的脚本M文件不被编译,即使它们是从函数M文件内调用;打开脚本M文件,调用一次就逐行进行注释。 页脚内容1

3. 在函数M文件中,到第一个非注释行为止的注释行是帮助文本。当需要帮助时,返回该文本。例如,? help fliplr返回上述前八行注释。 4. 第一行帮助行,名为H1 行,是由lookfor命令搜索的行。 5. 函数可以有零个或更多个输入参量。函数可以有零个或更多个输出参量。 6. 函数可以按少于函数M文件中所规定的输入和输出变量进行调用,但不能用多于函数M文件中所规定的输入和输出变量数目。如果输入和输出变量数目多于函数M文件中function语句一开始所规定的数目,则调用时自动返回一个错误。 相对于函数m文件,脚本式m文件就简单多了,它没有严格的格式要求,只要将有关的命令或函数一一敲入即可,但是还是有几个问题需要注意: 1. m文件的名称不得与MatLab的内部函数同名、第一个字符不得为数字(这点与变量的命名规则相同); 2. 最好在文件的头部加上注释,对该m文件的作用、功能作一个简要说明,而在一些重要命令行后也加上注释行,以方便使用者阅读、查找; 3. 要特别注意m文件的保存路径或位置,如果不是保存在MatLab默认的路径下,可以使用addpath函数来设置、添加路径,否则,m文件不能运行。 脚本式m文件与函数m文件还有一个重要区别:脚本式m文件中的变量均为全局变量,而函数m文件中的变量则是局部变量。这可以从这两种程序文件运行后在Workspace中留下痕迹看出。当然,在函数m文件中也可以专门将某些变量定义为全局变量(关键字是:global)。不过,在使用全局变量(函数m文件中)时应特别注意: ①.全局变量需要函数体的变量赋值语句之前定义或说明; ②.全局变量名最好是大写,而且要尽量长,能反映它本身的含义; 页脚内容2

MATLAB语言与控制系统仿真-参考答案

5.6 控制系统的时域响应MATLAB 仿真实训 5.6.1实训目的 1. 学会利用MATLAB 绘制系统的单位阶跃响应曲线,掌握读取系统动态性能指标的方法; 2. 学会利用MATLAB 绘制系统的单位脉冲响应曲线的方法; 3. 掌握利用MATLAB 绘制系统的零输入响应曲线的方法; 4. 掌握利用MATLAB 绘制系统的一般输入响应曲线的方法; 5. 学会通过仿真曲线读取相关信息,并依据有关信息进行系统的时域分析。 5.6.2实训内容 1.编写程序求取下列各系统的单位阶跃响应,完成表5-5并记录相关曲线。 162.316)(21++= s s s G 16 4.216 )(22 ++=s s s G 166.116)(2 3++=s s s G 1616 )(24++=s s s G 解:>> n1=16; >> d1=[1,3.2,16]; >> sys1=tf(n1,d1); >> step(sys1) >> n2=16; >> d2=[1,2.4,16]; >> sys2=tf(n2,d2); >> step(sys2)

>> n3=16; >> d3=[1,1.6,16]; >> sys3=tf(n3,d3); >> step(sys3) >> n4=16; >> d4=[1,1,16]; >> sys4=tf(n4,d4); >> step(sys4)

序号ξnω m ax c p t s t(% 5 = ?) 计算值实验计算值实验计算值实验值 1 0.4 4 1.2538 1.25 0.8569 0.863 2.1875 2.1 2 0. 3 4 1.3723 1.37 0.8233 0.828 2.9167 2.81 3 0.2 4 1.5266 1.53 0.8016 0.8 4.3750 4.9 4 0.12 5 4 1.6731 1.67 0.791 6 0.803 7.0000 7.33 w=4; cmax1=1+exp(-z1*pi/sqrt(1-z1^2)); tp1=pi/(w*sqrt(1-z1^2)); ts1=3.5/(z1*w); [cmax1,tp1,ts1] ans = 1.2538 0.8569 2.1875 >> z2=0.3; w=4; cmax2=1+exp(-z2*pi/sqrt(1-z2^2)); tp2=pi/(w*sqrt(1-z2^2)); ts2=3.5/(z2*w); [cmax2,tp2,ts2]

基于MATLAB的自动控制系统仿真

摘要 自动控制原理理论性强,现实模型在实验室较难建立,因此利用SIMULINK进行仿真实验,可以加深我们学生对课程的理解,调动我们学习的积极性,同时大大提高了我们深入思考问题的能力和创新能力。本文针对自动控制系统的设计很大程度上还依赖于实际系统的反复实验、调整的普遍现象,结合具体的设计实例,介绍了利用较先进的MATLAB软件中的SIMULINK仿真工具来实现对自动控制系统建模、分析与设计、仿真的方法。它能够直观、快速地分析系统的动态性能、和稳态性能。并且能够灵活的改变系统的结构和参数,通过快速、直观的仿真达到系统的优化设计。关键词:MATLAB;自动控制;系统仿真

Abstract Strong theory of automatic control theory, the reality is more difficult to establish in the laboratory model, thus using the SIMULINK simulation experiment, students can deepen our understanding of the course, to mobilize the enthusiasm of our study, while greatly increasing our ability to think deeply and Innovationcapacity.In this paper, the design of automatic control system is still largely dependent on the actual system of repeated experiments, adjustment of the universal phenomenon, with specific design example, introduced the use of more advanced software in the MATLAB SIMULINK simulation tools to achieve the automatic control systemModeling, Analysis and design, simulation methods.It can intuitively and quickly analyze the dynamic performance, and steady-state performance. Keywords:MATLAB; Automatic control; System simulation

MATLAB语言与控制系统仿真-参考答案-第5章

控制系统的时域响应MATLAB 仿真实训 实训目的 1. 学会利用MATLAB 绘制系统的单位阶跃响应曲线,掌握读取系统动态性能指标的方法; 2. 学会利用MATLAB 绘制系统的单位脉冲响应曲线的方法; 3. 掌握利用MATLAB 绘制系统的零输入响应曲线的方法; 4. 掌握利用MATLAB 绘制系统的一般输入响应曲线的方法; 5. 学会通过仿真曲线读取相关信息,并依据有关信息进行系统的时域分析。 实训内容 1.编写程序求取下列各系统的单位阶跃响应,完成表5-5并记录相关曲线。 162.316)(21++= s s s G 16 4.216 )(22 ++=s s s G 166.116)(2 3++=s s s G 1616 )(24++=s s s G 解:>> n1=16; >> d1=[1,,16]; >> sys1=tf(n1,d1); >> step(sys1) >> n2=16; >> d2=[1,,16]; >> sys2=tf(n2,d2); >> step(sys2)

>> n3=16; >> d3=[1,,16]; >> sys3=tf(n3,d3); >> step(sys3) >> n4=16; >> d4=[1,1,16]; >> sys4=tf(n4,d4); >> step(sys4)

序号ξnω m ax c p t s t(% 5 = ?)计算值实验计算值实验计算值实验值 14 24 34 44 w=4; cmax1=1+exp(-z1*pi/sqrt(1-z1^2)); tp1=pi/(w*sqrt(1-z1^2)); ts1=(z1*w); [cmax1,tp1,ts1] ans = >> z2=; w=4; cmax2=1+exp(-z2*pi/sqrt(1-z2^2)); tp2=pi/(w*sqrt(1-z2^2)); ts2=(z2*w); [cmax2,tp2,ts2]

MATLABSimulink和控制系统仿真实验报告

MATLAB/Simulink与控制系统仿真实验报 告 姓名:喻彬彬

学号:K031541725

实验1、MATLAB/Simulink 仿真基础及控制系统模型的建立 一、实验目的 1、掌握MATLAB/Simulink 仿真的基本知识; 2、熟练应用MATLAB 软件建立控制系统模型。 二、实验设备 电脑一台;MATLAB 仿真软件一个 三、实验内容 1、熟悉MATLAB/Smulink 仿真软件。 2、一个单位负反馈二阶系统,其开环传递函数为2 10()3G s s s = +。用Simulink 建立该控制系统模型,用示波器观察模型的阶跃响应曲线,并将阶跃响应曲线导入到MATLAB 的工作空间中,在命令窗口绘制该模型的阶跃响应曲线。 3、某控制系统的传递函数为 ()()()1()Y s G s X s G s = +,其中250()23s G s s s +=+。用Simulink 建 立该控制系统模型,用示波器观察模型的阶跃响应曲线,并将阶跃响应曲线导入到MATLAB 的工作空间中,在命令窗口绘制该模型的阶跃响应曲线。 4、一闭环系统结构如图所示,其中系统前向通道的传递函数为 320.520()0.11220s G s s s s s +=+++,而且前向通道有一个[-0.2,0.5]的限幅环节,图中用N 表 示,反馈通道的增益为1.5,系统为负反馈,阶跃输入经1.5倍的增益作用到系统。用Simulink 建立该控制系统模型,用示波器观察模型的阶跃响应曲线,并将阶跃响应曲线导入到MATLAB 的工作空间中,在命令窗口绘制该模型的阶跃响应曲线。

matlab 控制系统仿真

摘要 MATLAB语言是一种十分有效的工具,能容易地解决在系统仿真及控制系统计算机辅助设计领域的教学与研究中遇到的问题,它可以将使用者从繁琐的底层编程中解放出来,把有限的宝贵时间更多地花在解决科学问题上。MATLAB GUI 是MATLAB的人机交互界面。由于GUI本身提供了windows基本控件的支持,并且具有良好的事件驱动机制,同时提供了MATLAB数学库的接口,所以GUI 对于控制系统仿真的平台设计显得十分合适。GUI对于每个用户窗口生成.fig和.m 文件。前者负责界面的设计信息,后者负责后台代码的设计。 本文所做的研究主要是基于MATLAB GUI平台,结合控制系统基础理论和MATLAB控制系统工具箱,实现了用于控制系统计算机辅助分析与设计的软件。本软件主要功能:实现传递函数模型输入、状态方程模型输入、模型装换、控制系统稳定性分析、系统可观性可控性判断,绘制系统奈奎斯特图、波特图、根轨迹图以及零极点分布图。在继续完善的基础上能够用于本科自动控制原理教程的教学实验和一般的科学研究。 关键词:控制系统;MATLAB GUI;计算机辅助设计

Abstract MATLAB language is a very effective tool,and can be easily resolved in the system simulation and control system of teaching in the field of computer-aided design and research problems,it could be the bottom of the user from tedious programming liberate the limited spend more valuable time to solve scientific problems.The MATLAB GUI is the interactive interface.As the GUI itself provides the basic control windows support,and has a good mechanism for event-driven,while providing the MATLAB Math Library interface,the GUI for control system simulation platform for the design of it is suitable. GUI window generated for each user. Fig and.M file. The former is responsible for the design of the interface information,which is responsible for the design of the background code. Research done in this article is mainly based on MATLAB GUI platform,the basis of combination of control system theory and MATLAB Control System Toolbox,the realization of control systems for computer-aided analysis and design software. The main functions of the software: the realization of transfer function model input,the state equation model input,the model fitted for the control system stability analysis,system observability controllability judgments、rendering the system Nyquist diagram、Bode plots、root locus and Pole-zero distribution. While continuing to improve based on the principle of automatic control can be used for undergraduate teaching course experiments and scientific research in general. Key words:Control System;MATLAB GUI; Computer-assistant design

MATLAB与控制系统仿真及实验 2016(五)

MATLAB与控制系统仿真及实验 实验报告 (五) 2015- 2016 学年第 2 学期 专业: 班级: 学号: 姓名: 2016 年 5 月18日

实验五 SIMULINK系统仿真设计 一、实验目的 1、掌握SIMULINK工作环境及特点 2、掌握线性系统仿真常用的基本模块的用法 3、掌握SIMULINK的建模与仿真方法 4、子系统的创建和封装设计 二、实验设备及条件 计算机一台(包含MATLAB 软件环境)。 三、实验原理 Simulink是MATLAB的重要组成部分,提供建立系统模型、选择仿真参数和数值算法、启动仿真程序对该系统进行仿真、设置不同的输出方式来观察仿真结果等功能。 1、 Simulink的基本模块 Simulink的模块库提供了大量模块。单击模块库浏览器中Simulink前面的“+”号,将看到Simulink模块库中包含的子模块库,单击所需要的子模块库,在右边的窗口中将看到相应的基本模块,选择所需基本模块,可用鼠标将其拖到模型编辑窗口。同样,在模块库浏览器左侧的Simulink栏上单击鼠标右键,在弹出的快捷菜单中单击Open the …Simulink? Libray 命令,将打开Simulink基本模块库窗口。单击其中的子模块库图标,打开子模块库,找到仿真所需要的基本模块。 Simulink中几乎所有模块的参数都允许用户进行设置,只要双击要设置的模块或在模块上按鼠标右键并在弹出的快捷菜单中选择相应模块的参数设置命令就会弹出模块参数对话框。该对话框分为两部分,上面一部分是模块功能说明,下面一部分用来进行模块参数设置。同样,先选择要设置的模块,再在模型编辑窗口Edit菜单下选择相应模块的参数设置命令也可以打开模块参数对话框。 一个Simulink仿真模型的基本模块包括信源、信宿以及系统三个部分。其中,信源可以是常数、正弦波、阶梯波等信号源,信宿可以是示波器、图形记录仪等,系统则是被研究系统的SIMULINK方框图。系统、信源、信宿,可以从SIMULINK模块库中直接获得,也可以根据用户意愿用库中的模块构建而成。

MATLAB语言与控制系统仿真-参考答案-第7章

7.3控制系统根轨迹分析MATLAB 仿真实训 7.3.1实训目的 1. 掌握运用MATLAB 绘制180度、0度根轨迹图的编程方法; 2. 学会通过根轨迹图获取相关信息的方法; 3. 利用仿真结果对系统根轨迹进行分析; 4. 学会通过根轨迹图分析和解决一些实际问题。 7.3.2实训内容 1. 单位反馈系统的开环传递函数为 ) 3)(2()1()(+++= s s s s K s G g 试编程绘制闭环系统的根轨迹。并回答 (1)闭环系统稳定的g K 的取值范围; (2)系统的阶跃响应有超调的g K 的取值范围; (3)分离点的坐标。 %ggj01.m z=[-1]; p=[0;-2;-3]; k=[1]; sys=zpk(z,p,k); rlocus(sys) 系统稳定的g K 的取值范围:0>g K ; 系统的阶跃响应有超调的g K 的取值范围:419.0>g K 分离点的坐标:47.2-=d 2. 设单位反馈控制系统的开环传递函数为 ) 136)(5.3)(1()(2 ++++= s s s s s K s G 试编程绘制闭环系统的根轨迹。并回答 (1)闭环系统稳定的K 的取值范围;

(2)根轨迹与虚轴的交点坐标; (3)分离点的坐标。 ggj02.m %根轨迹仿真实训第2题 n=1; d=conv([1,0],conv([1,1],conv([1,3.5],[1,6,13]))); rlocus(n,d) 由图上数据可知: 闭环系统稳定的K 的取值范围:9.700<

控制系统Matlab仿真 (传递函数)

控制系统仿真 [教学目的] 掌握数字仿真基本原理 控制系统的数学模型建立 掌握控制系统分析 [教学内容] 一、控制系统的数学模型 sys=tf(num,den)%多项式模型,num为分子多项式的系数向量,den为分母多项式的系%数向量,函数tf()创建一个TF模型对象。 sys=zpk(z,p,k)%z为系统的零点向量,p为系统的极点向量,k为增益值,函数zpk()创建一个ZPK模型对象。 (一)控制系统的参数模型 1、TF模型 传递函数 num=[b m b m-1b m-2…b1b0] den=[a m a m-1a m-2…a1a0] sys=tf(num,den) 【例1】系统的传递函数为。 >>num=[01124448]; >>den=[11686176105]; >>sys=tf(num,den); >>sys Transfer function: s^3+12s^2+44s+48 ------------------------------------- s^4+16s^3+86s^2+176s+105 >>get(sys) >>set(sys) >>set(sys,'num',[212])

>>sys Transfer function: 2s^2+s+2 ------------------------------------- s^4+16s^3+86s^2+176s+105 【例2】系统的传递函数为。 >>num=conv([20],[11]); >>num num= 2020 >>den=conv([100],conv([12],[1610])); >>sys=tf(num,den) Transfer function: 20s+20 ------------------------------- s^5+8s^4+22s^3+20s^2 【例3】系统的开环传递函数为,写出单位负反馈时闭环传递函数的TF模型。>>numo=conv([5],[11]); >>deno=conv([100],[13]); >>syso=tf(numo,deno); >>sysc=feedback(syso,1) Transfer function: 5s+5 ---------------------- s^3+3s^2+5s+5 【例4】反馈系统的结构图为: R

MATLAB控制系统仿真实验报告

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

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

实验一 MATLAB环境的熟悉与基本运算 一、实验时间及地点: 实验时间:2015.10.19上午8:30—9:30 实验地点:计算中心 二、实验目的: 1.熟悉MATLAB开发环境 2.掌握矩阵、变量、表达式的各种基本运算 三、实验内容: 1、新建一个文件夹(自己的名字命名,在机器的最后一个盘符) 2、启动MATLAB6.5,将该文件夹添加到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,写出

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