我使用一个两通道的10位A / D转换器,从一个设备中获取了大约35万个样本(每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的数据样本,因此如何链接两个样本窗口,从而在滚动其中一个时同时使它们水平滚动?