硬汉嵌入式论坛

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

[DSP] 求教matlab保存数据函数

[复制链接]

2

主题

46

回帖

52

积分

初级会员

积分
52
发表于 3 天前 | 显示全部楼层 |阅读模式
硬汉哥,我参考你的H7的历程,使用MATLAB和单片机通信,每1024个点执行一次FFT,在执行FFT之前,我想把这1024个点的数据保存在电脑,是用什么函数比较好,
采样点的频率是500Hz,也就是通信帧的速度。

参考你的H7TOOL的应用例子,用fpintf 这个函数是不是最快的?


fid = fopen('D:\Work\11BIS\matlab\WAVE\data1.c','wt'); %写入文件路径
for i=1:1:N
   fprintf(fid,'%f,\n',Mix_Signal(i));  %向fid文件里面写入 数据 Mix_Signal
end


我500Hz的采样速度,得到1024个点是2秒,那么我想保存20秒的数据也即是10个文件,如何来实现必须好 ?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115434
QQ
发表于 前天 12:51 | 显示全部楼层
如果仅保存20秒,可以保存到一个文件里面就行。
回复

使用道具 举报

2

主题

46

回帖

52

积分

初级会员

积分
52
 楼主| 发表于 前天 14:54 | 显示全部楼层
    filename = sprintf('data_%d.c', g_FileCount); % 生成文件名 .txt 或者 .c
    fid = fopen(filename,'wt'); %写入文件路径
    for i = 1 : 1 : N
        fprintf(fid,'%4d,\n',fifoBuff(i));  %向fid文件里面写入 数据 RecDataDisp
    end
    g_FileCount = g_FileCount + 1;
    fclose(fid);
回复

使用道具 举报

2

主题

46

回帖

52

积分

初级会员

积分
52
 楼主| 发表于 前天 14:54 | 显示全部楼层
我用上面这段代码实现了
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115434
QQ
发表于 昨天 11:42 | 显示全部楼层
xml2028 发表于 2025-4-23 14:54
我用上面这段代码实现了

好的,这样实现就可以。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-25 20:46 , Processed in 0.712565 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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