使用一个双通道 10 位 A/D 转换器,我从一个设备中采集了大约 350k 个样本(每 10 毫秒一个),并将它们全部保存在一个文本文件中。由于10位,数字都在0-1023之间。
现在我想可视化这两个来源。由于数据点太多,Gnuplot 太慢了,所以我想将数据转换为二进制,然后将其作为原始数据导入 Audacity(或使用 sox 处理),但最终结果并非我所期望的。
数据文件摘录:
360 594
367 596
375 594
382 595
389 594
396 593
404 594
412 594
418 596
426 594
433 596
441 594
448 630
数据源#1 是左列,数据源#2 是右列。
在 Python 中快速破解数据点并将其转换为单独的文件:
import struct
f = open("new_data").readlines()
l = ([], [])
for line in f:
a, b = line.split()
l[0].append(int(a))
l[1].append(int(b))
with open("new_1.raw", "wb") as file:
for n in l[0]:
file.write(struct.pack("i", n))
with open("new_2.raw", "wb") as file:
for n in l[1]:
file.write(struct.pack("i", n))
启动 Audacity 并导入,我发现只有 8 位无符号,这有点令人困惑,因为我的数字是 10 位(或 16)且无符号。总之,我做了两个导入:无符号 8 位 PCM 和有符号 16 位 PCM。结果在下面的屏幕截图中。
当然,由于位剪辑,8 位的边缘受损,而 16 位看起来要好得多。我可以找出锯齿样本的周期时间,这实际上是我想要找出的。但是,在开始写这个问题之前,我从来没有设法得到这个好的导入(因为我只尝试了 8 位导入),所以这个问题不再是一个问题,考虑到我写这个问题所花费的时间,这很遗憾.
5分钟后
现在出现了一个问题。这是我第一次使用 Audacity,所以;由于我想调查两个数据样本,都导入到 Audacity 中,我如何链接两个样本窗口,当我滚动它们中的任何一个时,使它们同时水平滚动?