使用 Reed-Solomon 实现增量冗余
Using Reed-Solomon for incremental redundancy
我一直在学习非常嘈杂的 AWGN 通道的纠错机制。我读过有关将 FEC 编码与 ARQ 系统结合使用的混合 ARQ 系统,这听起来像是此类频道的良好起点。
我正在考虑遵循下一个示例的设置:
第一次传输数据包 #1 - RS(38,8)
收到 NAK
数据包 #1 的第二次传输 - 附加 FEC 字节,以便在接收方获得 RS(46,16)
收到 ACK
我的问题是,是否可以预处理具有 16 个 FEC 字节的数据包,并在接收方仅解码具有 8 个 FEC 字节的消息?
这样会很好,因为第二次传输只发送接下来的 8 个奇偶校验字节,显着减少开销。
用 16 个标准 RS ECC 字节对 30 字节的消息进行编码,但只传输 38 个字节,即具有前 8 个 ECC 字节的消息。接收方获得 38 字节编码的消息,将 8 个零附加到接收到的消息中,并生成 16 个校正子。附加的 8 个零被视为擦除(已知位置),除了实际接收到的 38 个字节中的任何 4 个错误(具有未知位置的字节)之外,还可以纠正这些错误。如果失败,则接收到丢失的 8 个字节,然后可以更正 46 个字节中的任意 8 个字节。
我假设您拥有或可以创建 RS ECC 代码来处理擦除(已知位置)和错误(未知位置)的组合。该过程涉及根据擦除的已知位置创建修改后的系统,以确定未知位置。然后合并已知和未知位置,其余校正过程按照正常步骤进行。
我一直在学习非常嘈杂的 AWGN 通道的纠错机制。我读过有关将 FEC 编码与 ARQ 系统结合使用的混合 ARQ 系统,这听起来像是此类频道的良好起点。
我正在考虑遵循下一个示例的设置:
第一次传输数据包 #1 - RS(38,8) 收到 NAK 数据包 #1 的第二次传输 - 附加 FEC 字节,以便在接收方获得 RS(46,16) 收到 ACK
我的问题是,是否可以预处理具有 16 个 FEC 字节的数据包,并在接收方仅解码具有 8 个 FEC 字节的消息?
这样会很好,因为第二次传输只发送接下来的 8 个奇偶校验字节,显着减少开销。
用 16 个标准 RS ECC 字节对 30 字节的消息进行编码,但只传输 38 个字节,即具有前 8 个 ECC 字节的消息。接收方获得 38 字节编码的消息,将 8 个零附加到接收到的消息中,并生成 16 个校正子。附加的 8 个零被视为擦除(已知位置),除了实际接收到的 38 个字节中的任何 4 个错误(具有未知位置的字节)之外,还可以纠正这些错误。如果失败,则接收到丢失的 8 个字节,然后可以更正 46 个字节中的任意 8 个字节。
我假设您拥有或可以创建 RS ECC 代码来处理擦除(已知位置)和错误(未知位置)的组合。该过程涉及根据擦除的已知位置创建修改后的系统,以确定未知位置。然后合并已知和未知位置,其余校正过程按照正常步骤进行。