基于动态校验矩阵的极化码置信传播译码方法与流程

文档序号:14947396发布日期:2018-07-17 21:49阅读:253来源:国知局

本发明属于通信技术领域,更进一步涉及信道编码技术领域中一种基于动态校验矩阵的极化码置信传播译码方法。本发明可用来解决移动通信、个人通信、深空通信、卫星通信以及第三代移动通信等各种通信系统中的中、短码长的极化码的传统置信传播译码中较低性能和较高时间复杂度的问题。



背景技术:

极化码是E.Arikan基于信道极化现象提出的一种新的信道编码方法,在理论上被证明可以达到香农极限,并且具有较低的编译码计算复杂度,这是无线通信领域的重大突破,已经成为编码领域备受瞩目的研究热点。极化码具有确定性的构造方法,并且是第一种、也是已知的唯一能够被严格证明可“达到”信道容量的一种信道编码方法。

现有的极化码的置信传播(BeliefPropagation,BP)译码方法是基于生成矩阵构造的编码因子图上执行的,在该算法的迭代过程中,在从最右列到最左列的相邻节点之间,软信息得以更新和传播;然后,译码器进行逆过程,并且通过最右列的节点更新计划表。这是BP译码算法的一个循环过程。当达到最大迭代次数MBP以后,基于最左列节点的信息的来决定的ui估值尽管它具有和连续删除(succession cancellation,SC)译码算法相同的译码复杂度,但是该译码算法中,帧错误率还是很高,译码性能并不理想,并且由于迭代次数过多,所以时间复杂度较高。

北京邮电大学拥有的专利技术“一种循环冗余校验辅助的极化码译码方法”(授权公告日:2012年9月26日,授权公告号:CN 102694625 B)中公开了一种循环冗余校验辅助的极化码译码方法。该译码方法通过搜索辅助方法确定参数,构造译码方法的辅助结构,搜索候选比特估计序列并且执行循环冗余校验,能大大地提高采用极化码作为信道编译码的通信系统的纠错能力。该方法虽然提高了采用极化码作为信道编译码的通信系统的纠错能力,但是该方法仍然存在不足之处:在对有限个信道进行极化后,仍然存在部分未被极化的信道。因此,有限码长的极化码在这个译码下的抗噪性并不理想,并且存在低输出高延迟的问题。

张双青和刘爱军在其发表的论文“一种改进的极化码置信译码器”(《通信技术》

vol.47,no.3,pp.253-257,Mar.2014.)中公开了一种极化码对数域BP译码的修正算法。该方法通过对错误计算的对数似然信息进行修正以提升译码性能,首先,对于译码因子图中参与该似然信息计算的节点,引入一个修正参数,以修正该节点承载的信息的对数似然信息(修正参数可以由密度进化的高斯近似算法得到),然后,通过置信译码改进算法进行译码。数据结果表明,在牺牲很小的复杂度的条件下,相比原算法,修正算法能够获得0.2dB左右的比特信噪比增益。该方法的不足之处是:在该改进的算法下,误帧率依然很大,译码的性能并没有明显的提高,并且由于译码迭代次数过多,算法的复杂度较高。



技术实现要素:

本发明的目的在于针对上述已有技术的不足,提出一种基于动态调整校验矩阵的极化码置信传播译码方法,避免了低输出高延迟的问题,提高了极化码的译码性能,同时具有较低的复杂度。

为实现上述目的,本发明方法的思路是:首先,对极化码的校验矩阵进行调整,使其对应不可靠比特位的那些列成为单位子阵,然后,执行置信传播译码算法,若输出结果满足判定条件则译码结束,否则进行下一轮矩阵调整并重新执行置信传播译码。这种译码方法使得极化码的校验矩阵变成低密度形式,并且减少了其中短环的数量,从而提高极化码在置信传播译码算法下的性能。

本发明方法的实现步骤如下:

(1)设置译码模块的参数:

