在嵌入式环境中突发错误(块代码)的计算时间方面,最快的算法是什么?

时间:2012-12-06 10:43:56

标签: embedded reed-solomon

我正在研究在具有突发错误的噪声通道中运行的设备实现编码和解码。我发现克服突发错误的最常用技术如下:

  1. 里德 - 所罗门(RS)代码
  2. 消防代码
  3. 交织
  4. 级联
  5. 级联
  6. 我认为在嵌入式系统中,实现基于多项式的技术在查找表中存储相关多项式的最有效方法。但是,编码和解码涉及大量的计算,只是想知道这些可能需要多长时间。

    任何帮助都将不胜感激。

    ==========

    P.S。:检测和校正都是必要的。

1 个答案:

答案 0 :(得分:1)

我认为RS无法替代RS来纠正块错误。卷积码非常快(对于维特比,每个解码位约15个缓冲指令),但仅适用于偶发比特变化。 BCH(二进制)代码(31,5)的综合症可以更快地计算,但它只能恢复2位。

本页讨论了长RS解码full software implementations的复杂性:

 RS(255,251) - 12 Mbps
 RS(255,239) - 2.7 Mbps
 RS(255,223) - 1.1 Mbps

将2错误综合症映射到错误位置,在166MHz Pentium上实现12Mbps速度(可能使用查找表),这可以说比现有的典型嵌入式处理器高5-10%。较大多项式的复杂度约为O(M * N),其中M =块长度,N =校正子计算的码长和Berlekamp-Massey算法。 Chien搜索似乎经常在所有可能的(255)根上进行强力循环,并逐个将它们替换为错误位置多项式 - 其复杂度约为O(M * N),因为M =块大小= 255与码字数(256)大致相同。