CN103117750B - 一种低密度奇偶校验码的错误概率估计方法 - Google Patents

一种低密度奇偶校验码的错误概率估计方法 Download PDF

Info

Publication number
CN103117750B
CN103117750B CN201310012571.2A CN201310012571A CN103117750B CN 103117750 B CN103117750 B CN 103117750B CN 201310012571 A CN201310012571 A CN 201310012571A CN 103117750 B CN103117750 B CN 103117750B
Authority
CN
China
Prior art keywords
obj
ref
noise
snr
subinterval
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310012571.2A
Other languages
English (en)
Other versions
CN103117750A (zh
Inventor
陈为刚
柳元
杨晋生
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tianjin University
Original Assignee
Tianjin University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tianjin University filed Critical Tianjin University
Priority to CN201310012571.2A priority Critical patent/CN103117750B/zh
Publication of CN103117750A publication Critical patent/CN103117750A/zh
Application granted granted Critical
Publication of CN103117750B publication Critical patent/CN103117750B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种低密度奇偶校验码的错误概率估计方法,(1)利用蒙特卡罗法确定参考信噪比SNRref;(2)定义控制变量V(z),将V的取值范围划分为若干个子区间;估计SNRref下噪声z落入V的第k个子区间的概率Pk,ref,k内噪声导致译码错误的条件概率Perr|k,ref,以及在导致译码错误的所有噪声中,k内的噪声占总数的条件概率Pk|err,ref,并确定可信区间;(3)输入仿真信噪比SNRobj,当SNRobj≤SNRref,采用蒙特卡罗法估计错误概率,流程结束;当SNRobj>SNRref,执行步骤(4);(4)估计SNRobj下噪声落入k内的概率Pk,obj;(5)估计SNRobj下在导致译码错误的所有噪声中,落入k内的噪声占总数的条件概率Pk|err,obj;(6)估计SNRobj下的错误概率Perr,obj。本发明通过较小的译码运算量可获得码字的较低错误概率;本发明减少了仿真所需耗费的译码运算量,缩短了仿真时间。

Description

一种低密度奇偶校验码的错误概率估计方法
技术领域
本发明涉及数字通信差错控制编码领域,尤其涉及一种低密度奇偶校验码的错误概率估计方法。
背景技术
信道编码是实现消息的可靠传输的有效途径。在数字通信系统中,衡量纠错码性能的指标是比特或码字的错误概率,比特或码字的错误概率反映了系统的可靠性。目前,获取编码通信系统错误概率的方法有三大类:解析法,计算机仿真方法及基于硬件平台的仿真方法。低密度奇偶校验(Low-DensityParity-Check,LDPC)码是一种性能接近香农极限的好码,其在高信噪比下的错误概率很低。针对码长为有限长的LDPC码的性能估计,现有的解析法应用起来非常困难,并且基于硬件平台的仿真方法的开发周期长、成本高、可移植性差,因此简单、可移植性强、灵活性高的仿真方法的应用获得了极大推广。
目前,蒙特卡罗(MonteCarlo,MC)法是纠错码性能估计中最常用的仿真方法。但是,LDPC码在高信噪比下的错误概率很低,运用MC法估计该类码的性能时,估计器方差的收敛速度缓慢,需要耗费大量的仿真时间。
针对该问题,为减小仿真时间,提出了重点采样(ImportanceSampling,IS)法,该方法是一种能降低估计器方差的仿真方法,一定程度上解决了MC法在估计低错误概率时遇到的问题,已在LDPC码的性能仿真中获得了广泛应用,缩短了仿真时间。这种方法的思想在于选取一个合适的偏置分布,使导致译码错误的样本数在仿真总样本数中所占的比例升高,从而降低错误概率估计器的方差,缩短仿真时间。最早应用于LDPC码性能仿真中的IS法是经典IS法,在该方法中,偏置分布的获取依赖于分析码字结构及错误区域特性,当码字结构是非规则结构,且仿真中采用迭代译码时,上述分析变得十分困难,使得经典的IS法不能估计非规则结构的LDPC码的性能。
自适应重点采样(AdaptiveImportanceSampling,AIS)方法是上述经典IS方法的改进方法,它无需分析LDPC码的码字结构,也不依赖具体的译码算法,能够在有限次的迭代过程中自适应地获得趋近于最优的偏置分布,因而能灵活应用于各种类型的LDPC码中。双自适应重点采样(DualAdaptiveImportanceSampling,DAIS)法和快速平坦直方图(FastFlatHistogram)法是AIS法在纠错码性能估计领域中的发展和应用。该类方法利用一个预先定义的变量来控制偏置分布的更新,使偏置分布逐渐趋近于最优,从而获得系统的错误概率。
发明人在实现本发明的过程中,发现现有技术中至少存在以下缺点和不足:
AIS方法和DAIS方法在高信噪比下仍需要较大的仿真译码运算量,在运行低错误概率的仿真时需要较长的仿真时间。
发明内容
本发明提供了一种低密度奇偶校验码的错误概率估计方法,减少了仿真译码运算量,缩短了仿真时间。
本发明的特征是基于不同信噪比下属于同一个控制变量子区间内的条件错误概率相等这一现象,利用参考信噪比下的条件错误概率值计算输入信噪比下的联合概率值,进一步估计低密度奇偶校验码的错误概率。其中,控制变量是信道噪声各个分量的函数。
一种低密度奇偶校验码的错误概率估计方法,所述方法包括以下步骤:
(1)利用蒙特卡罗仿真方法确定参考信噪比SNRref
(2)定义控制变量V(z),将V的取值范围划分为若干个子区间;估计SNRref下噪声z落入V的第k个子区间的概率Pk,ref,第k个子区间内噪声导致译码错误的条件概率Perr|k,ref,以及在导致译码错误的所有噪声中,落入V的第k个子区间的噪声占总数的条件概率Pk|err,ref,并确定可信区间;
(3)输入待仿真的信噪比SNRobj,判断输入信噪比SNRobj是否小于SNRref,当SNRobj≤SNRref,采用蒙特卡罗法估计系统的错误概率,流程结束;当SNRobj>SNRref,执行步骤(4);
(4)估计SNRobj下噪声落入V的第k个子区间的概率Pk,obj
(5)估计SNRobj下在导致译码错误的所有噪声中,落入V的第k个子区间的噪声占总数的条件概率Pk|err,obj
(6)估计SNRobj下的错误概率Perr,obj
所述利用蒙特卡罗仿真确定参考信噪比SNRref具体为:
(1.1)初始化SNRref为一合适值;
(1.2)采用蒙特卡罗仿真方法估计SNRref下系统的错误概率;
(1.3)判断所得错误概率是否在区间[10-4,10-3]之内,当错误概率落在区间[10-4,10-3]之内时,得到SNRref;当错误概率小于10-4时,SNRref减小步长ΔSNR,执行步骤(1.2)~(1.3)直至满足判断条件,得到SNRref;当错误概率大于10-3时,SNRref增加步长ΔSNR,执行步骤(1.2)~(1.3)直至满足判断条件,得到SNRref
所述定义控制变量V(z),将V的取值范围划分为若干个子区间;估计SNRref下噪声落入V的第k个子区间的概率Pk,ref,及k中噪声导致译码错误的条件概率Perr|k,ref,估计在导致译码错误的所有噪声中,落入V的第k个子区间的噪声占总数的条件概率Pk|err,ref,并确定可信区间具体为:
(2.1)控制变量其中n为LDPC码的码长,zl是噪声z的第l个分量,当zl与调制后的信号符号相反时,H(qlzl)=1,当zl与调制后的信号符号相同时,H(qlzl)=0;
(2.2)将V的取值范围划分为若干个子区间,SNRref下的划分步骤具体为,
(2.2.1)将SNRref下的控制变量范围[Vmin,ref,Vmax,ref]和子区间数目Lref暂设定为[0,1]和1000,子区间的长度ΔV=(Vmax,ref-Vmin,ref)/Lref
(2.2.2)运行不包含译码的无约束仿真,获得仿真样本;
(2.2.3)当仿真样本数超过107时,选取第一个噪声数不为零的子区间k对应的V值为Vmin,ref,选取最后一个噪声数不为零的子区间k对应的V值为Vmax,ref
(2.2.4)将[Vmin,ref,Vmax,ref]划分为Lref=L0个子区间,L0可根据不同的低密度奇偶校验码的参数设定,并计算ΔV0=(Vmax,ref-Vmin,ref)/L0
(2.3)采用包含译码的无约束仿真估计SNRref下噪声落入V的第k个子区间的概率Pk,ref,及第k个子区间内噪声导致译码错误的条件概率Perr|k,ref
(2.4)采用包含译码的约束仿真估计SNRref下在导致译码错误的所有噪声中,落入V的第k个子区间的噪声占总数的条件概率Pk|err,ref
(2.5)确定可信区间[V*,V**];
(2.5.1)选取条件概率Perr|k,ref不为零的一段连续区域;
(2.5.2)在条件概率Perr|k,ref不为零的连续区域内,从最左端开始,选取子区间数为δ的区域并暂定为[V*,V**];
(2.5.3)在子区间数为δ的区域内计算错误概率Perr,ref=Pk,ref×Perrk,ref/Pk|err,ref,与MC的仿真结果进行对比,当错误概率Perr,ref与MC的仿真结果之间的相对误差小于等于10%时,得到区间[V*,V**],当相对误差大于10%时,保持区域内的子区间数为δ,增大区间端点的值,重复步骤(2.5.3)以修正区间[V*,V**]。
所述估计SNRobj下的概率Pk,obj具体为:
(4.1)初始化不包含译码的无约束仿真中的控制变量范围[Vmin,obj,Vmax,obj],子区间长度ΔV及子区间的数目Lobj,具体为,
(4.1.1)将SNRobj下的控制变量范围[Vmin,obj,Vmax,obj]和子区间数目Lobj暂设定为[0,V**+α]和1000,子区间的长度ΔV=(Vmax,obj-Vmin,obj)/Lobj
(4.1.2)运行不包含译码的无约束仿真,获得仿真样本;
(4.1.3)当噪声数超过107时,选取噪声数不为零且序号k最小的子区间对应的V值为Vmin,obj,Vmax,obj=V**+α;
(4.1.4)将[Vmin,obj,Vmax,obj]划分为Lobj个子区间,Lobj=(Vmax,obj-Vmin,obj)/ΔV0
(4.2)运行不包含译码的无约束仿真,估计Pk,obj
所述估计SNRobj下的条件概率Pk|err,obj具体为:
(5.1)初始化包含译码的约束仿真中的控制变量范围[V′min,obj,V′max,obj],子区间长度ΔV及子区间的数目L′obj;具体为,
(5.1.1)将[V′min,obj,V′max,obj]暂设定为[0,Vmax,obj]即[0,V**+α],子区间长度ΔV=ΔV0,运行包含译码的约束仿真,获得仿真样本;
(5.1.2)当仿真样本数超过107时,选取第一个噪声数目不等于零的子区间对应的V值为V′min,obj,则控制变量范围为[V′min,obj,V**+α];
(5.1.3)计算L′obj=(V′max,obj-V′min,obj)/ΔV=(V**+α-V′min,obj)/ΔV0
(5.2)运行包含译码的约束仿真,估计Pk|err,obj
所述估计SNRobj下的Perr,obj具体为,
(6.1)令Perr|k,obj=Perr|k,ref,计算SNRobj下噪声落入V的第k个子区间且能够导致译码错误的联合概率Perr,k,obj=Pk,objPerr|k,obj=Pk,objPerrk,ref
(6.2)在[V*,V**]内计算平均错误概率Perr,obj=Perr,k,obj/Pk|err,obj
所述的步骤(2.2.2)、(4.1.2)、(4.2)中不包含译码的无约束仿真具体为:
1)设定噪声个数i=0,迭代次数j=1,第一次迭代过程中应产生的总噪声数目为N1,第一次迭代中噪声落入控制变量第k个子区间的概率其中1≤k≤L;
2)令初始噪声等于z0,z0是能够导致译码器出现判决错误的噪声,i加1;
3)采用Metropolis算法生成一个新的噪声,i加1;
4)计算新的噪声落入控制变量的子区间k,k内的噪声数加1;
5)判断i是否小于N1,若不满足判断条件,执行步骤6);若满足判断条件,重复步骤3)~5)直至不满足判断条件;
6)采用Berg递归公式计算
7)判断是否满足收敛条件若满足,输出若不满足,i=0,j增1,下一次迭代中总的仿真样本数等于1.3倍的本次迭代中总的仿真样本数,重复步骤2)至7),直至满足收敛条件,输出
所述的步骤(2.3)中包含译码的无约束仿真具体为,
1)设定噪声个数i=0,迭代次数j=1,第一次迭代过程中应产生的总噪声数目为N1,第一次迭代中噪声落入控制变量第k个子区间的概率其中1≤k≤L;
2)令初始噪声等于z0,i加1;
3)采用Metropolis算法生成一个新的噪声,i加1;
4)计算新的噪声落入控制变量的子区间号k,k内的噪声数加1;
5)将新的噪声加在全零码字上,送入LDPC译码器;若译码器输出端的错误码字数为1,第k个子区间内的错误帧数为1;若译码器输出端的错误码字数为0,第k个子区间内的错误帧数不变;
6)判断i是否小于N1,若不满足判断条件,执行步骤7);若满足判断条件,重复步骤3)~6)直至不满足判断条件;
7)采用Berg递归公式计算
8)判断是否满足收敛条件若满足,输出并计算Perr|k;若不满足,i=0,j增1,下一次迭代中总的仿真样本数等于1.3倍的本次迭代中总的仿真样本数,重复步骤2)至8),直至满足收敛条件,输出
所述的步骤(2.4)、(5.1.1)、(5.2)中包含译码的约束仿真具体为,
1)设定噪声个数i=0,迭代次数j=1,第一次迭代过程中应产生的总噪声数目为N2,第一次迭代中噪声落入控制变量第k个子区间的概率其中1≤k≤L′;
2)令初始噪声等于z0,i加1;
3)采用修改后的Metropolis算法生成一个新的噪声,i加1;
4)计算新的噪声落入控制变量的子区间号k,k内的噪声数加1;
5)判断i<N2,若不满足判断条件,执行步骤6);若满足判断条件,重复步骤3)~5)直至不满足判断条件;
6)采用Berg递归公式计算
7)判断是否满足仿真收敛条件若满足,输出若不满足,i=0,j增1,下一次迭代中总的仿真样本数等于1.3倍的本次迭代中总的仿真样本数,重复步骤2)到7),直至满足收敛条件,输出
本发明提供的技术方案的有益效果是:本发明基于不同信噪比下的属于同一个控制变量子区间的噪声导致译码器出现判决错误的条件概率相等这一现象,设计了一种LDPC码的低译码样本数的错误概率估计方法,通过较小的译码运算量即可获得LDPC码的错误概率;本发明减少了仿真所需耗费的译码运算量,从而缩短了仿真时间。
附图说明
图1为本发明提供的一种低密度奇偶校验码的错误概率估计方法的流程图;
图2是不包含译码的无约束仿真的流程图;
图3是Metropolis算法的流程图;
图4是包含译码的约束仿真的流程图;
图5是修改后的Metropolis算法的流程图;
图6是SNRref和SNRobj下控制变量范围的示意图;
图7是计算SNRobj下Perr,obj的流程图;
图8是MacKay(96,48)LDPC码的仿真结果图。
具体实施方式
为减少仿真译码运算量,缩短仿真时间,本发明提供了一种低密度奇偶校验码的错误概率估计方法,参见图1、图2、图3、图4、图5、图6、图7。下面将结合附图对本发明的实施方式作进一步地详细描述。
本发明实施例的特征是:基于不同信噪比下的属于同一个控制变量子区间内的噪声导致译码器出现判决错误的条件概率相等这一现象,利用参考信噪比下的条件概率值计算输入信噪比下的错误概率。详细地,
Perr,k,obj=Pk,objPerr|k,ref
Perr,obj=Perr,k,obj/Pk|err,obj
其中,Perr|k,ref是参考信噪比下控制变量的第k个子区间内的噪声z导致译码错误的条件概率,Pk,obj是输入信噪比下噪声落入第k个子区间内的概率,Perr,k,obj是输入信噪比下噪声落入第k个子区间且能够导致译码错误的联合概率,Pk|err,obj是在导致译码错误的所有噪声中,落入第k个子区间的噪声占总数的条件概率,Perr,obj是输入信噪比下的错误概率。控制变量其中zl是z的第l个分量,当zl与调制后的信号符号相反时,H(qlzl)=1,当zl与调制后的信号符号相同时,H(qlzl)=0。控制变量的范围被划分为若干个子区间,根据V(z)可计算噪声z所落入的子区间k。
(1)利用蒙特卡罗仿真方法确定参考信噪比SNRref
其中,该步骤具体为:
(1.1)初始化SNRref为一合适值;
(1.2)采用蒙特卡罗仿真方法估计SNRref下系统的错误概率;
(1.3)判断所得错误概率是否在区间[10-4,10-3]之内,当错误概率落在区间[10-4,10-3]之内时,得到SNRref;当错误概率小于10-4时,SNRref减小步长ΔSNR,执行步骤(1.2)~(1.3)直至满足判断条件,得到SNRref;当错误概率大于10-3时,SNRref增加步长ΔSNR,执行步骤(1.2)~(1.3)直至满足判断条件,得到SNRref
(2)定义控制变量V(z),将V的取值范围划分为若干个子区间;估计SNRref下噪声z落入V的第k个子区间的概率Pk,ref,第k个子区间内噪声导致译码错误的条件概率Perr|k,ref,以及在导致译码错误的所有噪声中,落入V的第k个子区间的噪声占总数的条件概率Pk|err,ref,并确定可信区间具体为:
(2.1)控制变量其中n为LDPC码的码长,zl是噪声z的第l个分量,当zl与调制后的信号符号相反时,H(qlzl)=1,当zl与调制后的信号符号相同时,H(qlzl)=0;
(2.2)将V的取值范围划分为若干个子区间,SNRref下的划分步骤具体为,
(2.2.1)将SNRref下的控制变量范围[Vmin,ref,Vmax,ref]和子区间数目Lref暂设定为[0,1]和1000,子区间的长度ΔV=(Vmax,ref-Vmin,ref)/Lref
(2.2.2)运行不包含译码的无约束仿真,获得仿真样本;
(2.2.3)当仿真样本数超过107时,选取第一个噪声数不为零的子区间k对应的V值为Vmin,ref,选取最后一个噪声数不为零的子区间k对应的V值为Vmax,ref
(2.2.4)将[Vmin,ref,Vmax,ref]划分为Lref=L0个子区间,L0可根据不同的低密度奇偶校验码的参数设定,并计算ΔV0=(Vmax,ref-Vmin,ref)/L0
(2.3)采用包含译码的无约束仿真估计SNRref下噪声落入V的第k个子区间的概率Pk,ref,及第k个子区间内噪声导致译码错误的条件概率Perr|k,ref
(2.4)采用包含译码的约束仿真估计SNRref下能导致译码错误的所有噪声中,落入V的第k个子区间的噪声占总数的条件概率Pk|err,ref
(2.5)确定可信区间[V*,V**];
(2.5.1)选取条件概率Perr|k,ref不为零的一段连续区域;
(2.5.2)在条件概率Perr|k,ref不为零的连续区域内,从最左端开始,选取子区间数为δ的区域并暂定为[V*,V**];
(2.5.3)在子区间数为δ的区域内计算错误概率Perr,ref=Pk,ref×Perr|k,ref/Pk|err,ref,与MC的仿真结果进行对比,当错误概率Perr,ref与MC的仿真结果之间的相对误差小于等于10%时,得到区间[V*,V**],当相对误差大于10%时,保持区域内的子区间数为δ,增大区间端点的值,重复步骤(2.5.3)以修正区间[V*,V**]。
(3)输入待仿真的信噪比SNRobj,判断输入信噪比SNRobj是否小于SNRref,当SNRobj≤SNRref,采用蒙特卡罗法估计系统的错误概率,流程结束;当SNRobj>SNRref,执行步骤(4)。
(4)估计SNRobj下噪声落入V的第k个子区间的概率Pk,obj,具体为,
(4.1)初始化不包含译码的无约束仿真中的控制变量范围[Vmin,obj,Vmax,obj],子区间长度ΔV及子区间的数目Lobj,具体为;
(4.1.1)将SNRobj下的控制变量范围[Vmin,obj,Vmax,obj]和子区间数目Lobj暂设定为[0,V**+α]和1000,子区间的长度ΔV=(Vmax,obj-Vmin,obj)/Lobj
(4.1.2)运行不包含译码的无约束仿真,获得仿真样本数;
(4.1.3)当噪声数超过107时,选取噪声数不为零且序号k最小的子区间对应的V值为Vmin,obj,Vmax,obj=V**+α;
(4.1.4)将[Vmin,obj,Vmax,obj]划分为Lobj个子区间,Lobj=(Vmax,obj-Vmin,obj)/ΔV0
(4.2)运行不包含译码的无约束仿真,估计Pk,obj
(5)估计SNRobj下在导致译码错误的所有噪声中,落入V的第k个子区间的噪声占总数的条件概率Pk|err,obj,具体为;
其中,该步骤具体为:
(5.1)初始化包含译码的约束仿真中的控制变量范围[V′min,obj,V′max,obj],子区间长度ΔV及子区间的数目L′obj;具体为,
(5.1.1)将[V′min,obj,V′max,obj]暂设定为[0,Vmax,obj]即[0,V**+α],子区间长度ΔV=ΔV0,运行包含译码的约束仿真,获得仿真样本;
(5.1.2)当仿真样本数超过107时,选取第一个噪声数目不等于零的子区间对应的V值为V′min,obj,控制变量范围为[V′min,obj,V**+α];
(5.1.3)计算L′obj=(Vmax,obj-V′min,obj)/ΔV=(Vmax,obj-V′min,obj)/ΔV0
(5.2)运行包含译码的约束仿真,估计Pk|err,obj
如图2所示,步骤(2.2.2)、(4.1.2)、(4.2)中不包含译码的无约束仿真具体为,
1)设定噪声个数i=0,迭代次数j=1,第一次迭代过程中应产生的总的噪声数目N1,第一次迭代中噪声落入第k个子区间的概率(1≤k≤L);
2)初始噪声z*,(1)=z0,z0是能够导致译码器出现判决错误的噪声,*代表仿真中引入了偏置,i加1;
3)采用Metropolis算法生成一个新的噪声z*,(i)=(z1,…,zn),i加1,其中n为码长,Metropolis算法包括两个步骤,产生一个新的噪声,判断新的噪声能否被接受;
4)计算新的噪声z*,(i)落入的控制变量的子区间k=(V(z*,(i))-Vmin)/ΔV,第k个子区间内的噪声数目加1;
5)判断i是否小于N1,若不满足判断条件,执行步骤6);若满足判断条件,重复步骤3)~5)直至不满足判断条件;
6)采用如下Berg递归公式计算第j+1次迭代过程中噪声落入子区间内的概率(1≤k≤L)
P k + 1 ( j + 1 ) = P k ( j + 1 ) P k + 1 ( j ) P k ( j ) ( H k + 1 * , ( j ) H k * , ( j ) ) g ^ k , 其中 g ^ k ( j ) = g k ( j ) &Sigma; l = 1 j g k ( l ) , g k ( l ) = H k * , ( l ) H k + 1 * , ( l ) H k * , ( l ) + H k + 1 * , ( l ) ;
7)判断是否满足仿真收敛条件若满足,输出(1≤k≤L);若不满足,i=0,j增1,下一次迭代过程中总的仿真样本数N1=1.3×N1,重复步骤2)到7),直至满足收敛条件,输出
步骤3)所介绍的Metropolis算法的流程图如图3所示,Metropolis算法为本领域技术人员所公知,本发明实施例在此不做赘述。
步骤(2.3)中包含译码的无约束仿真具体为,
1)设定噪声个数i=0,迭代次数j=1,第一次迭代过程中应产生的总噪声数目为N1,第一次迭代中噪声落入控制变量第k个子区间的概率其中1≤k≤L;
2)令初始噪声等于z0,i加1;
3)采用Metropolis算法生成一个新的噪声,i加1;
4)计算新的噪声落入控制变量的子区间k,k内的噪声数加1;
5)将新的噪声加在全零码字上,送入LDPC译码器;若译码器输出端的错误码字数为1,第k个子区间内的错误帧数为1;若译码器输出端的错误码字数为0,第k个子区间内的错误帧数不变;
6)判断i是否小于N1,若不满足判断条件,执行步骤7);若满足判断条件,重复步骤3)~6)直至不满足判断条件;
7)采用Berg递归公式计算
8)判断是否满足收敛条件若满足,输出计算Perr|k;若不满足,i=0,j增1,下一次迭代中总的仿真样本数等于1.3倍的本次迭代中总的仿真样本数,重复步骤2)至8),直至满足收敛条件,输出
如图4所示,步骤(2.4)、(5.1.1)、(5.2)中包含译码的约束仿真具体为,
1)设定噪声个数i=0,迭代次数j=1,第一次迭代过程中总的噪声数目为N2,第一次迭代过程中噪声落入第k个子区间的概率(1≤k≤L′);
2)令初始噪声z*,(1)=z0,*代表仿真中引入了偏置,i加1;
3)发送信号为全零码字,采用修改后的Metropolis算法生成一个新的噪声z*,(i)=(z1,…,zn),i加1,将新的噪声z*,(i)加在全零码字上,修改后的Metropolis算法包括三个步骤,产生一个新的噪声、判断新的噪声能否导致译码器出现判决错误、判断新的噪声能否被接受;
4)计算新的噪声z*,(i)落入的控制变量子区间k=(V(z*,(i))-V′min)/ΔV,k内的噪声数目加1;
5)判断i<N2,若不满足判断条件,执行步骤6);若满足判断条件,重复步骤3)~5)直至不满足判断条件;
6)采用Berg递归公式计算第j+1次迭代过程中噪声落入子区间内的概率(1≤k≤L′)
P k + 1 | err ( j + 1 ) = P k | err ( j + 1 ) P k + 1 | err ( j ) P k | err ( j ) ( E k + 1 * , ( j ) E k * , ( j ) ) g ^ k , 其中 g ^ k ( j ) = g k ( j ) &Sigma; l = 1 j g k ( l ) , g ( k ) l = E k * , ( l ) E k + 1 * , ( l ) E k * , ( l ) + E k + 1 * , ( l ) ;
7)判断是否满足仿真收敛条件若满足,输出若不满足,i=0,j增1,下一次迭代过程中总的仿真样本数N2=1.3×N2,重复步骤2)到7),直至满足收敛条件,输出
步骤3)介绍的修改后的Metropolis算法的流程图如图5所示,修改后的Metropolis算法为本领域技术人员所公知,本发明实施例在此不做赘述。
参考信噪比SNRref下控制变量范围[Vmin,ref,Vmax,ref],SNRobj下估计Pk的仿真中的控制变量范围[Vmin,obj,Vmax,obj]以及估计Pk|err的仿真中的控制变量范围[V′min,obj,Vmax,obj]在V轴上的位置如图6所示。[Vmin,ref,Vmax,ref]和[Vmin,obj,Vmax,obj]的重叠区域为[Vmin,ref,Vmax,obj],Vmax,obj-Vmin,ref等于重叠区域内的子区间数目Loverlap乘以子区间的长度ΔV0。计算错误概率的可信区间是[V*,V**],bin_no是区间[V*,V**]内长度为ΔV0的子区间的数目。
如图7所示,步骤(6)即估计SNRobj下的错误概率Perr,obj具体为:
1)信噪比SNRref和信噪比SNRobj下控制变量的范围相重叠的区域内的子区间数Loverlap=(Vmax,obj-Vmin,ref)/ΔV0,Perr,obj=0,在该重叠区域内计算联合概率Perr,k,obj=Pk,objPerr|k,ref
2)区间[V*,V**]内的子区间数bin_no=(V**-V*)/ΔV0,在该区间内计算错误概率之和Perr,obj=Perr,objPerr,k,obj/Pk|err,obj
3)在[V*,V**]内,计算错误概率的平均值
下面给出一个具体的实施例,说明本发明给出的低密度奇偶校验码的错误概率估计方法的可行性。
本发明实施例以码长为96,码率为1/2的MacKay(96,48)LDPC码为一个特例,仿真中发送信号为全零码字,调制方式为二进制相移键控调制,已调信号为{+1,…,+1}。LDPC码的译码器采用置信度传播译码算法,迭代次数为5次,步骤(1)中SNRref为4dB,SNRobj为大于4dB的实数,Perr指误帧率(FER),也可指误比特率(BER)。
步骤(1.1)中SNRref=1dB,步骤(1.3)中ΔSNR=1dB,SNRref下控制变量的范围[Vmin,ref,Vmax,ref]=[0.2483,0.7583],控制变量子区间的数目L0=300,控制变量子区间的长度ΔV0=0.0017,初始噪声z0为能够导致译码器出现判决错误的噪声。步骤(2.2)中的区间[V*,V**]=[0.5,0.55],δ=30。步骤(4.1.3)中α=0.1240。步骤(4.2.1)中,第一次迭代中应产生的总的噪声数目N1=5000,图3中的最大步长因子ε1=1.5。步骤(5.2.1)中,第一次迭代中应产生的总噪声数目N2=10000,图5中的最大步长因子ε2=0.5。
仿真结果显示,在低信噪比区域,本方法所得FER及BER估计值与MC法一致;在高信噪比区域,本方法能够获得LDPC码的低FER及BER估计值,如图8所示,其中IDAIS法表示本发明给出的低密度奇偶校验码的错误概率估计方法。
表1给出了信噪比为11dB时,MC法、DAIS法及IDAIS法这三种仿真方法所需译码的样本数及仿真增益,仿真增益G1等于MC法所需译码的样本数分别与其它两种方法所需译码的样本数之比,仿真增益G2等于DAIS法所需译码的样本数分别与其它两种方法所需译码的样本数之比。其中,MC仿真所需的译码样本数是在保证估计值精确度为10%的条件下,由N≥100/Pe(Pe是误帧率)估计得到。仿真结果表明,本方法所需译码的样本数为DAIS法的13.6%,因此能够达到减少译码运算量,缩短仿真时间的目的。
表1MC、DAIS及IDAIS法所需译码的样本数及仿真增益(SNRobj=11dB)
综上所述,本发明实施例具体说明了低密度奇偶校验码的错误概率估计方法。本发明实施例基于不同信噪比下的属于同一个控制变量子区间的噪声导致译码器出现判决错误的条件概率相等这一现象,设计了一种LDPC码的低译码样本数的错误概率估计方法,通过较小的译码运算量即可获得LDPC码的错误概率。本发明提出的方法减少了仿真所需耗费的译码运算量,从而缩短了仿真时间。
本领域技术人员可以理解附图只是一个优选实施例的示意图,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (9)

