背景技术
在通信技术中,如何提高通信的可靠性一直是通信领域研究的重中之重。纠错码的引入,使得通信的可靠性得到了极大地提高。如何进一步提高纠错码的性能,使之具有更强的纠错能力,成为纠错码研究的主要方向。现有研究表明,通过改变纠错码的结构,例如改变码长或增加码率,都可以提高纠错码的纠错能力。另外,在不改变纠错码结构的前提下,仅通过改变码字码元的能量,也就是在现有纠错码的结构基础上,仅通过能量的重新分配,也可达到增强纠错码的纠错能力的效果。相对于改变纠错码的结构而言,通过改变能量分配从而增强纠错能力的方法更为简单有效、易于实现,成为目前信道编码领域内的研究热点。
目前,通过改变能量分配从而增强纠错码的纠错能力的方法主要有两种,一是通过改变信息位的能量和校验位的能量分配比例来增强纠错能力;二是基于码的低码重分布,通过增加小码重码字的重量,从而提高纠错能力。
对于第一种方法,收录于Vehicular Technology Conf.,2001,Fall,54th IEEE VTS,Vol.3,October2001,pp.1839-1842的文章《Asymmetric energy allocation strategies to improve turbocodes performance》公开了一种实现方案:设能量分布矢量为(Es,Ep1,Ep2),且Es+Ep1+Ep2=3。其中,Es为分配到信息序列的能量系数,Ep1和Ep2分别为第一路校验序列和第二路校验序列的能量分配参数。通过改变这三个能量系数,从而改变Turbo码的误比特率特性。图1为不同能量分配方案下的误比特率曲线图。在图1中,Turbo码的交织长度为1000,采用s交织器,码率为1/3。由图1中不同曲线可以看出,通过增加校验序列的能量,确实可以降低在高信噪比下的误比特率,但在低信噪比和中信噪比时曲线特性严重恶化。而且,此方案依赖于纠错码码型,针对不同的码型可能产生相反的结果;同时,本方案只给出了码率为1/3的Turbo码的仿真结果,能否应用到其它码率的Turbo码,或者其它类型的码,并未说明,也没有给出理论上的支持和解释。
对于第二种方法,收录于Electronics Letters Volume:40,Issue:19,2004,Page(s):1205-1206的文章《Optimal energyallocations for turbo codes based on distributions of lowweight codewords》公开了一种基于码的低码重分布的方案:首先寻找出最小(和次最小)码重的码字,再通过增加小码重码字的重量,从而提高纠错码的纠错能力。图2是使用此方法得到的仿真结果图。在图2中,较高的两条曲线是交织长度为64的Turbo码能量优化前后的误比特率变化,较低的两条曲线是交织长度为1024的Turbo码能量优化前后的误比特率变化。显然,经过能量优化后,误比特率在高信噪比端都得到了明显改善。但是,此方案必须得到低重量的码字后才能实现,仅适用于码长较短的码型。当码长较长时,将会因为很难求出低码重码字的分布而无法实现。
发明内容
本发明的目的是提供一种基于误比特率分布的能量分配方法,仅通过误比特率分布曲线即可对能量进行重新分配,提高纠错码的纠错能力。
本发明采用下述技术方案:
一种基于误比特率分布的能量分配方法,包括以下步骤:
A:在一个确定的信噪比下,通过仿真程序给定一个误比特率曲线Pb(j),j=0,1,2,…,N-1;Pb(j)为第j个码元的错误概率,N为码字长度;
B:从待定系数α中选定一个特定待定系数α1,α的范围为0<α<0.2;
C:利用公式求出特定待定系数α1下的优化后能量分布,其中,Eb(j)为第j个码元的能量;
D:在仿真程序中将优化后的能量加到调制后的信号进行修正,修正后的调制信号为
其中,码字序列c=(c
0,c
1,c
2,…,c
N-1),c
j为码字中的第j个码元,j=0,1,2,…,N-1;
E:对修正后的信号进行仿真,得到特定待定系数α1下的平均误比特率;
F:从待定系数α中选定一个特定待定系数α2,α2=α1+m,m>0,然后依次进入步骤C、步骤D和步骤E,得到特定待定系数α2下的平均误比特率;
G:重复步骤F,直至从待定系数α中选定一个特定待定系数αn,αn+m>0.2,得到特定待定系数αn下的平均误比特率;
H:选择特定待定系数α1至αn所分别对应的平均误比特率中最小的一个平均误比特率,最小的一个平均误比特率所对应的能量分布及待定系数即为最优能量分布和最佳待定系数值。
I:将得到的最优能量分布应用到实际***,改变调制后信号的能量,即可改善***的误比特率特性。
所述的B步骤中,在低信噪比范围内,待定系数α的范围为0<α<0.06;在中信噪比范围内,待定系数α的范围为0.04<α<0.14;在高信噪比范围内,待定系数α的范围为0.06<α<0.2。
所述的F步骤中,m的取值为0.02。
所述的A步骤中,仿真的比特数为N×105-N×106。
如果需要改变信噪比,则返回步骤A中改变信噪比,然后进行仿真。
所述的A步骤中,对于基于码字译码的译码算法,根据比较发送码字和译码后的估算码字,直接给出各个码元的误比特率,从而得到误比特率曲线。
所述的A步骤中,对于基于迭代译码的译码算法,先将译码后得到的估算信息序列重新进行编码,得到估算码字,再和发送的原码字进行比较,得到误比特率曲线。
本发明不依赖于纠错码码型,与纠错码的结构无关,也无须知道纠错码的低码重分布,只依靠一个误比特率分布曲线,就可以对能量进行重新分配,从而达到提高纠错码的纠错能力的目的,能够适合于任何纠错码,比如线性分组码、卷积码、Turbo码等,具有更为广泛的用途。
具体实施方式
如图3所示,本发明所述的基于误比特率分布的能量分配方法,包括以下步骤:
A:在一个确定的信噪比下,通过仿真程序给定一个误比特率分布曲线Pb(j),j=0,1,2,…,N-1;Pb(j)为第j个码元的错误概率,N为码字长度,仿真的比特数为N×105-N×106。
在利用仿真程序给定误比特率曲线时,对于基于码字译码的译码算法,如最小汉明距译码,可以根据比较发送码字和译码后的估算码字,直接给出各个码元的错误概率,从而得到误比特率曲线;对于基于迭代译码的译码算法,如Turbo码的译码算法,这种译码算法只能直接给出信息序列的误比特率分布。为得到整个码字的误比特率分布,可以先将译码后得到的估算信息序列重新进行编码,得到估算码字,再和发送的原码字进行比较,得到误比特率曲线。
当码字长度较长时,如N>105,误比特率分布Pb(j)中,可能会出现某些码元的错误概率为零的情况,如果零的个数较少,比如不超过码字长度的百分之一,对于能量优化效果不会有明显的影响。如果零的个数过多,可以通过增加仿真的比特数,从而改善仿真精度。
B:从待定系数α中选定一个特定待定系数α1,α的范围为0<α<0.2;在低信噪比范围内,待定系数α的范围为0<α<0.06;在中信噪比范围内,待定系数α的范围为0.04<α<0.14;在高信噪比范围内,待定系数α的范围为0.06<α<0.2。
C:利用公式
求出特定待定系数α
1下的优化后能量分布,其中,E
b(j)为第j个码元的能量,N为码字长度;
D:在仿真程序中将优化后的能量加到调制后的信号进行修正,修正后的调制信号为
其中,码字序列c=(c
0,c
1,c
2,…,c
N-1),c
j为码字中的第j个码元,j=0,1,2,…,N-1。
E:对修正后的信号进行仿真,得到特定待定系数α1下的平均误比特率。
F:从待定系数α中选定一个特定待定系数α2,α2=α1+m,m>0,然后依次进入步骤C、步骤D和步骤E,得到特定待定系数α2下的平均误比特率;m的取值可以根据具体情况进行调整,m的取值越短,结果越精确,但仿真时间则会加长。一般情况下,m的取值可为0.02。
G:重复步骤F,直至从待定系数α中选定一个特定待定系数αn,αn+m>0.2,得到特定待定系数αn下的平均误比特率。即在m的取值确定后,在待定系数α的取值范围内,所有的待定系数α循环完毕,分别得到对应的平均误比特率。
H:选择特定待定系数α1至αn所分别对应的平均误比特率中最小的一个平均误比特率。最小的一个平均误比特率所对应的能量分布及待定系数即为最优能量分布和最佳待定系数值。
I:将得到的最优能量分布应用到实际***,改变调制后信号的能量,即可改善***的误比特率特性。
如果需要改变信噪比,则可返回步骤A中对信噪比进行改变,然后进行仿真,即可改善***的误比特率特性。
在通信技术中,低信噪比范围是指使误比特率BER<10-3的信噪比SNR的变化范围;中信噪比范围是指使误比特率BER位于10-3至10-5范围内的信噪比范围;高信噪比范围是指使误比特率>10-5的信噪比范围。
根据纠错码的特性可知,一个纠错码的纠错能力是由纠错码的结构决定的,尤其是在高信噪比时,误比特率由低重量的码字决定。图4给出了误比特率曲线和低重量码字之间的关系。在图4中,曲线1是由一个生成矩阵为g=(1,100001/100011)的Turbo码在信噪比等于4dB时通过仿真产生的,使用了一个长度为24的随机交织器,码率为1/3,使用BCJR迭代算法,迭代次数5次。由分析可知,在这个码中存在一个码重为7的最小重量码字,非零码元位置为12,24,37,38,46,49,50,在仿真曲线上可以明显看出有7个误比特率峰值与之对应。如果能够增加这7个比特的能量,使其高抗干扰能力增加,就可以降低这些峰值信噪比,从而改善整个码的误比特率特性。
因此,如果能够找出一个码的低重量的码字,增加它们的能量,即可以增加这些比特位的抗干扰能力,就可以使得这些比特位的误比特率降低,从而改善码的纠错能力。
当码字长度不是很长时,比如不大于10000时,还可以通过算法求出低重量码字分布。如背景技术中的第二种方法就是使用的这种方法。但是当码字长度大于10000时,求找低重量码字的算法的运行时间将随着码字长度的增加呈几何指数增加,使得寻找低码重码字变得几乎不可能。而误比特率分布曲线不仅反映了一个码的纠错能力,还给出了各个位置上的误比特率情况。同时,误比特率曲线通过仿真就可以得到,与码结构的复杂度几乎没有关系,远比寻找低码重码字简单得多。如果能够利用误比特率曲线来修改码元的能量,就能避免背景技术中所介绍方案的缺点,使得用能量分配的方法来改善码的纠错能力变得简单实用。
令Eb(j)=kpb α(j),其中,k是比例因子,由下式确定,α是待定系数,在仿真中确定。在能量重新分配后,仍保持码字的总能量不变,即
可得到能量优化后的能量分布:
当α=0时,Eb(j)=1,这时相当于没有进行能量优化。当α>0后,分配到低重量码字上的能量将逐渐增多。相反,当α<0时,分配到低重量码字上的能量反而减少,重量重的码字反而获得了更多的能量。因此,通过调整参数α,就可以在不同的信噪比下获得最优的能量分布,从而使得码的特性在较大的信噪比范围内得到提升。
图5是能量优化前后能量分布的变化图。图5中,曲线1是能量优化前的能量分布。由于能量是等分布的,即每一位比特得到的能量是相等的,都是1,因此曲线1的分布曲线为一条直线。曲线2是根据误比特率分布由公式(1)得到的,待定系数α=0.15。和误比特率曲线比较可以看出,误比特率高的那些比特,确实得到了较多的能量分配。图4中曲线2给出了使用图5的能量分布优化后的误比特率分布。可以看出,图4中曲线2的峰值误比特率得到了抑制,平均误比特率也从优化前的8.00×10-5降低到优化后的2.86×10-5。
图6是4个纠错码在能量优化前的误比特率分布图,横坐标是信噪比,单位是dB,竖坐标是误比特率;图7是图6中4个纠错码在能量优化后的误比特率分布图,横坐标是信噪比,单位是dB,竖坐标是误比特率。在图6、图7中,纠错码1是交织长度为64的Turbo码,生成矩阵g=(1,1101/1011),删截矩阵为p=(10;01),使用分组交织器,译码算法均为BCJR,迭代次数5次。纠错码2是交织长度为1024的Turbo码,生成矩阵g=(1,10001/11111),无删截,使用分组交织器;纠错码3与纠错码2相同,只是使用了随机交织器;纠错码4是交织长度为16384的Turbo码,生成矩阵g=(1,10001/11111),无删截,使用随机交织器。由图7可以看出,无论是哪种纠错码,经过能量优化后,性能都得到明显的提高。
以下通过对一个交织长度为1024的Turbo码进行能量优化为例,详细介绍本发明所述的基于误比特率分布的能量分配方法。
Turbo码的参数如下:
生成矩阵为g=(1,10001/11111),使用随机交织器,无删截,码率为1/3。每个分量编码器均结尾,结尾比特长度为4,则码字长度N=(1024+4)×2=2056。采用BCJR译码算法,迭代5次。
具体步骤:
A:假设信道特性很好,选取信噪比SNR=1.5dB,首先由仿真程序给出一个误比特率曲线Pb(j),j=0,1,2,…,2055;仿真比特数设为2056×105,这里取2×108。
B:设α的初值α1=0.06。
C:利用公式求出特定待定系数α1=0.06下的优化后能量分布Eb(j)。
D:在仿真程序中将优化后的能量加到调制后的信号进行修正,修正后的调制信号为
其中,码字序列c=(c
0,c
1,c
2,…,c
N-1),c
j为码字中的第j个码元,j=0,1,2,…,2055。
E:对修正后的信号进行仿真,得到特定待定系数α1=0.06下的平均误比特率。
F:修正待定系数α,从待定系数α中选定下一个特定待定系数α2,α2=α1+0.02=0.08,然后依次进入步骤C、步骤D和步骤E,得到特定待定系数α2=0.08下的平均误比特率;
G:重复步骤F,直至从待定系数α中选定一个特定待定系数α7=0.18,α7+0.02>0.2,分别得到特定待定系数α3=0.10、α4=0.12、α5=0.14、α6=0.16、α7=0.18下的平均误比特率,表1为信噪比SNR=1.5dB时,不同的待定系数α所对应的平均误比特率。
表1 不同待定系数下的平均误比特率
H:选择特定待定系数α
1至α
7所分别对应的平均误比特率中最小的一个平均误比特率,通过对表1中数据进行比较可以得出,α
2=0.08时的平均误比特率为1.30X10
-6,为α
1至α
7所分别对应的平均误比特率中最低的,和优化前的平均误比特率BER=1.15X10
-5相比较,有了接近一个数量级的提高。因此,α
2=0.08为最佳待定系数值,将α
2=0.08代入公式
即可得到最优的能量分布。
I:将得到的最优能量分布应用到实际***,改变调制后信号的能量,即可改善***的误比特率特性。