3

我目前正在从事一个涉及嗅探和修改无线电数据包的研究项目,不幸的是我遇到了一些数学难题。:-/

有问题的数据包有一个全为 1 的 16 位前导码,后跟一个二进制 0,然后是 32 位各种数据,然后是某种 16 位校验和,每个无线电数据包总共有 65 个位。

我使用逻辑分析仪收集了数百个数据样本,主要是通过强制发送设备报告不同的状态,并且我在Excel中收集了数据。

现在,进行传输的硬件已经很老了,大约是 90 年代初,所以我并不期待有什么花哨的东西。起初我只是想我会尝试手动解决,但运气不佳。在认为我已经使用几个 XOR、OR 和 XAND 解决了所有问题后,我意识到我的“公式”在具有不同序列号(前 16 位数据)的其他发射器上惨遭失败。

因为它只有 16 位,而且我认为它太旧了,所以我认为它可能是一个简单的 CRC,但我还没有找到能够提供远程正确结果的公式。

几年前,我什至从有类似问题的人那里找到了另一篇关于 StackOverflow 的帖子,但我梳理的解决方案似乎都没有帮助。

最终目标是能够为任意序列号创建传输,而无需访问实际的物理发射器。

想法?注释?

4

1 回答 1

1

你有进步吗?

一些有用的链接:

  1. bbcmicro.net 上的CRC 目录
  2. Pycrc已经实现了许多 CRC 计算。
  3. pycrc 的CRC 模型
  4. 维基百科的“常用和标准化_CRCs
  5. 蛮力多项式查找器
  6. 蛮力 CRC 参数
于 2012-04-30T13:03:46.903 回答