硬汉嵌入式论坛

 找回密码
 立即注册
查看: 3700|回复: 17
收起左侧

[信号发生器] Matlab生成任意波形数据给H7-TOOL的信号发生器使用(2022-07-22)

  [复制链接]

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115434
QQ
发表于 2022-3-12 09:39:06 | 显示全部楼层 |阅读模式
昨天发布的第3期DSP视频教程中做了一个展示,这里将其做成文档,也做个说明:

https://www.armbbs.cn/forum.php?mod=viewthread&tid=111369


1、Matlab生成C数组。

在Matlab的脚本里面执行如下代码:

  1. Signal_Original_2  = [1000*ones(1,20), 5000*ones(1,20), 3000*ones(1,20), -5000*ones(1,40)];
  2. Noise_White_2     =  300*randn(1,100);                      %高斯白噪声
  3. Mix_Signal_2      =  Signal_Original_2 + Noise_White_2;     %构造的混合信号

  4. plot(Mix_Signal_2);

  5. fid=fopen('D:\matlab\data.c','wt');%写入文件路径
  6. for i=1:1:100
  7. fprintf(fid,'%f,\n',Mix_Signal_2(i));
  8. end
复制代码

这个脚本代码是将生成的C数组存到路径D:\matlab\data.c的data.c文件里面
image.png

C数组:
image.png

2、将其全部复制到H7-TOOL的任意波形对话框中:

image.png

展示效果:
image.png

动态效果:


回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115434
QQ
 楼主| 发表于 2022-3-12 10:29:02 | 显示全部楼层
更新完成。
回复

使用道具 举报

759

主题

1050

回帖

3332

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3332
发表于 2022-3-12 22:25:10 | 显示全部楼层
不错。
不过我没用过 Matlab 。 今天还有客户要求我们搞Matlab培训班。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115434
QQ
 楼主| 发表于 2022-3-14 11:01:46 | 显示全部楼层
armfly 发表于 2022-3-12 22:25
不错。
不过我没用过 Matlab 。 今天还有客户要求我们搞Matlab培训班。

后面再做几期Matlab相关的。
回复

使用道具 举报

23

主题

1443

回帖

1512

积分

至尊会员

积分
1512
发表于 2022-3-23 12:22:19 | 显示全部楼层
测试了下,确实方便。
代码不规范,亲人两行泪!
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115434
QQ
 楼主| 发表于 2022-7-22 01:19:00 | 显示全部楼层
更新帖子,方便大家查看。
回复

使用道具 举报

0

主题

25

回帖

25

积分

新手上路

积分
25
发表于 2023-2-10 12:21:54 | 显示全部楼层
最好支持多几种格式的任意波形数据导入,比如,TXT,csv,mat等这样,做信号分析后可以下载观察。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115434
QQ
 楼主| 发表于 2023-2-10 12:32:53 | 显示全部楼层
mrgoodman 发表于 2023-2-10 12:21
最好支持多几种格式的任意波形数据导入,比如,TXT,csv,mat等这样,做信号分析后可以下载观察。

好建议,其实复制粘贴就行。

比手动导入速度不慢。
回复

使用道具 举报

0

主题

25

回帖

25

积分

新手上路

积分
25
发表于 2023-2-10 12:48:18 | 显示全部楼层
eric2013 发表于 2023-2-10 12:32
好建议,其实复制粘贴就行。

比手动导入速度不慢。

硬汉哥,任意波形的数据长度是多少?我搞了一个592k的,貌似无法输出。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115434
QQ
 楼主| 发表于 2023-2-10 14:01:51 | 显示全部楼层
mrgoodman 发表于 2023-2-10 12:48
硬汉哥,任意波形的数据长度是多少?我搞了一个592k的,貌似无法输出。

这个没有固定的大小,是从LUA的动态内存里面申请的,可以你测试下,最大可以多少。

后面这个地方有必要做个提示,大家粘贴进入后,提示空间是否够。
回复

使用道具 举报

2

主题

46

回帖

52

积分

初级会员

积分
52
发表于 2025-3-29 13:13:21 | 显示全部楼层
生成的数据文件能循环输出吗
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115434
QQ
 楼主| 发表于 2025-3-29 14:14:35 | 显示全部楼层
xml2028 发表于 2025-3-29 13:13
生成的数据文件能循环输出吗

那个执行次数变量就是用于设置循环次数使用的,设置的32bit变量,次数范围 0 到 2^32 - 1

12.png



回复

使用道具 举报

2

主题

46

回帖

52

积分

初级会员

积分
52
发表于 2025-3-29 22:09:10 | 显示全部楼层
太棒了,果断下单一台
回复

使用道具 举报

2

主题

46

回帖

52

积分

初级会员

积分
52
发表于 2025-4-7 14:31:14 | 显示全部楼层
我已经入手了H7TOOL ,在做这个实验,我看上位机 输入数据的单位是mV,而matlab产生的数据里面有5000多的数据,请问这个写入的数据范围有要求吗 ?按照我的理解MCU 供电是3.3V的话,这里给DAC输入的数据最多就是 0-3300mv了啊,为啥这里还有5000多mv的,还有-1000多mv的数据呢
回复

使用道具 举报

2

主题

46

回帖

52

积分

初级会员

积分
52
发表于 2025-4-7 14:34:07 | 显示全部楼层
我刚看了说明书  ,波形幅度支持正负10V,也就是 正负10000mv,谢谢,
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115434
QQ
 楼主| 发表于 2025-4-7 14:51:13 | 显示全部楼层
xml2028 发表于 2025-4-7 14:31
我已经入手了H7TOOL ,在做这个实验,我看上位机 输入数据的单位是mV,而matlab产生的数据里面有5000多的数 ...

1、5000个点太多了,最好限制到1K以内。因为这个是浮点数,每个数据占用4个字节。
2、正负10000mv
回复

使用道具 举报

2

主题

46

回帖

52

积分

初级会员

积分
52
发表于 2025-4-17 13:44:00 | 显示全部楼层
eric2013 发表于 2025-4-7 14:51
1、5000个点太多了,最好限制到1K以内。因为这个是浮点数,每个数据占用4个字节。
2、正负10000mv

能帮忙确认一下最多多少个点吗 ?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115434
QQ
 楼主| 发表于 2025-4-17 14:45:36 | 显示全部楼层
xml2028 发表于 2025-4-17 13:44
能帮忙确认一下最多多少个点吗 ?

这个无法确定最大点数,因为这个地方是以LUA脚本方式下发给TOOL的配置的DAC。

这个脚本总大小不超过64KB,根据你的数据,你可以下发5000个点试试。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-4-26 01:47 , Processed in 0.318684 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表