(1a)设置置信传播译码的最大迭代次数,其取值为译码模块容许范围内的正整数;

(1b)设置校验矩阵调整的最大次数,其取值为译码模块容许范围内的正整数;

(2)初始化参数:

(2a)将置信传播译码的迭代次数初始化为0;

(2b)将校验矩阵调整的次数初始化为0;

(3)调整校验矩阵为低密度形式:

(3a)计算生成矩阵中每个元素值;

(3b)将生成矩阵中所有元素的值,组成生成矩阵;

(3c)将生成矩阵中所有对应极化码中固定位的列进行转置操作后,组成校验矩阵;

(3d)计算极化码码字比特对应的对数似然值;

(3e)对极化码码字比特对应的最新的对数似然值取绝对值,得到极化码码字比特对应的绝对对数似然值;

(3f)将极化码码字所有比特对应的绝对对数似然值,组成一个绝对对数似然值向量;

(3g)将绝对对数似然值向量中的值,按照由小到大的顺序排序,将排序后的前N-K个绝对对数似然值对应的比特的下标标号,组成一个向量B,其中,N表示极化码的长度,K表示极化码中信息位的长度;

(3h)将校验矩阵中对应向量B中每个元素值的列,执行高斯消去操作,得到转化后的单位子矩阵;

(3i)将校验矩阵的单位子矩阵第j+1行加到第j行,其中,j的取值范围为[1,N-k-1],N表示待译码的极化码的长度,K表示待译码的极化码中信息位的长度,得到低密度校验矩阵;

(4)置信传播译码:

(4a)计算极化码码字比特对应的外部信息;

(4b)计算极化码码字比特对应的更新后的对数似然值;

(4c)计算极化码码字比特的估值;

(4d)将极化码码字所有比特的估值组成一个码字估值向量;

(5)判定码字估值向量是否为有效向量:

若码字估值向量与校验矩阵的乘积是0向量,则将该码字估值向量判定为有效向量,执行步骤(6);若码字估值向量与校验矩阵的乘积不是0向量,并且当前的置信传播译码的迭代次数尚未超过置信传播译码的最大迭代次数,则将该码字估值向量判定为无效向量,将置信传播译码的迭代次数加1,执行步骤(4);

(6)计算绝对对数似然值的最小值;

(7)计算阈值;

(8)判定译码是否成功:

如果绝对对数似然值的最小值大于等于阈值,表示译码成功,执行步骤(9);如果绝对对数似然值的最小值小于阈值,并且校验矩阵调整的次数小于等于校验矩阵调整最大次数,表示译码未成功,将矩阵的调整次数加1,执行步骤(3);

(9)将码字估值向量的信息部分作为译码结果输出。

本发明与现有技术相比具有以下优点:

第一,由于本发明采用调整校验矩阵为低密度形式的校验矩阵进行置信传播译码,克服了现有技术中的置信传播译码算法中基于编码因子图译码的高误帧率的不足,使得本发明的方法通过使用低密度和少短环的校验矩阵,从而提高了收到的软信息的可靠性,加速了置信传播译码算法的收敛,降低了帧错误率,明显地提高了译码性能。

第二,由于本发明采用判定码字估值向量是否为有效向量和判定译码结果是否成功来实现及时停止译码算法的迭代,克服了现有技术中的置信传播译码算法中迭代次数过多的不足,使得本发明的方法实现了及时地判定置信传播译码算法是否收敛,及时停止迭代,降低了译码的复杂度,提高了译码性能。

附图说明

图1为本发明的流程图;

图2为采用本发明和现有技术的译码方法的性能对比图;

图3为采用本发明和现有技术的译码方法的时间复杂度对比图。

具体实施方式

下面结合附图对本发明做进一步描述。

参照附图1,对本发明的具体步骤做进一步描述。

步骤1,设置译码模块的参数。

