光通讯
HOME
光通讯
正文内容
matlab simulink光通讯系统 MatlabSimulink 模型介绍
发布时间 : 2025-04-04
作者 : 小编
访问数量 : 23
扫码分享至微信

MatlabSimulink 模型介绍

近期由于刚换工作,所以把上家公司整理的一些再次上传到网上,防止后续丢失。第一篇先简单介绍下MATLAB/Simulink模型介绍及仿真吧。

先简单介绍下什么是matlab,Matlab功能强大,用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融与风险管理、机器人,控制系统等领域。由于个人主要使用matlab的simulink功能,现在主要对模型搭建进行介绍。

这里分两部分来写,我们先从模型的概况来理解,后面再细讲怎么去搭建。

模型概况(状态机):下图是模型最外层的一个状态机图,左边是输入端口,右边是输出端口。这个图是可以在matlab的图形库拖出来的,后续会讲。搭建模型第一步是要把这个状态机从库里图拖出来。

模型概况(状态交换):状态机图双击进去可以开始拖一些箭头和函数框开始搭建函数模型。

双击状态机进入下图:下图有两个大状态DISABLE和ENABLE,ENABLE里又有两子状态NORMAL和ONGOING。

​​模型概况(函数实体)

双击上图中的函数进入下图(箭头处可以填写判断逻辑)。这里是逻辑实现地方,后续生成代码都跟这里会一一对应。

​​模型搭建:上面大概讲了一个模型的结构,下面具体去讲怎么搭建模型。

​​上图是把状态机拖出来后,再双击状态机后进去的一张图。上图左侧已经列出常用的搭建模型的按键,以下对我们常用的按键解释下

状态:创建状态机的状态

节点:系统不能停在节点上,但可以停在状态中

跳转:一般和节点配合使用

函数:由于我们是simlink建模,所以我们用Simlink Fcn

历史状态:对于某些问题而言,我们返回一个状态的时候不能总返回默认状态,而是要返回离开前的最后一个状态,这就是历史状态的用处。

以上按键按需拖动到需要处即可。

模型搭建之函数搭建:

​​正常拖动函数按键后如上图,函数名 可以点击命名。这里命名为TestFunction。

一般拖出来的函数实体在这个框里写不下,然后我们可以创建子模块来写。如下图。创建后双击函数块即可进入子模块。我们主要函数一般都在子模块完成。

打开Matlab并添加状态机:最外层的状态机怎么拖出来搭建?

请看下图: 下图是打开matlab软件会出现的,在命令窗口输入state flow就会新建状态机。

​​Note:有时候状态机的输入或输出端口太多,状态机可能不会在可视范围。这时候可以下滑滚轮或者点击fit to view按钮让状态机剧中显示

添加输入端口: 点击Library Browser按钮,在sources中选中In1输入端口。找到In1并拖到状态机图上即可。

​​​

​​同理添加输出端口: 输出端口在Sinks中

​​​

​​添加输入及输出数据: 按照Model Explorer->Add Data顺序添加数据。添加完数据需要在Scope列选择属性是input,output,Local还是其他。DataType列选择类型。

Note1:需要先选中状态机标志才能添加数据。如本模型状态机名为IPC_CompassDisp,所以要先选中该状态机。

Note2:这里的Port列一般在添加端口模型时自动排列。但是有时候可能连续添加很多端口,这边Port排序排好了,但是又把中间某一个或者某几个端口删除了,这时候Port不会再自动排序。则会造成模型端口与这里的Port不匹配。这样会对后期的UT测试造成错误。所以这里Port号需要检查与前面模型号保持一致。

​​端口颜色设置: 有时候,我们想把标定输入变量和其他输入变量分开,除了命名区分外,也可以如图在端口出右击,调出Format/Background Color选不同颜色

​​上图完成了模型的搭建,下面需要配合脚本生成报告。

报告查看: 运行相应的脚本生成.c和.h文件及报告

​​点击上图的.c和.h文件可以查看生成的代码报告

​​​

​​生成代码可读性很差,所以需要代码和模型结合一起看。可以点击报告中的Transition找到模块对应的位置 。

以上写的比较笼统,适合有一定基础的朋友观看。有疑问可以一起讨论,谢谢!

MATLAB-Simulink汽车仿真案例大放送!(附软件下载和教学视频)

Simulink是MATLAB中的一种可视化仿真工具, 是一种基于MATLAB的框图设计环境,是实现动态系统建模、仿真和分析的一个软件包,被广泛应用于线性系统、非线性系统、数字控制及数字信号处理的建模和仿真中。

Simulink提供一个动态系统建模、仿真和综合分析的集成环境。在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出复杂的系统。

Simulink可以用连续采样时间、离散采样时间或两种混合的采样时间进行建模,它也支持多速率系统,也就是系统中的不同部分具有不同的采样速率。为了创建动态系统模型,Simulink提供了一个建立模型方块图的图形用户接口,这个创建过程只需单击和拖动鼠标操作就能完成,它提供了一种更快捷、直接明了的方式,而且用户可以立即看到系统的仿真结果。

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

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

小编整理了若干MATLAB-Simulink汽车仿真案例,附赠软件下载和教学教程(文档和视频),方便大家学习交流。

以上是部分资料。

获取资料,请私信回复:汽车仿真。注意是私信,不是评论哦。

相关问答

通信专业matlab用那本书好?

最基本的函数,help如果英文不好的,推荐几本的中文我在学的,各有特点。《MATLAB函数速查手册》偏重基本函数介绍。《MATLAB从零到进阶》感觉更偏重函数应用...

问一下,Matlab与Simulink,在实际fpga项目中用的多吗?FIR,FFT,DDS,CORDIC,8b/10b,这些常用吗?

能用到不常用,比如说视频传输就会用到8b/10b编码。通信会用到FFT,主要是看你用FFT做什么工作,最常用的还是verilog逻辑。而且你说的这些都是IP核,不需要matla...

simulink是matlab的一部分吗?

是Simulink是MATLAB软件的重要组成部分,能够进行动态系统的建模、仿真和综合分析,在学术和工业领域的网用越来越广泛。是Simulink是MATLAB软件的重要组成部...

MATLAB中的simulink是做什么的?说的通俗简单点?

Simulink是一个对动态系统(包括连续系统、离散系统和混合系统)进行建模、仿真和综合分析的集成软件包,是Matlab的重要组成部分。总结一下Simulink建模与仿真步...

matlab的常用程序语言?

c语言,MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Sim...

matlab应用运放搭建仿真电路?

1、打开matlab进入simulink库,这一步就不多说。2、在simscape下的FoundationLibrary中的Electrical->ElectricalElements中可...

matlab中的simulink怎么运行?

要在MATLAB中运行Simulink模型,首先需要打开Simulink库,然后选择所需的模型或创建新模型。在模型中添加所需的模块和连接线,然后配置模块参数。可以使用信号产...

simulink能转matlab吗?

Simulink可以帮助用户快速地建立模型并进行仿真分析,而将Simulink模型转换为Matlab代码可以帮助用户进行更深入的分析和优化。通过Simulink的代码生成器,用户...

matlab是哪个国家开发的?

matlab是美国开发的。MATLAB是美国MathWorks公司出品的商业数学软件。用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主...

Matlab的Simulink系统中如何创建或封装子系统?

1.首先新建【simulinke文件】,打开【simulink库】。2.打开【simulink库第一个文件分类】,点击【ports&subsystem】找到【subsystem】。3.把...

 厂商指导价  与我长跑十年 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2025  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部