LabVIEW-模拟传感器采集数据并预测数据

一、题目

  1. 已知某传感器过去的一段时间内采集的数据为d1,d2,d3,......,dn,现欲以m点的数据宽度,预测 tao 步后的数据值,即将一维的时间序列数据重构为如下m+1列的形式:

    d(1)    d(2 )   .......    d(m),        d(m+tao)

    d(2)    d(3 )   .......    d(m+1),    d(m+tao+1)

    ......................................................................

    请设计子VI,能够讲给定的数组转换为如上结构形式的数据输出

二、过程

通过创建数组对数组进行初始化,模拟传感器采集到的数据。

采用for循环对采集到的数据进行处理,通过“数组大小”节点获取数组中元素个数,设置数值输入控件“数据宽度m”为任意值,为方便观察,此处设置为“2",为了防止下标访问越界,用数组大小减去数据宽度和τ之和,再加1,最后连接至“循环总数”。

调用“数组子集”节点,将“索引”连接至“循环计数”,即获取数组中对应下标的元素,将“长度”连接至“数据宽度”节点,即可设置数组宽度。最后通过移位寄存器保存每次获取到的数组子集,在左侧移位寄存器对二维数组进行初始化后,通过右侧移位寄存器输出重构后的数据。

要实现预测τ步后的元素,只需要在原来的数组中新建一列元素,并且以“数组宽度”+“循环计数”+“+1”的结果-1,作为元素下标,通过“索引数组“节点,生成预测元素,再通过“数组插入”节点,插入到原来的数组中即可。

下图为子VI设计:

LabVIEW-模拟传感器采集数据并预测数据_第1张图片

下图为测试子VI过程:

LabVIEW-模拟传感器采集数据并预测数据_第2张图片

 

你可能感兴趣的:(LabVIEW学习,算法,labview)