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

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


相关文章:
MatlabSimulink系统建模与仿真
课程设计任务书设计题目 Matlab/Simulink 系统建模与仿真 设计要求 1.认真学习并熟练掌握 Matlab/Simulink 软件的应用及仿真。 2.按照题目 1 给出的要求建立起 ...
基于MatlabSimulink建模与仿真关系
Simulink 是基于 MATLAB 的框图设计环境, 可以用来对各种动态系统进行建模、 分析和仿真,它的 建模范围广泛,可以针对任何能够用数学来描述 的系统进行建模MATLAB ...
实验5_SIMULINK建模与仿真实验
系统建模仿真的方法 4、 掌握 SIMULINK 中子系统的创建、装帧及控制执行方法 5、 掌握 S 函数模块的创建和使用方法 6、 熟悉用 MATLAB 指令运行 SIMULINK 模型的...
雷达系统建模与仿真
雷达系统建模与仿真_IT/计算机_专业资料。基于MATLAB/Simulink的雷达系统建模与仿真本科毕业设计 (论文) 雷达系统仿真与建模方法的研究 燕山大学 2012 年 6 月 本科...
Matlab Simulink建模与仿真例题源代码
Matlab Simulink建模与仿真例题源代码_理学_高等教育_教育专区。〔實例3.1〕試設計...《MATLAB基础教程》第11... 27页 免费 基于Matlab_Simulink的雷... 6页 免费...
MatlabSimulink通信系统建模与仿真
MatlabSimulink通信系统建模与仿真_工学_高等教育_教育专区。基于Matlab Simulink的通信系统建模与仿真电子信息课程设计 题目: Matlab/Simulink 通信 系统建模与仿真 2008...
MATLAB控制系统仿真作业1
一、 控制系统模型与转换 1. 请将下面的传递函数模型输入到 matlab 环境。 ...根据得出的 Kp、Ti、Td 值,设计 PID 控制器,并利用利用 Simulink 仿真建模。...
matlab仿真作业
matlab仿真作业_能源/化工_工程科技_专业资料。实验报告...3 用 Simulink 系统建模仿真画出阶跃信号通过传递函数...仿真实验作业 5 设计一个传输环境是高斯白噪声加...
DSB系统设计与仿真
本次设计首先在简要概述 DSB 通信系统原理的基础上,建立了基于 MATLABSIMULINK仿真建模, 其中主要包括调制部分,信道与解调部分的仿真建模。 整个通信系统中...
基于matlab的彩色电视系统的建模仿真设计
盐城工学院本科生毕业设计说明书(2011) 基于 Matlab/Simulink 的彩色 电视系统建模仿真设计摘 要:近年来,随着仿真技术的普及应用,以及各种仿真软件的出现,仿真技术...
更多相关标签:
simulink建模与仿真 | simulink建模仿真 | matlab的simulink仿真 | matlab simulink仿真 | matlab中simulink仿真 | matlab simulink建模 | simulink离散系统仿真 | simulink控制系统仿真 |