APP下载

一种高误码率下QC-LDPC码的快速识别算法

2022-12-30宋秉玺李广峰郭晓东

无线电通信技术 2022年6期
关键词:误码码字元法

宋秉玺,李广峰,杨 松,郭晓东

(1.河北省电磁频谱认知与管控重点实验室,河北 石家庄050081;2.中国人民解放军91746部队,北京100094)

0 引言

在非合作情况下,信道编码参数是不能直接获取的,需要分析识别信道编码参数。QC-LDPC码是一种具有准循环特性的LDPC码,其校验矩阵都是由单位阵的循环移位构成的[1-3]。QC-LDPC码译码算法可采用并行结构,方便硬件实现,可以达到很高的吞吐率[4-5],因此在实际系统中被广泛应用,所以针对QC-LDPC码进行盲识别研究具有重大的科研意义,而LDPC码的稀疏校验矩阵重构是其识别的关键技术。文献[6]介绍了LDPC码在无误码下条件的校验矩阵重构的基本方法。文献[7]介绍了一种通过列相关关系剔除有误码码字的方法,但二者都要求数据量很大,且误码率不能太高。文献[8]相比文献[7]实验结果上略有提升,但需求数据量依然很大。本文提出了一种位置矩阵与循环位移值分步识别的方法,降低了高斯消元法的方程维度,该方法可以在低信噪比、高误码率的情况下仍保持良好的识别准确率[9-10]。

1 校验矩阵稀疏化基本方法

在信道信噪比高的情况下,如图1所示,针对无误码LDPC码数据,可以通过高斯消元法,获取LDPC码的一组生成基,此生成基即为生成矩阵。生成矩阵和校验矩阵之间为转置关系,由此可以得到校验矩阵。但此种方法得到的校验矩阵并不是一个稀疏矩阵,不能用来译码,需要通过行变换,使其成为可用来译码的稀疏校验矩阵[11-12]。

图1 无误码校验矩阵获取流程图Fig.1 Flowchart of obtaining check matrix

以IEEE802.16标准使用的QC-LDPC码为例,给定LDPC(576,288),使用无误码数据高斯消元可得生成矩阵,如图2(a)所示,由对应关系可得校验矩阵如图2(b)所示,之后通过行变换,稀疏化矩阵为图2(c)所示。

(a) 生成矩阵

2 误码码字识别

在信噪比低的情况下,解调码流存在误码,无法通过码字行之间的高斯消元法,直接获得生成矩阵与校验矩阵,需要剔除含误码码元。可通过列之间的高斯消元法来判断码字中是否有误码。由于码字M=[m,mG],校验列是由信息列线性运算获得的,做列高斯消元可以化简为全0列,当数据存在少量误码时,由于误码影响,误码行信息位将化简为全0,或者与误码行数值相等的列,化简为基本为0列。此规律当误码较多时,由于误码之间的相互影响将不存在。以LDPC(576,288)码加误码举例,做列消元可以等价为数据转置后做行消元,图3中全0概率很高的行与列位置,即为误码行所在位置[13-14]。

图3 列高斯消元结果图Fig.3 Gauss elimination result use of column

当误码率高时,单次列高斯消元法无法剔除所有误码行,需通过多次使用列高斯消元剔除误码数据,直至矩阵的秩等于信息位码长(一般可以通过估计的码速率计算)为止,进而通过校验矩阵稀疏化基本原理,求取校验矩阵。但此处理方式需要很大的数据量,并且误码率不可太高。通过实验仿真发现当原码矩阵的列中存在多个误码时,无法剔除误码行。

3 QC-LDPC校验矩阵快速获取方法

上文提到的校验矩阵获取方法是同时获取二者,这需要巨大的数据量和复杂的高维向量运算,对于码长较长LDPC码校验矩阵获取不利。求解校验矩阵所需的数据量与码长N成N2比例关系,高斯消元所需的数据量与码长N成N3比例关系。当码字数据量不足,或者误码率过高的情况下,如何求解QC-LDPC校验矩阵是本文研究重点。QC-LDPC是由位置基本矩阵和循环位移值来确定的[15]。本文通过先构造位置基本矩阵求得循环块位置,再抽取码元数据计算循环位移值,这样通过分布方法获得稀疏矩阵,其可以简化数据运算,降低数据量的需求。

3.1 位置矩阵获取方法

