将波形数据转换为二维数组

更新 Jan 11, 2019

适用于

Software

  • LabVIEW Full
  • LabVIEW Base

问题详述

  • 我的数据是波形数据,我想将它转换成二维(2D)数组,且数组中数据类型为double类型。
  • 并且我需要将波形数据写入文本文件。
  • 我想在我的波形数据上使用数组函数该如何实现。

解决方案

  • 为了将此数据转换为2D数组,您需要从波形中提取现有Y坐标值并为每个值分配相应时间
  • 下面是如何将波形数据转换为二维2D数组的示例
    1. 使用“获取波形组件”函数从波形数据中提取Ydt数据
    2. 通过For循环的自动索引功能以获取Y值的数组
    3. 在循环内将dt乘以迭代次数。这将给出与每个数据点相关的时间坐标值
    4. 使用Build Array函数组合Y数组和步骤三中的时间坐标值
    5. Build Array函数的索引输出将为您提供相对于时间坐标的波形数据的二维数组
 

相关信息

  • 波形数据类型是由4个元素组成的特殊类型的簇
    • Y - 数据幅值测量出来的一维数组
    • t0 - 表征测量开始时间的时间戳
    • dt - 标量,用于表征采集到的描述信号的时间间隔(以秒为单位)
    • Attributes - 这是包含所有波形元数据的变体数据类型,例如硬件设备编号或通道名称
  • 以上代码片段和NI社区示例显示了所需程序的实现
  • 上述方法完全忽略了波形中的属性和t0数据元素,只关注间隔时间(dt)和幅度数据(Y)。
    • 这种做法简化了代码并让程序专注于实现传入数据的最重要元素。
  • 上面代码段中的代码执行以下操作
    • 获取振幅数组并遍历数组,使用间隔时间值乘以循环当前的迭代次数
    • 首先将这两个值组合成一个双元素一维数组,然后使用for循环对其进行索引,结果变成两列的2D数组
    • 第一列包含时间信息,从0开始,每行增加dt
    • 第二列包含着所有幅度数据。
    • 请注意,可以在编程»波形下的功能选项板中找到其他波形功能

本文是否有帮助?

无帮助