1.一种低密度奇偶校验码的错误概率估计方法,其特征在于,所述方法包括以下步骤:
(1)利用蒙特卡罗仿真方法确定参考信噪比SNRref
(2)定义控制变量V(z),将V的取值范围划分为若干个子区间;估计SNRref下噪声z落入V的第k个子区间的概率Pk,ref,第k个子区间内噪声导致译码错误的条件概率Perr|k,ref,以及在导致译码错误的所有噪声中,落入V的第k个子区间的噪声占总数的条件概率Pk|err,ref,并确定可信区间;
(3)输入待仿真的信噪比SNRobj,判断输入信噪比SNRobj是否小于SNRref
当SNRobj≤SNRref,采用蒙特卡罗法估计系统的错误概率,流程结束;当SNRobj>SNRref,执行步骤(4);
(4)估计SNRobj下噪声落入V的第k个子区间的概率Pk,obj
(5)估计SNRobj下在导致译码错误的所有噪声中,落入V的第k个子区间的噪声占总数的条件概率Pk|err,obj
(6)估计SNRobj下的错误概率Perr,obj
2.根据权利要求1所述的一种低密度奇偶校验码的错误概率估计方法,其特征在于,所述利用蒙特卡罗仿真方法确定参考信噪比SNRref具体为:
(1.1)初始化SNRref为一合适值;
(1.2)采用蒙特卡罗仿真方法估计SNRref下系统的错误概率;
(1.3)判断所得错误概率是否在区间[10-4,10-3]之内,当错误概率落在区间[10-4,10-3]之内时,得到SNRref;当错误概率小于10-4时,SNRref减小步长ΔSNR,执行步骤(1.2)~(1.3)直至满足判断条件,得到SNRref;当错误概率大于10-3时,SNRref增加步长ΔSNR,执行步骤(1.2)~(1.3)直至满足判断条件,得到SNRref
3.根据权利要求2所述的一种低密度奇偶校验码的错误概率估计方法,其特征在于,所述定义控制变量V(z),将V的取值范围划分为若干个子区间;估计SNRref下噪声z落入V的第k个子区间的概率Pk,ref,第k个子区间内噪声导致译码错误的条件概率Perr|k,ref,以及在导致译码错误的所有噪声中,落入V的第k个子区间的噪声占总数的条件概率Pk|err,ref,并确定可信区间具体为:
(2.1)控制变量其中n为LDPC码的码长,zl是噪声z的第l个分量,当zl与调制后的信号符号相反时,H(qlzl)=1,当zl与调制后的信号符号相同时,H(qlzl)=0;
(2.2)将V的取值范围划分为若干个子区间,SNRref下的划分步骤具体为,
(2.2.1)将SNRref下的控制变量范围[Vmin,ref,Vmax,ref]和子区间数目Lref暂设定为[0,1]和1000,子区间的长度ΔV=(Vmax,ref-Vmin,ref)/Lref
(2.2.2)运行不包含译码的无约束仿真,获得仿真样本;
(2.2.3)当仿真样本数超过107时,选取第一个噪声数不为零的子区间k对应的V值为Vmin,ref,选取最后一个噪声数不为零的子区间k对应的V值为Vmax,ref
(2.2.4)将[Vmin,ref,Vmax,ref]划分为Lref=L0个子区间,L0可根据不同的低密度奇偶校验码的参数设定,并计算ΔV0=(Vmax,ref-Vmin,ref)/L0
(2.3)采用包含译码的无约束仿真估计SNRref下噪声落入V的第k个子区间的概率Pk,ref,及第k个子区间内噪声导致译码错误的条件概率Perr|k,ref
(2.4)采用包含译码的约束仿真估计SNRref下在导致译码错误的所有噪声中,落入V的第k个子区间的噪声占总数的条件概率Pk|err,ref
(2.5)确定可信区间[V*,V**];
(2.5.1)选取条件概率Perr|k,ref不为零的一段连续区域;
(2.5.2)在条件概率Perr|k,ref不为零的连续区域内,从最左端开始,选取子区间数为δ的区域并暂定为[V*,V**];
(2.5.3)在子区间数为δ的区域内计算错误概率Perr,ref=Pk,ref×Perr|k,ref/Pk|err,ref,与蒙特卡罗仿真方法的仿真结果进行对比,当错误概率Perr,ref与MC的仿真结果之间的相对误差小于等于10%时,得到区间[V*,V**],当相对误差大于10%时,保持区域内的子区间数为δ,增大区间端点的值,重复步骤(2.5.3)以修正区间[V*,V**]。
4.根据权利要求3所述的一种低密度奇偶校验码的错误概率估计方法,其特征在于,所述估计SNRobj下噪声落入V的第k个子区间的概率Pk,obj具体为:
(4.1)初始化不包含译码的无约束仿真中的控制变量范围[Vmin,obj,Vmax,obj],子区间长度ΔV及子区间的数目Lobj,具体为,
(4.1.1)将SNRobj下的控制变量范围[Vmin,obj,Vmax,obj]和子区间数目Lobj暂设定为[0,V**+α]和1000,子区间的长度ΔV=(Vmax,obj-Vmin,obj)/Lobj
(4.1.2)运行不包含译码的无约束仿真,获得仿真样本;
(4.1.3)当噪声数超过107时,选取噪声数不为零且序号k最小的子区间对应的V值为Vmin,obj,Vmax,obj=V**+α;
(4.1.4)将[Vmin,obj,Vmax,obj]划分为Lobj个子区间,Lobj=(Vmax,obj-Vmin,obj)/ΔV0
(4.2)运行不包含译码的无约束仿真,估计Pk,obj
5.根据权利要求4所述的一种低密度奇偶校验码的错误概率估计方法,其特征在于,所述估计SNRobj下在导致译码错误的所有噪声中,落入V的第k个子区间的噪声占总数的条件概率Pk|err,obj具体为:
(5.1)初始化包含译码的约束仿真的控制变量范围[V′min,obj,V′max,obj],子区间长度ΔV及子区间的数目L'obj;具体为,
(5.1.1)将[V′min,obj,V′max,obj]暂设定为[0,Vmax,obj]即[0,V**+α],子区间长度ΔV=ΔV0,运行包含译码的约束仿真,获得仿真样本;
(5.1.2)当仿真样本数超过107时,选取第一个噪声数目不等于零的子区间对应的V值为V′min,obj,则控制变量范围为[V′min,obj,V**+α];
(5.1.3)计算L'obj=(V′max,obj-V′min,obj)/ΔV=(V**+α-V′min,obj)/ΔV0
(5.2)运行包含译码的约束仿真,估计条件概率Pk|err,obj
6.根据权利要求1所述的一种低密度奇偶校验码的错误概率估计方法,其特征在于,所述估计SNRobj下的错误概率Perr,obj具体为,
(6.1)令Perr|k,obj=Perr|k,ref,计算SNRobj下噪声落入V的第k个子区间且能够导致译码错误的联合概率Perr,k,obj=Pk,objPerr|k,obj=Pk,objPerr|k,ref
(6.2)在[V*,V**]内计算平均错误概率Perr,obj=Perr,k,obj/Pk|err,obj
7.根据权利要求4所述的一种低密度奇偶校验码的错误概率估计方法,其特征在于,步骤(2.2.2)、(4.1.2)、(4.2)中不包含译码的无约束仿真具体为,
1)设定噪声个数i=0,迭代次数j=1,第一次迭代过程中应产生的总噪声数目为N1,第一次迭代中噪声落入控制量第k个子区间的概率其中1≤k≤L;
2)令初始噪声等于z0,z0是能够导致译码器出现判决错误的噪声,i加1;
3)采用Metropolis算法生成一个新的噪声,i加1;
4)计算新的噪声落入控制变量的子区间k,k内的噪声数加1;
5)判断i是否小于N1,若不满足判断条件,执行步骤6);若满足判断条件,重复步骤3)~5)直至不满足判断条件;
6)采用Berg递归公式计算
7)判断是否满足收敛条件 max k | ( P k ( j ) - P k ( j + 1 ) ) / P k ( j + 1 ) | < 0.1 , 若满足,输出 P k = P k ( j + 1 ) ; 若不满足,i=0,j增1,下一次迭代中总的仿真样本数等于1.3倍的本次迭代中总的仿真样本数,重复步骤2)至7),直至满足收敛条件,输出
8.根据权利要求3所述的一种低密度奇偶校验码的错误概率估计方法,其特征在于,步骤(2.3)中包含译码的无约束仿真具体为,
1)设定噪声个数i=0,迭代次数j=1,第一次迭代过程中应产生的总噪声数目为N1,第一次迭代中噪声落入控制变量第k个子区间的概率其中1≤k≤L;
2)令初始噪声等于z0,i加1;
3)采用Metropolis算法生成一个新的噪声,i加1;
4)计算新的噪声落入控制变量的子区间k,k内的噪声数加1;
5)将新的噪声加在全零码字上,送入LDPC译码器;若译码器输出端的错误码字数为1,第k个子区间内的错误帧数为1;若译码器输出端的错误码字数为0,第k个子区间内的错误帧数不变;
6)判断i是否小于N1,若不满足判断条件,执行步骤7);若满足判断条件,重复步骤3)~6)直至不满足判断条件;
7)采用Berg递归公式计算
8)判断是否满足收敛条件 max k | ( P k ( j ) - P k ( j + 1 ) ) / P k ( j + 1 ) | < 0.1 , 若满足,输出 P k = P k ( j + 1 ) , 计算Perr|k;若不满足,i=0,j增1,下一次迭代中总的仿真样本数等于1.3倍的本次迭代中总的仿真样本数,重复步骤2)至8),直至满足收敛条件,输出
9.根据权利要求5所述的一种低密度奇偶校验码的错误概率估计方法,其特征在于,步骤(2.4)、(5.1.1)、(5.2)中包含译码的约束仿真具体为,
1)设定噪声个数i=0,迭代次数j=1,第一次迭代过程中应产生的总噪声数目为N2,第一次迭代中噪声落入控制变量第k个子区间的概率其中1≤k≤L';
2)令初始噪声等于z0,i加1;
3)采用修改后的Metropolis算法生成一个新的噪声,i加1;
4)计算新的噪声落入控制变量的子区间号k,k内的噪声数加1;
5)判断i<N2,若不满足判断条件,执行步骤6);若满足判断条件,重复步骤3)~5)直至不满足判断条件;
6)采用Berg递归公式计算
7)判断是否满足仿真收敛条件 max k | ( P k | e r r ( j ) - P k | e r r ( j + 1 ) ) / P k | e r r ( j + 1 ) | < 0.1 , 若满足,输出 P k | e r r = P k | e r r ( j + 1 ) ; 若不满足,i=0,j增1,下一次迭代中总的仿真样本数等于1.3倍的本次迭代中总的仿真样本数,重复步骤2)到7),直至满足收敛条件,输出
CN201310012571.2A 2013-01-14 2013-01-14 一种低密度奇偶校验码的错误概率估计方法 Active CN103117750B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310012571.2A CN103117750B (zh) 2013-01-14 2013-01-14 一种低密度奇偶校验码的错误概率估计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310012571.2A CN103117750B (zh) 2013-01-14 2013-01-14 一种低密度奇偶校验码的错误概率估计方法

