1
第三讲 MATLAB的
SIMULINK仿真
3,1 快速入门
3,2 模型的创建和模型文件
3,3 仿真运行
3,4 系统建模
3,5 子系统的创建,封装及受控执行
3,6 常用工具箱简介
3,7 仿真设计实例
3,7,1 幅度调制的仿真
3,7,2 平衡正交调幅与解调
2
3,1 快速入门
? SIMULINK是一个进行动态系统建模、仿真和综合分析的
集成软件包。它可以处理的系统包括:线性、非线性系统;
离散、连续及混合系统;单任务、多任务离散事件系统。
?在 SIMULINK 提供的图形用户界面 GUI上,只要进行鼠标
的简单拖拉操作就可构造出复杂的仿真模型。它外表以方块
图形式呈现,且采用分层结构。
? 从建模角度讲,这既适于自上而下( Top-down) 的设计
流程(概念、功能、系统、子系统、直至器件),又适于
自下而上( Bottum-up) 逆程设计。
? 从分析研究角度讲,这种 SIMULINK 模型不仅能让用户
知道具体环节的动态细节,而且能让用户清晰地了解各器
件、各子系统、各系统间的信息交换,掌握各部分之间的
交互影响。
3
3,1 快速入门 ( 续 1)
?在 SIMULINK 环境中,用户将观察到现实世界中非线性因
素和各种随机因素对系统行为的影响。
?在 SIMULINK 环境中,用户可以在仿真进程中改变感兴趣
的参数,实时地观察系统行为的变化。
?在 MATLAB 5.3 版 中,可直接在 SIMULINK 环境中运作的
工具包很多,已覆盖通信、控制、信号处理,DSP,电力系
统等诸多领域,所涉内容专业性极强。
?本讲由浅入深地讲述 SIMULINK 对各种数学、工程问题的
建模、仿真和分析的基本方法,采用“算例”作为主体,配以
适量的归纳性表述。
?例 3_1_1:信号发生器和示波器。
?例 3_1_2:实现两个正弦信号的相乘。
4
3,2 模型的创建和模型文件
3,2,1 SIMULINK 模型是什么?
? SIMULINK 模型有以下几层含义:
? 在视觉上表现为直观的方框图;
? 在文件上则是扩展名为 mdl 的 ASCII代码;
? 在数学上表现为一组微分方程或差分方程;
? 在行为上则模拟了实际系统的动态特性 。
? SIMULINK 模型通常包含三种,组件”:
? 信源( Sources):可以是常数、时钟、白噪声、正弦波、
阶梯波、扫频信号、脉冲生成器、随机数产生器等信号源;
? 系统( System):即指被研究系统的 SIMULINK 方框图;
? 信宿 ( Sink):可以是示波器、图形记录仪等。
?对于具体的 SIMULINK 模型而,不一定完全地包含这三大
组件。例如:研究初始条件对系统影响就不必包含信源组件。
5
3,2 模型的创建和模型文件 ( 续 1)
3,2,2 SIMULINK 模型的创建
?创建模型文件;
?选择对象;
?模块的操作;
?连线的操作;
?创建子系统;
?仿真的配置 ;
?对模型的注释;
?保存模型;
?仿真和结果分析。
6
3,2 模型的创建和模型文件 ( 续 2)
3,2,3 SIMULINK 模型文件
? SIMULINK 除了可以通过图形界面设计模块外,也可以
通过直接编写 mdl 文件来设计仿真模型图。
? 一个有输入和输出的图形界面设计模块。
?用 mdl 文件编写有输入和输出的增益器。 (在 Word下 )
(韩利竹 P161)
GainIn Out
1 1 1
7
3,3 仿真运行
3,3,1 使用菜单进行仿真
?设置仿真参数和选择求解器
通过选择菜单 Simulation 下的 Parameters 菜单项,用来设置
仿真参数和选择求解器。其中有三个页面管理这些仿真参数。
? 在 Solver 页面,设置开始和停止时间,选择求解器和指定
求解器( solver) 的参数,另外还可以选择一些输出选项。
? 在 Workspace I/O 页面,管理对 MATLAB 工作空间的输
入和输出。
? 在 Diagnostics 页面,可以选择在仿真期间显示的警告信息
的层次。
? 在 Solver options 中,SIMULINK 模型的仿真涉及到一组
常微分方程( ODEs) 的数值积分。如果模型是连续系统,
使用 ode45方法 ; 如果模型不是连续系统,使用 discrete方法。
例 3_1_2:实现两个正弦信号的相乘。( AM,mdl )
8
3,3 仿真运行 ( 续 1)
3,3,2 通过命令行运行仿真
?通过命令行运行仿真与通过菜单运行仿真相比,有如下的
一些优点:
? 可以不理睬模块中的初始条件(参数 x0 );
? 可以定义任何外部输入(用参数 ut );
? 可以由一个 M 文件来启动一个仿真,并且允许模块中的
参数发生改变 。
?用来进行仿真的命令有四个:
? 使用 set_param 命令:开始、停止或者继续仿真或者更新
模块的方框图。 get_param 命令来检查一个仿真的状态。
? 使用 sim 命令:启动仿真命令;
? 使用 simset 命令:用来向 sim 命令产生或者编辑仿真参数
和积分法属性的命令;
? 使用 simget 命令:可以得到选项结构体属性和参数。
9
3,3 仿真运行 ( 续 2)
3,3,4 综合算例 ( M3_ex3_3_1.m)
例 3_3_1,求非线性系统 的相平面轨迹,
平衡点, 并进行稳定性分析 。
本例演示,( A) SIMULINK模型和 MATLAB指令的配合使用 。
?
?
?
??
???
212
2
2
2
11
2
4
xxx
xxx
?
?
( B) sim,simset,trim 指令的应用 。
( C) 二阶系统相轨迹的精良图形 。
10
3,4 系统建模
3,4,1 连续系统建模
?线性系统建模举例
例 3_4_1,复位积分器的功用示例。
例 3_4_2,积分模块直接构造微分方程求解模型。
例 3_4_3,直接利用传递函数模块求解方程。
在仿真启动时,积分器从零开始对 0.5 t 进行积分。当复位口
信号 t-5=0 瞬间,积分器被重置为零。此后,再对 0.5 ( t-5 )
进行积分。
假设从实际自然界(力学、电学、生态等)或社会中,抽象
出有初始状态为 0的二阶微分程,
是单位阶跃函数。本例演示如何用积分器直接构搭求解该微
分方程的模型。
)(2.04.02.0 tuxxx ??????
)(tu
对二阶微分程进行拉氏变换,)(2.0)(4.0)(2.0)(2 sUsXssXsXs ???
4.02.0
2.0
)(
)()(
2 ???? sssU
sXsG可以得到:
11
3,4,1 连续系统建模 ( 续)
?非线性系统建模举例
例 3_4_4,求非线性系统 的相平面轨迹、
平衡点,并进行稳定性分析。
?
?
?
??
???
212
2
2
2
11
2
4
xxx
xxx
?
?
本例综合演示:
( A) SIMULINK模型和 MATLAB指令的配合使用。
( B) sim,simset,trim 指令的应用。
( C) 二阶系统相轨迹的精良图形。
( 1)非线性系统由 SIMULINK 模型 M3_ex3_4_4 _ mdl 表达。
( 2)编写绘制传统状态轨迹( State trajectory) 的 M文件
M3_ ex 3_4 _4.m
12
3,4,2 离散时间系统和混合系统建模
?用组合逻辑模块产生 的“逻辑和”结果 及“逻辑
或”结果 。
( 1) 建立输入输出关系 。
( 2)建立模型 M3_ex3_4_5.mdl
ba,)1(c
)2(c
13
3,4,2 离散时间系统和混合系统建模 ( 续)
?多速率离散时间系统:计算机就是这样的系统。它的 CPU、
串行 /并行控制器, 磁盘驱动器、输入 键盘就采用不同的工作
速率。再如通信系统也是多速率系统。
?离散 -连续混合系统:在现代控制系统中,通常被控的对象
是连续时间的(物理)子系统,而控制器是由逻辑控制器或
计算机构成的离散子系统。对于这种离散 -连续混合系统,模
型参数设置页中的几乎所有 Solver 解算方法都能采用 。
?可以使该模型及其所有子系统按采样速率着色:连续时间部
分用黑色;离散时间部分用红色;离散、连续混合的子系统
被着黄色。
14
3,5 子系统的创建、封装及受控执行
?利用 SIMULINK 的封装( Mask) 功能,可以定做一个模块
或一个子系统的对话框和图标 。
?引用子系统的理由是:研究分析系统时,进行概念抽象
( Abstraction of concepts) 的需要;为提高工作效率和可靠
性,实施模块“重用( Reuse), 的需要。
?仿真建模中子系统的作用,类 似于 MATLAB 指令运行中的
M函数文件 。
? 前面介绍了如何利用库标准模块建立被研究系统的仿真模型。
下面着重介绍如何利用“分层,思想建立比较复杂的仿真模型,
介绍建立这种分层模型所需的各种子系统( Subsystem )。
?封装的一个重要用途是帮助用户创建一个对话框来接受参
数。这样就无需打开子系统中各个模块的对话框,然后再逐
个输入参数。
15
3,5,1 用封装的办法创建模块
1。封装模块功能
例 3_5_1,封装线性方程 y=mx+b 的模型。
( M3_ex3_5_1.mdl)
?子系统 mx+b 包含了一个 Gain模块,命名为 Slope,其增
益常数为 m; 一个 Constant模块,命名为 Intercept,其常数
值参数指定为 b。 这些参数代表一条直线的斜率和截距。
?封装该子系统产生一个用户对话框和图标。对话框包含对
斜率和截距的提示。
?用户向封装对话框输入 Slope和 Intercept 的值。封装将这
些封装参数映射给底层模块。
?在 SIMULINK 中产生线性方程 y=mx+b 的模型,并生成
mx+b 子系统。
16
3,5,1 用封装的办法创建模块 ( 续)
2。产生封装提示对话框
?要产生这个系统的封装,先选取子系统模块,然后从 Edit
菜单中选取 Mask Subsystem 命令 。
?封装提示对话框开始时大都显示 Mask Editor 对话框的
Initialization 选项卡。
?把 Slope 和 Intercept 定义为 Edit 控件。
3。产生封装模块描述和帮助文本
?在 Documentation 选项卡中可以定义模块的封装类型、模
块描述和帮助文本。
4。产生模块的图标
?可以在 Mask Editor 对话框的 Icon 选项卡中定义图标。
17
3,5,2 条件执行子系统
?在 SIMULINK 模块库中,有两个特殊模块,Enable 模块
和 Trigger 模块。如果把这种模块放到某个子系统中,则该子
系统是否起作用将取决于外界的某个条件(状态或事件 )是
否满足,这样就构成了所谓的条件执行子系统
( Conditionally Executed Subsystem) 。
?常用的条件执行子系统有,使能子系统 ( Enabled
Subsystem ); 触发子系统 ( Trigged Subsystem );
触发使能子系统 ( Trigged and Enabled Subsystem )。
18
使能子系统
例 3_5_2,利用使能原理构成一个半波整流器。本例演示使能子系统的创建
及工作机理。 ( M3_ex3_5_2.mdl)
( 1) 打开 SIMULINK的新建模型窗口 。
( 2) 从 SIMULINK库中提取三个模块 Sine wave,Subsystem, Scope 到新
建窗 。 然后进行文件保存操作, 并起文件名为 M3_ex3_5_2 ( 这保存操作只
为以后调用方便, 并非必要 ) 。
( 3) 双击空子系统模块 Subsystem,打开其结构模型窗 。
( 4) 从 SIMULINK库中拷贝 In输入口模块, Out输出口模块, Enable使能
模块到子系统的结构模型窗;把 In 模块的输出直接送到 Out模块的输入端;
Enable模块无须进行任何连接, 且本例采用它的缺省设置;便实现了题目
所需使能子系统 。
( 5) 完成 M3_ex3_5_2窗口中各模块间的连接 。
( 6) 双击示波器模块, 打开显示窗 。 然后选择 M3_ex3_5_2窗口菜单项
【 Simulation:Start】, 就可看到半波整流后的波形 。
19
触发子系统
例 3_5_3,利用触发子系统获得零阶保持的采样信号。
本例演示:触发子系统工作原理;在 MATLAB指令窗中运行 SIMULINK模
型。( M3_ex3_5_3.mdl)
( 1) 构造如图所示的仿真模型 ( M3_ex3_5_3 _ mdl)
( 2) 在 MATLAB指令窗中运行 SIMULINK模型 ( M3_ex3_5_3.m)
[t,x,y]=sim('M3_ex3_5_ 3 _ mdl ',10);
clf,hold on
plot(t,y(:,1),'b')
stairs(t,y(:,2),'r')
stairs(t,y(:,3),'c:'),hold off
axis([0 10 -1.1 1.1]),box on
legend('sinewave','output','trigger',4)
20
触发使能子系统
把触发模块和使能模块装置在同一个子系统中,就构成触发
使能子系统。该系统的行为方式与触发子系统相似,但只有
当使能信号为“正”时,触发事件才起作用。
21
3,6 常用工具箱简介
具有 16种功能强大的应用工具箱。
我们 常用工具箱 有 SIMULINK,COMM,DSP 等。
22
3,7 仿真设计实例
3,7,1 幅度调制的仿真( amdsb_tc.mdl)
?幅度调制可以分为标准调幅( SAM),抑制载波双边带
( DSB-SC),单边带( SSBAM),残留边带( VSBAM) 和
平衡正交调幅( QAM)。
?设调制信号为 m(t), 其幅度为 1V,载波信号为,角
频率为,各种调幅方式的已调波的表达式如下,t?sin?
? 标准调幅,ttmmts
A ?s in)](1[)( ????
其中调制度 的数值范围 在之间。
Am 1~0
? 抑制载波双
边带调幅,ttmts ?s in)()( ??
?单边带调幅,ttmttmts ?? s in)(5.0c o s)(5.0)( ' ??????
ttmttmts ?? s in)(5.0c o s)(5.0)( ' ??????
为调制信号 的希尔伯特( Hilbert) 变换。)(tm)(' tm
23
3,7 仿真设计实例 ( 续 1)
?幅度调制解调器可以分为包络检波和同步解调两种基本方
式,包络检波适用于标准调幅和残留边带调幅,而同步解调
适用于各种幅度调制方式。
? 包络检波器的结构十分简单,它包括一个(或两个)检
波二极管和一个低通滤波器。
? 同步解调器的核心部分是由一个乘法器和一个低通滤波
器构成,由于同步解调要求在接收端必须产生一个与输入
载波信号同步的本地载波信号,因此同步解调器中还必须
有一个载波恢复装置,电路十分复杂。
24
3,7 仿真设计实例 ( 续 2)
3,7,2 平衡正交调幅与解调( qam.mdl)
?平衡正交调幅与解调的仿真采用模块仿真的方式,整个系统
的概念是十分清晰的。从中可以观察到两路调制信号的波形,
载波信号的波形和频谱,两路解调信号的波形。
?平衡正交调幅的特点是可以在同一载波频率上调制两路不
同的信号,其中一路信号调制在正弦波上,而另一路信号则
调制在余弦波上。
?平衡正交调幅的解调采用同步解调的方式。在模拟电视广播
中,两路色差信号的传输就是采用平衡正交调幅的方式。
?信号发生器的参数设置:频率为 1Hz,信号幅度为 1V,调
制信号的类型分别为正弦波和锯齿波。
?正弦载波发生器的参数设置:角频率为 200 (频率为
100Hz),相位为 0,信号幅度为 1V,采样时间间隔为 0.0025s
( 采样频率为 400Hz )。
?
ttmttmts ?? c o s)(s in)()( 21 ????
25
3,7 仿真设计实例 ( 续 3)
?余弦载波发生器的参数设置:角频率为 200 (频率为
100Hz),相位为, 信号幅度为 1V,采样时间间隔为
0.0025s( 采样频率为 400Hz )。
?
2/?
?各个示波器的参数设置:显示时间范围均为 2s ; Input示波
器的 Y轴设置为 1.2V和 -1.2V; QAM示波器的 Y轴设置为 1.5V
和 -1.5V; Output示波器的 Y轴设置为 0.6V和 -0.6V。
?滤波器的参数设置:采用 4阶的切比雪夫 II型低通滤波器,通
带的转折频率归一值为 0.5(频率为 100Hz ),阻带衰减为
40dB。
?采样模块的参数设置:采样时间间隔为 0.0025s( 采样频率
为 400Hz )。
26
MATLAB 5.3 版中的 16 种工具箱 返回 1
? Simulink 库
? Communications Blockset( 通信模块集)
? Control System Toolbox( 控制系统 工具箱 )
? Dials & Gauges Blockset( 面板和仪表模块集 )
? DSP Blockset( 数字信号处理模块集 )
? Fixed-Point Blockset( 定点模块集 )
? Fuzzy Logic Toolbox( 模糊逻辑工具箱 )
? NCD Blockset( 非线性控制设计模块集 )
? Neural Network Blockset( 神经网络模块集 )
? MPC Blockset( MPC 模块集 )
? Power System Blockset( 电源系统模块集 )
? Real-Time Windows Target( 实时窗口目标库 )
? Real-Time Workshop( 实时工作空间库 )
? Stateflow( 状态流程库 )
? Simulink Extras( Simulink附加库 )
?System ID Blockset( 系统辨识模块集 )
返回 2
27
例 3_1_1:信号发生器和示波器。 返回
( sig_scope.mdl)
?通过这个例子,对于系统仿真工具箱的使用有一个比较具体
的认识。
?首先从源模块库内拖出三个信号发生器模块。
?然后对它们分别进行设置:一个为噪声源,另外两个为正弦
波,频率分别为 0.2Hz和 0.6Hz。
?接着从 Simulink— Math 模块库内拖出一个加法器,将它的
输入端设置为三个。
?最后从输出模块库内拖出一个示波器。将上述五个模块连接
在一起。
?进行系统仿真。
28
例 3_1_2:实现两个正弦信号的相乘。 返回
(刘敏 P99---AM,mdl )
计算 )10s in ()s in ()( tttx ??
? 将两个正弦源的频率设置为 1Hz和 10Hz,信号幅度均为 1V;
要求显示两个正弦波以及相乘后的波形,因此要求示波器有
三个输入端。
?进行系统仿真。
?仿真参数设置:
? 仿真时间设置,0 到 2s。
? 仿真步长设置:定步长( Fixed--Step)。
? 仿真算法设置:龙格 --库塔法的 5 阶算法( ode5)。
29
Simulink 库 返回
? Sources 库
? Sinks 库
? Discrete 库
? Continuous 库
? Math 库
? Nonlinear 库
? Signals & Systems 库
? Functions & Tables 库
30
Sources 库 返回
Band-Limited White Noise( 限带白噪声 )
Chirp Signal( 扫频信号 )
Clock( 时钟 )
Constant( 常量)
Digital Clock( 数字时钟 )
Discrete Pulse Generator( 离散脉冲生成器 )
From Workspace( 从工作空间读取数据 )
From File( 从文件读数据 )
Pulse Generator( 脉冲生成器 )
Ramp( 倾斜)
Random Number( 随机数产生器 )
Repeating Sequence( 重复序列)
31
Sources 库 ( 续) 返回
Signal Generator( 信号发生 器 )
Sine Wave( 正弦波 )
Step( 阶跃 )
Uniform Random Number( 均匀分布随机数)
32
Sinks 库 返回
Display( 显示 )
Scope( 示波器 )
Stop Simulation( 停止仿真)
To File( 写入文件 )
To Workspace( 写到工作空间 )
XY Graph( 显示平面图形 )
33
Discrete 库 返回
Discrete Filter( 离散滤波器 )
Discrete State Space( 离散状态空间 )
Discrete-Time Integrator( 离散时间积分器 )
Discrete Transfer Fcn( 离散传递函数 )
Discrete Zero-Pole( 数字零极点函数 )
First-Order Hold( 一阶保持)
Zero-Order Hold( 零阶保持 )
Unit Delay( 单位延迟 )
34
Continuous 库 返回
Derivative( 导数 )
Integrator( 积分器 )
Memory( 记忆)
State Space( 状态空间 )
Transfer Fcn( 传递函数 )
Transport Delay( 传递延迟 )
Variable Transport Delay( 可变传输延迟)
Zero-Pole( 零 -极点 )
35
Math 库 返回
Abs( 绝对值 )
Algebraic Constraint
Combinatorial Logic( 组合 逻辑 )
Complex to Magnitude-Angle
Complex to Real-Image
Dot Product( 点乘 )
Gain( 增益 )
Logical Operator( 逻辑 运算 )
Magnitude--Angle to Complex()
Math Function( 数学函数 )
Matrix Gain( 矩阵增益 )
MinMax( 最大最小值 )
36
Math 库 ( 续)
Product( 乘积 )
Real--Image to Complex
Relational Operator( 关系 运算 )
Rounding Function( 圆整函数 )
Sign( 符号 )
Slider Gain( 滑块增益 )
Sum( 和 )
Trigonometric Function( 三角函数 )
返回
37
Nonlinear 库 返回
Backlash 模块
Coulomb and Viscous Friction( 库仑和粘性摩擦 )
Dead Zone( 死区)
Manual Switch( 手动开关 )
Multiport Switch( 多路转换开关 )
Quantizer( 量化)
Rate Limiter( 限速器 )
Relay( 继电器 )
Saturation( 饱和)
Switch( 选择开关 )
38
Signals & Systems 库 返回
Bus Selector( 总线选择器 )
Configurable Subsystem( 可配置子系统 )
Data Store Memory( 数据存储器 )
Data Store Read( 读数据存储 )
Data Store Write( 写数据存储 )
Data Type Conversion( 数据类型转换 )
Demux( 解混)
Enable( 激活)
From( 导入)
Goto( 传出 )
Goto Tag Visibility( 传出标记符的可见性 )
Ground( 接地 )
Hit Crossing( 捕获穿越点 )
39
Signals & Systems 库 ( 续) 返回
IC( 初始状态 )
Inport( 输入端口 )
Merge( 合并 )
Model Info ( 模型信息)
Mux ( 混合 )
Outport( 输出端口 )
Probe ( 探测器 )
Selector( 选择器 )
Subsystem( 子系统)
Terminator( 终结器 )
Trigger( 触发器 )
Width( 宽度 )
Function-Call Generator( 函数调用发生器 )
40
Functions & Tables 库 返回
Fcn( 函数表达式 )
Look-Up Table( 查找表 )
Look-Up Table ( 2-D)( 二维查找表 )
MATLAB Fcn ( MATLAB 函数 )
S-Function( S 函数 )
41
Communications Blockset 返回
? Channel Coding( 信道编码库 )
? Channels( 信道库 )
? Comm Sinks( 通信接收库)
? Comm Sources( 通信源库 )
? Modulation( 调制和解调库 )
? Source Coding( 源编码库 )
? Synchronization( 同步库 )
? Utility Functions( 实用函数库 )
42
Channel Coding( 信道编码库 ) 返回
?该库中又包含的有:模块编码库和卷积编码库。
?模块编码库中包含有各种编码和解码成对模块以及演示模块。
? 线性编码模块组:有二进制向量线性编码、解码和演示三个
模块,二进制序列线性编码、解码和演示三个模块。
? 循环编码模块组:有二进制向量循环编码、解码和演示三个
模块,二进制序列循环编码、解码和演示三个模块。
? Hamming 编码模块组:有二进制向量 Hamming 编码、解
码和演示三个模块,二进制序列 Hamming 编码、解码和演示
三个模块。
? BCH 编码模块组:有二进制向量 BCH 编码、解码和演示
三个模块,二进制序列 BCH 编码、解码和演示三个模块。
43
Channel Coding( 信道编码库 ) ( 续) 返回
? Reed-Solomon 编码模块组:有整数向量 RS 编码、解码
和演示三个模块,二进制向量 RS 编码、解码和演示三个
模块,整数序列 RS 编码、解码和演示三个模块,二进制
序列 RS 编码、解码和演示三个模块。
?卷积编码库中包含有:卷积编码,Viterbi 解码和演示三个
模块。
44
Channels( 信道库 ) 返回
该库中包含的模块有:
?加零均值 Gauss 白噪声 ( AWGN) 信道模块及四个演
示模块。
?加二进制误差信道模块及演示模块。
?有限二进制误差信道模块及演示模块。
?定参数 Rayleigh 衰减信道模块,变参数 Rayleigh 衰减信
道模块及演示模块。
?定参数加 Rician 噪声信道模块,变参数加 Rician 噪声信
道模块及两个演示模块。
45
Comm Sinks( 通信接收库) 返回
该库中包含的模块有:
?触发写文件模块及触发文件 I/O 演示模块。
?触发眼孔图样 /散布图模块及演示模块。
?采样时间眼孔图样 /散布图模块及演示模块。
?误差率计算模块及演示模块。
46
Comm Sources( 通信源库 ) 返回
该库中包含的模块有:
?触发文件读入模块及触发文件 I/O 演示模块。
?采样读工作空间变量模块,具有同步脉冲的采样读工作空
间变量模块。
?具有采样率的向量脉冲模块。
?伪随机序列发生器模块及演示模块。
?均匀分布噪声发生器模块及演示模块。
? Gauss 分布噪声发生器模块及演示模块。
?随机整数发生器模块及均匀分布整数演示模块。
47
Comm Sources( 通信源库 ) ( 续) 返回
? Poisson 分布随机整数发生器模块及演示模块。
?二进制向量发生器模块及演示模块。
? Bernoulli 分布随机数发生器模块及演示模块。
? Rayleigh 分布噪声发生器模块及演示模块。
? Rician 分布噪声发生器模块及演示模块。
48
Modulation( 调制和解调库 ) 返回
调制库中包含四个模块库,它们是:数字基带调制模块库,
数字通带调制模块库,模拟基带调制模块库,模拟通带调制
模块库。
?数字基带调制模块库,包含的模块有:
? 基带 MASK( Multiple Amplitude Shift Keying,多幅键
控法 ) 调制、解调及演示三个模块。
? 基带 S-QASK( Quadrature Amplitude Shift Keying,正
交振幅相移键控法 ) 调制、解调及演示三个模块。
? 基带 A-QASK 调制、解调及演示三个模块。
? 基带 MFSK( Multiple Frequency Shift Keying,多频移
键控法 ) 调制模块,基带相干 MFSK 调制模块,基带非相
干 MFSK 调制模块及演示四个模块。
? 基带 MPSK( Multiple Phase Shift Keying,多相移键控
法 ) 调制、解调及演示三个模块。
49
Modulation( 调制和解调库 ) ( 续 1) 返回
?数字通带调制模块库,包含的模块有:
? 通带 MASK 调制、解调及演示三个模块。
? 通带 S-QASK 调制、解调及演示三个模块。
? 通带 A-QASK 调制、解调及演示三个模块。
? 通带 MFSK 调制模块,通带相干 MFSK 调制模块,通带
非相干 MFSK 调制模块及演示四个模块。 。
? 通带 MPSK 调制、解调及演示三个模块。
? 通带 DPSK ( Differential Phase Shift Keying,差分相移
键控法 ) 调制、解调两个模块。
? 通带 MSK ( Minimun Phase Shift Keying,最小相移键
控法 ) 调制、解调两个模块。
? 通带 OQPSK ( Offset Quadrature Phase Shift Keying,
偏移正交相移键控法 ) 调制、解调两个模块。
50
Modulation( 调制和解调库 ) ( 续 2) 返回
?模拟基带调制模块库,包含的模块有:
? 基带 DSB-SC( Double Side Band Shift Control,双边频带
移位控制 ) AM ( Amplitude Modulation,调幅 ),解调
及演示三个模块。
? 基带 QAM( Quadrature Amplitude Modulation,正交幅度
调制 ),解调及演示三个模块。
? 基带 FM( Frequency Modulation,调频 ),解调及演示
三个模块。
? 基带 PM( Phase Modulation,相位调制 ),解调及演示
三个模块。
? 基带 SSB-AM( Single Side Band Amplitude Modulation,
单边带调幅 ),解调及演示三个模块。
? 具有传输载波的基带 AM,解调及演示三个模块。
51
Modulation( 调制和解调库 ) ( 续 3) 返回
?模拟通带调制模块库,包含的模块有:
? 通带 DSB-SC AM,解调及演示三个模块。
? 通带 QAM, 解调及演示三个模块。
? 通带 FM,解调及演示三个模块。
? 通带 PM,解调及演示三个模块。
? 通带 SSB-AM,解调及演示三个模块。
? 具有传输载波的通带 AM,解调及演示三个模块。
52
Source Coding( 源编码库 ) 返回
该库中包含的模块有:
?标量量化编码、解码及演示三个模块。
?激活量化编码及演示两个模块。
? DPCM( Differential Pulse Code Modulation, 差分脉码
调制技术 ) 编码、解码及演示三个模块。
? 规则压缩、解压两个模块。
?A 规则压缩、解压两个模块。
?
53
Synchronization( 同步库 ) 返回
该库中包含的模块有:
? PLL( Phase Locked Loop, 相同步回路,锁相回路 ) 模
块,基带 PLL 模型模块及演示模块。
?进料泵 PLL 模块。
?线性化基带 PLL 模块。
54
Utility Functions( 实用函数库 ) 返回
?离散时间模积分器模块。
?模积分器模块。
?离散 VCO( Voltage Controlled Oscillator,压控振荡器)
模块。
? VCO( Voltage Controlled Oscillator,压控振荡器)模块。
? 可复位数值计数器模块。
?错误计数器模块。
?数据绘画器及演示两个模块。
?二进制编码器和解码器两个模块。
该库中包含的模块有:
?窗口积分器模块。
?包络检测器模块。
55
Utility Functions( 实用函数库 ) ( 续) 返回
?十进制整数标量到向量转换器模块。
?交错模块及两个演示模块。
?预定复位积分模块。
?信号边沿检测模块 。
?十进制整数向量到标量转换器模块。
?扰频器、解扰器及演示三个模块。
?寄存器移位及演示两个模块。
?触发缓冲器模块。
?触发向量信号重新分布及演示两个模块。
?向量信号重新分布及演示两个模块。
56
DSP Blockset 返回
? DSP Sinks( DSP 接收库 )
? DSP Sources( DSP 源库 )
? Estimation( 估计库 )
? Filtering( 滤波器库 )
? General DSP( 通用 DSP 库 )
? Math Function( 数学函数库 )
(陈桂明 P153~159)
57
综合算例 返回
( 1) 非线性系统由 SIMULINK模型 M3_ex3_3_1 _ mdl表达 。
( M3_ex3_3_1.m) (张志涌 P384)
例 3_3_1,求非线性系统 的相平面轨迹 。
?
?
?
??
???
212
2
2
2
11
2
4
xxx
xxx
?
?
( 2) 编写绘制传统状态轨迹的 M文件 M3_ex3_3_1,m。
( 3) 运行 M文件 ( M3_ex3_3_1.m), 可以得到传统状态轨
迹图 。
第三讲 MATLAB的
SIMULINK仿真
3,1 快速入门
3,2 模型的创建和模型文件
3,3 仿真运行
3,4 系统建模
3,5 子系统的创建,封装及受控执行
3,6 常用工具箱简介
3,7 仿真设计实例
3,7,1 幅度调制的仿真
3,7,2 平衡正交调幅与解调
2
3,1 快速入门
? SIMULINK是一个进行动态系统建模、仿真和综合分析的
集成软件包。它可以处理的系统包括:线性、非线性系统;
离散、连续及混合系统;单任务、多任务离散事件系统。
?在 SIMULINK 提供的图形用户界面 GUI上,只要进行鼠标
的简单拖拉操作就可构造出复杂的仿真模型。它外表以方块
图形式呈现,且采用分层结构。
? 从建模角度讲,这既适于自上而下( Top-down) 的设计
流程(概念、功能、系统、子系统、直至器件),又适于
自下而上( Bottum-up) 逆程设计。
? 从分析研究角度讲,这种 SIMULINK 模型不仅能让用户
知道具体环节的动态细节,而且能让用户清晰地了解各器
件、各子系统、各系统间的信息交换,掌握各部分之间的
交互影响。
3
3,1 快速入门 ( 续 1)
?在 SIMULINK 环境中,用户将观察到现实世界中非线性因
素和各种随机因素对系统行为的影响。
?在 SIMULINK 环境中,用户可以在仿真进程中改变感兴趣
的参数,实时地观察系统行为的变化。
?在 MATLAB 5.3 版 中,可直接在 SIMULINK 环境中运作的
工具包很多,已覆盖通信、控制、信号处理,DSP,电力系
统等诸多领域,所涉内容专业性极强。
?本讲由浅入深地讲述 SIMULINK 对各种数学、工程问题的
建模、仿真和分析的基本方法,采用“算例”作为主体,配以
适量的归纳性表述。
?例 3_1_1:信号发生器和示波器。
?例 3_1_2:实现两个正弦信号的相乘。
4
3,2 模型的创建和模型文件
3,2,1 SIMULINK 模型是什么?
? SIMULINK 模型有以下几层含义:
? 在视觉上表现为直观的方框图;
? 在文件上则是扩展名为 mdl 的 ASCII代码;
? 在数学上表现为一组微分方程或差分方程;
? 在行为上则模拟了实际系统的动态特性 。
? SIMULINK 模型通常包含三种,组件”:
? 信源( Sources):可以是常数、时钟、白噪声、正弦波、
阶梯波、扫频信号、脉冲生成器、随机数产生器等信号源;
? 系统( System):即指被研究系统的 SIMULINK 方框图;
? 信宿 ( Sink):可以是示波器、图形记录仪等。
?对于具体的 SIMULINK 模型而,不一定完全地包含这三大
组件。例如:研究初始条件对系统影响就不必包含信源组件。
5
3,2 模型的创建和模型文件 ( 续 1)
3,2,2 SIMULINK 模型的创建
?创建模型文件;
?选择对象;
?模块的操作;
?连线的操作;
?创建子系统;
?仿真的配置 ;
?对模型的注释;
?保存模型;
?仿真和结果分析。
6
3,2 模型的创建和模型文件 ( 续 2)
3,2,3 SIMULINK 模型文件
? SIMULINK 除了可以通过图形界面设计模块外,也可以
通过直接编写 mdl 文件来设计仿真模型图。
? 一个有输入和输出的图形界面设计模块。
?用 mdl 文件编写有输入和输出的增益器。 (在 Word下 )
(韩利竹 P161)
GainIn Out
1 1 1
7
3,3 仿真运行
3,3,1 使用菜单进行仿真
?设置仿真参数和选择求解器
通过选择菜单 Simulation 下的 Parameters 菜单项,用来设置
仿真参数和选择求解器。其中有三个页面管理这些仿真参数。
? 在 Solver 页面,设置开始和停止时间,选择求解器和指定
求解器( solver) 的参数,另外还可以选择一些输出选项。
? 在 Workspace I/O 页面,管理对 MATLAB 工作空间的输
入和输出。
? 在 Diagnostics 页面,可以选择在仿真期间显示的警告信息
的层次。
? 在 Solver options 中,SIMULINK 模型的仿真涉及到一组
常微分方程( ODEs) 的数值积分。如果模型是连续系统,
使用 ode45方法 ; 如果模型不是连续系统,使用 discrete方法。
例 3_1_2:实现两个正弦信号的相乘。( AM,mdl )
8
3,3 仿真运行 ( 续 1)
3,3,2 通过命令行运行仿真
?通过命令行运行仿真与通过菜单运行仿真相比,有如下的
一些优点:
? 可以不理睬模块中的初始条件(参数 x0 );
? 可以定义任何外部输入(用参数 ut );
? 可以由一个 M 文件来启动一个仿真,并且允许模块中的
参数发生改变 。
?用来进行仿真的命令有四个:
? 使用 set_param 命令:开始、停止或者继续仿真或者更新
模块的方框图。 get_param 命令来检查一个仿真的状态。
? 使用 sim 命令:启动仿真命令;
? 使用 simset 命令:用来向 sim 命令产生或者编辑仿真参数
和积分法属性的命令;
? 使用 simget 命令:可以得到选项结构体属性和参数。
9
3,3 仿真运行 ( 续 2)
3,3,4 综合算例 ( M3_ex3_3_1.m)
例 3_3_1,求非线性系统 的相平面轨迹,
平衡点, 并进行稳定性分析 。
本例演示,( A) SIMULINK模型和 MATLAB指令的配合使用 。
?
?
?
??
???
212
2
2
2
11
2
4
xxx
xxx
?
?
( B) sim,simset,trim 指令的应用 。
( C) 二阶系统相轨迹的精良图形 。
10
3,4 系统建模
3,4,1 连续系统建模
?线性系统建模举例
例 3_4_1,复位积分器的功用示例。
例 3_4_2,积分模块直接构造微分方程求解模型。
例 3_4_3,直接利用传递函数模块求解方程。
在仿真启动时,积分器从零开始对 0.5 t 进行积分。当复位口
信号 t-5=0 瞬间,积分器被重置为零。此后,再对 0.5 ( t-5 )
进行积分。
假设从实际自然界(力学、电学、生态等)或社会中,抽象
出有初始状态为 0的二阶微分程,
是单位阶跃函数。本例演示如何用积分器直接构搭求解该微
分方程的模型。
)(2.04.02.0 tuxxx ??????
)(tu
对二阶微分程进行拉氏变换,)(2.0)(4.0)(2.0)(2 sUsXssXsXs ???
4.02.0
2.0
)(
)()(
2 ???? sssU
sXsG可以得到:
11
3,4,1 连续系统建模 ( 续)
?非线性系统建模举例
例 3_4_4,求非线性系统 的相平面轨迹、
平衡点,并进行稳定性分析。
?
?
?
??
???
212
2
2
2
11
2
4
xxx
xxx
?
?
本例综合演示:
( A) SIMULINK模型和 MATLAB指令的配合使用。
( B) sim,simset,trim 指令的应用。
( C) 二阶系统相轨迹的精良图形。
( 1)非线性系统由 SIMULINK 模型 M3_ex3_4_4 _ mdl 表达。
( 2)编写绘制传统状态轨迹( State trajectory) 的 M文件
M3_ ex 3_4 _4.m
12
3,4,2 离散时间系统和混合系统建模
?用组合逻辑模块产生 的“逻辑和”结果 及“逻辑
或”结果 。
( 1) 建立输入输出关系 。
( 2)建立模型 M3_ex3_4_5.mdl
ba,)1(c
)2(c
13
3,4,2 离散时间系统和混合系统建模 ( 续)
?多速率离散时间系统:计算机就是这样的系统。它的 CPU、
串行 /并行控制器, 磁盘驱动器、输入 键盘就采用不同的工作
速率。再如通信系统也是多速率系统。
?离散 -连续混合系统:在现代控制系统中,通常被控的对象
是连续时间的(物理)子系统,而控制器是由逻辑控制器或
计算机构成的离散子系统。对于这种离散 -连续混合系统,模
型参数设置页中的几乎所有 Solver 解算方法都能采用 。
?可以使该模型及其所有子系统按采样速率着色:连续时间部
分用黑色;离散时间部分用红色;离散、连续混合的子系统
被着黄色。
14
3,5 子系统的创建、封装及受控执行
?利用 SIMULINK 的封装( Mask) 功能,可以定做一个模块
或一个子系统的对话框和图标 。
?引用子系统的理由是:研究分析系统时,进行概念抽象
( Abstraction of concepts) 的需要;为提高工作效率和可靠
性,实施模块“重用( Reuse), 的需要。
?仿真建模中子系统的作用,类 似于 MATLAB 指令运行中的
M函数文件 。
? 前面介绍了如何利用库标准模块建立被研究系统的仿真模型。
下面着重介绍如何利用“分层,思想建立比较复杂的仿真模型,
介绍建立这种分层模型所需的各种子系统( Subsystem )。
?封装的一个重要用途是帮助用户创建一个对话框来接受参
数。这样就无需打开子系统中各个模块的对话框,然后再逐
个输入参数。
15
3,5,1 用封装的办法创建模块
1。封装模块功能
例 3_5_1,封装线性方程 y=mx+b 的模型。
( M3_ex3_5_1.mdl)
?子系统 mx+b 包含了一个 Gain模块,命名为 Slope,其增
益常数为 m; 一个 Constant模块,命名为 Intercept,其常数
值参数指定为 b。 这些参数代表一条直线的斜率和截距。
?封装该子系统产生一个用户对话框和图标。对话框包含对
斜率和截距的提示。
?用户向封装对话框输入 Slope和 Intercept 的值。封装将这
些封装参数映射给底层模块。
?在 SIMULINK 中产生线性方程 y=mx+b 的模型,并生成
mx+b 子系统。
16
3,5,1 用封装的办法创建模块 ( 续)
2。产生封装提示对话框
?要产生这个系统的封装,先选取子系统模块,然后从 Edit
菜单中选取 Mask Subsystem 命令 。
?封装提示对话框开始时大都显示 Mask Editor 对话框的
Initialization 选项卡。
?把 Slope 和 Intercept 定义为 Edit 控件。
3。产生封装模块描述和帮助文本
?在 Documentation 选项卡中可以定义模块的封装类型、模
块描述和帮助文本。
4。产生模块的图标
?可以在 Mask Editor 对话框的 Icon 选项卡中定义图标。
17
3,5,2 条件执行子系统
?在 SIMULINK 模块库中,有两个特殊模块,Enable 模块
和 Trigger 模块。如果把这种模块放到某个子系统中,则该子
系统是否起作用将取决于外界的某个条件(状态或事件 )是
否满足,这样就构成了所谓的条件执行子系统
( Conditionally Executed Subsystem) 。
?常用的条件执行子系统有,使能子系统 ( Enabled
Subsystem ); 触发子系统 ( Trigged Subsystem );
触发使能子系统 ( Trigged and Enabled Subsystem )。
18
使能子系统
例 3_5_2,利用使能原理构成一个半波整流器。本例演示使能子系统的创建
及工作机理。 ( M3_ex3_5_2.mdl)
( 1) 打开 SIMULINK的新建模型窗口 。
( 2) 从 SIMULINK库中提取三个模块 Sine wave,Subsystem, Scope 到新
建窗 。 然后进行文件保存操作, 并起文件名为 M3_ex3_5_2 ( 这保存操作只
为以后调用方便, 并非必要 ) 。
( 3) 双击空子系统模块 Subsystem,打开其结构模型窗 。
( 4) 从 SIMULINK库中拷贝 In输入口模块, Out输出口模块, Enable使能
模块到子系统的结构模型窗;把 In 模块的输出直接送到 Out模块的输入端;
Enable模块无须进行任何连接, 且本例采用它的缺省设置;便实现了题目
所需使能子系统 。
( 5) 完成 M3_ex3_5_2窗口中各模块间的连接 。
( 6) 双击示波器模块, 打开显示窗 。 然后选择 M3_ex3_5_2窗口菜单项
【 Simulation:Start】, 就可看到半波整流后的波形 。
19
触发子系统
例 3_5_3,利用触发子系统获得零阶保持的采样信号。
本例演示:触发子系统工作原理;在 MATLAB指令窗中运行 SIMULINK模
型。( M3_ex3_5_3.mdl)
( 1) 构造如图所示的仿真模型 ( M3_ex3_5_3 _ mdl)
( 2) 在 MATLAB指令窗中运行 SIMULINK模型 ( M3_ex3_5_3.m)
[t,x,y]=sim('M3_ex3_5_ 3 _ mdl ',10);
clf,hold on
plot(t,y(:,1),'b')
stairs(t,y(:,2),'r')
stairs(t,y(:,3),'c:'),hold off
axis([0 10 -1.1 1.1]),box on
legend('sinewave','output','trigger',4)
20
触发使能子系统
把触发模块和使能模块装置在同一个子系统中,就构成触发
使能子系统。该系统的行为方式与触发子系统相似,但只有
当使能信号为“正”时,触发事件才起作用。
21
3,6 常用工具箱简介
具有 16种功能强大的应用工具箱。
我们 常用工具箱 有 SIMULINK,COMM,DSP 等。
22
3,7 仿真设计实例
3,7,1 幅度调制的仿真( amdsb_tc.mdl)
?幅度调制可以分为标准调幅( SAM),抑制载波双边带
( DSB-SC),单边带( SSBAM),残留边带( VSBAM) 和
平衡正交调幅( QAM)。
?设调制信号为 m(t), 其幅度为 1V,载波信号为,角
频率为,各种调幅方式的已调波的表达式如下,t?sin?
? 标准调幅,ttmmts
A ?s in)](1[)( ????
其中调制度 的数值范围 在之间。
Am 1~0
? 抑制载波双
边带调幅,ttmts ?s in)()( ??
?单边带调幅,ttmttmts ?? s in)(5.0c o s)(5.0)( ' ??????
ttmttmts ?? s in)(5.0c o s)(5.0)( ' ??????
为调制信号 的希尔伯特( Hilbert) 变换。)(tm)(' tm
23
3,7 仿真设计实例 ( 续 1)
?幅度调制解调器可以分为包络检波和同步解调两种基本方
式,包络检波适用于标准调幅和残留边带调幅,而同步解调
适用于各种幅度调制方式。
? 包络检波器的结构十分简单,它包括一个(或两个)检
波二极管和一个低通滤波器。
? 同步解调器的核心部分是由一个乘法器和一个低通滤波
器构成,由于同步解调要求在接收端必须产生一个与输入
载波信号同步的本地载波信号,因此同步解调器中还必须
有一个载波恢复装置,电路十分复杂。
24
3,7 仿真设计实例 ( 续 2)
3,7,2 平衡正交调幅与解调( qam.mdl)
?平衡正交调幅与解调的仿真采用模块仿真的方式,整个系统
的概念是十分清晰的。从中可以观察到两路调制信号的波形,
载波信号的波形和频谱,两路解调信号的波形。
?平衡正交调幅的特点是可以在同一载波频率上调制两路不
同的信号,其中一路信号调制在正弦波上,而另一路信号则
调制在余弦波上。
?平衡正交调幅的解调采用同步解调的方式。在模拟电视广播
中,两路色差信号的传输就是采用平衡正交调幅的方式。
?信号发生器的参数设置:频率为 1Hz,信号幅度为 1V,调
制信号的类型分别为正弦波和锯齿波。
?正弦载波发生器的参数设置:角频率为 200 (频率为
100Hz),相位为 0,信号幅度为 1V,采样时间间隔为 0.0025s
( 采样频率为 400Hz )。
?
ttmttmts ?? c o s)(s in)()( 21 ????
25
3,7 仿真设计实例 ( 续 3)
?余弦载波发生器的参数设置:角频率为 200 (频率为
100Hz),相位为, 信号幅度为 1V,采样时间间隔为
0.0025s( 采样频率为 400Hz )。
?
2/?
?各个示波器的参数设置:显示时间范围均为 2s ; Input示波
器的 Y轴设置为 1.2V和 -1.2V; QAM示波器的 Y轴设置为 1.5V
和 -1.5V; Output示波器的 Y轴设置为 0.6V和 -0.6V。
?滤波器的参数设置:采用 4阶的切比雪夫 II型低通滤波器,通
带的转折频率归一值为 0.5(频率为 100Hz ),阻带衰减为
40dB。
?采样模块的参数设置:采样时间间隔为 0.0025s( 采样频率
为 400Hz )。
26
MATLAB 5.3 版中的 16 种工具箱 返回 1
? Simulink 库
? Communications Blockset( 通信模块集)
? Control System Toolbox( 控制系统 工具箱 )
? Dials & Gauges Blockset( 面板和仪表模块集 )
? DSP Blockset( 数字信号处理模块集 )
? Fixed-Point Blockset( 定点模块集 )
? Fuzzy Logic Toolbox( 模糊逻辑工具箱 )
? NCD Blockset( 非线性控制设计模块集 )
? Neural Network Blockset( 神经网络模块集 )
? MPC Blockset( MPC 模块集 )
? Power System Blockset( 电源系统模块集 )
? Real-Time Windows Target( 实时窗口目标库 )
? Real-Time Workshop( 实时工作空间库 )
? Stateflow( 状态流程库 )
? Simulink Extras( Simulink附加库 )
?System ID Blockset( 系统辨识模块集 )
返回 2
27
例 3_1_1:信号发生器和示波器。 返回
( sig_scope.mdl)
?通过这个例子,对于系统仿真工具箱的使用有一个比较具体
的认识。
?首先从源模块库内拖出三个信号发生器模块。
?然后对它们分别进行设置:一个为噪声源,另外两个为正弦
波,频率分别为 0.2Hz和 0.6Hz。
?接着从 Simulink— Math 模块库内拖出一个加法器,将它的
输入端设置为三个。
?最后从输出模块库内拖出一个示波器。将上述五个模块连接
在一起。
?进行系统仿真。
28
例 3_1_2:实现两个正弦信号的相乘。 返回
(刘敏 P99---AM,mdl )
计算 )10s in ()s in ()( tttx ??
? 将两个正弦源的频率设置为 1Hz和 10Hz,信号幅度均为 1V;
要求显示两个正弦波以及相乘后的波形,因此要求示波器有
三个输入端。
?进行系统仿真。
?仿真参数设置:
? 仿真时间设置,0 到 2s。
? 仿真步长设置:定步长( Fixed--Step)。
? 仿真算法设置:龙格 --库塔法的 5 阶算法( ode5)。
29
Simulink 库 返回
? Sources 库
? Sinks 库
? Discrete 库
? Continuous 库
? Math 库
? Nonlinear 库
? Signals & Systems 库
? Functions & Tables 库
30
Sources 库 返回
Band-Limited White Noise( 限带白噪声 )
Chirp Signal( 扫频信号 )
Clock( 时钟 )
Constant( 常量)
Digital Clock( 数字时钟 )
Discrete Pulse Generator( 离散脉冲生成器 )
From Workspace( 从工作空间读取数据 )
From File( 从文件读数据 )
Pulse Generator( 脉冲生成器 )
Ramp( 倾斜)
Random Number( 随机数产生器 )
Repeating Sequence( 重复序列)
31
Sources 库 ( 续) 返回
Signal Generator( 信号发生 器 )
Sine Wave( 正弦波 )
Step( 阶跃 )
Uniform Random Number( 均匀分布随机数)
32
Sinks 库 返回
Display( 显示 )
Scope( 示波器 )
Stop Simulation( 停止仿真)
To File( 写入文件 )
To Workspace( 写到工作空间 )
XY Graph( 显示平面图形 )
33
Discrete 库 返回
Discrete Filter( 离散滤波器 )
Discrete State Space( 离散状态空间 )
Discrete-Time Integrator( 离散时间积分器 )
Discrete Transfer Fcn( 离散传递函数 )
Discrete Zero-Pole( 数字零极点函数 )
First-Order Hold( 一阶保持)
Zero-Order Hold( 零阶保持 )
Unit Delay( 单位延迟 )
34
Continuous 库 返回
Derivative( 导数 )
Integrator( 积分器 )
Memory( 记忆)
State Space( 状态空间 )
Transfer Fcn( 传递函数 )
Transport Delay( 传递延迟 )
Variable Transport Delay( 可变传输延迟)
Zero-Pole( 零 -极点 )
35
Math 库 返回
Abs( 绝对值 )
Algebraic Constraint
Combinatorial Logic( 组合 逻辑 )
Complex to Magnitude-Angle
Complex to Real-Image
Dot Product( 点乘 )
Gain( 增益 )
Logical Operator( 逻辑 运算 )
Magnitude--Angle to Complex()
Math Function( 数学函数 )
Matrix Gain( 矩阵增益 )
MinMax( 最大最小值 )
36
Math 库 ( 续)
Product( 乘积 )
Real--Image to Complex
Relational Operator( 关系 运算 )
Rounding Function( 圆整函数 )
Sign( 符号 )
Slider Gain( 滑块增益 )
Sum( 和 )
Trigonometric Function( 三角函数 )
返回
37
Nonlinear 库 返回
Backlash 模块
Coulomb and Viscous Friction( 库仑和粘性摩擦 )
Dead Zone( 死区)
Manual Switch( 手动开关 )
Multiport Switch( 多路转换开关 )
Quantizer( 量化)
Rate Limiter( 限速器 )
Relay( 继电器 )
Saturation( 饱和)
Switch( 选择开关 )
38
Signals & Systems 库 返回
Bus Selector( 总线选择器 )
Configurable Subsystem( 可配置子系统 )
Data Store Memory( 数据存储器 )
Data Store Read( 读数据存储 )
Data Store Write( 写数据存储 )
Data Type Conversion( 数据类型转换 )
Demux( 解混)
Enable( 激活)
From( 导入)
Goto( 传出 )
Goto Tag Visibility( 传出标记符的可见性 )
Ground( 接地 )
Hit Crossing( 捕获穿越点 )
39
Signals & Systems 库 ( 续) 返回
IC( 初始状态 )
Inport( 输入端口 )
Merge( 合并 )
Model Info ( 模型信息)
Mux ( 混合 )
Outport( 输出端口 )
Probe ( 探测器 )
Selector( 选择器 )
Subsystem( 子系统)
Terminator( 终结器 )
Trigger( 触发器 )
Width( 宽度 )
Function-Call Generator( 函数调用发生器 )
40
Functions & Tables 库 返回
Fcn( 函数表达式 )
Look-Up Table( 查找表 )
Look-Up Table ( 2-D)( 二维查找表 )
MATLAB Fcn ( MATLAB 函数 )
S-Function( S 函数 )
41
Communications Blockset 返回
? Channel Coding( 信道编码库 )
? Channels( 信道库 )
? Comm Sinks( 通信接收库)
? Comm Sources( 通信源库 )
? Modulation( 调制和解调库 )
? Source Coding( 源编码库 )
? Synchronization( 同步库 )
? Utility Functions( 实用函数库 )
42
Channel Coding( 信道编码库 ) 返回
?该库中又包含的有:模块编码库和卷积编码库。
?模块编码库中包含有各种编码和解码成对模块以及演示模块。
? 线性编码模块组:有二进制向量线性编码、解码和演示三个
模块,二进制序列线性编码、解码和演示三个模块。
? 循环编码模块组:有二进制向量循环编码、解码和演示三个
模块,二进制序列循环编码、解码和演示三个模块。
? Hamming 编码模块组:有二进制向量 Hamming 编码、解
码和演示三个模块,二进制序列 Hamming 编码、解码和演示
三个模块。
? BCH 编码模块组:有二进制向量 BCH 编码、解码和演示
三个模块,二进制序列 BCH 编码、解码和演示三个模块。
43
Channel Coding( 信道编码库 ) ( 续) 返回
? Reed-Solomon 编码模块组:有整数向量 RS 编码、解码
和演示三个模块,二进制向量 RS 编码、解码和演示三个
模块,整数序列 RS 编码、解码和演示三个模块,二进制
序列 RS 编码、解码和演示三个模块。
?卷积编码库中包含有:卷积编码,Viterbi 解码和演示三个
模块。
44
Channels( 信道库 ) 返回
该库中包含的模块有:
?加零均值 Gauss 白噪声 ( AWGN) 信道模块及四个演
示模块。
?加二进制误差信道模块及演示模块。
?有限二进制误差信道模块及演示模块。
?定参数 Rayleigh 衰减信道模块,变参数 Rayleigh 衰减信
道模块及演示模块。
?定参数加 Rician 噪声信道模块,变参数加 Rician 噪声信
道模块及两个演示模块。
45
Comm Sinks( 通信接收库) 返回
该库中包含的模块有:
?触发写文件模块及触发文件 I/O 演示模块。
?触发眼孔图样 /散布图模块及演示模块。
?采样时间眼孔图样 /散布图模块及演示模块。
?误差率计算模块及演示模块。
46
Comm Sources( 通信源库 ) 返回
该库中包含的模块有:
?触发文件读入模块及触发文件 I/O 演示模块。
?采样读工作空间变量模块,具有同步脉冲的采样读工作空
间变量模块。
?具有采样率的向量脉冲模块。
?伪随机序列发生器模块及演示模块。
?均匀分布噪声发生器模块及演示模块。
? Gauss 分布噪声发生器模块及演示模块。
?随机整数发生器模块及均匀分布整数演示模块。
47
Comm Sources( 通信源库 ) ( 续) 返回
? Poisson 分布随机整数发生器模块及演示模块。
?二进制向量发生器模块及演示模块。
? Bernoulli 分布随机数发生器模块及演示模块。
? Rayleigh 分布噪声发生器模块及演示模块。
? Rician 分布噪声发生器模块及演示模块。
48
Modulation( 调制和解调库 ) 返回
调制库中包含四个模块库,它们是:数字基带调制模块库,
数字通带调制模块库,模拟基带调制模块库,模拟通带调制
模块库。
?数字基带调制模块库,包含的模块有:
? 基带 MASK( Multiple Amplitude Shift Keying,多幅键
控法 ) 调制、解调及演示三个模块。
? 基带 S-QASK( Quadrature Amplitude Shift Keying,正
交振幅相移键控法 ) 调制、解调及演示三个模块。
? 基带 A-QASK 调制、解调及演示三个模块。
? 基带 MFSK( Multiple Frequency Shift Keying,多频移
键控法 ) 调制模块,基带相干 MFSK 调制模块,基带非相
干 MFSK 调制模块及演示四个模块。
? 基带 MPSK( Multiple Phase Shift Keying,多相移键控
法 ) 调制、解调及演示三个模块。
49
Modulation( 调制和解调库 ) ( 续 1) 返回
?数字通带调制模块库,包含的模块有:
? 通带 MASK 调制、解调及演示三个模块。
? 通带 S-QASK 调制、解调及演示三个模块。
? 通带 A-QASK 调制、解调及演示三个模块。
? 通带 MFSK 调制模块,通带相干 MFSK 调制模块,通带
非相干 MFSK 调制模块及演示四个模块。 。
? 通带 MPSK 调制、解调及演示三个模块。
? 通带 DPSK ( Differential Phase Shift Keying,差分相移
键控法 ) 调制、解调两个模块。
? 通带 MSK ( Minimun Phase Shift Keying,最小相移键
控法 ) 调制、解调两个模块。
? 通带 OQPSK ( Offset Quadrature Phase Shift Keying,
偏移正交相移键控法 ) 调制、解调两个模块。
50
Modulation( 调制和解调库 ) ( 续 2) 返回
?模拟基带调制模块库,包含的模块有:
? 基带 DSB-SC( Double Side Band Shift Control,双边频带
移位控制 ) AM ( Amplitude Modulation,调幅 ),解调
及演示三个模块。
? 基带 QAM( Quadrature Amplitude Modulation,正交幅度
调制 ),解调及演示三个模块。
? 基带 FM( Frequency Modulation,调频 ),解调及演示
三个模块。
? 基带 PM( Phase Modulation,相位调制 ),解调及演示
三个模块。
? 基带 SSB-AM( Single Side Band Amplitude Modulation,
单边带调幅 ),解调及演示三个模块。
? 具有传输载波的基带 AM,解调及演示三个模块。
51
Modulation( 调制和解调库 ) ( 续 3) 返回
?模拟通带调制模块库,包含的模块有:
? 通带 DSB-SC AM,解调及演示三个模块。
? 通带 QAM, 解调及演示三个模块。
? 通带 FM,解调及演示三个模块。
? 通带 PM,解调及演示三个模块。
? 通带 SSB-AM,解调及演示三个模块。
? 具有传输载波的通带 AM,解调及演示三个模块。
52
Source Coding( 源编码库 ) 返回
该库中包含的模块有:
?标量量化编码、解码及演示三个模块。
?激活量化编码及演示两个模块。
? DPCM( Differential Pulse Code Modulation, 差分脉码
调制技术 ) 编码、解码及演示三个模块。
? 规则压缩、解压两个模块。
?A 规则压缩、解压两个模块。
?
53
Synchronization( 同步库 ) 返回
该库中包含的模块有:
? PLL( Phase Locked Loop, 相同步回路,锁相回路 ) 模
块,基带 PLL 模型模块及演示模块。
?进料泵 PLL 模块。
?线性化基带 PLL 模块。
54
Utility Functions( 实用函数库 ) 返回
?离散时间模积分器模块。
?模积分器模块。
?离散 VCO( Voltage Controlled Oscillator,压控振荡器)
模块。
? VCO( Voltage Controlled Oscillator,压控振荡器)模块。
? 可复位数值计数器模块。
?错误计数器模块。
?数据绘画器及演示两个模块。
?二进制编码器和解码器两个模块。
该库中包含的模块有:
?窗口积分器模块。
?包络检测器模块。
55
Utility Functions( 实用函数库 ) ( 续) 返回
?十进制整数标量到向量转换器模块。
?交错模块及两个演示模块。
?预定复位积分模块。
?信号边沿检测模块 。
?十进制整数向量到标量转换器模块。
?扰频器、解扰器及演示三个模块。
?寄存器移位及演示两个模块。
?触发缓冲器模块。
?触发向量信号重新分布及演示两个模块。
?向量信号重新分布及演示两个模块。
56
DSP Blockset 返回
? DSP Sinks( DSP 接收库 )
? DSP Sources( DSP 源库 )
? Estimation( 估计库 )
? Filtering( 滤波器库 )
? General DSP( 通用 DSP 库 )
? Math Function( 数学函数库 )
(陈桂明 P153~159)
57
综合算例 返回
( 1) 非线性系统由 SIMULINK模型 M3_ex3_3_1 _ mdl表达 。
( M3_ex3_3_1.m) (张志涌 P384)
例 3_3_1,求非线性系统 的相平面轨迹 。
?
?
?
??
???
212
2
2
2
11
2
4
xxx
xxx
?
?
( 2) 编写绘制传统状态轨迹的 M文件 M3_ex3_3_1,m。
( 3) 运行 M文件 ( M3_ex3_3_1.m), 可以得到传统状态轨
迹图 。