From 04:00 PM CDT – 08:00 PM CDT (09:00 PM UTC – 01:00 AM UTC) Tuesday, April 16, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

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

cancel
Showing results for 
Search instead for 
Did you mean: 

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

大家好,我用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 Kudos
Message 1 of 8
(2,855 Views)

为什么要填充?

不要破坏原始数据.

 

George Zou
0 Kudos
Message 2 of 8
(2,810 Views)

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

0 Kudos
Message 3 of 8
(2,805 Views)

可以贴一张图吗?

 

George Zou
0 Kudos
Message 4 of 8
(2,801 Views)

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

0 Kudos
Message 5 of 8
(2,798 Views)

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

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

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

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

 

George Zou
0 Kudos
Message 6 of 8
(2,741 Views)

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

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

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

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

 

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

0 Kudos
Message 7 of 8
(2,737 Views)

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

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

 

George Zou
0 Kudos
Message 8 of 8
(2,731 Views)