我需要开发一个纠错代码。
我的字母表是{0,1,2,3} (4个元素)
码字大小n将为8或12
预期纠错能力=1位
期望的错误检测能力=2位数字
我回顾了许多ecc技术(rs,ldpc等),但仍然不知道从哪里开始,以及如何做。
有没有人能帮我做一下?
Thx
发布于 2011-02-24 09:16:42
您是否考虑过checksum
发布于 2011-02-24 10:27:22
有很多方法可以实现这一点,但一种常见的方法是使用里德-所罗门代码。
由于您需要检测所有的双符号错误并纠正所有的单符号错误,这意味着您将需要两个校验符号。
您说您有2位(4元素)的符号,这将您的代码长度限制为3个符号。
加起来,每个12位码字有1个数据符号和2个校验符号。
效率不是很高,嗯?为了提高效率,你可能只需要将你的符号增加三倍,具有相同的码字大小以及检测和校正能力。
为了更有效地使用Reed-Solomon,您需要使用大符号。对于大多数其他类型的代码也是如此。
编辑:
您可能想要考虑广义BCH码,它没有Reed-Solomon码(它是BCH码的子集)那么多的限制,但代价是更复杂的解码:
http://en.wikipedia.org/wiki/BCH_code
https://stackoverflow.com/questions/5099305
复制相似问题