基于预测-修正原对偶内点法的ldpc码的lp译码器的制作方法

文档序号:7521362阅读:448来源:国知局
专利名称:基于预测-修正原对偶内点法的ldpc码的lp译码器的制作方法
技术领域
本发明涉及一种LDPC码线性规划译码的译码器,属于移动通信信道编码技术领 域。
背景技术
高可靠性传输一直是移动通信的目标,而移动衰落信道环境恶劣,长突发错误的 产生降低了通信质量,因此有必要采用信道编码方案对传输数据进行冗余保护。低密度奇 偶校验(LDPC,Low-Density Parity-Check)码是一种性能非常接近香农(shannon)极限的 信道编码方案,具有很强的纠错抗干扰能力。除了置信传播(BP,Blief Popagation)译码 算法外,LDPC码还可以使用线性规划(LP,Linear Programming)算法进行译码。尽管LP 译码的性能并不优于BP译码,但LP译码码字具有最大似然(ML,Maximun Likelihood)验 证性,即不管LP译码输出什么码字,可保证其一定是ML码字;并且LP译码器比BP译码器 更易于分析性能。LP译码算法是通过把ML译码问题松弛成LP问题,通过解这个LP问题而获得最大 似然码字。对于LDPC码字,LP问题中的约束式的数量随着码长的增加而呈指数级增加,因 此研究解大型LP问题的算法变得不可或缺。解大型LP问题的一系列算法起源于Dantzig于1949年提出的单纯形(simplex) 法,但该系列算法的时间复杂性是非多项式的,在最坏的情况下,算法的迭代次数将随问题 维数的增加而呈指数级增加。Karmarkar提出的现代内点算法是一类多项式时间复杂性算 法,对于解大型LP问题,不仅比单纯形法更有效,并且计算更简单。其中,预测-修正原对 偶内点(PCPDIP,Predictor-Corrector Primal-dual Interior-point)算法是目前求解大 型LP问题的最具潜力的一种内点法,该算法收敛迅速,鲁棒性强,对初值的选择不敏感。目前,LDPC码的BP译码器不易于分析性能,特别是在Tarmer图出现循环的时候, 而采用单纯形算法等其他算法的LP译码器收敛速度慢,需要较多次迭代。

发明内容
本发明针对现有LDPC码译码器存在的不足,提供一种具有良好收敛特性和ML验 证特性的基于预测-修正原对偶内点法的LDPC码的LP译码器。本发明的基于预测-修正原对偶内点法的LDPC码的LP译码器采用以下技术解决
方案该线性规划译码器,包括线性规划松弛模块、判断模块、迭代方向计算模块、变量 更新模块和输出模块,各模块间是串行结构;线性规划松弛模块将低密度奇偶校验(LDPC) 码的最大似然(ML)译码问题松弛成线性规划(LP)问题,随后导出LP问题的库恩一图克 (KKT =Karush-Kuhn-Tucker)方程,并且对各个变量进行初始化或者宏定义;在判断模块内 先计算迭代误差,接着判断迭代误差是否小于误差容忍度并且判断当前迭代次数是否大于 最大迭代次数,用以确定下一步进入哪个模块;迭代方向计算模块用于计算迭代方向;变量更新模块依次完成确定迭代步长和利用迭代步长、迭代方向更新当前变量值的功能,最 后将结果反馈给判断模块用以重新判断;输出模块将所求的解进行规整,输出需要的码字。
本发明利用PCPDIP算法来解LDPC码的松弛LP译码问题,不仅收敛更快,达到同 样的误码性能需要的迭代次数少,而且较BP译码器更易于分析性能,特别是在Tarmer图出 现循环的时候。


