eric2013 发表于 2022-3-27 03:45:57

DSP视频教程第5期:Matlab生成C算法文件在STM32上运行,相比Simulink生成C工程具有更广泛适用性(2022-03-27)

本期视频教程为大家分享Matlab生成C算法文件。与上期的Matlab Simulink不同,这次可以把Matlab的m脚本文件生成的C文件移植到板子上跑。适用性更广,也更适合大家使用。

因为很多时候仅仅是想把某个算法生成C来运行。借助Matlab强劲的算法功能,大大有助于我们实际项目工程使用。

视频(1080p):

https://www.bilibili.com/video/BV1ZS4y1U7Bg/

https://www.bilibili.com/video/BV1ZS4y1U7Bg/

本期视频教程分为以下几个部分:
第1部分:注意事项
(1)Matlab安装路径问题,切不要有空格。
(2)Matlab的C/C++头文件路径。
(3)Matlab工程路径。

第2部分:Matlab Simulink生成DSP工程。

第3部分:Matlab的m脚本文件生成C代码.
这个里面有好几个坑,这里重点是把坑给大家填一下。
(1)准备一个m脚本文件,type查看是否正常。
(2)m脚本算法文件生成C代码。
(3)移植C代码到工程运行测试。

移植了一个Matlab的滑动平均滤波效果:


移植到板子上运行效果:



配套资料:
百度网盘:

链接:https://pan.baidu.com/s/1N2UjvtjxS1-byUQVXhvuTQ提取码:aoro


eric2013 发表于 2022-3-27 06:42:18

审核有点慢,还在审核中。

eric2013 发表于 2022-3-27 10:09:17

经验总结,B站不推荐周末发视频,审核太慢。

missfox 发表于 2022-3-28 09:05:34

{:34:}辛苦,这个很实用。

litin326 发表于 2022-3-28 12:18:35

{:8:}

panyi1013 发表于 2022-3-28 20:59:29

楼主 matlab打开后中文变乱码了
l输入以下命令
>> feature('locale')

ans =

包含以下字段的 struct:

               ctype: 'zh_CN.GBK'
             collate: 'zh_CN.GBK'
                time: 'zh_CN.GBK'
             numeric: 'en_US_POSIX.GBK'
            monetary: 'zh_CN.GBK'
            messages: 'zh_CN.GBK'
            encoding: 'GBK'
    terminalEncoding: 'GBK'
         jvmEncoding: 'GBK'
            status: 'MathWorks locale management system initialized.'
             warning: ''
要修改什么

eric2013 发表于 2022-3-29 00:26:26

panyi1013 发表于 2022-3-28 20:59
楼主 matlab打开后中文变乱码了
l输入以下命令
>> feature('locale')


看下是不是这个问题。

Matlab打开m脚本文件中文乱码的解决办法
https://www.armbbs.cn/forum.php?mod=viewthread&tid=95063&fromuid=58
(出处: 硬汉嵌入式论坛)

panyi1013 发表于 2022-3-29 22:09:14

eric2013 发表于 2022-3-29 00:26
看下是不是这个问题。

Matlab打开m脚本文件中文乱码的解决办法


感谢回复,确实是这样的,看来我要多试试查找以前贴子才行

wei886 发表于 2022-3-30 11:15:36

生成的算法跟平台相关吗,是否可以移植到M3的内核

eric2013 发表于 2022-3-30 12:02:21

wei886 发表于 2022-3-30 11:15
生成的算法跟平台相关吗,是否可以移植到M3的内核

无关,纯C的。

lib钱 发表于 2022-5-25 09:07:43

妙啊

eggplant886 发表于 2022-5-28 11:26:49

eric2013 发表于 2022-3-30 12:02
无关,纯C的。

我之前也做过Simulink生成模型在单片机运行。用的h750。
提供底层相关接口后,simulink可以自动把程序编译后部署到硬件,搭配外部AD DA,运行时可以实时调节参数采集数据,特别适合我这边高校做实验。
但也发现了缺点,自带的框架不能生产h745这种多核的处理程序。多核程序目前貌似只有a核心搭配操作系统使用。
还有cmsis-dsp确实能替换生成的函数,但是对于复杂的矩阵运算等,自带的指令集还是不够,需要neon helium
这种加速指令集,这个要等m85的片子出来了。

eric2013 发表于 2022-5-29 09:06:03

eggplant886 发表于 2022-5-28 11:26
我之前也做过Simulink生成模型在单片机运行。用的h750。
提供底层相关接口后,simulink可以自动把程序编 ...
本帖是纯C,没有使用Simulink,所以任何机子都可以跑,只是快慢的问题。

常用的算法,M7已经非常强了,还用不到上M85。

说到AI,Cortex-A系统也是渣,只能干底端的活,现在好点的都是刷NPU。所以ARM也开始整些神经网络内核搭配M核和A核。

missfox 发表于 2022-5-30 09:12:29

下期DSP视频什么时候开;P,等的花都谢了

eric2013 发表于 2022-5-30 15:45:25

missfox 发表于 2022-5-30 09:12
下期DSP视频什么时候开,等的花都谢了

本周继续更新。

huayang 发表于 2022-8-22 17:32:12

楼主您好,请教一下,matlab里面用了矩阵运算,移植到H7需要额外添加矩阵运算的库吗?

eric2013 发表于 2022-8-23 10:27:27

huayang 发表于 2022-8-22 17:32
楼主您好,请教一下,matlab里面用了矩阵运算,移植到H7需要额外添加矩阵运算的库吗?

可以用ARM DSP库的矩阵运算API。

庄永 发表于 2022-8-23 14:20:00

eric2013 发表于 2022-8-23 10:27
可以用ARM DSP库的矩阵运算API。

大佬,ARM DSP库带矩阵运算API吗

huayang 发表于 2022-8-23 20:45:15

eric2013 发表于 2022-8-23 10:27
可以用ARM DSP库的矩阵运算API。

谢谢,程序已经调通了。那个matlab账号登不上是因为移动屏蔽了网址,改用电信网络就可以登陆了。另外用matlab coder APP生成C代码也是一样的效果。

eric2013 发表于 2022-8-24 01:27:28

huayang 发表于 2022-8-23 20:45
谢谢,程序已经调通了。那个matlab账号登不上是因为移动屏蔽了网址,改用电信网络就可以登陆了。另外用ma ...

好的,解决了就好。

pengjun_45 发表于 2024-2-7 16:37:30

压缩包下载 后,不能正常打开了 20240207

eric2013 发表于 2024-2-13 15:00:34

pengjun_45 发表于 2024-2-7 16:37
压缩包下载 后,不能正常打开了 20240207
下载解压查看了,是正常的



页: [1]
查看完整版本: DSP视频教程第5期:Matlab生成C算法文件在STM32上运行,相比Simulink生成C工程具有更广泛适用性(2022-03-27)