Publications (2)

Publication Number Publication Date
CN103117750A CN103117750A (zh) 2013-05-22
CN103117750B true CN103117750B (zh) 2016-02-24

Family

ID=48416037

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310012571.2A Active CN103117750B (zh) 2013-01-14 2013-01-14 一种低密度奇偶校验码的错误概率估计方法

Country Status (1)

Country Link
CN (1) CN103117750B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104467873B (zh) * 2014-11-05 2017-07-14 北京理工大学 一种基于概率计算的线性分组码模拟译码器设计方法
JP6600146B2 (ja) * 2015-03-27 2019-10-30 ルネサスエレクトロニクス株式会社 データ処理回路及びエラー訂正方法
CN105843990B (zh) * 2016-03-15 2018-10-12 华中科技大学 一种基于最速下降法与二分法的概率电路仿真方法
CN106788459A (zh) * 2016-12-12 2017-05-31 天津大学 一种快速收敛的估计ldpc码错误概率的方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6141788A (en) * 1998-03-13 2000-10-31 Lucent Technologies Inc. Method and apparatus for forward error correction in packet networks
CN1717871A (zh) * 2002-10-05 2006-01-04 数字方敦股份有限公司 连锁反应码的系统编码和解码

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6141788A (en) * 1998-03-13 2000-10-31 Lucent Technologies Inc. Method and apparatus for forward error correction in packet networks
CN1717871A (zh) * 2002-10-05 2006-01-04 数字方敦股份有限公司 连锁反应码的系统编码和解码

