【发布时间】:2025-12-01 23:40:01
【问题描述】:
我有一个扩展名为 .bin 的二进制文件。该文件由数据采集软件创建。基本上,一个“测量计算”的 16 位数据采集硬件正在接收来自传感器的信号(经过放大器放大后)并通过 USB 将其发送到 PC。然后,程序/软件正在生成一个 .bin 文件,该文件对应于从数据 aq 接收到的串行数据。硬件。有几种方法可以读取这个 .bin 文件并在 MATLAB 中绘制信号。
当我用十六进制编辑器打开这个 .bin 文件时,我可以看到 ASCII 或 1 和 0(二进制)。问题是我不知道如何解释这些知识。 16秒得到的文件有208000字节。我在想每 2 个字节对应一个样本,因为 DAQ 设备具有 16 位分辨率。因此,我认为例如 16 位数据(例如 1000100111110010)由 MATLAB 转换为相应的电压电平。但我尝试打开两个不同的 .bin 文件,它们具有不同的电压等级,例如 1V 和 9V,但这些数字似乎与我的想法无关。
MATLAB 如何从 .bin 文件中读取和解释二进制数字?
谢谢,
【问题讨论】:
-
扩展名 .bin 和 .dat 一样,是毫无意义的,并且几乎不会告诉您内容的格式(如果有的话)。您使用什么软件来捕获这些数据?它是在什么采样率下获得的?此外,您获取的数据是否正好 16 秒?如果是这样,那么通过采样率,您可以确定数据是否具有某种格式规范,或者实际上只是值的转储。
-
我不记得采样率了。该程序由工程师用 Delphi 语言编写。它不是商业的。每次采集我用了 16 秒。然后我在 hexeditor 中打开文件,看到 bin 有 208000 字节的数据,所以我认为这意味着 104000 个 16 位块和 104000/16sec = 6500 个样本/秒,因为每个样本都有 16 位深度。我不确定我在这里的知识。我怎么知道 MATLAB 如何解释这些二进制数字?在 900 页的 MATLAB 书中只有 1 或 2 页关于这个问题。我找不到任何可以了解它是如何发生的教程。