当前位置:首页 >> 信息与通信 >>

MATLAB、SIMULINK系统建模设计与仿真基础


6.4 S函数编写SIMULINK模块

1

信源模块
?

信源模块的特点是仅有输出节点,而没 有输入节点,在用S-函数实现中,可在 其输出信号处理部分进行编程即可。举 例如下: 用S-函数实现一个正弦波信号 源。要求其幅度、频率和初始相位参数 可由外部设置,并将这个信号源进行封 装。
2

/>
3

4

?

在该S-函数接口中,我们使用了三个输入参数 项分别作为正弦波的幅度、频率和初相位的输 入,相应地在使用S-函数模块调用该函数时需 要在设置对话框中的S-function parameters中 填写这些输入参数项,然后采用前述的方法对 S-函数模块进行封装,就得到了一个子系统和 相应的参数设置对话框。完成后的系统如下图 所示。最后,设置好示波器显示范围和仿真参 数就可以启动仿真实验了。
5

图:S-函数实现的信号源和封装结果

6

代数运算模块

7

8

图:S-函数和Fcn模块同时实现的对输入信号进行代数运算的测试模型和仿真结果
9

6.5 SIMULINK仿真的数据结构 和编程调用方法

10

图:信号属性检测的测试模型和仿真执行结果,Probe模块检测结果直接显示在模 块方框中,信号宽度为W:6,采样时间为Ts:[1,0],C:1表示是复信号,D:[2,3]是 信号的维数
11

?

Simulink可以使用Matlab规定的全部数据类型。如果 需要相互连接的端口数据类型不一致,就需要插入数 据类型转换模块来进行接口。数据类型转换模块在 Simulink基本库“Signal Attributes”中,模块名称是 “Data Type Conversion”,它可以根据所连接模块的 输入输出端口数据类型进行自动匹配,也可由用户指 定转换数据类型进行强制转换。例如:

?

12

?

图:用“Data Type Conversion”模块进 行数据类型转换的示例
13

14

“Reshape”模块的设置对话框和解释参见下图。

?

图:Reshape模块的设置对话框和解释
15

连续时间与离散时间信号的相 互转换以及采样速率转换
1、连续时间信号
?

连续时间信号定义在连续时间值上,即在给定时间范 围内任何时刻信号的取值都是有意义的。在Simulink中, 是根据连续信号的离散时间采用样通过插值来得到连 续信号。用其基本库Sources中的“Repeating Sequence”可以产生任意连续周期信号。只要给出信号 在一个周期内的若干离散时间点上的取值, “Repeating Sequence”将通过线性插值来得到任意仿 真计算步上的信号取值。例如我们仍以时间[0,1,2]上 的样值[2,5,4]来产生周期为2秒的信号,测试模型、 Repeating Sequence的设置以及仿真结果波形如下图 所示。
16

?

图:用Repeating Sequence模块由信号的离散时间样 值产生连续时间周期信号
17

2、离散时间信号 离散时间信号则定义在离散时间序列上,只有所定 义的离散时刻信号的取值才有意义。例如我们用基本 库Sources中的“Random Number”模块产生离散时间 随机信号,设置采样时间为1秒(默认值为0秒即产生 连续的随机信号)。建立测试模型,并设仿真时间段 从0秒到5秒,用示波器观察输出波形并将仿真结果数 据输出到Matlab工作空间,如下图所示,我们看到, 离散时间随机信号源每隔1秒输出一个随机的电平值, 虽然示波器上在非整数时刻上仍然显示了波形,但这 仅仅是为了方便观看而已,概念上没有意义。从输出 到Matlab工作空间的信号值看出,实质上离散信号是 对应于时间[0,1,2,3,4,5]的6个取值。
18

?

图:用Random Number模块产生离散时间随 机信号:测试模型、设置和测试结果
19

3、离散时间信号到连续时间信号的转换 ? Simulink中,可以使用低通滤波器来将离散信号恢复为 模拟信号。为了建模方便,Simulink还提供了另外几种 近似恢复连续信号的方法,简介如下: ? 用基本模块库“Signal Attributes”中的“Rate Transition”模块来转换。 ? 连续时间系统模块本身允许离散时间信号作为输入, 而其输出信号将自动转换为连续信号,因此也可以用 连续时间系统模块来作为转换环节。 ? 下图是一个连续时间信号到离散时间信号转换,再恢 复到连续时间信号的测试模型。
20

?

示波器显示波形结果参见下图。

21

4、不同采样速率信号的转换 如果在仿真模型中存在不同采样速率的离散信 号或系统模块,则称之为多速率(multirate)的仿 真模型。 下图中的系统演示了一个斜率为1的斜升 的连续信号(用Ramp模块)被采样时间为1秒的零 阶保持器采样得到速率为1样值/秒的离散时间信号, 然后该信号又被分别用采样时间为2秒的零阶保持 器降速为0.5样值/秒的离散时间信号,以及用延迟 时间为0.5秒的单位延迟器升速为2样值/秒的离散时 间信号。仿真时间段为0到5秒,本仿真测试模型可 采用变步长的积分算法,模型中加入了为四个不同 的信号线加入了采样时间探测模块“probe”。
22

