欢迎您访问科普小知识本站旨在为大家提供日常生活中常见的科普小知识,以及科普文章!
您现在的位置是:首页  > 科普文章

Simulink

科普小知识2022-09-25 08:05:40
...

Simulink是MATLAB最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。

1、简介

Simulink是MATLAB最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出复杂的系统。Simulink具有适应面广、结构和流程清晰及仿真精细、贴近实际、效率高、灵活等优点,并基于以上优点Simulink已被广泛应用于控制理论和数字信号处理的复杂仿真和设计。同时有大量的第三方软件和硬件可应用于或被要求应用于Simulink。

2、功能

Simulink是MATLAB中的一种可视化仿真工具,是一种基于MATLAB的框图设计环境,是实现动态系统建模、仿真和分析的一个软件包,被广泛应用于线性系统、非线性系统、数字控制及数字信号处理的建模和仿真中。Simulink可以用连续采样时间、离散采样时间或两种混合的采样时间进行建模,它也支持多速率系统,也就是系统中的不同部分具有不同的采样速率。为了创建动态系统模型,Simulink提供了一个建立模型方块图的图形用户接口(GUI),这个创建过程只需单击和拖动鼠标操作就能完成,它提供了一种更快捷、直接明了的方式,而且用户可以立即看到系统的仿真结果。

Simulink是用于动态系统和嵌入式系统的多领域仿真和基于模型的设计工具。对各种时变系统,包括通讯、控制、信号处理、视频处理和图像处理系统,Simulink提供了交互式图形化环境和可定制模块库来对其进行设计、仿真、执行和测试。.

构架在Simulink基础之上的其他产品扩展了Simulink多领域建模功能,也提供了用于设计、执行、验证和确认任务的相应工具。Simulink与MATLAB紧密集成,可以直接访问MATLAB大量的工具来进行算法研发、仿真的分析和可视化、批处理脚本的创建、建模环境的定制以及信号参数和测试数据的定义。

3、特点

丰富的可扩充的预定义模块库

交互式的图形编辑器来组合和管理直观的模块图

以设计功能的层次性来分割模型,实现对复杂设计的管理

通过ModelExplorer导航、创建、配置、搜索模型中的任意信号、参数、属性,生成模型代码

提供API用于与其他仿真程序的连接或与手写代码集成

使用EmbeddedMATLAB?模块在Simulink和嵌入式系统执行中调用MATLAB算法

使用定步长或变步长运行仿真,根据仿真模式(Normal,Accelerator,RapidAccelerator)来决定以解释性的方式运行或以编译C代码的形式来运行模型

图形化的调试器和剖析器来检查仿真结果,诊断设计的性能和异常行为

可访问MATLAB从而对结果进行分析与可视化,定制建模环境,定义信号参数和测试数据

模型分析和诊断工具来保证模型的一致性,确定模型中的错误

4、启动

1、在MATLAB命令窗口中输入simulink

结果是在桌面上出现一个称为SimulinkLibraryBrowser的窗口,在这个窗口中列出了按功能分类的各种模块的名称。

当然用户也可以通过MATLAB主窗口的快捷按钮来打开SimulinkLibraryBrowser窗口。

2、在MATLAB命令窗口中输入simulink3

结果是在桌面上出现一个用图标形式显示的Library:simulink3的Simulink模块库窗口。

两种模块库窗口界面只是不同的显示形式,用户可以根据各人喜好进行选用,一般说来第二种窗口直观、形象,易于初学者,但使用时会打开太多的子窗口。

5、模块介绍

SIMULINK模块库按功能进行分类,包括以下8类子库:

Continuous(连续模块)

Discrete(离散模块)

Function&Tables(函数和平台模块)

Math(数学模块)

Nonlinear(非线性模块)

Signals&Systems(信号和系统模块)

Sinks(接收器模块)

Sources(输入源模块)

连续模块(Continuous)continuous.mdl

Integrator:输入信号积分

Derivative:输入信号微分

State-Space:线性状态空间系统模型

Transfer-Fcn:线性传递函数模型

Zero-Pole:以零极点表示的传递函数模型

Memory:存储上一时刻的状态值

TransportDelay:输入信号延时一个固定时间再输出

VariableTransportDelay:输入信号延时一个可变时间再输出

离散模块(Discrete)discrete.mdl

Discrete-timeIntegrator:离散时间积分器

DiscreteFilter:IIR与FIR滤波器

DiscreteState-Space:离散状态空间系统模型

DiscreteTransfer-Fcn:离散传递函数模型

DiscreteZero-Pole:以零极点表示的离散传递函数模型

First-OrderHold:一阶采样和保持器

Zero-OrderHold:零阶采样和保持器

UnitDelay:一个采样周期的延时

Function&Tables(函数和平台模块)function.mdl

Fcn:用用户自定义的函数(表达式)进行运算

MATLABFcn:利用matlab的现有函数进行运算

S-Function:调用自编的S函数的程序进行运算

Look-UpTable:建立输入信号的查询表(线性峰值匹配)

Look-UpTable(2-D):建立两个输入信号的查询表(线性峰值匹配)

Math(数学模块)math.mdl

Sum:加减运算

Product:乘运算

DotProduct:点乘运算

Gain:比例增益运算

MathFunction:包括指数函数、对数函数、求平方、开根号等常用数学函数

TrigonometricFunction:三角函数,包括正弦、余弦、正切等

MinMax:最值运算

Abs:取绝对值

Sign:符号函数

LogicalOperator:逻辑运算

RelationalOperator:关系运算

ComplextoMagnitude-Angle:由复数输入转为幅值和相角输出

Magnitude-AngletoComplex:由幅值和相角输入合成复数输出

ComplextoReal-Imag:由复数输入转为实部和虚部输出

Real-ImagtoComplex:由实部和虚部输入合成复数输出

Nonlinear(非线性模块)nonlinear.mdl

Saturation:饱和输出,让输出超过某一值时能够饱和。

Relay:滞环比较器,限制输出值在某一范围内变化。

Switch:开关选择,当第二个输入端大于临界值时,输出由第一个输入端而来,否则输出由第三个输入端而来。

ManualSwitch:手动选择开关

Signal&Systems(信号和系统模块)sigsys.mdl

In1:输入端。

Out1:输出端。

Mux:将多个单一输入转化为一个复合输出。

Demux:将一个复合输入转化为多个单一输出。

Ground:连接到没有连接到的输入端。

Terminator:连接到没有连接到的输出端。

SubSystem:建立新的封装(Mask)功能模块

Sinks(接收器模块)sinks.mdl

Scope:示波器。

XYGraph:显示二维图形。

ToWorkspace:将输出写入MATLAB的工作空间。

ToFile(.mat):将输出写入数据文件。

Sources(输入源模块)sources.mdl

Constant:常数信号。

Clock:时钟信号。

FromWorkspace:来自MATLAB的工作空间。

FromFile(.mat):来自数据文件。

PulseGenerator:脉冲发生器。

RepeatingSequence:重复信号。

SignalGenerator:信号发生器,可以产生正弦、方波、锯齿波及随意波。

SineWave:正弦波信号。

Step:阶跃波信号。

Ramp:斜坡信号。

上一篇:防撞雷达

下一篇:射频识别技术

推荐阅读