急急急!串口收到的浮点数据,想把它制作成波形显示在波形图表上

2019-07-17 12:30发布

详细说一下我的问题吧,搞了好几天都不行,请大神指教,新手小白,实在是没有积分给了

我想要把串口发送的数据实时显示在波形图表上,但是直接显示的话波形很难看,所以想优化一下,做成波形数据,强调一点,我的数据是实时更新的,(下位机是STM32发送过来的数据,因为还要测一下两个峰值之间的时间差,来计算心率,所以横坐标要显示当前的时间),目前的问题比较多:

(1)将X轴设置为系统当前时间时,用到了一个缩放系数的属性节点,看了帮助也没有看懂,不知道这个对波形图表的显示有什么作用
1.png
(2)在设置X轴为系统当前时间时,参照论坛上的一些程序设计的,但觉得还是有缺陷,前面板上的X轴显示如下图,我觉得X轴的间隔可能有问题
2.png
下面是设置X轴坐标为系统时间的程序框图
3.png
(3)下面是我用随机数模拟的数据,通过创建波形函数,把数据做成了波形类型,这里的参数dt是代表两个波形图表上显示的两个数据之间的时间间隔吗,还是代表做成的波形数据的两个值的时间间隔呢?我觉得这里对最后的波形显示有很大影响,下面上图

5.png
下面是完整的程序框图
6.png
总之,要实现的功能就是实时显示串口的数据,横轴为系统的当前时间,数据是实时更新的,而且速度特别快!
还有一个问题就是,(4)串口收到的数据(收的是字符串)经常乱序,比如正常是123456,有时候会跳变成456123这种问题,在串口读取的VI中这种情况少一些,在主程序调用的之后就会经常发生,欢迎各路大神指教!
数据处理.zip 下载积分: 积分 -1 分
22.68 KB, 下载次数: 6, 下载积分: 积分 -1 分
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
wyq95361977
1楼-- · 2019-07-17 15:13
波形数据用波形图显示
你分析一下专用波形数据成分,就明白么样做了
zd870905
2楼-- · 2019-07-17 20:56
本帖最后由 zd870905 于 2018-4-27 22:10 编辑

首先你这属于非均匀采样,采样间隔不稳定但大致差不多
例如采样间隔是9ms左右,你希望显示100个点左右,那么9*100=900ms。这个值就是你X轴的标尺范围,在属性中修改范围为0~0.9即可(时间实际上是相对于1900年经过的秒数,一个dbl值)。手动设置时不需要那些属性节点设置

缩放与偏移就是对值做一个X=ax+b的处理,可以处理一些单位转换等,建议保持默认

Image 005.png
段云鹏
3楼-- · 2019-07-18 00:12
 精彩回答 2  元偷偷看……
段云鹏
4楼-- · 2019-07-18 03:25
zd870905 发表于 2018-4-27 21:56
首先你这属于非均匀采样,采样间隔不稳定但大致差不多
例如采样间隔是9ms左右,你希望显示100个点左右,那么9*100=900ms。这个值就是你X轴的标尺范围,在属性中修改范围为0~0.9即可(时间实际上是相对于1900年经过的秒数,一个dbl值)。手动设置时不需要那些属性节点设置

非常感谢,再请教你一下,不过我的数据是一直在接收的,数据的个数是无限的,需要显示当前一小段时间的数据,这种显示应该是用波形图还是波形图表呢?
我看你的程序框图没有关于设置X轴为时间的程序啊,你的横轴是怎么显示成时间的呢?(我要显示的是绝对时间),谢谢
zd870905
5楼-- · 2019-07-18 08:46
dbl标量转动态数据可以自动附加时间

波形数据是均匀采样,我对stm并不太懂,不知道其采集数据是否可以附加时间或者有固定频率,我觉得这个才是准确的波形时间,串口接收的时间并不准确。你可能需要做成均匀采样才能分析,我是这样想的。


zd870905
6楼-- · 2019-07-18 13:19
非均匀是针对你的串口读取说的,实际上我觉得stm本身应该是周期采集的

一周热门 更多>