Also Published As

Publication number Publication date
CN103117750A (zh) 2013-05-22

Similar Documents

Publication Publication Date Title
CN100486118C (zh) 一种基于分段偏移修正的最小和译码方法
CN100576168C (zh) 用于迭代解码的软信息比例变换
CN1557052B (zh) 数字通信系统中使用涡轮解码来减少位误差率和帧误差率的装置和方法
CN103117750B (zh) 一种低密度奇偶校验码的错误概率估计方法
US6686853B2 (en) Method and apparatus for iterative decoding
US8296637B1 (en) Channel quality monitoring and method for qualifying a storage channel using an iterative decoder
US20080075204A1 (en) Decoding method and system for real-time wireless channel estimation
CN101931418B (zh) 解码方法以及解码装置
US20090049358A1 (en) Methods and systems for terminating an iterative decoding process of a forward error correction block
CN100539446C (zh) 提早终止迭代的涡轮解码器
JP2009543420A (ja) 反復符号数的指標を用いた通信回線制御
CN101405943A (zh) 用于低密度奇偶校验解码器的方法和装置
US8949697B1 (en) Low power Reed-Solomon decoder
KR20110004211A (ko) 반복 복호수 설정 방법, 반복 복호화 장치 및 그 방법
CN102111241A (zh) 低密度奇偶校验迭代译码提前终止的方法
CN106788459A (zh) 一种快速收敛的估计ldpc码错误概率的方法
CN101807929B (zh) 低密度奇偶校验码的选择退火最小和译码方法
US20170041027A1 (en) Method and device for measuring the current signal-to-noise ratio when decoding ldpc codes
CN103607208A (zh) 基于归一化修正因子序列的ldpc最小和译码方法
EP2696527B1 (en) Improved blind transport format detection depending on the conditions of reception of the signal
CN109361401B (zh) 一种用于随钻测量传输系统的极化信道编码方法
KR20000075096A (ko) 무선통신 시스템에서 채널 적응형 맵 채널 복호 장치 및 방법
CN101834618B (zh) Turbo解码方法和Turbo解码器
CN106656423A (zh) 一种基于em算法的ldpc码译码噪声方差的估计方法
RU2546070C1 (ru) Способ мягкого декодирования помехоустойчивого кода

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant