一种适用于低密度奇偶校验码的混合译码方法与流程

文档序号:14268986阅读:186来源:国知局
本发明属于译码方法
技术领域
,涉及一种适用于低密度奇偶校验码的混合译码方法。
背景技术
:ldpc码即低密度奇偶校验(low-densityparity-check,ldpc)码,它是由robertg.gallager博士于1963年首次提出的一类具有稀疏校验矩阵的线性分组码,并在1995被d.j.c.mackay和r.w.neal重新提出。ldpc码具有逼近shannon限的良好性能,而且译码复杂度较低、结构灵活、低延时,可实现高速并行译码,近二十年来一直是信道编码领域的研究热点。目前ldpc码已广泛应用于无线通信(wifi,wimax)、深空通信、光纤通信、卫星数字视频和音频广播等领域。现在ldpc码已经成为5g信道编码中数据信道的编码方案,emmb场景已经确定使用ldpc码的编码方案。除了关键的emmb场景,5gurllc场景对编码的吞吐率和处理延时提出较高要求。5g系统对ldpc码编码方案要求支持的码率范围为1/6-8/9,对于码率小于1/3的低码率ldpc码要具有更低的解码延时。g.gallager在提出ldpc码时给出了两种迭代译码方法。其中比特翻转(bitflipping,bf)译码方法属于硬判决译码方法,该译码方法译码复杂度低,易于硬件实现,但译码性能较差;软判决译码是基于后验概率的置信传播(beliefpropagation,bp)译码方法,该方法在性能上可以逼近最大似然译码,但其译码复杂度很高。目前ldpc码的主要解码方案包括bp类译码方法及bp类简化方法,如ms(min-sum,ms)类方法。由于bp译码方法的实现复杂度较高,在实际应用中使用较多的为bp类简化方法。bp类简化方法主要分为两类,对bp方法的简化和ms类简化方法。ms类译码方法仅通过选择输入变量节点信息的最小值和次小值来更新检验节点信息,降低了译码方法的计算复杂度,但会带来性能上的损失。为了降低ms译码方法的性能损失,一些针对ms译码方法的修正方案被提了出来。ms译码方法的性能损失来源于对校验节点单元信息的过高估计。因此归一化修正最小和译码方法(normalizedmin-sum,nms)和偏移最小和译码方法(offsetmin-sum,oms)通过对ms方法校验节点输出进行乘性和加性修正来提升解码性能。同时,一些译码方法针对nms和oms方法的修正因子来进一步nms和oms方法性能。approximate-min*译码方法是一类对bp简化的方法,该方法是通过选取输入的变量节点信息的最小值,然后对校验节点更新进行更精确的修正,性能更接近bp译码方法。但该方法对解码输入似然比计算精度要求较高,依赖信道方差估计的,具体实现复杂度太高。因此,现有的bp译码方法及其简化方法复杂度太高,而ms译码方法虽然降低了复杂度,但其性能低,无法满足需求。技术实现要素:为解决上述问题,本发明公开了一种适用于低密度奇偶校验码的混合译码方法,缩小了bp译码方法和ms译码方法性能的差距,消除了解码方法对高斯信道方差估计的依赖,同时适用于码率兼容结构,较好地均衡了实现复杂度和译码性能,既降低了复杂度,同时也减少了解码性能的损失。为了达到上述目的,本发明提供如下技术方案:一种适用于低密度奇偶校验码的混合译码方法,包括如下步骤:步骤一:对每个变量节点进行迭代初始化,并在变量节点中引入常数固定乘性修正因子;步骤二:迭代次数加一;步骤三:对于各个校验节点,利用第k-1次迭代中产生的由相应变量节点传递而来的信息更新该校验节点向相应变量节点传递的信息:度数小于阈值的节点采用基于线性插值的approximate-min*方法进行更新,度数大于阈值的节点采用归一化修正最小和译码方法进行计算更新;步骤四:对于各个变量节点,根据由相应的校验节点传递而来的信息和该变量节点相对应的初始输入似然比信息,计算该变量节点的输出似然比信息;步骤五:对每个变量节点进行硬判决并计算校正子;步骤六:如果满足条件则结束译码,输出码字;否则顺序执行下一步骤;步骤七:对于各个变量节点,利用由相应校验节点传递而来的信息和步骤四中计算出来的该变量节点的输出似然比信息,计算该变量节点向相连的各校验节点传递的信息;顺序执行步骤二,直至迭代完毕。进一步的,所述步骤一具体包括:初始化迭代次数k=0;对每个变量节点vn,n∈[1,n]初始化:其中β为常数固定乘性修正因子;lnm为变量节点vn传递给校验节点cm的信息;yn为接收序列中的元素。进一步的,所述步骤三具体包括:对于各个校验节点cm(m∈[1,m]),利用第k-1次迭代中产生的由相应变量节点传递而来的信息更新该校验节点向相应变量节点vn(n∈b(m))传递的信息其中t为设定的阈值;dc为矩阵每行中非零元素的个数,lmn为校验节点cm传递给变量节点vn的信息;根据第k-1次迭代中产生的由相应变量节点传递而来的信息找到绝对值的最小值的下标索引jmin,初始化局部变量δ0=∞;对每个h∈{1...dc}\jmin,计算其中,b(m)\n为除变量节点vn的b(m)集合,归一化修正最小和方法,α为修正因子。进一步的,所述步骤四具体包括:对于各个变量节点vn(n∈[1,n]),根据由相应的校验节点传递而来的信息和该变量节点相对应的初始输入似然比信息计算该变量节点vn(n∈[1,n])的输出似然比信息其中,a(n)为变量节点vn参与的校验节点集合。进一步的,所述步骤五具体包括:对每个变量节点vn(n∈[1,n])进行硬判决并计算校正子:sk=wkht。进一步的,所述步骤六中条件为或k=k,输出的码字进一步的,所述步骤七中计算该变量节点向相连的各校验节点传递的信息的过程具体包括:对于各个变量节点vn(n∈[1,n]),利用由相应校验节点cm(m∈a(n))传递而来的信息和步骤四中计算出来的该变量节点vn(n∈[1,n])的输出似然比信息计算该变量节点向相连的各校验节点cm(m∈a(n))传递的信息与现有技术相比,本发明具有如下优点和有益效果:1.本发明通过设定相应阈值来根据校验节点度数对校验节点进行分类,度数小于阈值的节点采用基于线性插值的approximate-min*方法进行更新,度数大于阈值的节点采用归一化修正最小和译码方法进行计算更新,适用于码率兼容结构,较好的均衡实现复杂度和译码性能,既降低了复杂度,同时也减少了解码性能损失。2.本发明用固定因子乘性修正解码输入信息,消除了译码方法对高斯信道方差估计的依赖,较好的均衡实现复杂度和译码性能。3.本译码方法缩小了最小和译码方法与bp译码方法的解码性能差距。附图说明图1为本发明提供的适用于低密度奇偶校验码的混合译码方法流程图。图2为一个1/4码率的ldpc码(code1-r14-n8448)校验矩阵的分块示意图。图3为code1-r14-n8448码分别采用bp译码方法、nms译码方法、以及本发明所述的一种适用于低密度奇偶校验码的混合译码方法进行仿真的误帧率性能曲线。图4为一个1/5码率的ldpc码(code2-r15-n10496)校验矩阵的分块示意图。图5为code2-r15-n10496码分别采用bp译码方法、nms译码方法、以及本发明所述的一种适用于低密度奇偶校验码的混合译码方法进行仿真的误帧率性能曲线。具体实施方式以下将结合具体实施例对本发明提供的技术方案进行详细说明,应理解下述具体实施方式仅用于说明本发明而不用于限制本发明的范围。本发明提出的适用于低密度奇偶校验码的混合译码方法,针对置信传播类解码方法与最小和类简化解码方法性能存在明显差距,提出一种混合型最小和解码方法。本译码方法根据校验节点度数的不同,设定对应的阈值,对度数不同的校验节点更新采用不同的更新计算方法。对于度数大于阈值的校验节点采用归一化修正最小和译码方法更新,度数小于阈值的校验节点采用基于线性插值的approximate-min*译码更新方法,适用于码率兼容结构,降低运算复杂度。同时由于approximate-min*译码方法对解码输入似然比计算精度要求较高,依赖对信道方差的估计,具体实现复杂度太高。本发明改用固定因子乘性修正解码输入信息,消除解码方法对高斯信道方差估计的依赖,较好的均衡实现复杂度和译码性能,既降低了复杂度,同时也减少了解码性能损失。具体来说,本发明提出的适用于低密度奇偶校验码的混合译码方法中各主要参数定义如下:ldpc码使用一个m×n的校验矩阵h来进行定义,m为矩阵行数,n为矩阵列数;矩阵每行中非零元素的个数dc代表行重即校验节点的度数,矩阵中每列非零元素的个数ds代表列重即变量节点的度数;vn代表第n个变量节点,cm代表第m个校验节点。w=[w1,w2,…,wn]为ldpc码码字;a(n)为变量节点vn参与的校验节点集合,b(m)校验节点cm包含的变量节点的集合,b(m)\n为除变量节点vn的b(m)集合;lnm、lmn分别为变量节点vn传递给校验节点cm的信息和校验节点cm传递给变量节点vn的信息。采用bpsk调制,x=[x1,x2,…,xn]其中xn=1-2wn,n∈[1,n],通过awgn信道;接收序列y=[y1,y2,…,yn]其中yn=xn+zn,zn为均值为0,方差为σ2=n0/2的独立高斯随机变量,最大迭代次数为k,sign(x)表示对x取符号位,本发明方法如图1所示,包括如下步骤:s101:迭代初始化:初始化迭代次数k=0;对每个变量节点vn,n∈[1,n]初始化:其中β为常数固定乘性修正因子;完成初始化后,顺序执行步骤s102;s102:k=k+1,即迭代次数加一,顺序执行步骤s103;s103:更新校验节点:对于各个校验节点cm(m∈[1,m]),利用第k-1次迭代中产生的由相应变量节点传递而来的信息更新该校验节点向相应变量节点vn(n∈b(m))传递的信息其中t为设定的阈值;根据第k-1次迭代中产生的由相应变量节点传递而来的信息找到绝对值的最小值的下标索引jmin,初始化局部变量δ0=∞;对每个h∈{1...dc}\jmin,计算其中,基于归一化修正最小和方法,α为修正因子;完成后,顺序执行s104;s104:更新输出似然比信息:对于各个变量节点vn(n∈[1,n]),根据由相应的校验节点传递而来的信息和该变量节点相对应的初始输入似然比信息计算该变量节点vn(n∈[1,n])的输出似然比信息完成计算后,顺序执行步骤s105;s105:变量节点硬判决:对每个变量节点vn(n∈[1,n])进行硬判决并计算校正子:sk=wkht完成上述计算后,顺序执行步骤s106;s106:若或k=k,则结束译码,输出码字否则顺序执行步骤s107;s107:更新变量节点:对于各个变量节点vn(n∈[1,n]),利用由相应校验节点cm(m∈a(n))传递而来的信息和步骤s104中计算出来的该变量节点vn(n∈[1,n])的输出似然比信息计算该变量节点向相连的各校验节点cm(m∈a(n))传递的信息完成计算后,顺序执行步骤s102。为了进一步说明本发明效果,我们提供了实施例1和实施例2。实施例1:图2为一个1/4码率的ldpc码(code1-r14-n8448)校验矩阵的分块示意图,其校验矩阵n=8448,m=6400,信息比特k=2048,编码比特打孔前256比特;该编码的分块矩阵形式具体描述如下,c矩阵为3行47列,每个元素值都为-1;d矩阵为47行47列,除对角元素为0外,其他元素都为-1;矩阵a和b为25行19列,具体元素值见表1表2。表1:code1-r14-n8448码分块式校验矩阵a分块(25*19)000000000000000000-114831116866302829942201155221211710043-110162121108103114917033116312061720-105665-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-15456-1-1-1-1-1-1-1-1-1-1-1-12310596-1-10-1-1-1-1-1-1-1651198384868-1-1-1-1-112136-1-1-186107-1-1-1-1-1-1-108188-1-171117-1-1-1-1-1-1407210879-1-1-1-1-1-179-1-1-1-1104-1-1-1-1-1-1591173164-1-112140-12-1-1-1-14417-13-1-1-1-1-1-1-1121-1-1-1-1-1-167-1-129-1-1-11247222-1-1-138-1-1-1-1-1-111114-173-115-1-1-1-1-124-199-1-1-1-1-1-1-1-1-1-1-1129626-1-13648-1-114-1-1-127101-1-1-1-1-1-1-1-1-181-1-1-1-1-1-170-1-1-1101-1-180-131-1-1-1127-1-140-1-1-1-111541-1-1-1-1-1-1-1-195-1116102-1-1-1-1-1-1-1-1-1-175-181-1-1117-1-1-1-1-1120-1-125-170-1-1-1-1-1-1-112-1-185-1-1-1-1-1-1-1-1-1-1-138-1-179-1-1-1-1105-118-1-1-1-1-1-124-1-1-1-191-133-1-1-1-1-1-1-1-1-1112-1-1-121-1-138-1-1-1123-180-1-1-1-1-1-1-12-1-1-1-11296-1-1-1-1-1-1-1-1-1-1-1-1-1-199-112-175-1-1-1-1-1-1-173-1-1-164-1-1-1-1-15041-1-1-1-1-1-1-1-1-1-1-1-160-188-142表2:code1-r14-n8448码分块式校验矩阵b分块(25*19)14-1-1-1-1-1-1-1-184-1870-1-1-1-1-1-1109-1-1-1-1-1-141-1-1-1-1-1-1-1-172-114119-1-1-1-122-1-116-1-1-1-1-1-1-1-1-1-1-132414-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1101-1-1-1-1-160-1-1-1103-1-1-1-1-1-1-1-1115-1-1-1-1-1-1-1-1-1-1-182-1-1-149-176580-1-1-1-1-1-1-1-1-1-1-1-166-1-17-1-1115-1-1-1-1-1-184-1-1-1-1-1-1-195-1-160-1-1-111-1-1-1-1-1-1-1-1112-1-1-1-1-130-1-1-1-1-1-1-1-1-1-1-1-1-135-16410-199-1-1-1-1-1-1-1-1-19411-1-1-1-1-1-1-179-16-1-188-1-1-1-1-1-1-1-1-1-1103-1-187-1-144-1-1-1123-1-1-1-1-1-1-1-1-1-1-181-1-1-1-1-1114-1-1-1-1-171-1-1-1-1-1-1-1109-1-1-1-1-1-1-116-1-1-1-1-1-1-199-154-1-1-1-160-1-1-1-1-1-1-131-1-1-1-1-191-1-1-1-1-1-1-1-1-132-1-1-1-16-1-1-122-1-1-197-1-1119-1-1-1-1-1-1-1-1-1-1-1-189-1-1-1-1-1-1-1-1-1-118-1-1-1-14-1121-17733-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1101-1-1-1-119-1-1-1-1-1-164-1-1-1-1-181-1-1-1-1120-1-1-1-1-1127-1-1-1-1-1-1-1-160-1-1-1-1-1-1-1-188-1-1-1-1-1-1101-1111-1-1-1-1-1-1-129-1-1-1-1-1-1-1-1-16967-1-1-10-1-1-1-1-1-1-1-1-1-134-1-1-1code1-r14-n8448码分块式校验矩阵中的每一个元素x代表一个小方阵:若该元素为-1,则为全零阵;否则为偏移量等于x的置换单位阵;对于该ldpc码,小方阵的维数为z=128,仿真时前2z比特打孔传输。表3中各个元素表示校验矩阵中不同行重的分布。表3code1-r14-n8448码分块式校验矩阵行重分布行重191817876543code1-r14-n8448码行数3843843841536768268849927680384图3是针对code1-r14-n8448码分别采用bp译码方法、nms译码方法以及本发明所述的一种适用于低密度奇偶校验码的混合译码方法进行仿真的误帧率性能曲线。其中,译码器的最大迭代次数均设置为50次;nms译码方法的修正因子为α=0.7;本发明所述的一种适用于低密度奇偶校验码的混合译码方法阈值t=10,初始似然比固定乘性修正因子β=1.047,nms译码方法的修正因子为α=0.7;采用awgn信道进行仿真;前256比特打孔传输。从图3中可以看出对于code1-r14-n8448码bp译码方法与nms译码方法达到10-2误帧率有0.5db左右性能损失。而本发明所述的一种低密度奇偶校验码译码的译码方法与bp译码方法性能损失在0.2db以内。实施例2:图4为一个1/5码率的ldpc码(code2-r15-n10496)校验矩阵的分块示意图,其校验矩阵n=10496,m=8448,信息比特k=2048,编码比特打孔前256比特;该编码的分块矩阵形式具体描述如下,c矩阵为3行63列,每个元素值都为-1;d矩阵为63行63列,除对角元素为0外,其他元素都为-1;矩阵a和b为33行19列,具体元素值见表4表5。表4:code2-r15-n10496码分块式校验矩阵a分块(33*19)000000000000000000-114831116866302829942201155221211710043-110162121108103114917033116312061720-105665-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-15456-1-1-1-1-1-1-1-1-1-1-1-12310596-1-10-1-1-1-1-1-1-1651198384868-1-1-1-1-112136-1-1-186107-1-1-1-1-1-1-108188-1-171117-1-1-1-1-1-1407210879-1-1-1-1-1-179-1-1-1-1104-1-1-1-1-1-1591173164-1-112140-12-1-1-1-14417-13-1-1-1-1-1-1-1121-1-1-1-1-1-167-1-129-1-1-11247222-1-1-138-1-1-1-1-1-111114-173-115-1-1-1-1-124-199-1-1-1-1-1-1-1-1-1-1-1129626-1-13648-1-114-1-1-127101-1-1-1-1-1-1-1-1-181-1-1-1-1-1-170-1-1-1101-1-180-131-1-1-1127-1-140-1-1-1-111541-1-1-1-1-1-1-1-195-1116102-1-1-1-1-1-1-1-1-1-175-181-1-1117-1-1-1-1-1120-1-125-170-1-1-1-1-1-1-112-1-185-1-1-1-1-1-1-1-1-1-1-138-1-179-1-1-1-1105-118-1-1-1-1-1-124-1-1-1-191-133-1-1-1-1-1-1-1-1-1112-1-1-121-1-138-1-1-1123-180-1-1-1-1-1-1-12-1-1-1-11296-1-1-1-1-1-1-1-1-1-1-1-1-1-199-112-175-1-1-1-1-1-1-173-1-1-164-1-1-1-1-15041-1-1-1-1-1-1-1-1-1-1-1-160-188-14214-1-1-1-1-1-1-1-184-1870-1-1-1-1-1-1109-1-1-1-1-1-141-1-1-1-1-1-1-1-172-114119-1-1-1-122-1-116-1-1-1-1-1-1-1-1-1-1-132414-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1101-1-1-1-1-160-1-1-1103-1-1-1-1-1-1-1-1115-1-1-1-1-1-1-1-1-1-1-182-1-1-149-176580-1-1-1-1-1-1-1-1-1-1-1-166-1-17-1-1115-1-1-1-1-1-184-1-1-1-1-1-1-195-1-1表5:code2-r15-n10496码分块式校验矩阵b分块(33*19)60-1-1-111-1-1-1-1-1-1-1-1112-1-1-1-1-130-1-1-1-1-1-1-1-1-1-1-1-1-135-16410-199-1-1-1-1-1-1-1-1-19411-1-1-1-1-1-1-179-16-1-188-1-1-1-1-1-1-1-1-1-1103-1-187-1-144-1-1-1123-1-1-1-1-1-1-1-1-1-1-181-1-1-1-1-1114-1-1-1-1-171-1-1-1-1-1-1-1109-1-1-1-1-1-1-116-1-1-1-1-1-1-199-154-1-1-1-160-1-1-1-1-1-1-131-1-1-1-1-191-1-1-1-1-1-1-1-1-132-1-1-1-16-1-1-122-1-1-197-1-1119-1-1-1-1-1-1-1-1-1-1-1-189-1-1-1-1-1-1-1-1-1-118-1-1-1-14-1121-17733-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1101-1-1-1-119-1-1-1-1-1-164-1-1-1-1-181-1-1-1-1120-1-1-1-1-1127-1-1-1-1-1-1-1-160-1-1-1-1-1-1-1-188-1-1-1-1-1-1101-1111-1-1-1-1-1-1-129-1-1-1-1-1-1-1-1-16967-1-1-10-1-1-1-1-1-1-1-1-1-134-1-1-1-1123-110-1-1-1-1-1-1-1-164-1-1-1-1-1-140-10-1-1-1-151-1-1-1-1-150-1-1-1-1-185-1-1-1-1-10-1-1-1-1-1-1-1-1-1-13-1103-1-1-1-1-1-145108-1-1-1-1-1-1-1-1-1-136-1-1-1-1-1-1-1-1-1-1-1-13-116-1-1-156-1-1-1-184-1-1-1-131-1-1-1-1-1-1-139119-180-1-1-1-1-1-1-1-1-1121-1-1-1-1-1-1-1-1-12668-1-1-1-1-159-1-1-1-1-1-1-1-197-1-1-1-1-1-1-1-1-1-188-1-1-1-1-182-16-1-1-1-1104-1-1-1-1-1-1-1-1-1-1-1-141-1-1-1-132-143-1-1-1-1-1-19-1-1-1-1-199-1-129-1-1-1-1-12-1-1-1-1-1-1-1-1-1-1-136-1-1-1-124-1-1-1-1-1-1-151-1-1-1-181-1-1-1-1-1-183-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-140-1-1-1105-1102-1-1-1-1-1-1-1-1-1-1283-1-1-1-1-1-1-1-1-1-1-144-1code2-r15-n10496码分块式校验矩阵中的每一个元素x代表一个小方阵:若该元素为-1,则为全零阵;否则为偏移量等于x的置换单位阵;对于该ldpc码,小方阵的维数为z=128,仿真时前2z比特打孔传输。表6中各个元素表示校验矩阵中不同行重的分布。表6code2-r15-n10496码分块式校验矩阵行重分布行重191817876543code2-r15-n10496码行数38438438415367682688576012672768图5是针对code2-r15-n10496码分别采用bp译码方法、nms译码方法以及本发明所述的一种适用于低密度奇偶校验码的混合译码方法进行仿真的误帧率性能曲线。其中,译码器的最大迭代次数均设置为50次;nms译码方法的修正因子为α=0.7;本发明所述的一种适用于低密度奇偶校验码的混合译码方法阈值t=10,初始似然比固定乘性修正因子β=0.8,nms译码方法的修正因子为α=0.7;采用awgn信道进行仿真;前256比特打孔传输。从图5中可以看出对于code2-r15-n10496码bp译码方法与nms译码方法存在0.6db左右性能损失,本发明所述的一种低密度奇偶校验码译码的译码方法与bp译码方法损失缩小到0.2db以内。显然,本译码方法缩小了最小和译码方法与bp译码方法的解码性能差距。本发明方案所公开的技术手段不仅限于上述实施方式所公开的技术手段,还包括由以上技术特征任意组合所组成的技术方案。应当指出,对于本
技术领域
的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1