图1是本发明线性规划译码器的模块结构示意图。图2是本发明线性规划译码器的译码器的工作流程图。图3是本发明线性规划译码器的LDPC码译码问题的松弛过程示意图。图4是本发明线性规划译码器的计算迭代方向模块的工作流程图。
具体实施例方式本发明的基于PCPDIP算法的LDPC码的线性规划译码器如图1所示,包括线性规 划松弛模块、判断模块、迭代方向计算模块、变量更新模块和输出模块,各模块间是串行结 构。该译码器的工作流程如图2所示,译码器通过LP松弛模块将LDPC码的ML译码问题松 弛成LP问题,导出LP问题的库恩一图克(KKT =Karush-Kuhn-Tucker)方程,接着输入变量 的初始值Ψ°、最大迭代次数kmax和误差容忍度ε,设置当前迭代次数k为零,最后将LP问 题的KKT方程、变量初始值、最大迭代次数、误差容忍度和当前迭代次数输出到判断模块; 在判断模块中计算迭代误差,如果迭代误差小于误差容忍度或者当前迭代次数大于最大迭 代次数时,将当前的变量值直接输出到输出模块,在输出模块中输出结果并终止迭代,否则 将KKT方程和当前变量值输出到计算迭代方向模块;计算迭代方向模块利用KKT方程计算 出迭代方向Δ ψ ;在变量更新模块中先确定迭代步长α,然后利用迭代步长更新当前变量 值,接着内部的迭代次数计数器自动加一记录当前迭代次数,最后输出当前次数和当前变 量值到判断模块重新判断是否满足退出迭代条件。下面从各模块出发,详细介绍基于PCPDIP算法的LDPC码的线性规划译码器的译 码过程。(1)线性规划松弛模块线性规划松弛模块的主要功能是将LDPC码的ML译码问题松弛成LP问题,随后导 出LP问题的库恩一图克(KKT =Karush-Kuhn-Tucker)方程,并且对各个变量进行初始化或
者宏定义。考虑一个长度为η的规则LDPC码Ce {0,1}η。假设发送一个码字y= (y1 y2,...yn)T e C经过无记忆的有噪信道J = ^1J2,…又广为接收到的符号序列,那么经最大 似然(maximum likelihood, ML)译码后的ML码字为
权利要求
1. 一种基于预测-修正原对偶内点法的LDPC码的LP译码器,其特征是该线性规划 译码器,包括线性规划松弛模块、判断模块、迭代方向计算模块、变量更新模块和输出模块, 各模块间是串行结构;线性规划松弛模块将LDPC的ML译码问题松弛成LP问题,随后导出 LP问题的库恩一图克方程,并且对各个变量进行初始化或者宏定义;在判断模块内先计算 迭代误差,接着判断迭代误差是否小于误差容忍度并且判断当前迭代次数是否大于最大迭 代次数,用以确定下一步进入哪个模块;迭代方向计算模块用于计算迭代方向;变量更新 模块依次完成确定迭代步长和利用迭代步长、迭代方向更新当前变量值的功能,最后将结 果反馈给判断模块用以重新判断;输出模块将所求的解进行规整,输出需要的码字。
全文摘要
本发明提供了一种基于预测-修正原对偶内点法的LDPC码的LP译码器,包括线性规划松弛模块、判断模块、迭代方向计算模块、变量更新模块和输出模块,线性规划松弛模块将LDPC码的ML译码问题松弛成LP问题;在判断模块内先计算迭代误差,接着判断迭代误差是否小于误差容忍度并且判断当前迭代次数是否大于最大迭代次数,用以确定下一步进入的模块;迭代方向计算模块用于计算迭代方向;变量更新模块依次完成确定迭代步长和利用迭代步长、迭代方向更新当前变量值的功能,最后将结果反馈给判断模块;输出模块将所求的解进行规整,输出需要的码字。本发明具有译码收敛速度快、误码率性能好的特点。
文档编号H03M13/11GK102122962SQ20111008156
公开日2011年7月13日 申请日期2011年4月1日 优先权日2011年4月1日
发明者王旭叶, 马丕明 申请人:山东大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1