C集成的MATLAB/Simulink类型仿真学习总结

导读:本期文章主要介绍一种c集成的simulink类型的matlab仿真,这种仿真类似于半实物仿真,更好的贴合硬件实物。以svpwm模块的c集成实现,来简单介绍一下c mex工作原理。
一、c mex s_function模块介绍
s-function(系统函数)为扩展simulink的性能提供了一个有力的工具。s-function 可以使用matlab,c,c++,ada,或fortran 语言来编写。使用mex 实用工具,将c,c++,ada,和fortran 语言的s-function 编译成mex-文件,在需要的时候,它们可与其它的mex-文件一起动态地连接到matlab 中。
s-function 使用一种特殊的调用格式让你可以与simulink 方程求解器相互作用,这与发生在求解器和内置simulink 块之间的相互作用非常相似。s-function 的形式是非常通用的,且适用于连续、离散和混合系统。
1.1在模型中使用s-function
为了将一个 s-function 组合到一个simulink 模型中,首先从simulink 用户定义的函数块库中拖出一个s-function 块,然后在s-function 块对话框中的s-function name 区域指定明确的s-function 的名字。如下图所示:
图1-1s-function 块、对话框、及决定块功能的源文件之间的关系
1.2 s-function的工作原理
要创建 s-function,你必须了解s-function 是如何工作的。要了解s-function 如何工作,则需要了解simulink 是如何进行模型仿真的,那么又需要了解块的数学公式。因此,本节首先从一个块的输入、状态和输出之间的数学关系开始介绍。
1.2.1 simulink块的数学关系
simulink 块包含一组输入、一组状态和一组输出。其中,输出是采样时间、输入和块状态的函数。
u:s-function模块的输入;y:s-function模块的输出;x:就是s-function要实现什么功能所对应的函数。
1.2.2 c mex s-function的一般格式
二、svpwm模块c mex实现
图2-1 c集成svpvm仿真系统
图2-2基于c mex建模方法的仿真结果
表2-1 n与扇区的对应关系
为了验证c mex模型的正确性,图2-2给出了svpwm模块的仿真结果。由图2-2的第一通道可知,扇区n的值为3à1à5à4à6à2且交替变换,与表2-1所示的结果相同;由图2-2的第二通道可知,由svpwm模块得到的调制波呈马鞍波,这样有利于提高直流电压的利用率,有效抑制谐波;由图2-2的第三通道可以看出,得到的相电压为6拍阶梯波,与实际理论相符。因此以上的仿真结果验证了c mex svpwm模块的正确性和可行性。

Nank南卡对比韶音骨传导蓝牙耳机哪个好?超全面评测给你答案!
决定着电路板的“生死”,晶振损害如何解决
智能感应LED照明
四冲程摩托车发动机的种类和特点
80后女“焊将”分享航天PCB焊接心得
C集成的MATLAB/Simulink类型仿真学习总结
宿舍用充电宝多大合适,适合学生用的充电宝品牌
安规电容串联在电路中的作用
电感器: 开发并量产SMD型LAN用脉冲变压器
齐普光电C-fit弧形3D屏成为户外广告的“新宠”
PCB设计中经典技巧总结
ucos的TSLF内存分配算法
如何用Python将数据写到CSV文件
怎样鉴别铜缆跳线的质量好不好呢
分享一个有吸引力的LED照明电路图
PLC加密程序应不应该做?
离心泵结构组成图解
百度李彦宏表示人工智能将在未来十年改变我们的生产方式
电阻点焊的原理
360N5S发布会最新消息汇总:360N5S提前泄露!骁龙660和大容量电池有没有?