?

图:一个连续信号到离散信号转换以及离散速率转换测试模 型。图中,Zero-Order Hold的采样时间为1秒,Zero-Order Hold1的采样时间为2秒,而Unit Delay的采样时间为0.5秒。 仿真完成后,Probe模块中分别显示了所连接部分的信号采样 率。信号采样率为0表示连续信号
23

?

运行后将显示出各信号线上的信号速率。 下图中分别给出了四条信号线上的波形 仿真结果。

24

5、不同速率模块和信号连线的颜色表示 在多速率模型中,为了清楚显示不同速率的系统部 分,可选中模型编辑窗口主菜单Format下的Sample time colors选项,这样模型中不同速率的模块和连线 将用不同的颜色显示出来。这些颜色的含义如下: ? 黑色:表示连续信号线和连续模块。 ? 洋红:表示常数模块。 ? 黄色:表示混合模块或混合子系统,即输入输出端口 或子系统内部具有不同采样速率的那些模块,例如连 接了不同速率信号线的Mux或Demux模块等。

25

? ? ? ? ? ? ?

?

红色:表示系统中具有最高采样率的离散系统部分。 绿色:表示系统中采样速率位居第二的离散系统部分。 蓝色:表示系统中采样速率位居第三的离散系统部分。 淡蓝:表示系统中采样速率位居第四的离散系统部分。 深绿:表示系统中采样速率位居第五的离散系统部分。 橙色:表示系统中采样速率位居第六的离散系统部分。 青色:表示触发子系统部分。 灰色:具有最小固定步长的部分。

26


相关文章:
MATLAB系统仿真实训课程设计
Simulink 实际上提供了一个系统级的建模与动态仿真的图形用户环境,并且凭借 MATLAB 在科学计算上的天然优势,建立了从设计构思到最终要求的可视化桥梁,大 大弥补了...
基于MATLAB-Simulink的模拟电子电路仿真
MATLAB 中的 Simulink 更是具有框图界面和交互仿真功能的动 态系统建模仿真和综合分析等功能。所以 MATLAB 是学习、分析与设计模拟电子电路的很好的方法。 1 ...
基于simulink信号与系统的建模与仿真
因果系统具有普遍性,借助 Matlab/Simulink 仿真工具对基本结构实 现了建模和仿真...【1】 第1页 共8页 安康学院学年论文(设计) SimulinkMATLAB 中的一种...
MATLAB仿真设计
MATLAB 仿真设计 系院:电子与电气工程学院 专业:电子信息工程 班级: 学号; ...然后借助所学的 matlab 中的 simulink 仿真系统来实现电池 的充放电模型。 内容...
MATLAB控制系统仿真作业1
一、 控制系统模型与转换 1. 请将下面的传递函数模型输入到 matlab 环境。 ...根据得出的 Kp、Ti、Td 值,设计 PID 控制器,并利用利用 Simulink 仿真建模。...
MatlabSimulink通信系统建模与仿真
: 姓名: 白阳 电子信息课程设计 Matlab/Simulink 通信系统建模与仿真一、设计目的:学习 Matlab/Simulink 的功能及基本用法,对给定系统进行建 设计目的:模与仿真。 ...
基于matlab的彩色电视系统的建模仿真设计
盐城工学院本科生毕业设计说明书(2011) 基于 Matlab/Simulink 的彩色 电视系统建模仿真设计摘 要:近年来,随着仿真技术的普及应用,以及各种仿真软件的出现,仿真技术...
基于Matlab的高阶系统设计与仿真
设计任务书 设计 题目 一、 高阶系统设计要求: 1、建立高阶系统的数学模型...关键词:IIR 数字滤波器;MATLAB;FDATool;Simulink 1 引言 随着科学技术的进步和...
基于Matlab的小型电力系统的建模与仿真
基于Matlab 的小型电力系统建模与仿真内容提要利用 Matlab/Simulink/SimPowerSystems 建立电力.系统三相短路和单相按地 短路模型,通过短路故障进行设计、仿真、分析,...
四旋翼飞行器建模与仿真Matlab
牛顿-欧拉模型建立的仿 真模型,模型建立后在 Matlab/simulink 软件中进行仿真。...在此基础上,还设计出了利用 PWM 波的电机驱动电路,同事还 应用 H 回路设计...
更多相关标签:
simulink建模与仿真 | simulink建模仿真基础 | matlab的simulink仿真 | matlab simulink仿真 | matlab中simulink仿真 | matlab simulink建模 | simulink离散系统仿真 | simulink控制系统仿真 |