本发明属于通信技术领域,涉及编译码技术,具体为一种低密度校验码的改进交替方向乘子法(alternatingdirectionmethodofmultipliers,admm)惩罚译码方法,可用于光纤通信、磁存储、卫星数字视频及声频广播。
背景技术:
gallager博士于1962年最早提出了低密度校验(low-densityparity-check,ldpc)码的概念,这是一种线性分组码,其校验矩阵稀疏,且具有逼近香农限的良好性能。因此,许多编译码领域的工作人员对ldpc码产生了极大的兴趣,对该码进行了广泛的关注。目前,ldpc码在现代通信等领域得到了比较广泛的应用。
使用凸优化理论解决线性规划(linearprogramming,lp)问题的lp译码方法是ldpc码的一类常见的译码方法,其优点是具有最大似然认证特性,但是译码复杂度高。基于交替方向乘子法,barman等于2011年提出了一种迭代lp译码方法(barmans,liuxs,drapersc,etal.decompositionmethodsforlargescalelpdecoding.annualallertonconferenceoncommunication,control,andcomputing(allerton),253-260,2011[c].monticello:ieee,2011.),该方法能够降低原有lp译码的复杂度,但其不足之处是在低信噪比区域译码性能较差。
为了解决ldpc码admm译码方法在低信噪比区域译码性能差的问题,通常在admm译码问题的目标函数中加入罚函数,liuxs等人提出了一种基于admm的惩罚译码方法(liuxs,drapersc.theadmmpenalizeddecoderforldpccodes[j].ieeetransactionsoninformationtheory,2016,62(6):2966-2984.),主要介绍了l1罚函数g1(x)=-|x-0.5|和l2罚函数g2(x)=-(x-0.5)2两种常用的罚函数,该方法在未增加译码复杂度的基础上改善了低信噪比区域的译码性能;然而,采用这两种罚函数进行admm惩罚译码的不足是译码复杂度仍然较高,译码速度有待进一步提高。
技术实现要素:
针对上述已有技术的不足之处,本发明提供了一种低密度校验码的改进admm惩罚译码方法,用于解决现有译码方法复杂度高、译码速度慢的问题;在原有admm惩罚译码技术的基础上,通过设计一种改进的罚函数来提高译码性能,并且降低平均译码时间。
本发明实现上述目的具体步骤如下:
(1)发送端发送一个码长为n的ldpc码,通过加性高斯白噪声信道传输至接收端;
(2)接收端接收来自发送端的ldpc码,并将其记为消息向量r:
r={ri|i∈i},
其中,i表示变量节点;i表示ldpc码所有变量节点的集合,且i={1,2,…,n};
(3)利用消息向量r计算对数似然比向量γ:
γ={γi|i∈i}t,
其中,γi表示ldpc码admm惩罚译码问题模型的目标函数系数;{·}t表示转置操作;
(4)设计改进罚函数g(x),得到如下表达式:
(5)设置admm惩罚译码参数:
设定最大迭代次数n,且n为大于或等于500的整数;设置容差值ε为10-5、增广拉格朗日函数的罚参数μ为4.0,设置改进罚函数第一、三段的罚参数α为3.9、第二段的罚参数β为0.9;
(6)初始化:
将迭代次数记作k,k≤n;令k=0,得到初始化为零向量的初始拉格朗日乘子向量
(7)利用目标函数系数γi、第k次迭代的拉格朗日乘子向量
(8)根据具体ldpc码的变量节点i得到其对应的度数di,利用第k 1次迭代的中间向量tk 1和变量节点i的度数di计算第k 1次迭代的解向量xk 1;具体计算公式如下:
其中,μ为增广拉格朗日函数的罚参数,
(9)利用第k次迭代的拉格朗日乘子向量
(10)利用第k次迭代的拉格朗日乘子向量
(11)译码终止条件判断:
若满足终止条件,则进入步骤(12);否则,对k加1后返回步骤(7);
(12)将第k 1次迭代解向量xk 1作为译码结果输出,结束译码。
与现有技术相比,本发明具有以下优点:
第一、由于本发明在admm译码问题的目标函数中引入改进罚函数替代原有罚函数,从而能够更加灵活地惩罚伪码字实现admm惩罚译码,明显降低了译码复杂度,改善了译码性能并提高了译码速度;
第二、由于本发明采用的改进罚函数,其设计结合了原有罚函数,因此能够有效改善低信噪比区域的译码性能。
附图说明
图1是本发明的实现流程图;
图2是本发明与现有方法的译码性能仿真结果对比图;
图3是本发明与现有方法的译码平均迭代次数仿真结果对比图;
图4是本发明与现有方法的平均译码时间仿真结果对比图。
具体实施方式
一、技术原理
本发明是基于admm惩罚译码器求解ldpc码的线性规划译码问题进行的。
假设发送端发送一个码长为n的ldpc码,经过加性高斯白噪声信道传输后,接收端接收到的消息向量记为r={ri|i∈i},其中集合i={1,2,…,n}是ldpc码所有变量节点集合。利用向量r,根据如下公式计算对数似然比向量γ={γi|i∈i}t:
其中,pr(·)表示括号内代表的事件发生的概率。将对数似然比γi作为线性规划目标函数的系数,引入罚函数的ldpc码lp译码问题模型:
其中,γi为目标函数系数;向量x={x1,x2,…,xn}表示admm惩罚译码的解向量;α为罚函数的罚参数;j={1,2,…,m}是ldpc码所有校验节点集合;dj是校验节点j所校验变量节点的个数;zj是维数为dj的辅助向量;
上述问题对应的增广拉格朗日函数为:
其中,μ为增广拉格朗日函数的罚参数,λj为维数为dj的拉格朗子乘子向量,符号||·||2表示2-范数运算。
二、实施例
以ieee802.16e标准中码率为0.75的(1152,288)非规则ldpc码为例进行译码,结合附图对本发明进行详细描述。
参照图1,本发明提供一种低密度校验码的改进admm惩罚译码方法,其实现步骤如下:
步骤1:发送端发送一个码长为n的ldpc码,通过加性高斯白噪声信道传输至接收端;
步骤2:接收端接收来自发送端的ldpc码,并将其记为消息向量r:
r={ri|i∈i},
其中,i表示变量节点;i表示ldpc码所有变量节点的集合,且i={1,2,…,n};
步骤3:计算对数似然比向量。
利用消息向量r计算对数似然比向量γ:
γ={γi|i∈i}t,
其中,γi作为ldpc码admm惩罚译码问题模型的目标函数系数;{·}t表示转置操作;
目标函数系数γi,按照下式得到:
其中,pr(·)表示括号内代表的事件·的发生概率。
步骤4:基于现有罚函数,设计得到改进罚函数g(x):
步骤5:设置admm惩罚译码参数。
admm惩罚译码参数包括解向量x,拉格朗日乘子向量yj(j表示校验节点),辅助向量zj,中间向量t,容差值ε,迭代次数k,最大迭代次数n,罚函数的罚参数α、β,以及增广拉格朗日函数的罚参数μ。
译码的最大迭代次数设置得越大,译码性能会越好,但是译码时间也会越长。综合考虑译码的时间和性能,本发明的实施例以码率为0.75的(1152,288)非规则ldpc码为例,采用本发明所设计的改进罚函数进行admm惩罚译码。将译码的最大迭代次数n设置为1000;将容差值ε设置为10-5;由于改进罚函数为分段函数,为得到更好的译码效果,将第一、三段的罚参数α设置为3.9,第二段的罚参数β设置为0.9;增广拉格朗日函数的罚参数μ设置为4.0。
步骤6:初始化:
将迭代次数记作k,k≤n;令k=0,得到初始化为零向量的初始拉格朗日乘子向量
步骤7:计算第k 1次迭代的中间向量tk 1。
利用目标函数的系数γi、第k次迭代的拉格朗日乘子向量
其中,
步骤8:计算第k 1次迭代解向量xk 1。
利用第k 1次迭代中间向量tk 1和变量节点i的度数di,通过如下公式计算第k 1次迭代解向量xk 1:
其中,度数di是根据具体ldpc码的变量节点i得到;
实数a在区间[0,1]上作投影运算的运算规则如下:
步骤9:计算第k 1次迭代的辅助向量
利用第k次迭代的拉格朗日乘子向量
其中,tj是由校验节点j生成的转换矩阵,
步骤10:计算第k 1次迭代的拉格朗日乘子向量
利用第k次迭代的拉格朗日乘子向量
步骤11:译码终止条件判断。
判断是否满足admm译码终止条件:若满足终止条件,则进入步骤12;否则,对k加1后返回步骤7。
若当前迭代次数达到最大迭代次数n=1000,或
步骤12:将第k 1次迭代解向量xk 1作为译码结果输出,结束译码。
下面结合仿真实验对本发明的效果作进一步的说明。
1.仿真条件:
本发明的仿真实验在64位win7操作系统、intel(r)core(tm)i53470处理器、3.2ghz主频、8gb内存的硬件环境和vc6.0的软件环境下进行的。
2.仿真内容:
在加性高斯白噪声信道下,分别用本发明设计的改进admm惩罚译码方法和原有admm惩罚译码方法对ieee802.16e标准中码率为0.75的(1152,288)非规则ldpc码进行译码,其译码性能对比图如图2所示、译码平均迭代次数对比如图3所示、平均译码时间对比图4所示。
3.仿真结果分析:
参照图2,其中给出的3条曲线具体为:
带圆环形的曲线表示在加性高斯白噪声信道下,采用l1罚函数的原有admm惩罚译码方法的纠错性能仿真曲线;
带方框形的曲线表示在加性高斯白噪声信道下,采用l2罚函数的原有admm惩罚译码方法的纠错性能仿真曲线;
带星形的曲线表示在加性高斯白噪声信道下,采用本发明设计的改进admm惩罚译码方法的纠错性能仿真曲线。
由图2可以看出,本发明设计的改进admm惩罚译码方法的纠错性能明显优于原有admm惩罚译码方法的纠错性能。
参照图3,其中给出的3条曲线具体为:
带圆环形的曲线表示在加性高斯白噪声信道下,采用l1罚函数的原有admm惩罚译码方法译码的平均迭代次数仿真曲线;
带方框形的曲线表示在加性高斯白噪声信道下,采用l2罚函数的原有admm惩罚译码方法译码的平均迭代次数仿真曲线;
带星形的曲线表示在加性高斯白噪声信道下,采用本发明设计的改进admm惩罚译码方法译码的平均迭代次数仿真曲线。
由图3可以看出,本发明设计的改进admm惩罚译码方法译码的平均迭代次数明显少于原有admm惩罚译码方法译码的平均迭代次数。
参照图4,其中给出的3条曲线具体为:
带圆环形的曲线表示在加性高斯白噪声信道下,采用l1罚函数的原有admm惩罚译码方法的平均译码时间仿真曲线;
带方框形的曲线表示在加性高斯白噪声信道下,采用l2罚函数的原有admm惩罚译码方法译码的译码时间仿真曲线;
带星形的曲线表示在加性高斯白噪声信道下,采用本发明设计的改进admm惩罚译码方法的平均译码时间仿真曲线。
由图4可以看出,本发明设计的改进admm惩罚译码方法的平均译码时间明显少于原有admm惩罚译码方法的平均译码时间。
综上,本发明设计了一种改进admm惩罚译码方法,与原有ldpc码admm惩罚译码方法相比,该方法不仅取得了更好的译码性能,并且降低了平均译码时间。
上述仿真分析证明了本发明所提方法的正确性与有效性。
本发明未详细说明部分属于本领域技术人员公知常识。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,显然对于本领域的专业人员来说,在了解了本发明内容和原理后,都可能在不背离本发明原理、结构的情况下,进行形式和细节上的各种修正和改变,但是这些基于本发明思想的修正和改变仍在本发明的权利要求保护范围之内。
1.一种低密度校验码的改进admm惩罚译码方法,其特征在于,包括如下步骤:
(1)发送端发送一个码长为n的ldpc码,通过加性高斯白噪声信道传输至接收端;
(2)接收端接收来自发送端的ldpc码,并将其记为消息向量r:
r={ri|i∈i},
其中,i表示变量节点;i表示ldpc码所有变量节点的集合,且i={1,2,…,n};
(3)利用消息向量r计算对数似然比向量γ:
γ={γi|i∈i}t,
其中,γi表示ldpc码admm惩罚译码问题模型的目标函数系数;{·}t表示转置操作;
(4)设计改进罚函数g(x),得到如下表达式:
(5)设置admm惩罚译码参数:
设定最大迭代次数n,且n为大于或等于500的整数;设置容差值ε为10-5、增广拉格朗日函数的罚参数μ为4.0,设置改进罚函数第一、三段的罚参数α为3.9、第二段的罚参数β为0.9;
(6)初始化:
将迭代次数记作k,k≤n;令k=0,得到初始化为零向量的初始拉格朗日乘子向量
(7)利用目标函数系数γi、第k次迭代的拉格朗日乘子向量
(8)根据具体ldpc码的变量节点i得到其对应的度数di,利用第k 1次迭代的中间向量tk 1和变量节点i的度数di计算第k 1次迭代的解向量xk 1;具体计算公式如下:
其中,μ为增广拉格朗日函数的罚参数,
(9)利用第k次迭代的拉格朗日乘子向量
(10)利用第k次迭代的拉格朗日乘子向量
(11)译码终止条件判断:
若满足终止条件,则进入步骤(12);否则,对k加1后返回步骤(7);
(12)将第k 1次迭代解向量xk 1作为译码结果输出,结束译码。
2.根据权利要求1所述的方法,其特征在于:步骤(3)中γi按照下式得到:
其中,pr(·)表示事件·的发生概率。
3.根据权利要求1所述的方法,其特征在于:步骤(7)中第k 1次迭代的中间向量tk 1通过如下公式计算:
其中,
4.根据权利要求1所述的方法,其特征在于:步骤(8)中实数a在区间[0,1]上作投影运算,其运算规则如下:
5.根据权利要求1所述的方法,其特征在于:步骤(9)中第k 1次迭代的辅助向量
其中,tj是由校验节点j生成的转换矩阵,
6.根据权利要求1所述的方法,其特征在于:步骤(10)中第k 1次迭代的拉格朗日乘子向量
其中,tj是由校验节点j生成的转换矩阵。
7.根据权利要求1所述的方法,其特征在于:步骤(11)中所述的满足终止条件是指满足以下两个条件之一的情形:
条件1:当前迭代次数达到最大迭代次数,即k=n;
条件2:向量