设置置信传播译码的最大迭代次数,该最大迭代次数取值为译码模块容许范围内的正整数。置信传播译码的最大迭代次数设置得越大,译码性能会越好,但是译码时间也会越长。综合考虑译码的时间和性能,置信传播译码的最大迭代次数一般取值范围为[1,50]。在本发明的实施例中,将置信传播译码的最大迭代次数设置为50。

设置校验矩阵调整的最大次数,其取值为译码模块容许范围内的正整数。校验矩阵调整的最大次数设置得越大,译码性能会越好,但是译码时间也会越长。综合考虑译码的时间和性能,综合考虑译码的时间和性能,校验矩阵调整的最大次数一般取值范围为[1,20]。在本发明的实施例中,将校验矩阵调整的最大次数设置为10。

步骤2,初始化参数。

将置信传播译码的迭代次数初始化为0。将校验矩阵调整的次数初始化为0。

步骤3,调整校验矩阵为低密度形式。

计算生成矩阵中每个元素的值:

其中,Gab表示生成矩阵中第a行第b列的元素值,a的取值范围为[1,N],b的取值范围为[1,N],N表示待译码的极化码的长度,∏表示求积操作,log2表示以2为底的对数操作,表示异或操作,bi表示该元素所在列的二进制形式的第i位数值,i的取值范围为[1,log2N],表示该元素所在行的二进制形式的第log2N-i位数值。

将生成矩阵中所有元素的值,组成生成矩阵。

将生成矩阵中所有对应极化码中固定位的列进行转置操作后,组成校验矩阵。

当待译码的极化码为一个码长为8,信息位长度为4的极化码时,在高斯信道下其对应的生成矩阵是:

则对应的校验矩阵是:

计算极化码码字比特对应的对数似然值:

r(0)(xi)=ln(Pr(yi|xi=0)/Pr(yi|xi=1))

其中,γ(0)(xi)表示初始化极化码码字比特xi对应的对数似然值,xi表示发送端发送的第i位比特信息,i的取值范围为[1,N],N表示待译码的极化码的长度,ln表示以e为底的自然对数操作,Pr(|)表示事件发生的条件概率,yi表示接收端接收的第i位比特信息。

对极化码码字比特对应的最新的对数似然值取绝对值,得到极化码码字比特对应的绝对对数似然值。只有第一次矩阵调整时,使用初始化得到的对数似然值γ(0)(xi),之后的矩阵调整使用的都是上一轮译码时得到的最新的对数似然值r(L)(xi),γ(0)(xi)表示初始化极化码码字比特xi对应的对数似然值,xi表示发送端发送的第i位比特信息,i的取值范围为[1,N],N表示待译码的极化码的长度,r(L)(xi)表示置信传播译码第L次迭代时码字比特xi对应的更新后的对数似然值,L表示置信传播译码的迭代次数。

将极化码码字所有比特对应的绝对对数似然值,组成一个绝对对数似然值向量。

将绝对对数似然值向量中的值,按照由小到大的顺序排序,将排序后的前N-K个绝对对数似然值对应的比特的下标标号,组成一个向量B,其中,N表示极化码的长度,K表示极化码中信息位的长度。绝对对数似然值用来衡量该比特估计值的可靠程度,因此绝对值越大,说明该位的估计值越可靠,否则的话说明该判定值越不可靠。从小到大排序后,前N-K个绝对对数似然值对应的比特,被认为是比较不可靠的。

将校验矩阵中对应向量B中每个元素值的列,执行高斯消去操作,得到转化后的单位子矩阵。由于极化码的校验矩阵是高密度形式,存在许多短环,本步就是要把校验矩阵中对应着前N-K个最小绝对似然值的那些比特下标的列变换成单位子阵,即使得这N-K列变成稀疏的形式。在执行高斯消去操作时,需要按照向量B中的下标顺序,逐一对校验矩阵中相应的列,执行高斯消去操作。校验矩阵的N-K列变成如下形式:

