LDPC码的译码算法
LDPC 码的译码算法性能决定了最终的译码效果,如果译码算法的效果不好,那么不管你的编码和信道等做得多完美,你得到的译码结果依然不会符合期望效果。
LDPC码有硬判决和软判决两种译码算法,选择译码算法进行实现时通常要考虑译码效果、逻
辑资源占用情况、算法处理数据速度等条件。
置信传播(Belief Propagation,BP)算法及其改进算法是现在最常用的译码算法。这是一种能够迭代运算的软判决概率译码算法,下面对其进行简单介绍。
1 BP 译码算法
BP 算法也被叫做和积算法,它的核心是利用软信息(概率信息或对数似然比等)不断更新节点信息,最终完成译码。
首先利用初始信息更新计算出校验节点给变量节点传递的信息,再反过来传回给校验节点,这样不断地迭代,直到译码结果正确或达到最大迭代次数。
但是传统的BP 算法中传递的都是概率值,并且需要进行大量的和积运算,当码字很长时,会导致运算量增加且实现困难。
因此将概率信息用似然比代替,使得译码算法在对数域中运算,将乘法转换成加法,这种算法被称为LLR BP 算法,它减少了运算复杂度,降低了硬件实现难度。
2 MS 译码算法
为了进一步降低LLR BP 译码算法中的计算复杂度和硬件实现难度,Fossorier 提出了一种最小和算法来进行译码。
LLR BP 算法将BP 算法中的乘法转换为加法却仍然存在大量的双曲正切与反正切运算,而MS 算法又将LLR BP 算法中的正切与反正切运算进行了化简,变为了求最小和的运算,降低了算法复杂度和运算量,更易于硬件实现。
在MS 算法的计算过程中,将双曲正切与反双曲正切运算用求符号位和求最小值运算来代替,使得整个算法中只存在加减法和比较而没有乘法,同时也导致了无需将信噪比的平方加入到序列中,可以不进行信道估计。
但是MS 算法在转换时是对校验节点信息进行近似变换的,相对于BP 算法在幅度上存在过高估计,所以在性能上也有所损失。