如何检查 CRC 是否在 unetaudio 的自定义 phy 代理中正常工作?

How to check whether CRC is working correctly in the custom phy agent in unetaudio?

我已经实现了 CRC8 而不是奇偶校验字节,奇偶校验字节用于此 unetstack blog 中提到的自定义 phy 代理的给定实现。通过检查 ntf.data 命令,当接收到的数据与发送的数据相同时,CRC 工作正常。我想检查数据何时被修改,CRC 是否正常工作。有没有任何方法可以修改数据或其他一些程序来知道在传输时修改数据时我可以验证 CRC 是否也适用于这种情况。

要测试您的 CRC8 实现是否正常工作,最简单的方法是更新您的 PHY 实现以随机翻转几个位,然后查看您的 CRC8 校验是否检测到这一点。测试后,您可以删除位翻转。

或者,您可以使用 unet audio 来发送和接收,并将 SNR 降低到引入错误的程度。但是,这是一个non-deterministic过程,所以我个人更喜欢通过编程人为引入错误的方法。