MATLAB与SIMULINK仿真

栏目: 编程工具 · 发布时间: 6年前

内容简介:概述为在嵌入式开发中碰到的算法验证问题,借助matlab平台可以更方便的调试。如控制算法,可以先验证算法编写的正确性,防止盲目调参的无用功。借助的是SIMULINK 与 S-Function Builder方法
编辑推荐:
本文来自于csdn,主要介绍了MATLAB与SIMULINK仿真嵌入式C算法的概述与方法。

概述

为在嵌入式开发中碰到的算法验证问题,借助matlab平台可以更方便的调试。如控制算法,可以先验证算法编写的正确性,防止盲目调参的无用功。借助的是SIMULINK 与 S-Function Builder

方法

首先保证 matlab MEX部分能正常工作,可以参考 mex -setup相关信息。主要是让mex找到正确的编译器,如:已安装了gcc套件,则只需设置下环境变量: setenv(‘MW_MINGW64_LOC’,’F:\MinGW64’);

即可

S-Function 是一个将c c++ 等编译为simulink模块的工具,吧待检测的代码构建为simulink 标准模块便可借助 simulink 强大功能仿真了。S-Function 有特定的格式,可以手写,这里用更简单的S-Function Builder做。

下面以一个iir滤波器算法为例

1.待验证的iir实现如下,保存为iir_souce.c

/**

* @brief 离散 IIR 滤波器算法,被s function builder

* 使用并建立iir.c (与builder设置的函数名相同)

*

* @param u 输入

* @param xD 离散变量寄存器, sfuncton builder 提供

* @return double 输出

*/

double iir(double u, double* xD) {

double y;

// IIR 的查分方程: y(n) = 0.2x(n)+0.3x (n-1)+0.5x (n- 2)

//定义 xD[0] x(n-1) xD[1] x(n-2)

y = 0.2 * u + 0.3 * xD[0] + 0.5 * xD[1];

xD[1] = xD[0];

xD[0] = y;

return y;

}

2.开启新的simulink,导入S-Function Builder 模块,双击打开编辑

2.1 命名

要求与刚才c文件不同命,不然会覆盖

MATLAB与SIMULINK仿真

2.2 离散状态设置

这是s function 特殊性,就是离散化的算法中的x[n-1]这样的历史值需要构建为离散状态。如上图设置两个,给x[n-1] x[n-2]用

2.3 函数输入输出设置

iir只需要单输入单输出 宽度都为1 double(默认的) 格式

MATLAB与SIMULINK仿真

2.4 说明要编译的文件

左侧 iir_souce.c 指出要编译的文件 右侧extern double iir(double u, double* xD); 提示一会儿要在后面用到里面的这个函数

MATLAB与SIMULINK仿真

2.5 这一步指出实现

y0[0]=iir(u0[0],xD);

u0[0] 是输信号,y0[0]为输出信号,xD是刚才定义的离散状态数组

MATLAB与SIMULINK仿真

2.6 编译

如图,默认设置就好,还可以产生TLC用于matlab builder 自动生成代码

MATLAB与SIMULINK仿真

2.7测试

构建如下系统:

MATLAB与SIMULINK仿真

MATLAB与SIMULINK仿真

至此,成功将目标代码构建到sinmulink中仿真


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Google是如何控制世界的

Google是如何控制世界的

(美)丹尼尔·伊克比亚 / 李军 / 东方出版社 / 2008-08 / 36.00元

秘Google的发展之路! Google,这个有着数百亿的网页存储量、每天两亿搜索次数的搜索引擎,最初仅仅是一个方程式。这个由拉里·佩奇和塞吉·布林两位天才创造出的超级算法甚至比可口可乐的配方还要保密。 当广告公司为自己网页在搜索结果中的排序争得头破血流时,Google正悠然地坐收渔翁之利,这种天才的拍卖广告链接的商业模式给Google带来了令人瞠目结舌的企业利润!仅仅从1999~20......一起来看看 《Google是如何控制世界的》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

随机密码生成器
随机密码生成器

多种字符组合密码