将校验矩阵的单位子矩阵第j+1行加到第j行,其中,j的取值范围为[1,N-k-1],N表示待译码的极化码的长度,K表示待译码的极化码中信息位的长度,得到低密度校验矩阵。完成本步骤的操作后,校验矩阵的单位子矩阵中每行的度由1变成2。

步骤4,置信传播译码。

计算极化码码字比特对应的外部信息:

其中,e(L)(xi)表示置信传播译码第L次迭代时码字比特xi对应的外部信息,L表示置信传播译码的迭代次数,xi表示发送端发送的第i位比特信息,i的取值范围为[1,N],N表示待译码的极化码的长度,Σ表示求和操作,表示低密度形式的校验矩阵第j行第i列元素的值,j的取值范围为[1,N-K],K表示待译码的极化码中信息位的长度,tanh-1(·)表示做双曲正切倒数操作,∏表示求积操作,表示低密度形式的校验矩阵第j行第p列元素的值,p的取值范围为[1,N],tanh(·)表示做双曲正切操作,r(L-1)(xi)表示置信传播译码第L-1次迭代时码字比特xi对应的对数似然值。

计算极化码码字比特对应的更新后的对数似然值:

r(L)(xi)=r(L-1)(xi)+ηe(L)(xi)

其中,r(L)(xi)表示置信传播译码第L次迭代时码字比特xi对应的更新后的对数似然值,L表示置信传播译码的迭代次数,xi表示发送端发送的第i位比特信息,i的取值范围为[1,N],N表示待译码的极化码的长度,r(L-1)(xi)表示置信传播译码第L-1次迭代时极化码码字比特xi对应的对数似然值,η表示缓冲系数,其取值范围为[0,1],e(L)(xi)表示置信传播译码第L次迭代时码字比特xi对应的外部信息。η取0到1之间任一数值即可,在本发明的实施例中,η的值设为0.5。

计算极化码码字比特的估值:

其中,表示极化码码字比特xi的估值,xi表示发送端发送的第i位比特信息,i的取值范围为[1,N],N表示待译码的极化码的长度,r(L)(xi)表示置信传播译码第L次迭代时码字比特xi对应的更新后的对数似然值,L表示置信传播译码的迭代次数。

将极化码码字所有比特的估值组成一个码字估值向量。

步骤5,判定码字估值向量是否为有效向量。

若码字估值向量与校验矩阵的乘积是0向量,则将该码字估值向量判定为有效向量,执行步骤6。若码字估值向量与校验矩阵的乘积不是0向量,并且当前的置信传播译码的迭代次数尚未超过置信传播译码的最大迭代次数,则将该码字估值向量判定为无效向量,将置信传播译码的迭代次数加1,执行步骤4。

首先,按照置信传播译码常规的早期停止标准的方法判定码字估值向量,就是检测码字估值向量与校验矩阵的乘积是否是0向量。若码字估值向量与校验矩阵的乘积不是0向量,说明码字估值向量不是有效码字,如果当前的置信传播译码的迭代次数超过了置信传播译码的最大迭代次数,则说明置信传播译码在校验矩阵上仍然不收敛,译码器执行下一轮的矩阵调整操作。但是若码字估值向量与校验矩阵的乘积是0向量,根据极化码置信传播译码的规则和我们仿真的结果,仍然不能肯定码字估值向量就是有效的码字,因此设计了下面的步骤。

步骤6,计算绝对对数似然值的最小值:

M=min(|r(L)(xi)|)

其中,M表示所有绝对对数似然值的最小值,min(·)表示取所有值的最小值操作,|·|表示取绝对值操作,r(L)(xi)表示置信传播译码第L次迭代时极化码码字比特xi对应的更新后的对数似然值,L表示置信传播译码的迭代次数,xi表示发送端发送的第i位比特信息,i的取值范围为[1,N],N表示待译码的极化码的长度。

步骤7,计算阈值:

