一种基于crc的ldpc码混合译码方法
技术领域
1.本发明属于信道编码技术领域,具体涉及一种基于crc的ldpc码混合译码方法。
背景技术:2.ldpc码是由mit的gallager博士提出的一种具有稀疏校验矩阵的线性分组码。它是一种可以逼近香农极限的码,在5g标准中得到应用。近些年有关ldpc码的研究主要包含编码和译码两个方面,其中ldpc码译码方法主要包括硬判决和软判决两类。
3.bp(belief propagation,置信传播)算法是一种传统的ldpc码软判决译码算法,通过校验节点和变量节点之间的信息传递来更新llr(log-likelihood ratio,对数似然比),直至校正子为零或达到最大迭代次数则停止迭代。该算法性能较好,译码复杂度较低,便于并行实现,但一些情况下bp译码会存在错误平层(error floor)。
4.ldpc码的另一种译码方法是mp(mathematical programming,数学规划)译码,这一模型主要由feldman等人提出,但由于传统的数学优化方法,例如内点法、单纯形法、分支定界法等,算法复杂度过高,不能挖掘ldpc码内部的结构,而admm(alternating direction method of multipliers,交替方向乘子法)作为一种优化算法,近些年被用于ldpc码mp译码模型中,它是一种线性时间复杂度的译码算法,便于并行实现,译码速度较快,相比bp译码,采用admm算法的mp译码在一些情况下可以消除错误平层,并且admm译码器如果最终迭代至可行码字,则其具备ml(maximum likelihood,最大似然)特性。这是利用数学工具对ldpc码译码的优势。
5.crc(cyclic redundancy check,循环冗余校验)码是一种广泛用于检错的循环码,在通信系统中应用广泛。由于bp译码会存在收敛到非正确可行码字的情况,此时单纯的奇偶校验并不能检出这种错误。
技术实现要素:6.本发明的目的是在较低译码复杂度的前提下结合admm译码算法和bp译码算法进一步提升ldpc码软判决译码性能。通过加入crc方式来尽可能大的提升混合译码的性能。
7.一种基于crc的ldpc码混合译码方法,将信息位的后r位截断,通过模2除法计算crc校验位,并附在截断后的信息位后面,以k-r位信息和r位crc校验形成k位序列,再对这一序列进行ldpc编码后发送,所述混合译码方法包括:
8.s1、计算通过awgn信道的初始似然比(llr)信息,并根据初始llr信息,得到初始硬判决码字x
hd
;
9.s2、将初始llr信息送入bp译码器进行译码,对bp译码码字进行奇偶校验和crc校验,若其中任意校验不满足,进入s3;否则,将bp译码码字作为混合译码输出码字,结束译码;
10.s3、将信道的初始llr信息送入admm译码器进行译码,对admm译码器输出码字进行奇偶校验和crc,若奇偶校验和crc均成功,则将admm译码码字作为混合译码器输出,结束译
码;
11.若admm仅奇偶校验成功,bp奇偶校验失败,将admm译码码字作为混合译码器输出,结束译码;
12.若admm奇偶校验失败,bp奇偶校验成功,将bp译码码字作为输出,结束译码;
13.若admm和bp奇偶校验均成功,但admm和bp译码输出crc校验失败,进入s4;否则,admm和bp奇偶校验均失败,混合译码器失败;
14.s4、计算admm和bp译码后码字与x
hd
的hamming距离,输出hamming距离较小者对应的码字作为混合译码输出码字。
15.bp译码具体方法为:
16.为了简化计算,将概率信息转化到对数域上进行计算,对于二元ldpc码,对于噪声方差为σ2的awgn信道来说:
17.发送为0的条件下,接收为rj的概率为
18.发送为1的条件下,接收为rj的概率为
19.定义对数似然比:上式中表示噪声双边谱密度,e表示信号能量。
20.若p(rj|0)>p(rj|1),接收端判定为0,否则判定为1,对应到对数似然比即为llr>0或小于0。
21.bp译码算法具体迭代过程如下:
22.记校验节点i相邻的所有变量节点的集合记为nv(i)(i=1,2,
…
,m),变量节点j相邻的所有校验节点的集合记为nc(j)(j=1,2
…
,n)。
23.(1)初始化:对数似然比llr,lv→c(i,j)=lj=llr。
24.(2)校验节点外传信息更新:
25.根据计算校验节点i向变量节点j传递的信息。
26.(3)变量节点外传信息更新:
27.根据计算变量节点向校验节点传递的信息。
28.(4)根据计算每个变量节点的似然比。
29.(5)将llr信息硬判决为若或达到最大迭代次数,结束;否则,转到(2)。
30.admm译码的具体方法为
31.admm算法是一种用来解决ldpc码数学规划译码模型的线性时间复杂度算法,在使用admm算法前要先建立ldpc码数学规划译码模型,包括模型的目标函数和约束条件,基于最大似然的推导,对于awgn信道来说,设初始似然比为γ=llr,求解的码字为v,则数学规划译码模型的目标函数可以等价最小化γ
t
v。
32.约束条件可以通过建立每个校验方程所对应的局部码字(local codeword)张成的凸包来描述。局部码字定义为满足当前校验方程的集合,例如,对于校验方程x1+x2+x3=0,其对应的局部码字分别是{000}、{011}、{101}、{110}。
33.考虑一个度为3的校验节点:x1+x2+x3=0。则由其局部码字张成的凸包可由不等式等价表示:
[0034][0035]
记g=[0 0 0 2]
t
,上面不等式组可进一步表示为:
[0036]
tx≤g
ꢀꢀ
(4)
[0037]
为了表示任意校验节点对应局部码字的凸包,通过引入辅助变量将度大于3的校验节点分解成若干个3度校验节点。对于度为di的校验节点,其可以分解为d
i-2个3度校验节点,需额外引入d
i-3个辅助变量节点。
[0038]
例如,考虑二元域校验方程x1+x2+x3+x4=0,可以通过引入辅助变量节点x5来将上述校验方程分解为两个3度校验节点:
[0039]
x1+x2+x5=0
[0040]
x3+x4+x5=0
[0041]
经校验节点度分解后,局部码字所对应的凸包可由不等式(3)表示,对于m
×
n的校验矩阵来说,经度分解后变量节点变成个变量节点,校验节点变成个3度校验节点,经度分解后每个校验节点对应的选择矩阵q为维,故全部校验方程局部码字张成的凸包可以表示为:
[0042]
av≤b
[0043]
其中表示kronecker积,向量1为γc维全1向量。
[0044]
故ldpc译码问题可以转化为如下问题:
[0045]
minγ
tv[0046]
s.t.av≤b,v∈[0,1]n[0047]
其中
[0048]
为了适应admm算法框架,引入辅助变量w将上面问题的不等式约束转化为等式约
束,综上对于m
×
n的ldpc校验矩阵来说,ldpc码数学规划译码模型如下所示:
[0049]
minγ
tv[0050]
s.t.av+w=b,v∈[0,1]n[0051]
为了使admm算法能够更好的收敛到0、1整数解,在问题模型后加入二次惩罚项:
[0052][0053]
s.t.av+w=b
[0054][0055]
其增广拉格朗日函数为:
[0056][0057]
admm求解上述问题的迭代规则为:
[0058]vk+1
=argminvl
μ
(v,wk,λk)
ꢀꢀ
(6)
[0059]wk+1
=argminzl
μ
(v
k+1
,w,λk)
ꢀꢀ
(7)
[0060]
λ
k+1
=λk+μ(av
k+1
+w
k+1-b)
ꢀꢀ
(8)
[0061]
其中,γ为通过awgn信道接收的初始似然比,v为要求解的码字向量,a由h矩阵的每个校验节点对应的选择矩阵组成,并令a=(a1,a2,
…
,an),w加入的辅助变量,λ为惩罚向量。
[0062]
admm算法(交替方向乘子法)就是将对偶上升法和拉格朗日乘子法结合起来,交替更新v、w以及对偶上升变量λ。admm算法具体迭代步骤如下:
[0063]
(1)初始化:置初始迭代次数k=0,设置最大迭代次数,初始化v、w、λ向量为全零向量,输入校验矩阵h、矩阵a和向量b。
[0064]
(2)变量节点更新:对于n个变量节点,按照如下规则更新:
[0065][0066]
其中
[0067]
(3)校验节点更新:对于m个校验节点,按照如下规则并行更新:
[0068][0069]
其中,a=(η1;η2;
…
;ηm)。
[0070]
(4)对偶变量更新:对于对偶变量λ
k+1
,有如下更新规则:
[0071]
λ
k+1
←
λk+μ(av
k+1
+w
k+1-b)
[0072]
(5)k=k+1,直至校正子为零或达到最大迭代次数停止;否则,重复(2)-(4),进行下一次迭代。
[0073]
本发明的有益效果为:
[0074]
1、本发明充分利用了admm和bp译码算法各自的优势,相较于bp和admm算法,本发
明的混合译码方案误码性能得到了提升,且复杂度并没有特别大的提升。
[0075]
2、本发明提出的基于crc的混合译码方案,通过crc和奇偶双重校验大大降低了bp译码后的不可检错误概率(uep),该方案保证了bp译码后只会将错误码字对应的信道软信息送入admm译码器;另一方面加入crc后,由于uep的下降,会尽可能多的将错误码字对应的软信息送入admm译码器,从而在保证较低复杂度的前提下尽可能提升混合译码方案的误码性能。
附图说明
[0076]
图1为ldpc和加入crc的ldpc帧结构比较。
[0077]
图2为(126,1/3)非规则ldpc码加入crc和未加入crc的bp译码后的漏检错误概率。
[0078]
图3为基于crc的混合译码结构图。
[0079]
图4为基于crc的混合译码流程图。
[0080]
图5为不同译码方式下码长96、码率1/2的规则ldpc码的误帧率比较图。
[0081]
图6为不同译码方式下码长96、码率1/2的规则ldpc码的迭代次数比较图。
[0082]
图7为不同译码方式下码长126、码率1/3的非规则ldpc码的误帧率比较图。
[0083]
图8为不同译码方式下码长126、码率1/3的非规则ldpc码的迭代次数比较图。
具体实施方式
[0084]
下面结合附图,详细描述本发明的技术方案:
[0085]
本发明译码部分采用了bp译码作为前级译码器(第一级译码器),admm作为第二级译码器。如果只采用奇偶校验,由于前级译码器(bp译码)会存在收敛到非正确可行码字的情况,这种情况仅通过奇偶校验并不能校验前级译码码字是否正确,即bp译码后仅通过奇偶校验会存在较多的不可检错误帧,不可检错误帧大大限制了混合译码的性能。本发明通过在ldpc编码前加入crc校验,以截断信息长度为代价,在收方实现奇偶和crc双重校验,大大降低了bp译码后的不可检错误概率,从而保证在较低复杂度的前提下最大限度地提升混合译码器的性能。
[0086]
图2是通过bp译码器后,在发生错误的前提下,仅通过奇偶校验和crc加奇偶校验的不可检错误概率随信噪比的分布。可以看到,加入crc后,不可检错误概率趋于0,这样既保证后续送入admm译码器的必定为错误码字,又保证可以将尽可能多的错误码字送入admm译码器。
[0087]
混合译码部分具体实施方式如下:
[0088]
(1)初始化。计算通过awgn信道的初始似然比(llr)信息,并根据初始llr信息,得到初始硬判决码字x
hd
。
[0089]
(2)将llr信息送入bp译码器。对bp译码码字进行奇偶校验和crc校验。若奇偶校验或crc不满足,进行(3);否则,将bp译码码字作为混合译码器输出码字,结束迭代。
[0090]
(3)将信道的初始llr信息送入admm译码器。对admm译码器输出码字进行奇偶校验和crc,若奇偶校验和crc均成功,则将admm译码码字作为混合译码器输出;若admm仅奇偶校验成功,bp奇偶校验失败,将admm译码码字作为混合译码器输出;若admm奇偶校验失败,bp奇偶校验成功,将bp译码码字作为输出;若admm和bp奇偶校验均成功,但admm和bp译码输出
crc校验失败,进行(4);否则,admm和bp奇偶校验均失败,混合译码器失败。
[0091]
(4)计算admm和bp译码后码字与x
hd
的hamming距离,输出hamming距离较小者对应的码字作为混合译码器输出。
[0092]
该混合译码算法适用于ldpc码译码环境中,信道环境为awgn信道。仿真ldpc矩阵采用mackey(96,48)ldpc码和(126,42)非规则ldpc码,admm算法设置惩罚因子μ=0.9,二次罚项因子为α=1。crc-ldpc码采用itu g.704中的x4+x+1,ldpc和crc-ldpc帧结构如图1所示,可以看出crc-ldpc是将信息位的后r位截断,通过模二除法计算crc校验位,并附在截断后的信息位后面,以k-r位信息和r位crc校验形成k位序列,再对这一序列进行ldpc编码。
[0093]
(1)crc-ldpc码分析
[0094]
图2可以看出,加入crc后,一些原本奇偶校验不能检出的错误,crc可以检出,从而保证bp不可检错误概率大大降低,该措施会尽可能多的将错误序列对应的软信息送入admm译码器,保证了混合译码器性能的最优性;另一方面,如果过crc校验不通过,bp译码码字一定发生错误,这就保证了加入了crc后会将错误序列对应的软信息送入admm译码器,而对于正确码字,crc校验一定会通过,此时软信息一定不会送入admm译码器,即bp译码后一定不会将正确码字对应的软信息送入admm译码器,该措施可以大大降低混合译码器的复杂度。
[0095]
通过图3和图4的混合译码流程图,可以知道,在将错误序列对应的软信息送入admm译码器时,如果admm译码器收敛到可行码字且crc正确时,这时码字的正确率会比不送admm译码器时有所提高;而如果admm译码器输出crc校验不通过但奇偶校验通过时,通过汉明距离比较,选择与初始硬判决序列汉明距离最小的码字作为混合译码输出,保证了混合译码器的输出逼近最小距离。
[0096]
(2)混合译码器性能分析
[0097]
从图5和图7的bler结果可以看出bp-admm混合译码在加入crc后的性能相比bp译码大约好了0.15db-0.25db。结合图6和图8的迭代次数可知,bp-admm混合译码的迭代次数介于admm和bp译码之间,相对bp译码器来说,在保证复杂度不是很大的前提下提升了译码性能,相对admm译码来说,充分利用了admm译码器的ml特性,极大提升了混合译码器的性能。由于加入了汉明距离比较,在混合译码器失败的情况下,选择汉明距离较小者对应的序列作为混合译码器的输出,以此来尽可能低的降低混合译码器的误比特率。
技术特征:1.一种基于crc的ldpc码混合译码方法,其特征在于,将信息位的后r位截断,通过模2除法计算crc校验位,并附在截断后的信息位后面,以k-r位信息和r位crc校验形成k位序列,再对这一序列进行ldpc编码后发送,所述混合译码方法包括:s1、计算通过awgn信道的初始似然比(llr)信息,并根据初始llr信息,得到初始硬判决码字x
hd
;s2、将初始llr信息送入bp译码器进行译码,对bp译码码字进行奇偶校验和crc校验,若其中任意校验不满足,进入s3;否则,将bp译码码字作为混合译码输出码字,结束译码;s3、将信道的初始llr信息送入admm译码器进行译码,对admm译码器输出码字进行奇偶校验和crc,若奇偶校验和crc均成功,则将admm译码码字作为混合译码器输出,结束译码;若admm仅奇偶校验成功,bp奇偶校验失败,将admm译码码字作为混合译码器输出,结束译码;若admm奇偶校验失败,bp奇偶校验成功,将bp译码码字作为输出,结束译码;若admm和bp奇偶校验均成功,但admm和bp译码输出crc校验失败,进入s4;否则,admm和bp奇偶校验均失败,混合译码器失败;s4、计算admm和bp译码后码字与x
hd
的hamming距离,输出hamming距离较小者对应的码字作为混合译码输出码字。
技术总结本发明属于信道编码技术领域,具体涉及一种基于CRC的LDPC码混合译码方法。本发明的混合译码方式,采用BP译码器作为前级译码器,ADMM译码器作为第二级译码器,并加入Hamming距离比较判决器,即当BP译码失败时,将错误码字对应的初始信道软信息送入ADMM译码器接着译码。为了尽可能大的提升BP-ADMM混合译码器的性能,并尽可能降低混合译码时延,通过在LDPC码编码前加入CRC(Cyclic Redundancy Check,循环冗余校验),以奇偶和CRC双重校验来校验前级译码器(BP译码器)是否译码正确。仿真显示,加入CRC校验后BP译码UEP(Undetected Error Probability,不可检错误概率)远低于单独采用奇偶校验BP译码后的UEP。独采用奇偶校验BP译码后的UEP。独采用奇偶校验BP译码后的UEP。
技术研发人员:王栋 史治平
受保护的技术使用者:电子科技大学
技术研发日:2022.05.19
技术公布日:2022/11/1