-
对于分组纠错码的译码,通过多个子译码器构建的并行译码系统比单译码器系统有明显的性能提升[1]。因此,较早即有多子译码器结构概念的Chase算法[2]和其变型的混合译码系统[3-4]。Chase算法作为广义最小距离译码算法[5]的推广,它通过对软判决接收序列的不同似然门限选取和处理而获得多个待译码的“硬判决接收”序列,因此多个可并行实现的子译码器输出的候选码字为最后的最大后验概率原则提供了最佳码字的输出可能。在并行译码系统中,针对具体分组码的代数结构特性,设计和构造多个具有对同一信息数据进行不完全相同的校验译码的独立子译码器是一个挑战性难题。
文献[6]提出了一类称为MBBP (multiple-based belief propagation) 的方法,可以选取一个校验矩阵(即基础矩阵)扩展出多个不同的其他校验矩阵(即扩展校验矩阵),再由这些扩展矩阵各自独立构成了一个子译码器。文献[7]提出的mRRD(modified random redundant decoding)算法结合了MBBP思想和RRD(random redundant decoding)算法[3]来设计子译码器。其中,RRD算法随机选取码的自同构群中的置换元素作用于基础矩阵来构造扩展校验矩阵用以译码,直到译码成功或达到次数上限时输出一个特定码字。
LDPC码是分组码的一个重要子类[8-9],其校验矩阵的构造途径多种多样,提供了实现多子译码器系统的较大可能。文献[10]在MBBP的基础上,针对PEG(progressive edge-growth)算法[11]构造的LDPC码提出了一种合并短环来获取扩展校验矩阵的方法。文献[12]提出一种由循环码构造的LDPC码,利用mRRD算法取得了并行译码的较大性能提升。这些MBBP算法运用中的BP译码模块所使用的扩展校验矩阵均需要具有良好的环结构,但是文献[6, 10]并没有给出相应的矩阵扩展方法。虽然mRRD算法使用自同构群从一个具有良好环结构的校验矩阵扩展出具有相同环结构的矩阵。但是对于一般的LDPC码而言却很难找到其自同构群[10, 12]。
本文提出的多子译码器并行组合译码方法,与MBBP算法不同之处在于新设计了包含两种子译码器的组合结构。第一种子译码器是扩展译码模块与基础译码模块级联,前者通过BP算法输出辅助译码的外信息,后者确定候选码字。其中扩展译码模块的BP算法迭代次数设置为其对应扩展校验矩阵中最短环长的一半,以此避免BP算法受短环的影响。第二种子译码器则仅包含基础译码模块。这两类子译码器的输出的候选码字通过同一个LMS(east metric selector)依据最大后验概率原则筛选出最终译码码字。
本文提出的并行组合译码方法对由本原多项式生成的LDPC码[13]尤为有效。这类LDPC码编码开销极低,其码字是连接多项式是本原式的线性移位寄存器生成的序列片段。由此,本原式作为序列的零化约束关系可以转换为序列(即码字)奇偶校验关系。本原式对应特征向量的循环位移即为生成该码的基础校验矩阵。具体地,为了构建用于并行组合译码的子译码器的扩展译码矩阵,首先找出约束此LDPC码的m序列,再使用多个特定采样间隔进行采样获得采样序列;然后由采样序列获得约束它们的新本原多项式,并把这些新本原式对采样序列的约束转化为对码字序列的约束;最后,将这些新本原式的对应向量循环位移生成扩展校验矩阵。
本文使用本原式
$f(x) = {x^{89}} + {x^{38}} + 1$ 构造了码长3000的m序列编码,并进行了误码率仿真实验。实验中构造了6个由约束采样序列的本原式生成的扩展校验矩阵。此外,通过实验观察发现当子译码器个数为5时,误码率曲线即有良好的收敛特性。误码率仿真结果显示,本文提出的并行组合译码方法比文献[13]中的单译码器译码算法有约0.4 dB的提升。 -
MBBP算法是一个多个子译码器构建的并行译码系统[6],它的子译码器是由使用不同校验矩阵的BP译码模块构成。图1是MBBP算法的结构,其中子译码器
${D_0}$ 中的基础译码模块使用基础校验矩阵${{{\mathit{\boldsymbol{H}}}}_0}$ 对输入进行BP译码,子译码器${D_i}(i = 1,2, \cdots ,N)$ 中扩展译码模块则使用了扩展校验矩阵${{{\mathit{\boldsymbol{H}}}}_i}$ 进行BP译码。MBBP算法对信道接收序列
${{y}}$ 的向量LLR值${{{\mathit{\boldsymbol{L}}}}_{{\rm{ch}}}}$ 同时做$N{\rm{ + }}1$ 个子译码处理,并获得候选的双极性表示码字${{{\mathit{\boldsymbol{\hat c}}}}_0},{{{\mathit{\boldsymbol{\hat c}}}}_1}, \cdots ,{{{\mathit{\boldsymbol{\hat c}}}}_N}$ ,即码元取值为“+1”或“−1”;最终输出的码字${{\mathit{\boldsymbol{\hat c}}}}$ 由LMS模块获得,即对平稳信道:$$\begin{split} &{{\mathit{\boldsymbol{\hat c}}}} =\arg {\max _{i \in \{ 0,1, \cdots ,N\} }}{\rm{Pr}}\{ {{y}}|{{\mathit{\boldsymbol{c}}}} = {{{{\mathit{\boldsymbol{\hat c}}}}}_i}\} = \\ &\quad\;\; \arg {\min _{i \in \{ 0,1, \cdots ,N\} }}d ({{y}},{{{{\mathit{\boldsymbol{\hat c}}}}}_i}) \end{split} $$ (1) 式中,
$d({{\mathit{\boldsymbol{a}}}},{{\mathit{\boldsymbol{b}}}})$ 是向量${{\mathit{\boldsymbol{a}}}}$ 和${{\mathit{\boldsymbol{b}}}}$ 的欧几里得距离。MBBP算法的性能取决于子译码器输出候选码字的误字率及其等价的误码率,进一步地,依赖于各个子校验矩阵的环结构。
-
mRRD算法与MBBP类似,由
$N{\rm{ + }}1$ 个完全相同的子译码器${D_0},{D_1}, \cdots ,{D_N}$ 并行构成,但每个子译码器的内部构造与MBBP算法不同。mRRD算法的子译码器结构如图2所示。mRRD算法第
$i$ 个子译码器${D_i}$ 的译码流程是:1)初始化:令
$\theta $ 为单位置换;令$t = 0$ ;记BP译码输入为$ {{{\mathit{\boldsymbol{L}}}}}^{(0)}={{{\mathit{\boldsymbol{L}}}}}_{{\rm{ch}}}$ ;最大迭代次数为t0。2)第
$t$ 次译码时:以${H_t}$ 对${{{\mathit{\boldsymbol{L}}}}^{(t)}}$ 进行BP译码,并输出软信息${{{\mathit{\boldsymbol{L}}}}^{(t + 1)}}$ 和硬判决码字${{\mathit{\boldsymbol{\hat c}}}}_i^{(t + 1)}$ 。3)若
${{{\mathit{\boldsymbol{H}}}}_0} {\left( {{{\mathit{\boldsymbol{\hat c}}}}_i^{(t + 1)}} \right)^{\rm{T}}} = 0$ 或$t + 1 = t_0$ ,则输出候选码字${{{\mathit{\boldsymbol{\hat c}}}}_i} = {{\mathit{\boldsymbol{\hat c}}}}_i^{(t + 1)}$ 并结束算法。4)随机选取置换
$\gamma \in {\rm{Per}}(C)$ ,令$\theta = \theta \gamma $ ;将$\theta $ 作用于基础矩阵${{{\mathit{\boldsymbol{H}}}}_0}$ 得到校验矩阵并记为${{{\mathit{\boldsymbol{H}}}}_{t + 1}} = g(\theta ,{{{\mathit{\boldsymbol{H}}}}_0})$ ;令$t = t + 1$ ,回到步骤2)。由于自同构群中的置换作用于基础矩阵后得到的扩展矩阵具有和基础矩阵一样的环结构,因此可以保证每个子译码器的误码率没有结构性恶化。显然,mRRD算法构建的关键是找到码的自同构群。
-
以本原多项式作为连接多项式的产生的线性序列是m序列,m序列的截段可以等价为一个LDPC码的码字。这种LDPC码可称为m序列码[13]。由于m序列产生器是一个线性移位反馈寄存器,因此m序列码的编码开销极低。为了将并行组合译码方法应用于m序列编码上,本节先介绍该码的编码方法,然后分析其采样序列的约束关系,最后给出用这种约束关系构造扩展校验矩阵的方法。
-
记二元域上本原式为
$f(x) = {x^k} + {x^p} + 1$ ,其中正整数$k\text{、}p$ 有$k > p$ 。再记迹函数${\rm{tr}}_1^k( \cdot )$ 是从域${\rm{GF}}({2^k})$ 到域${\rm{GF}}(2)$ 的映射[14]。设$\alpha $ 是$f(x)$ 的根,$\beta $ 是$f(x)$ 确定的线性反馈移位寄存器的初始相位,则由该寄存器生成的m序列$({a_i})$ 可被描述为:$$ {a}_{i}=t{r}_{1}^{k}(\beta {\alpha }^{i})\quad\;\alpha ,\beta \in {\rm{GF}}({2}^{k})$$ (2) 序列
$({a_i})$ 的$n$ 长片段$({a_i})_{i = 0}^{n - 1}$ 能被由$f(x)$ 确定的约束关系所校验,即:$${a_i} + {a_{i + p}} + {a_{i + k}} = 0\quad \; i = 0,1, \cdots ,n - k - 1$$ (3) 由此可以定义此序列片段
$({a_i})_{i = 0}^{n - 1}$ 为一个分组码的码字。进一步,由于$f(x)$ 是三项式,由式(3)等价构成的校验矩阵是稀疏的,从而,可认为m序列片段$({a_i})_{i = 0}^{n - 1}$ 是LDPC码的码字。 -
由于
${\rm{GF}}({2^k})$ 可表示为本原元$\alpha $ 的幂指数形式:$${\rm{GF}}({2^k}) = \{ {\alpha ^{ - 1}} = 0,{\alpha ^0} = 1,\alpha ,{\alpha ^2}, \cdots ,{\alpha ^{{2^k} - 2}}\} $$ (4) 因此,
${\alpha ^q} \in {\rm{GF}}({2^k})$ 是该有限域的本原元的充分必要条件为${\rm{gcd}}(q,{2^k} - 1) = 1$ ,其中${\rm{gcd}}(a,b)$ 是$a$ 和$b$ 的最大公约数[14]。而且新找出的本原元${\alpha ^q}$ 能代替$\alpha $ 重新表示整个有限域,即:$${\rm{GF}}({2^k}) = \{ {({\alpha ^q})^{ - 1}} = 0,{({\alpha ^q})^0} = 1,{\alpha ^q},{({\alpha ^q})^2}, \cdots ,{({\alpha ^q})^{{2^k} - 2}}\} $$ (5) 记本原元
${\alpha ^q}$ 是$k$ 阶本原式${f_q}(x)$ 的根,那么本原式${f_q}(x)$ 的形式为:$${f_q}(x) = {x^k} + \sum\limits_{i = 1}^{k - 1} {{b_i}} {x^i} + 1,\quad\;{b_i} \in \{ 0,1\}$$ (6) 与
$f(x)$ 生成序列$({a_i})$ 类似,以${f_q}(x)$ 为连接多项式的线性反馈移位寄存器通过初始相位$\,\beta $ ,可生成m序列$(a_i^{(q)})$ :$$a_i^{(q)} = {\rm{tr}}_1^k(\beta {({\alpha ^q})^i})$$ (7) 比较式(3)可见,式(7)中的序列
$(a_i^{(q)})$ 受到${f_q}(x)$ 的约束,即约束关系为:$$a_i^{(q)} + \sum\limits_{j = 1}^{k - 1} {{b_j}} a_{i + j}^{(q)} + a_{i + k}^{(q)} = 0$$ (8) 事实上,序列
$(a_i^{(q)})$ 是序列$({a_i})$ 的采样间隔为$q$ 的采样序列,即:$$a_i^{(q)} = {\rm{tr}}_1^k(\beta ({\alpha ^{qi}}) = {a_{qi}}$$ (9) 于是,码字序列
$({a_i})_{i = 0}^n$ 的采样间隔为$q$ 的采样序列$({a_{qj + s}})_{j = 0}^{Q - 1}(s = 0,1, \cdots ,q - 1,{\rm{ }}Q = \left\lfloor {n/q} \right\rfloor )$ 同样满足${f_q}(x)$ 的约束关系。这些约束关系是:$$\left\{ \begin{split} & {a_{qi + s}} + \sum\limits_{j = 1}^{k - 1} {{b_j}} {a_{q(i + j) + s}} + {a_{q(k + i) + s}} = 0 \\ & i = 0,1, \cdots ,\frac{{n - s}}{q} - k \\ \end{split} \right.$$ (10) 根据以上分析,本文设计了一种构造扩展校验矩阵的方法。为满足
${\rm{gcd}}(q,{2^k} - 1) = 1$ 的采样间隔$q$ ,构造扩展校验矩阵的步骤为:1)生成
$f(x)$ 约束下的m序列$({a_i})$ 。2)通过采样间隔
$q$ 对m序列进行采样,获得采样序列$(a_i^{(q)})$ 。3)通过Berlekamp-Massey算法[15]获得约束
$(a_i^{(q)})$ 的本原式${f_q}(x)$ 。4)通过式(9)将
${f_q}(x)$ 对$(a_i^{(q)})$ 的约束关系转化为$({a_i})$ 的约束。5)依照式(10),将
${f_q}(x)$ 对应向量做循环位移生成扩展校验矩阵。由向量做循环位移生成的矩阵一定存在许多短环。因此,尽管该扩展校验矩阵不适合MBBP算法中的子译码器,但是能用于本文提出的并行组合译码方法中的子译码器。
-
在深空通信和极低信噪比等场合,必须利用极低码率纠错码的极限纠错能力。为示范这类应用,本节构造一个极低码率m序列LDPC码,选择本原多项式为
$f(x) = {x^{89}} + {x^{38}} + 1$ ,设计码长为3000,码率约0.03。仿真性能指标为误码率,对比对象为该码的单译码器译码算法[13]。为验证子译码器个数对于误码率的影响,本文通过第3节提出的方法,以采样间隔
$q = 3,5,7,9, $ $ 11,13$ 构造出6个扩展校验矩阵,对应的本原式${f_q}(x)$ 分别如下:$$\left\{ \begin{aligned} & {f_3}(x) = {x^{89}} + {x^{72}} + {x^{55}} + {x^{38}} + 1 \\ & {f_5}(x) = {x^{89}} + {x^{61}} + {x^{38}} + {x^{33}} + 1 \\ & {f_7}(x) = {x^{89}} + {x^{69}} + {x^{38}} + {x^{29}} + 1 \\ & {f_9}(x) = {x^{89}} + {x^{72}} + {x^{55}} + {x^{38}} + {x^{31}} + {x^{24}} + 1 \\ & {f_{11}}(x) = {x^{89}} + {x^{67}} + {x^{52}} + {x^{38}} + {x^{30}} + {x^{15}} + 1 \\ & {f_{13}}(x) = {x^{89}} + {x^{44}} + {x^{43}} + {x^{40}} + {x^{39}} + {x^{38}} + 1 \end{aligned} \right.$$ (11) 不同信噪比下误码率仿真结果如图5所示。可见,译码性能随着子译码器个数增加而改善,但是子译码器个数大于5后,译码性能趋于稳定。
图6展示了不同译码方法下m序列码的误码率曲线,从图中可以看出,本文提出的并行组合译码方法比原单译码器译码算法有更好的性能,当误码率为
${10^{ - 5}}$ 时,本文的方法比原单译码器译码算法提升约0.4 dB。
Parallel Decoding Method with Multiple Sub-Decoders for Specific LDPC Code
-
摘要: 对于分组纠错码的译码,由多个子译码器构建的并行译码系统比单译码器系统有较大的性能提升,但是可实现并行译码处理的子译码器的构造却是一个挑战性难题。为此,该文提出一种针对特定LDPC码的适于BP译码算法运用的多子译码器并行组合译码方法。该方法针对基于本原多项式构造的一类LDPC码的译码尤其有效,其特点是:各个子译码器所依赖的校验矩阵由基础校验矩阵的恰当循环移位获得,而循环移位量的恰当选择则依赖了m序列(唯一对应于本原多项式)的采样特性;各个子BP处理过程的迭代次数设置为其校验矩阵最短环长的一半,由此可消除短环对BP译码性能的影响;各子BP处理模块输出的信息比特外信息再经过基础译码模块处理后与并行配置的基础译码输出,一并进行最大似然判决处理并获得译码输出。该方法的仿真结果显示,在误码率为10−5且多子译码器并行组合译码方法在设置5个子译码模块时,其译码性能比原单译码器译码方法高约0.4 dB。Abstract: The parallel decoding system with multiple sub-decoders has much performance improvement than that of single-decoder system for decoding the block codes. However, the construction of sub-decoders for the parallel decoding implementation is still the challenging problem. To solve this problem, this paper proposes a parallel decoding method with multiple sub-decoders based on BP (belief propagation) algorithm for some specific low-density parity-check (LDPC) codes. This method is particularly effective for decoding the LDPC code generated via primitive polynomial. The method has characteristics as the parity-check matrix used for each sub-decoder depends on a proper cyclic shift of the original parity-check matrix, and the number of cyclic shift depends on the sampling property of the m sequence (which uniquely corresponds to a primitive polynomial). The iteration times of each BP processes in the sub-decoder are set as half of the girth of Tanner graph of the parity-check matrix, thus the affection of short cycles on BP performance would be eliminated. The output extrinsic information for each bit generated by the sub-decoder is processed further by a decoding module to output the candidate codeword, and then the LMS module picks out the maximum likelihood candidate codeword as the output of the decoding system. The simulation results show that the performance of the proposed parallel decoding method with 5 sub-decoders is about 0.4 dB superior to that of the original single-decoder decoding method at the bit error rate of 10−5.
-
[1] HEHN T, HUBER J, LAENDNER S, et al. Multiple-bases belief-propagation for decoding of short block codes[C]//2007 IEEE International Symposium on Information Theory. Nice: IEEE, 2007: 311-315. [2] CHASE D. Class of algorithms for decoding block codes with channel measurement information[J]. IEEE Transactions on Information Theory, 1972, 18(1): 170-182. doi: 10.1109/TIT.1972.1054746 [3] HALFORD R T, CHUGG K M. Transactions letters random redundant iterative soft-in soft-out decoding[J]. IEEE Transactions on Communications, 2008, 56(4): 513-517. doi: 10.1109/TCOMM.2008.060105 [4] BELLORADO J, KAVCIC A. Low-complexity soft-decoding algorithms for reed-solomon code-spart I: An algebraic soft-in hard-out chase decoder[J]. IEEE Transactions on Information Theory, 2010, 56(3): 945-959. doi: 10.1109/TIT.2009.2039073 [5] FORNEY G. Generalized minimum distance decoding[J]. IEEE Transactions on Information Theory, 1966, 12(2): 125-131. doi: 10.1109/TIT.1966.1053873 [6] HEHN T, HUBER J, MILENKOVIC O, et al. Multiple-bases belief-propagation decoding of high-density cyclic codes[J]. IEEE Transactions on Communications, 2010, 58(1): 1-8. doi: 10.1109/TCOMM.2010.01.070468 [7] DIMNIK L, BEERY Y. Improved random redundant iterative HDPC decoding[J]. IEEE Transactions on Communications, 2009, 57(7): 1982-1985. doi: 10.1109/TCOMM.2009.07.070621 [8] ZHU Min, GUO Quan, BAI Bao-ming, et al. Reliability-based joint detection-decoding algorithm for nonbinary LDPC-coded modulation systems[J]. IEEE Transactions on Communications, 2016, 64(1): 2-14. doi: 10.1109/TCOMM.2015.2487454 [9] KANG Peng, XIE Yi-xuan, YANG Lei, et al. Enhanced quasi-Maximum likelihood decoding based on 2D modified min-sum algorithm for 5G LDPC codes[J]. IEEE Transactions on Communications, 2020, 68(11): 6669-6682. doi: 10.1109/TCOMM.2020.3015213 [10] HEHN T, HUBER J, HE Pei, et al. Multiple-bases belief-propagation with leaking for decoding of moderate-length block codes[C]//The 7th International ITG Conference on Source and Channel Coding. Ulm: VDE, 2008: 1-6. [11] HU Xiao-yu, ELEFTHERIOU E, ARNOLD D M. Regular and irregular progressive edge-growth tanner graphs[J]. IEEE Transactions on Information Theory, 2005, 51(1): 386-398. doi: 10.1109/TIT.2004.839541 [12] CHEN Chao, BAI Bao-ming, YANG Xin-quan, et al. Enhancing iterative decoding of cyclic LDPC codes using their automorphism groups[J]. IEEE Transactions on Communications, 2013, 61(6): 2128-2137. doi: 10.1109/TCOMM.2013.032713.120050 [13] ZHANG Zhe, ZHOU Liang, DU Jun-yi, et al. An algebraic approach to design low rate low density parity check code[C]//2017 International Conference on Wireless Communications and Signal Processing (WCSP). Nanjing: IEEE, 2017: 1-6. [14] DUMMIT D, STEVEN D, FOOTE R M. Abstract algebra[M]. Hoboken: Wiley, 2004. [15] REDINBO G R. Correcting DFT codes with a modified Berlekamp-massey algorithm and kalman recursive syndrome extension[J]. IEEE Transactions on Computers, 2014, 63(1): 196-203. doi: 10.1109/TC.2012.175