其中,β表示阈值,SNR表示高斯信道的信噪比。

本发明的实施例中,在信道信噪比较小的时候,阀值取较小值(比如0.5)和取较大的值(比如7.5)时,译码性能变化不大。在信道信噪比较高时,阀值的值取得越大,译码性能越好,但是译码时间也会越长。综合考虑译码性能和译码时间,在本发明的实施例中,信噪比小于2.5时,阈值取0.5,信噪比大于等于2.5时,阈值取15.5。

步骤8,判定译码是否成功。

如果绝对对数似然值的最小值大于等于阈值,表示译码成功,执行步骤9;如果绝对对数似然值的最小值小于阈值,并且校验矩阵调整的次数小于等于校验矩阵调整最大次数,表示译码未成功,将矩阵的调整次数加1,执行步骤3。

比特的绝对对数似然值越大,就说明该位为0或1的概率越大,当码字估值向量所有比特中绝对对数似然值的最小值都大于阀值时,说明译码输出的码字估值向量中每一位为0(或1)的概率都比该位为1(或0)的概率至少大eβ倍,e是自然对数,β是阈值。因此,我们选择出绝对对数似然值的最小值,并让其与阀值比较,若绝对对数似然值的最小值大于阈值,则认为码字估值向量是有效的码字;否则的话,说明码字估值向量不是有效码字,若校验矩阵调整的次数小于等于校验矩阵调整的最大次数,需要继续调整校验矩阵,若校验矩阵调整的次数大于校验矩阵调整的最大次数,则译码器译码失败。在做下一轮矩阵调整时,依据的比特似然值是最近的一次置信传播译码计算出的比特似然值,执行步骤2中相应操作后,对原始的校验矩阵进行调整。

步骤9,将码字估值向量的信息部分作为译码结果输出。

下面结合附图对本发明的译码效果作进一步描述。

1、仿真条件:

本发明的仿真实验是在MATLAB 7.0软件下进行的。在本发明的仿真实验中,为了真实地模拟加性高斯白噪声信道,采用伪随机序列模拟高斯白噪声和BPSK的信号调制方法,信源输出端的信息序列采用随机数生成,码长为1024,码率是0.5,带宽为20M的信道模型。

参照附图2比较本发明和现有技术的译码性能。

图2中横轴表示信噪比,纵轴表示帧错误率。以实心圆标示的曲线表示采用现有技术原连续删除译码算法下极化码的帧错误率。以正方形标示的曲线表示采用现有技术标准置信传播译码下极化码的帧错误率。以菱形标示的曲线表示采用现有技术列表译码算法下极化码的帧错误率,该列表长度为20。以叉号标示的曲线表示本发明算法下极化码的帧错误率,其中,置信传播译码的最大迭代次数设置为50,校验矩阵调整的最大次数设置为10。从图2中可以看出,在信道的信噪比相同时,本发明译码算法的帧错误率明显低于现有技术的译码算法,拥有较好的译码性能。

参照附图3比较本发明和现有技术的时间复杂度。

图3中横轴表示信噪比,纵轴表示平均的BP译码迭代次数。以正方形标示的直线表示采用现有技术标准BP译码所需的迭代次数,因为是固定迭代次数,所以迭代次数不管信噪比是多少均不变。以圆形标示的曲线表示采用现有技术基于生成矩阵的早停止标准的标准BP译码的平均迭代次数。以叉号标示的曲线表示采用现有技术改进版的低复杂度的标准BP译码的平均迭代次数。以实心圆标示的曲线是本发明平均BP译码的平均迭代次数,其中,置信传播译码的最大迭代次数设置为50,校验矩阵调整的最大次数设置为10。从图3中可以看出,在信道的信噪比相同时,本发明译码算法的迭代次数低于现有技术的标准BP译码算法,并且本发明所需的平均迭代次数随着信噪比的增加迅速降低,保持了较低的时间复杂度。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1