NI LabVIEW,CVI,数据采集等产品讨论区

取消
显示结果 
搜索替代 
您的意思是: 

数据采集不同步时,如何填充空白?

大家好,我用NI9171和串口同时采集数据。其中,NI9171为waveform arrays,串口采集的数据变成数组并变成waveform后,与9171的waveform数据合并成数组保存。由于速度不同步,导致串口数据列有很多空白行,请问如何将空白行用前一个数据填充?或者有没有其他方法解决此问题,谢谢。目前采集的数据格式示意如下:

1  0.01003   -12.3
2  0.00938
3  0.00971
4  0.00906
5  0.00906
6 0.00906
7 0.00874   -11.9

0 项奖励
1 条消息(共 8 条)
2,830 次查看

为什么要填充?

不要破坏原始数据.

 

George Zou
0 项奖励
2 条消息(共 8 条)
2,785 次查看

不是要破坏原始数据,只是后期想看两列数据时域上关系,有空白做出图不直观。虽然可以另外写matlab程序填充,但不是也麻烦嘛:)

0 项奖励
3 条消息(共 8 条)
2,780 次查看

可以贴一张图吗?

 

George Zou
0 项奖励
4 条消息(共 8 条)
2,776 次查看

image.png类似这个图,实际上下面的点更多,大概有2000个点,才会出现上面的一个点

0 项奖励
5 条消息(共 8 条)
2,773 次查看

1. 红点之间没有连线. 有连线比较直观.

2. "将空白行用前一个数据填充" => 阶梯状, 一般我们用线性插值. 

    可增加一条线给修正过的数据, 用空心红点.  然后用原始数据覆盖.

3. 可增加一个 Y 坐标给红点用. 以便充分体现数据的波动.

 

George Zou
0 项奖励
6 条消息(共 8 条)
2,716 次查看

感谢您的耐心回复。逐条对应您的回复

1.这个图就是用原始数据在origin里做出来的图。您看到左上角的标注,实际上红点也是有连线的,但因为中间很多空白数据点,所以没有连接起来,这也正是我想通过labview里填充上这些空白的原因。

2. 您说的对,如果中间的空白用前一个数据填充的话,将会出现阶梯状。但实际上红点采集速度是9600baud的,所以实际上采集数据多的话,不会出现明显的阶梯状。之所以目前这样是因为黑点采集速度是50000sps的。

3.可以单独增加y轴,但红点间还是不会有连线,因为中间有空白点,时间轴是断开的。

 

所以,我的想法是在labview里自动的填充这些空白数据点,至今没有成功。

0 项奖励
7 条消息(共 8 条)
2,712 次查看

但红点间还是不会有连线,因为中间有空白点,时间轴是断开的

两组数据不要共享时间数据.

 

George Zou
0 项奖励
8 条消息(共 8 条)
2,706 次查看