2025年gmd驿码c语言编程,线性分组码的软判决译码算法:GMD和Chase

gmd驿码c语言编程,线性分组码的软判决译码算法:GMD和ChaseGMD 算法由 Forney 于 1966 年提出 GMD 译码算法是一种简单优雅的软判决译码算法 对于最小距离为 dmin 的 n k 线性分组码 若 2v e lt dmin 1 则错误 删除译码算法可以纠正 v 个错误和 e 个删除的所有组合 GMD 算法考虑 e lt dmin 1 个删除出现在 dmin 1 个最不可靠的位置上的所有情况

大家好,我是讯享网,很高兴认识大家。

GMD算法由Forney于1966年提出。GMD译码算法是一种简单优雅的软判决译码算法。对于最小距离为dmin的(n,

k)线性分组码,若2v+e<=dmin-1,则错误-删除译码算法可以纠正v个错误和e个删除的所有组合。GMD算法考虑e<=dmin-1个删除出现在dmin-1个最不可靠的位置上的所有情况,因为这些位置是最可能出错的位置。算法描述如下:

根据接收序列r得到硬判决接收序列z,并对z的每一个符号分配一个可靠性值。

修正序列z,方法为:如果dmin为偶数,则删除最不可靠的位置,或者删除最不可靠的三个位置,……,或者删除最不可靠的dmin-1个位置;如果dmin为奇数,则不删除任何位置,或者删除最不可靠的两个位置,……,或者删除最不可靠的dmin个位置。

使用错误-删除译码算法对上述所有修正的可能情况进行译码。

计算每个候选码字的软判决译码度量,选取最可能的码字作为最后的译码结果。

注意不是所有的修正后,都能译码成功。

对于R-S和BCH码,Berlekamp-Massey等代数译码算法只能接受硬判决输入,而代数译码算法的纠错能力受限于自由距离。具体的说,如果自由距离为d,则最多可以纠floor(d/2)个符号错误。对于二进制BCH码,这就意味着floor(d/2)个比特错误;对于R-S码,意味着floor(d/2)个Galois域符号错误。


讯享网

为了采用软判决译码,引入错误模式的概念。将硬判决得到的接收码字与错误模式异或得到扰动后的码字,对该码字进行代数译码,根据译码结果再去掉错误模式的影响得到最后的译码结果,并对译码结果计算其软量。软判决译码显然不会只包含一个错误模式,而是包含许多个。对于每种错误模式,都按照上述过程计算其软量,挑选软量最大的那种结果做为最后的译码结果。软判决算法考虑码间距最大不超过d-1的码字集合,由于代数译码最多可以纠floor(d/2)个符号错误,所以错误模式的重量最大为floor(d/2)。

Chase算法是常用的软判决译码算法。Chase一共提供了三种算法:

Chase-1的错误模式重量均为floor(d/2),设码长为N,则这样的错误模式一共有[N choose

floor(d/2)]种。

Chase-2的错误模式只考虑硬判决码字中最不可靠的floor(d/2)个位置,这些位置上既可以取0(不扰动),也可以取1(扰动),一共有2^(floor(d/2))种。

Chase-3只考虑floor(d/2+1)种错误模式。如果d为偶数,则这些错误模式包括最不可靠的1位取1,最不可靠的3位取1,……,最不可靠的d-1位取1;如果d为奇数,则包括最不可靠的0位取1,最不可靠的2位取1,……,最不可靠的d-1位取1。

显然考虑的错误模式越多,译码性能越好,但是复杂度可能会显著提高。考虑到复杂度的缘故,Chase-3算法是最常用的。注意到,由于错误模式会人为纠正部分错误,尽管代数译码的性能不变,算法能纠正的错误个数实际上变多了,这就是Chase软判决译码算法比传统的代数译码算法性能好的原因。不过,算法性能的提高是以增加译码复杂度为代价的。

小讯
上一篇 2025-03-10 08:08
下一篇 2025-01-11 23:05

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/52555.html