一、简介

本文主要以matlab 2019b版本,主要讲解怎么用simulink和fixed point tool生成嵌入式定点c代码:

在嵌入式代码设计中,由于浮点运算特别占用CPU资源,我们通常使用将浮点转化成定点再运算。下面讲用fixed point tool 生成定点嵌入式代码。

Fixed-Point Tool用户界面,可自动执行Simulink®模型中指定定点数据类型的任务。该工具收集模型对象的范围数据。范围数据来自:

1.设计对象在块上明确指定的最小值和最大值

2.记录模拟期间出现的最小值和最大值

3.使用范围分析得出的最小值和最大值

根据这些值,该工具将提供定点数据类型,以最大程度地提高精度并覆盖范围。然后,您可以查看数据类型建议,并将其有选择地应用于模型中的对象。此过程也称为自动缩放。使用定点工具,您可以:

1.根据指定的设计范围得出范围信息。请参阅范围分析的工作原理。

2.根据模拟数据提出并应用数据类型。

3.根据派生范围提议和应用数据类型。

二、具体实现方法

开始转换之前,需要在Simulink中设置模型。转换工作流程包括四个主要阶段。

1.准备转换系统

选择要转换为定点的系统。定点工具将为指定系统中的对象建议数据类型。选择是通过模拟还是派生范围分析来收集范围。您可以使用Simulink.SimulationInput对象指定多个模拟方案。指定信号容差以用于验证转换后的系统的行为。通过单击“定点工具”工具栏中的“准备”按钮,自动准备要转换的设计系统。定点工具分析您的模型并提出自动缩放的配置建议。

2.收集范围

运行模拟或推导。模拟或推导完成后,可以使用“模拟数据的可视化”窗格中的直方图检查模型中对象的范围。

3.转换数据类型

定点工具根据第二阶段中收集的范围提出数据类型。您可以在“设置”菜单中编辑默认字长和其他建议设置。要生成建议,请单击“建议数据类型”。如果您对建议感到满意,请单击“应用数据类型”。

4.验证新设置

使用新应用的定点数据类型模拟模型以检查定点模型的行为。您可以使用Simulation Data Inspector比较浮点和定点行为。

验证之后,如果您确定系统的行为不可接受,则可以迭代转换和验证步骤,直到选择满足系统要求的设计为止。

进行如下图步骤,根据需要填写相应精度,应用,仿真,验证,生成定点代码。

Matlab 2019b simulink 生成C代码(二)用fixed point tool 生成定点代码相关推荐

  1. Matlab 2019b simulink 生成C代码(一)

    一.简介 本文主要以matlab 2019b版本,主要讲解怎么用simulink生成嵌入式c代码: 1.设置生成嵌入式C代码: 2.生成自己想要变量代码: 3.生成自定义名称函数 二.具体实现方法 1 ...

  2. Algorithm之MC:基于Matlab实现通过蒙特卡洛方法模拟二维布朗运动

    Algorithm之MC:基于Matlab实现通过蒙特卡洛方法模拟二维布朗运动 目录 输出结果 设计代码 输出结果 基于Matlab实现通过蒙特卡洛方法模拟二维布朗运动 设计代码 %基于Matlab实 ...

  3. 清洁机器人之语音方案之 二.语音资源文件wav生成

    二.语音资源文件wav生成 文章目录 二.语音资源文件wav生成 1.定义语音资源数组 2.循环调用生成语音API 3.执行,具体结果如下 3.1配置so路径 科大讯飞的开放平台 https://ww ...

  4. WGCNA分析 | 全流程代码分享 | 代码二

    – 关于WGNCA的教程,本次的共有三期教程,我们同时做了三个分析的比较,差异性相对还是比较大的,详情可看WGCNA分析 | 你的数据结果真的是准确的吗??,这里面我们只是做了输出图形的比较差异,具体 ...

  5. 夸奖对方代码写的好_怎样写好代码(三)

    接上文<怎样写好代码(二) > 接口设计描述的总分代码结构是平面的,假设该结构是在坐标系中的x和y纬度,那么类怎么布局,就是在z纬度.合理布局每个类才能使得代码更加优雅,这里不讨论设计模式 ...

  6. 基于Matlab Simulink开发的嵌入式模型,模型可自动生成ccs工程代码,生成的代码可直接运行在主控芯片中

    主控芯片dsp tms320f28335,基于Matlab Simulink开发的嵌入式模型,模型可自动生成ccs工程代码,生成的代码可直接运行在主控芯片中. 该模型利用id=0的矢量控制,实现了永磁 ...

  7. Matlab的Simulink【连续模型离散化】代码自动生成C语言(简明教程)

    本文详细介绍了simulink连续模型离散化,代码生成以及最终运行到VS2010环境的详细过程,希望对大家有帮助. 第一步 打开模型 首先我们要确保模型仿真是正确的,即能够正常仿真. 第二步 将输入和 ...

  8. MATLAB/Simulink自动代码生成(二)

    前言: 上一篇文章详细学习了如何通过Simulink建立系统模型,进而生成嵌入式代码.本文通过实例进一步加深对代码自动生成的理解和应用. 一.建立系统框图 为了方便起见,在这里我们实现一个的简单算法, ...

  9. matlab 做机械臂控制系统,用MATLAB和Simulink高效设计机械臂算法|小迈步之系统仿真(二)...

    机械手能模仿人手和臂的动作功能,用以固定程序抓取.搬运物件或操作工具的自动化装置.机械手是最早出现的工业机器人,也是最早出现的现代机器人,它可代替人的繁杂劳动以实现生产的自动化,能在艰苦危险的环境下操 ...

最新文章

  1. .Net精简版数据类型
  2. 面向对象——多态,抽象类,接口(二)
  3. unity3d 自动变化大小_【Unity游戏开发】AB学习(三)--加载AB和实例化操作对应的内存变化...
  4. python线程安全的计数器_+ =运算符在Python中是线程安全的吗?
  5. Linux学习总结(34)——Linux系统目录结构详解
  6. G-SYNC技术是什么
  7. if shell 条件语句简写_shell中的if语句
  8. 单例模式的终结者——setAccessible(true)
  9. 塔夫斯大学计算机教授,塔夫茨大学工程学院虚拟教室取得成功!
  10. 戴尔710服务器网卡型号怎么查,怎么看网卡驱动有问题_怎么看网卡驱动型号
  11. 【python】用递归解决汉洛塔问题
  12. React报错 React Hook useEffect has a missing dependency: ‘obj‘
  13. matlab怎么还原默认界面???
  14. Nodejs的安全学习
  15. 安卓linux层,Android 系统架构各层介绍
  16. 《弃子长安》第九章 大漠金钩
  17. 全志T507核心板4路AHD摄像头实现方案-飞凌嵌入式
  18. 忽然看到自己十年前发的关于转计算机专业的帖子
  19. Android底层驱动开发记录:01_JNI
  20. Python代码实现PID控制

热门文章

  1. feishu-飞书记录
  2. 22年全国程序员1月薪资出炉,才知道年薪 40 万以上的有这么多?
  3. StringUtils的用法
  4. 网络分流器-移动互联网采集器部署方案
  5. 服务器主机接显示器,服务器主机连接显示器
  6. 服务器怎么架设虚拟主机,服务器怎么架设虚拟主机
  7. 快手如何快速引流;超详细快手基础篇之运营引流法。丨国仁网络资讯
  8. 怎么看待奶头乐理论?
  9. 手机模拟ArmLinux编译Qemu5.0.0
  10. 基于 Spring Cloud + Vue.js完整的微服务架构实战