QC-LDPC码是按循环位移单元进行编码生成的,所以一个循环位移块可以看为一个整体,可以通过码元先构造位置获取向量组,其保留了循环单元位置信息,丢掉循环位移值的细节信息,这样做的好处是极大地缩小了码长,使高斯消元方程维数降低,所需整体码数量减少。假设循环块大小为z,则数据维数为原数据码长的1/z,所以所需数据量减少为原来的1/z2,计算量为1/z3,并且对误码容忍度更高。以LDPC(576,288)为例,其位置获取向量组做高斯消元之后的结果如图4所示,之后行之间做变化求得位置矩阵,如图5所示。

图4 位置生成矩阵Fig.4 Position generation matrix

图5 位置矩阵Fig.5 Position matrix

通过对比图5与图2(c)可知,位置矩阵的点出现的位置与实际校验矩阵的循环校验单元所在的分块位置完全一致,证明此提取方法的正确性。求解过程中如若有误码行,用列高斯消元法剔除。

实际应用中z可能是未知的,需要通过把码长N进行因子分解,穷举所有因子,以是否可以得到位置矩阵为判断依据,求得循环单元z。

3.2 循环位移值求解方法

在得到校验位置矩阵后,需对每个位置的循环位移值求解。由于校验关系只与每一行参与校验的比特有关而与其他比特无关,所以按位置矩阵提供的信息,把相互校验的循环位移块提取出来,然后做高斯消元,进而得到循环位移值。依然以LDPC(576,288)码为例,其位置矩阵第一行值为1的位置有[2,3,9,10,13,14],由z=24计算循环块在原码字所处列为[25~48,49~72,193~216,217~240,289~312,313~336],在原码字中提取这144列,除去误码行,做高斯消元,解得矩阵如图6所示。

图6 相关循环块-行高斯消元结果图Fig.6 Correlation loop block-row Gaussian elimination result

提取矩阵最后24列,做转置即为各个位置块的循环校验矩阵,如图7所示。再把循环校验矩阵放到[25~48,49~72,193~216,217~240,289~312,313~336]位置列上,其他位置为全0阵,即可得到QC-LDPC码的稀疏校验矩阵的前24行取值,如图8所示。之后依次按位置矩阵的后续行,取实际数据列,做高斯消元,可以每次解得24行校验矩阵,逐步获得全部稀疏校验矩阵。

图7 相关循环块-循环位移值Fig.7 Correlation cyclic block-cyclic displacement value

图8 校验矩阵前24行取值图Fig.8 Value of the first 24 rows of the check matrix

在获得多行校验行后,可预先凭借得到的部分校验矩阵,对码元进行译码,从而降低原数据误码率,有利于后续校验行的获取。

3.3 算法整体过程

通过上文的研究分析,对于误码下QC-LDPC校验矩阵快速获取方法,可以归结为以下的整体算法步骤。

① 选帧长大于1的最小整数因子为循环位移块长度;

② 通过原码元数据获取位置向量组,得到只含有位置信息的位置获取数据;

③ 数据做列高斯消元,去除误码码字;

④ 把只含位置信息的码流,按做行高斯消元,得到位置生成矩阵;

⑤ 判断矩阵的秩是否合理,或者得到的生成矩阵是否简洁,如果是则转入步骤⑥,否则选取下一个因子转入步骤②;

⑥ 把位置信息生成矩阵转化为位置矩阵;

⑦ 按位置信息,在原码元数据中提取具有相关关系的循环块数据所在列位置,生成新的只含有循环位置信息的码流数据;

⑧ 数据做列高斯消元,去除误码码字;

⑨ 用只含有循环位置信息的码流数据,做行高斯消元,得到生成矩阵;

⑩ 由生成矩阵得到循环块位移值,并按位置矩阵填入校验矩阵所对应位置;

具体流程图如图9所示。

图9 误码下QC-LDPC校验矩阵快速获取算法流程图Fig.9 Flowchart of QC-LDPC check matrix fast acquisition algorithm under bit error

4 结论

本文研究了对未知协议下QC-LDPC码稀疏矩阵分析方法,提出了位置矩阵与循环位移值分步识别的方法,降低了高斯消元法的方程维度,可以有效降低识别所需数据量与运算时间,并且支持在误码下进行分析识别。该方法尤其适用于码长大的QC-LDPC码识别,可极大地降低算法所需运算的时间。

猜你喜欢

误码码字元法
换元法在不等式中的应用
换元法在解题中的运用
基于离散元法的矿石对溜槽冲击力的模拟研究
ZPW-2000A电码化轨道电路误码问题分析及解决方案
放 下
数据链系统中软扩频码的优选及应用
一种基于CAN总线的误码测试方法
放下
换元法在解题中的应用
潘小芳(太原铁路局太原通信段网管中心,太原 030012)