基于信道极化的交错结构重复码的编码器及其编译码方法转让专利

申请号 : CN201110095135.7

文献号 : CN102122966B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 牛凯陈凯

申请人 : 北京邮电大学

摘要 :

一种基于信道极化的交错结构重复码的编码器及其编译码方法,该编码器由顺序连接的存储容量为L比特的重复比特缓冲器、长度为N的比特位置映射器和长度为N的信道极化装置所组成,本发明基于该编码器的编码方法是:将重复编码嵌入到信道极化过程中,并在信道极化过程中先后发送的码块的部分比特之间引入重复关系进行编码。另外,本发明还提出两种译码方法:使用简单、快速的串行抵消SC算法进行译码,以及使用性能优秀的基于泰纳Tanner图的置信度传播算法进行迭代译码。本发明在创新结构编码器的基础上,编译码方法在未增加译码复杂度前提下,纠错能力更强,明显提升传输性能;特别适合应用于实际通信工程系统,具有很好的推广应用前景。

权利要求 :

1.一种基于信道极化的交错结构重复码的编码器,用于对二进制发送信号进行编码而输出二进制编码序列;其特征在于:所述编码器由顺序连接的存储容量为L比特的重复比特缓冲器、输入输出信号序列长度为N的比特位置映射器和输入输出信号序列长度为N的信道极化装置所组成,输入端口I(0)、I(1)、…、I(K-1)用于接收来自信源的长度为K的二进制信号序列,输入端口F(0)、F(1)、…、F(N-K-L-1)用于配置预设的固定二进制信号序列,该两组输入端口都直接连接长度为N的比特位置映射器,其中,L又被称为重复长n度,0≤L≤K,K≤N,N=2,n为自然数;重复比特缓冲器的输入端口与编码器输入端口I(K-L)、I(K-L+1)、...、I(K-1)分别逐一连接,其标记为R(0)、R(1)、...、R(L-1)的输出端口连接到本质为交织器的比特位置映射器;比特位置映射器的功能是将两组输入端口I(0)、I(1)、…、I(K-1)和F(0)、F(1)、…、F(N-K-L-1)以及重复比特缓冲器的输出端口R(0)、R(1)、…、R(L-1)按照预先设定的规则,映射到长度为N信道极化装置的长度为N的输入端口组U(0)、U(1)、…、U(N-1),再从该信道极化装置的输出端口组X(0)、X(1)、…、X(N-1)获得该编码器的输出;所述重复比特缓冲器的功能是将已经存储的数据按原来的顺序送到输出端后,再将输入端的数据按顺序进行存储。

2.一种采用权利要求1所述的编码器的编码方法,其特征在于:所述方法是将重复编码嵌入到信道极化过程中,并在信道极化过程中先后发送的码块的部分比特之间引入重复关系进行编码,该方法包括下述操作步骤:n

(1)确定编码参数:编码器的输出信号序列长度N=2,n为自然数,编码器的输入信号序列长度为K,且0

先按照下述方法定义N个极化信道:送入信道极化装置的信号序列为u0u1…uN-1,接收端译码器从信道接收到的信号序列为y0y1…yN-1,序号为i的极化 信道以ui为输入、y0y1…yN-1和u0u1…ui-1为输出,其转移概率函数为 简记为 式中,下标N表示信道极化装置的长度,上标i表示极化信道的序号,0≤i≤N-1;

然后计算各个极化信道的可靠性数值、即巴塔恰里亚Bhattacharyya参数:

转移概率函数为W(y|u)的二进制输入信道的Bhattachryya参数的计算公式为 式中,Y为所有信道输出的可能取值、即变量y的集合;

Bhattacharyya数值越大的信道,可靠性越低;Bhattacharyya数值越小的信道,可靠性越高;

(3)分类确定四种类型信道位置和数量,以及相关信道的对应关系:根据码率R、码长N和步骤(2)中计算得到的各个信道的Bhattachryya可靠性参数,遍取重复长度L和重复区域分界M允许的取值,其中,0≤L≤K且L≤M≤N-K+1,搜索得到使得码块错误概率的上界η值最小的L和M的值,并在该配置下分别确定下述四种类型信道位置和数量:非重复信息信道(K-L)个、重复信息信道L个、重复信道L个、固定信道(N-K-L)个;然后,确定重复信息信道与重复信道的对应关系;

(4)将一个长度为K的二进制输入信号序列 中的前(K-L)个比特标记为非重复信息比特序列,剩余的L个比特标记为重复信息比特序列 再从重复比特缓冲器读出前一个编码码块的重复比特序列 如果此时是第一个编码码块,则将 赋值为全零序列,同时对重复信息比特序列 进行复制,将得到的重复比特序列存储于重复比特缓冲器;如果没有特殊设置,则将固定比特序列 赋值为一个长度为(N-K-L)的全零序列;

(5)按照前述步骤的信道分类和对应信道的重复关系,将二进制输入信号序列 中的前(K-L)个比特送入非重复信息信道,而标记为重复信息比特序列 的剩余的L个比特送入重复信息信道,再将从重复比特缓冲器中读出的前一个编码块的重复比特序列 送入重复信道和将固定比特序列 送入固定信道;上述比特序列送入信道极化装置经过一系列交织及模二加运算后,得到最终将被 送入极化前信道W的N个比特,即输出信号 至此完成一次编码操作,流程结束。

3.根据权利要求2所述的编码方法,其特征在于:所述步骤(3)进一步包括下列操作内容:给定编码器输出信号序列长度N、编码器输入信号序列长度K、重复长度L和重复区域分界M的取值,按照如下方法对信道进行分类和计算码块错误概率的上界值:按照下述方法把信道划分成下述四种类型:从信道序号大于或等于重复区域分界M的信道中选取最可靠的K个信道作为信息信道,并将该K个信道中可靠性较低的L个标记为重复信息信道,其余的标记为非重复信息信道,再从信道序号小于M的信道中选取最可靠的L个信道标记为重复信道,未被标记为非重复信息信道、重复信息信道或重复信道的剩余信道则全部标记为固定信道;

将重复信息信道和重复信道分别按其序号从小到大顺序排列,再按该顺序一一对应构成重复关系后,采用下面公式计算码块错误概率的上界η:式中,I1和I2分别为非重复信息信道和重复信息信道的序号集合,R(j)是序号为j的重复信息信道所对应的重复信道的序号。

4.一种采用权利要求1所述的编码器的译码方法,是使用简单、快速的串行抵消SC算法进行译码;其特征在于:为方便叙述,当译码器对序号为p的码块进行译码判决时,称序号为p的码块为“当前码块”,序号为(p-1)的码块为“前一码块”,序号为(p+1)的码块为“后一码块”,式中自然数p是译码器接收的码块序号;所述译码方法包括下列操作步骤:(1)从信道接收当前码块所对应的一组长度为N的信号序列 并等待后

一码块所对应的长度为N的信号序列 被接收完毕;再从预存的前一次译

码过程得到的前一码块的判决序列 中,按照序号从小到大顺序取出重复

信息比特,得到该当前码块的重复比特序列的判决值; 信号序列或判决序列中各元素的上标p、p-1、p+1分别表示该信号序列或判决序列对应于当前码块、后一码块和前一码块;

(2)对当前码块和后一码块各自对应的两组长度为N的接收信号,分别从序号i=0的比特和j=0的比特开始传统极化码的串行抵消译码操作;

(3)暂停对后一码块的译码,继续对当前码块中序号为i的比特执行译码:

若 为 重 复 信息 比 特,则 按 照 下 述 公 式 计算 该 比 特 取 值 的 概 率 比 但不立即进行判决,跳转执行步骤(4)的操作;

若为重复比特,则用步骤(1)得到的判决值进行判决,即 R-1(i)是R(j)的反函数,其值为序号为i的重复信道所对应的重复信息信道的序号;

若为固定比特,按照传统极化码处理固定比特的方法,根据预先设定的固定序列进行判决,即

若为非重复信息比特,按照传统极化码处理信息比特的方法进行判决,

此时,若已完成对全部比特的判决,则停止译码过程,保存该判决序列用于下一次译码过程,并从判决序列中分别取出重复信息比特和非重复信息比特,再分别按序号从小到大顺序排列后,将排序后的两部分比特合并到一起,非重复信息比特在前、重复信息比特在后,得到译码结果并输出;否则,令i=i+1,再次进行步骤(3)的译码操作;

(4)暂停对当前码块的译码,继续对后一码块中序号为j的比特执行译码:根据设计规则,不可能出现该比特是重复信息比特或非重复信息比特,也不可能出现该比特是重复比特但与当前码块中的第i个比特不构成重复关系;若遇到固定比特,则按照传统极化码处理固定比特的方法,根据预先设定的固定序列进行判决,即 然后令j=j+1,再次执行步骤(4)的译码操作;若遇到重复信息节点,则计算该比特取值的概率比 按照下述方法进行判决:如果 则当前码块中的第i个比特和后一码块中的第j个比特都判决

为0;否则,当前码块中的第i个比特和后一码块中的第j个比特都判决为1;然后,令i=i+1,j=j+1,返回执行步骤(3)的译码操作。

5.根据权利要求4所述的译码方法,其特征在于:所述步骤(1)中,如果当前码块是接收到的第一个码块、即其序号p为1,则将重复比特的判决序列置为全零序列。

6.一种采用权利要求1所述的编码器的译码方法,是使用基于泰纳Tanner图的置信度传播算法进行迭代译码;其特征在于:所述方法包括下列操作步骤:(1)以两个普通极化码的泰纳图为基础,其中一个对应当前码块,另一个对应后一码块,将当前码块的重复信息比特对应的第n层变量节点和后一码块中与其构成重复关系的重复比特对应的第n层变量节点,逐个用一个度为2的校验节点连接起来,共需要增加L个这样的校验节点,其中,L为重复长度;由这L个校验节点将原来的两个极化码泰纳图连接起来,得到一个新的泰纳图;

(2)从信道接收当前码块所对应的一组长度为N的信号序列,并等待后一码块所对应的长度为N的信号序列被接收完毕后,从预先保存的前一次译码过程得到的判决序列中,顺序取出重复信息比特,得到当前码块的重复比特序列的判决值;

(3)以步骤(1)建立的泰纳图为基础,使用置信度传播算法进行迭代译码:译码初始阶段,用从信道接收的信号和已知的固定比特序列分别初始化第0层变量节点和第n层变量节点中对应的部分,用步骤(2)中得到的当前码块的重复比特序列初始化第n层变量节点中的对应部分;初始化完成后,进行置信度传播迭代译码;迭代译码过程停止后,根据当前码块对应的第n层变量节点的消息对相应的比特进行判决,得到判决序列;再保存该判决序列用于下一次译码过程;从判决序列中分别取出重复信息比特和非重复信息比特,并分别按序号 从小到大排列后,再将排序后的两部分比特合并到一起,非重复信息比特在前、重复信息比特在后,得到译码结果并输出。

7.根据权利要求6所述的译码方法,其特征在于:所述步骤(2)中,如果当前码块是接收到的第一个码块、即其序号p为1,则将重复比特的判决序列置为全零序列。

说明书 :

基于信道极化的交错结构重复码的编码器及其编译码方法

技术领域

[0001] 本发明涉及一种基于信道极化的交错结构重复码的编码器及其编译码方法,用于解决数字通信系统中由于信道对通信过程的干扰,使得传输数据出现错误的问题,属于数字通信的信道编码技术领域。

背景技术

[0002] 极化码(Polar Codes)是2009年由E.Arikan提出的一种被严格证明可以达到信n道容量的构造性的编码方法。在进行极化编码前,首先需要对N=2 个独立的二进制输入信道(或对同一个信道的先后N次使用,即一个信道的N个可用时隙),其中n为自然数,应用图1所示的信道极化的基本单元对二进制输入离散信道反复进行极化。最基本的信道极化是对两个相同的未经极化的信道W:X →Y进行单步极化操作,其中X是信道输入符号的集合(对于二进制输入信道,X取值为{0,1}),Y是信道输出符号的集合。标记该极化信道的输入比特分别为u0和u1,这两个输入比特通过一个模二加法器得到x0,另一方面将u1直接赋值给x1,即 x1=u1,为模二加运算。把x0和x1分别送入未经极化信道W,得到输出为y0和y1。从该信道极化基本单元的输入(u0和u1)和两个信道的输出(y0和y1)看,
2 2
原本独立的两个未经极化的信道W被合并成一个两输入两输出的向量信道W2:X →Y,其中X2=X×X,运算×为笛卡尔积。该向量信道包含两个子信道 (输入为u0,输出为y0y1)和 (输入为u1,输出为y0y1u0),这两个子信道即是两个极化信道。经过该单步极化过程,从信道容量上看,
其中I(·)表示求信道容量的函数。也就是说:单步极化后,在和容量保持不变的情况下,相比原本未经极化的信道,极化后的信道容量发生了偏离:一个增加,一个减少。如果对两组已经一次极化操作的信道,再在两组互相独立的转移概率相同的极化信道之间,再次分别进行单步极化操作,该偏离会更加明显,称这一组单步极化操作为第二层极化操作,而前一组单步极化操作称为第一层极化操作。每多做一层极化操作,需要的信道数就会比原先多一倍。因此,对N=2n个信道进行完全的极化,共需要n层极化操作,且每一层极化操作包括了N次单步极化操作。如不加特殊说明,“对N个信道进行极化操作”即是指完全极化。
理论上已证明,对接近无穷多个信道进行极化操作后,会出现一部分信道的容量为1,其余信道容量为0的现象,而容量为1的信道占全部信道的比例正好为原二进制输入离散信道的容量。
[0003] 参见图2,介绍一个实用的信道极化装置的递归结构,长度为N(对N个信道进行极化)的信道极化装置可以用长度为 的信道极化装置作递归操作来表示,递归过程中的最小单元(即当N=2时)即是图1所示的基本单元。图2所示的信道极化装置中有一个长度为N的比特反转交织器,它的功能是:先将输入端的十进制序号i按二进制表示为bn-1bn-2…b0,其中n=log2N,再将该二进制序列反序,得到b0b0…bn-1,最后重新按十进制表示成π(i),作为输入序号i对应的输出序号。比特反转交织器的功能是将输入端序号为i的比特映射到序号π(i)处。
[0004] 根据编码速率(R)对N个信道进行极化,并选取其中容量最大的K个信道(或者等价选取可靠性最高的K个信道,可靠性度量是采用密度进化(Density Evolution)工具或者计算巴塔恰里亚(Bhattacharyya)参数得到的),以承载用于传输消息的比特,称该部分比特为信息比特(其中 为向下取整运算),其余未被选中的信道则传输一个约定的比特序列,称其为固定比特序列(若信道对称则可简单地传输全零序列),从而形成一个从承载信息的K个比特到最终送入信道的N个比特的映射关系,这样的一种映射关系即为极化码,码长(编码后得到的二进制信号所包含的比特数)等于信道极化装置的长度N。
[0005] 由信息比特和固定比特组成的、送入信道极化装置的二进制信号序列u0…uN-1为一个编码码块(顺序与其送入的极化信道的序号一致,即ui送入 其中序号i为0到N-1的正整数, 表示将N个信道W极化后得到的序号为i的极化信道)。编码码块经过信道极化装置得到的x0…xN-1,通过N个独立信道W,接收到的信号序列为y0…yN-1。译码器的任务就是根据接收信号序列y0…yN-1得到发送信号序列u0…uN-1的一组估计值[0006] 极化码可以使用串行抵消SC(successive cancellation)算法,对编码码块中的每个比特按序号i顺序地从0到N-1依次按照下述公式进行译码:
[0007] 其中,信息比特的判决函数为: 式中,
为发送信号x通过信道 得到输出y0…yN-1和 的概率。
[0008] 极化码具有泰纳(Tanner)图结构,因此可以利用已经广泛应用于低密度奇偶校验码LDPC(Low Density Parity-Check)的置信度传播BP(belief propagation)算法对其n进行迭代译码。图3给出了一个码长N(N=2)的极化码的泰纳图,圆圈和带十字的方块分别表示泰纳图的变量节点和校验节点。图中有n+1层、每层N个变量节点以及n层、每层N个校验节点。从右往左的变量节点层序号从0到n,校验节点层序号从0到n-1。每层中的N个变量(校验节点)的序号从上至下依次从0到N-1。第0层变量节点直接从信道获取消息(用实心的圆圈区分)。第n层变量节点对应信息比特和固定比特,送入信道极化装置的序列u0…uN-1中第i个比特,即对应第n层第i个变量节点,序号i为0到N-1的正整数。译码开始前,首先用从信道接收的信号初始化第0层变量节点,用已知的固定比特序列初始化第n层变量节点中对应的部分。
[0009] 初始化完成后,在泰纳图上进行置信度传播译码算法,达到一定的迭代次数后,停止译码过程,根据第n层与信息比特对应的变量节点的消息进行判决,得到译码序列。基于泰纳图的置信度传播译码复杂度为O(NlogN),置信度传播译码算法需要进行一定数量的迭代,复杂度比串行抵消译码算法略高,但可以获得非常不错的性能。
[0010] 对于码长较小的极化码,也可以通过遍取所有可能的码字情况,计算各个码字的后验概率,再选择后验概率最大的码字作为译码结果,该方法称为最大后验概率译码算法。N
该方法可以获得最理想的译码性能,但是,复杂度极高,达到O(2),对较大码长的情况难以实用。
[0011] 因此,上述现有技术的缺点是:实用编码系统的码长不可能是无限长,而对于有限个信道进行极化操作后,仍会存在一部分传输性能既不是特别好、也不是特别差的信道,本发明将这种信道称为灰色信道。按照极化码的构造方法,不可避免地会在那些灰色信道上承载信息,从而使得该编码方案的抗噪性能会很大程度地受到那部分比特的不良影响。

发明内容

[0012] 有鉴于此,本发明的目的是提供一种基于信道极化的交错结构重复码的编码器及其相应的编译码方法,相比极化码,本发明在几乎没有付出编译码复杂度的前提下,大大提高了可靠性,具有较好的应用前景。
[0013] 为了达到上述发明目的,本发明提供了一种基于信道极化的交错结构重复码的编码器,用于对二进制发送信号进行编码而输出二进制编码序列;其特征在于:所述编码器由顺序连接的存储容量为L比特的重复比特缓冲器、输入输出信号序列长度为N的比特位置映射器和输入输出信号序列长度为N的信道极化装置所组成,输入端口I(0)、I(1)、…、I(K-1)用于接收来自信源的长度为K的二进制信号序列,输入端口F(0)、F(1)、…、F(N-K-L-1)用于配置预设的固定二进制信号序列,该两组输入端口都直接连接长度为N的n比特位置映射器,其中,L又被称为重复长度,0≤L≤K,K≤N,N=2,n为自然数;重复比特缓冲器的输入端口与编码器输入端口I(K-L)、I(K-L+1)、…、I(K-1)分别逐一连接,其标记为R(0)、R(1)、…、R(L-1)的输出端口连接到本质为交织器的比特位置映射器;比特位置映射器的功能是将两组输入端口I(0)、I(1)、...、I(K-1)和F(0)、F(1)、...、F(N-K-L-1)以及重复比特缓冲器的输出端口R(0)、R(1)、...、R(L-1)按照预先设定的规则,映射到长度为N信道极化装置的长度为N的输入端口组U(0)、U(1)、...、U(N-1),再从该信道极化装置的输出端口组X(0)、X(1)、...、X(N-1)获得该编码器的输出;所述重复比特缓冲器的功能是将已经存储的数据按原来的顺序送到输出端后,再将输入端的数据按顺序进行存储。
[0014] 为了达到上述发明目的,本发明还提供了一种采用本发明编码器的编码方法,其特征在于:所述方法是将重复编码嵌入到信道极化过程中,并在信道极化过程中先后发送的码块的部分比特之间引入重复关系进行编码,该方法包括下述操作步骤:
[0015] (1)确定编码参数:编码器的输出信号序列长度N=2n,n为自然数,编码器的输入信号序列长度为K,且0
[0016] (2)计算各个极化信道的可靠性:
[0017] 先按照下述方法定义N个极化信道:送入信道极化装置的信号序列为u0u1…uN-1,接收端译码器从信道接收到的信号序列为y0y1…yN-1,序号为i的极化信道以ui为输入、y0y1…yN-1和u0u1…ui-1为输出,其转移概率函数为 简记为 式中,下标N表示信道极化装置的长度,上标i表示极化信道的序号,0≤i≤N-1;
[0018] 然后计算各个极化信道的可靠性数值、即巴塔恰里亚Bhattacharyya参数:转移概率函数为W(y|u)的二进制输入信道的Bhattacharyya参数的计算公式为式中,Y为所有信道输出的可能取值、即变量y的集合;Bhattacharyya数值越大的信道,可靠性越低;Bhattacharyya数值越小的信道,可靠性越高;
[0019] (3)分类确定四种类型信道位置和数量,以及相关信道的对应关系:根据码率R、码长N和步骤(2)中计算得到的各个信道的Bhattacharyya可靠性参数,遍取重复长度L和重复区域分界M允许的取值,其中,0≤L≤K且L≤M≤N-K+1,搜索得到使得码块错误概率的上界η值最小的L和M的值,并在该配置下分别确定下述四种类型信道位置和数量:非重复信息信道(K-L)个、重复信息信道L个、重复信道L个、固定信道(N-K-L)个;然后,确定重复信息信道与重复信道的对应关系;
[0020] (4)将一个长度为K的二进制输入信号序列 中的前(K-L)个比特标记为非重复信息比特序列,剩余的L个比特标记为重复信息比特序列 再从重复比特缓冲器读出前一个编码码块的重复比特序列 如果此时是第一个编码码块,则将 赋值为全零序列,同时对重复信息比特序列 进行复制,将得到的重复比特序列存储于重复比特缓冲器;如果没有特殊设置,则将固定比特序列 赋值为一个长度为(N-K-L)的全零序列;
[0021] (5)按照前述步骤的信道分类和对应信道的重复关系,将二进制输入信号序列 中的前(K-L)个比特送入非重复信息信道,而标记为重复信息比特序列 的剩余的L个比特送入重复信息信道,再将从重复比特缓冲器中读出的前一个编码块的重复比特序列 送入重复信道和将固定比特序列 送入固定信道;上述比特序列送入信道极化装置经过一系列交织及模二加运算后,得到最终将被送入极化前信道W的N个比特,即输出信号 至此完成一次编码操作,流程结束。
[0022] 为了达到上述发明目的,本发明又提供了一种采用本发明编码器的译码方法,是使用简单、快速的串行抵消SC算法进行译码;其特征在于:为方便叙述,当译码器对序号为p的码块进行译码判决时,称序号为p的码块为“当前码块”,序号为(p-1)的码块为“前一码块”,序号为(p+1)的码块为“后一码块”;式中自然数p是译码器接收的码块序号;所述译码方法包括下述操作步骤:
[0023] (1)从信道接收当前码块所对应的一组长度为N的信号序列 并等待后一码块所对应的长度为N的信号序列 被接收完毕;再从预存的前一次译码过程得到的前一码块的判决序列 中,按照序号从小到大顺序取出重复信息比特,得到该当前码块的重复比特序列的判决值;信号序列或判决序列中各元素的上标p、p-1、p+1分别表示该信号序列或判决序列对应于当前码块、后一码块和前一码块;
[0024] (2)对当前码块和后一码块各自对应的两组长度为N的接收信号,分别从序号i=0的比特和j=0的比特开始传统极化码的串行抵消译码操作;
[0025] (3)暂停对后一码块的译码,继续对当前码块中序号为i的比特执行译码:
[0026] 若为重复信息比特,则按照下述公式计算该比特取值的概率比但不立即进行判决,跳转执行步骤(4)的操作;
[0027] 若为重复比特,则用步骤(1)得到的判决值进行判决,即 R-1(i)是R(j)的反函数,其值为序号为i的重复信道所对应的重复信息信道的序号;
[0028] 若为固定比特,按照传统极化码处理固定比特的方法,根据预先设定的固定序列进行处理,
[0029] 若为非重复信息比特,按照传统极化码处理信息比特的方法进行判决,[0030] 此时,若已完成对全部比特的判决,则停止译码过程,保存该判决序列用于下一次译码过程,并从判决序列中分别取出重复信息比特和非重复信息比特,再分别按序号从小到大顺序排列后,将排序后的两部分比特合并到一起,非重复信息比特在前、重复信息比特在后,得到译码结果并输出;否则,令i=i+1,再次进行步骤(3)的译码操作;
[0031] (4)暂停当前码块的译码,继续对后一码块中序号为j的比特执行译码:根据设计规则,不可能出现该比特是重复信息比特或非重复信息比特,也不可能出现该比特是重复比特但与当前码块中的第i个比特不构成重复关系;若遇到固定比特,则按照传统极化码处理固定比特的方法,根据预先设定的固定序列进行判决,即 然后令j=j+1,再次执行步骤(4)的译码操作;若遇到重复信息节点,则计算该比特取值的概率比:
[0032] 按照下述方法进行判决:
[0033] 如果 则当前码块中的第i个比特和后一码块中的第j个比特都判决为0;否则,当前码块中的第i个比特和后一码块中的第j个比特都判决为1;然后,令i=i+1,j=j+1,返回执行步骤(3)的译码操作。
[0034] 为了达到上述发明目的,本发明还提供了另一种采用本发明基于重复编码和信道极化的编码器的译码方法,是使用基于泰纳Tanner图的置信度传播算法进行的迭代译码方法,其特征在于:所述方法包括下述操作步骤:
[0035] (1)以两个普通极化码的泰纳图为基础,其中一个对应当前码块,另一个对应后一码块,将当前码块的重复信息比特对应的第n层变量节点和后一码块中与其构成重复关系的重复比特对应的第n层变量节点,逐个用一个度为2的校验节点连接起来,共需要增加L个这样的校验节点,其中,L为重复长度;再由这L个校验节点将原来的两个极化码泰纳图连接起来,得到一个新的泰纳图;
[0036] (2)从信道接收当前码块所对应的一组长度为N的信号序列,并等待后一码块所对应的长度为N的信号序列被接收完毕后,从预先保存的前一次译码过程得到的判决序列中,顺序取出重复信息比特,得到当前码块的重复比特序列的判决值;
[0037] (3)以步骤(1)建立的泰纳图为基础,使用置信度传播算法进行迭代译码:译码初始阶段,用从信道接收的信号和已知的固定比特序列分别初始化第0层变量节点和第n层变量节点中对应的部分,用步骤(2)中得到的当前码块的重复比特序列初始化第n层变量节点中的对应部分;初始化完成后,进行置信度传播迭代译码;迭代译码过程停止后,根据当前码块对应的第n层变量节点的消息对相应的比特进行判决,得到判决序列;再保存该判决序列用于下一次译码过程;从判决序列中分别取出重复信息比特和非重复信息比特,并分别按序号从小到大排列后,再将排序后的两部分比特合并到一起,非重复信息比特在前、重复信息比特在后,得到译码结果并输出。
[0038] 本发明基于信道极化的交错结构重复码的编码器及其编译码方法的创新关键技术是:提出创新结构的编码器及其编译码方法,其关键点是将极化信道划分成四类:非重复信道信道、重复信息信道、重复信道和固定信道,并相应地提出在重复信息信道和重复信道之间建立重复关系的编码方法,以及提出相应的串行抵消译码方法和基于泰纳图结构的置信度传播迭代译码方法。
[0039] 本发明的创新优点是:在创新结构编码器的基础上,本发明方法在没有增加译码复杂度的前提下,具有更强的纠错能力。相比普通极化码,采用本发明的方法虽然需要付出1倍译码时延的代价,但是,传输可靠性可以得到极大的提升:使用串行抵消译码时,其性能已经能和更为复杂的普通极化码的置信度传播迭代译码的相当;使用置信度传播迭代译码时,其性能已能接近、甚至在一些情况下优于普通极化码在最大后验概率译码时的性能。
总之,本发明提出的编码器结构简单,其编译码方法具有较低的编译码复杂度、优异的纠错能力本发明的编码器具有线性的编译码复杂度、非常优异的纠错能力,特别适合应用于实际通信工程系统,具有很好的推广应用前景。

附图说明

[0040] 图1是信道极化的基本单元结构示意图。
[0041] 图2是长度为N的信道极化装置的递归结构示意图,其中递归的最小单元(即N=2时)为图1所示的基本单元。
[0042] 图3是码长为N的极化码的泰纳图。
[0043] 图4是本发明基于信道极化的重复码编码器结构组成示意图。
[0044] 图5是本发明串行抵消译码算法的操作步骤流程图。
[0045] 图6是本发明置信度传播译码方法中的的泰纳(Tanner)图结构示意图。
[0046] 图7是码长1024的交错结构重复极化码和一般极化码在不同译码算法下的本发明实施例性能比较示意图。
[0047] 图8是码长2048的交错结构重复极化码和一般极化码在不同译码算法下的本发明实施例性能比较图。

具体实施方式

[0048] 为使本发明的目的、技术方案和优点更加清楚,下面结合附图和实施例对本发明作进一步的详细描述。
[0049] 参见图4,介绍本发明用于对二进制发送信号进行编码而输出二进制编码序列的基于信道极化的交错结构重复码的编码器的结构组成,该编码器由顺序连接的存储容量为L比特的重复比特缓冲器、长度为N的比特位置映射器和长度为N的信道极化装置所组成,输入端口I(0)、I(1)、…、I(K-1)用于接收来自信源的长度为K的二进制信号序列,输入端口F(0)、F(1)、…、F(N-K-L-1)用于配置预设的固定二进制信号序列,该两组输入端口都直接连接长度为N的比特位置映射器,其中,L又被称为重复长度,0≤L≤K,K≤N,N=n2,n为自然数;重复比特缓冲器的功能是将已经存储的数据按原来的顺序送到输出端后,再将输入端的数据按顺序进行存储,其输入端口与编码器输入端口I(K-L)、I(K-L+1)、…、I(K-1)分别逐一连接,其分别标记为R(0)、R(1)、…、R(L-1)的输出端口连接到本质为交织器的比特位置映射器;比特位置映射器的功能是将两组输入端口I(0)、I(1)、…、I(K-1)和F(0)、F(1)、…、F(N-K-L-1)以及重复比特缓冲器的输出端口R(0)、R(1)、…、R(L-1)按照预先设定的规则,映射到长度为N信道极化装置的长度为N的输入端口组U(0)、U(1)、…、U(N-1),再从该信道极化装置的输出端口组X(0)、X(1)、…、X(N-1)获得该编码器的输出。
[0050] 利用图4所示的编码器,本发明还提供一种将重复编码嵌入到信道极化过程中、并在信道极化过程中先后发送码块的部分比特之间引入重复关系进行编码的编码方法,该方法包括下述操作步骤:
[0051] (1)确定编码参数:编码器的输出信号序列长度N=2n,n为自然数,编码器的输入信号序列长度为K,且0
[0052] (2)计算各个极化信道的可靠性:
[0053] 先按照下述方法定义N个极化信道:送入信道极化装置的信号序列为u0u1…uN-1,接收端译码器从信道接收到的信号序列为y0y1…yN-1,序号为i的极化信道以ui为输入、y0y1…yN-1和u0u1…ui-1为输出,其转移概率函数为 简记为 式中,下标N表示信道极化装置的长度,上标i表示极化信道的序号,0≤i≤N-1。
[0054] 然后计算各个极化信道的可靠性数值、即巴塔恰里亚Bhattachryya参数:转移概率函数为W(y|u)的二进制输入信道的Bhattacharyya参数的计算公式为式中,Y为所有信道输出的可能取值;Bhattacharyya数值越
大的信道,可靠性越低;Bhattacharyya数值越小的信道,可靠性越高。
[0055] (3)分类确定四种类型信道位置和数量,以及相关信道的对应关系:根据码率R、码长N和步骤(2)中计算得到的各个信道的Bhattacharyya可靠性参数,遍取重复长度L和重复区域分界M允许的取值,其中,0≤L≤K且L≤M≤N-K+1,搜索得到使得码块错误概率的上界η值最小的L和M的值,并在该配置下分别确定下述四种类型信道位置和数量:非重复信息信道(K-L)个、重复信息信道L个、重复信道L个、固定信道(N-K-L)个;然后,确定重复信息信道与重复信道的对应关系。该步骤包括下列操作内容:
[0056] 给定编码器输出信号序列长度N、编码器输入信号序列长度K、重复长度L和重复区域分界M的取值,按照如下方法对信道进行分类和计算码块错误概率的上界值:
[0057] 按照下述方法把信道划分成下述四种类型:从信道序号大于或等于重复区域分界M的信道中选取最可靠的K个信道作为信息信道,并将该K个信道中可靠性较低的L个标记为重复信息信道,其余的标记为非重复信息信道,再从信道序号小于M的信道中选取最可靠的L个信道标记为重复信道,未被标记为非重复信息信道、重复信息信道或重复信道的剩余信道则全部标记为固定信道;
[0058] 将重复信息信道和重复信道分别按其序号从小到大顺序排列,再按该顺序一一对应构成重复关系后,采用下面公式计算码块错误概率的上界η:
[0059]式中,I1和I2分别为非重复信息信道和重复信息信道的序号集合,R(j)是序号为j的重复信息信道所对应的重复信道的序号。
[0060] (4)将一个长度为K的二进制输入信号序列 中的前(K-L)个比特标记为非重复信息比特序列,剩余的L个比特标记为重复信息比特序列 再从重复比特缓冲器读出前一个编码码块的重复比特序列 如果此时是第一个编码码块,则将 赋值为全零序列,同时对重复信息比特序列 进行复制,将得到的重复比特序列存储于重复比特缓冲器;如果没有特殊设置,则将固定比特序列 赋值为一个长度为(N-K-L)的全零序列。
[0061] (5)按照前述步骤的信道分类和对应信道的重复关系,将二进制输入信号序列 中的前(K-L)个比特送入非重复信息信道,而标记为重复信息比特序列 的剩余的L个比特送入重复信息信道,再将从重复比特缓冲器中读出的前一个编码块的重复比特序列 送入重复信道和将固定比特序列 送入固定信道;上述比特序列送入信道极化装置经过一系列交织及模二加运算后,得到最终将被送入极化前信道W的N个比特,即输出信号 至此完成一次编码操作,流程结束。
[0062] 参见图5,介绍本发明对应以上编码方法而提供的一种相应译码方法,该方法是使用简单、快速的串行抵消SC算法进行译码。为了方便叙述,为方便叙述,当译码器对序号为p的码块进行译码判决时,称序号为p的码块为“当前码块”,序号为(p-1)的码块为“前一码块”,序号为(p+1)的码块为“后一码块”;式中自然数p是译码器接收的码块序号;该译码方法的具体操作步骤如下:
[0063] (1)从信道接收当前码块所对应的一组长度为N的信号序列 并等待后一码块所对应的长度为N的信号序列 被接收完毕;再从预存的前一次译码过程得到的判决序列 中,按照序号从小到大顺序取出重复信息比特,得到该当前码块的重复比特序列的判决值;该信号序列或判决序列中各元素的上标p、p-1、p+1分别表示该信号序列或判决序列中对应于当前码块、后一码块和前一码块。特别地,如果当前码块是接收到的第一个码块,则将重复比特的判决序列置为全零序列。
[0064] (2)对当前码块和后一码块各自对应的两组长度为N的接收信号,分别从序号i=0的比特和j=0的比特开始传统极化码的串行抵消译码操作。
[0065] (3)暂停后一码块的译码,继续对当前码块中序号为i的比特执行译码:
[0066] 若为重复信息比特,则按照下述公式计算该比特取值的概率比但不立即进行判决,跳转执行步骤(4)的操作;
[0067] 若为重复比特,则用步骤(1)得到的判决值进行判决,即 R-1(i)是R(j)的反函数,其值为序号为i的重复信道所对应的重复信息信道的序号;
[0068] 若为固定比特,按照传统极化码处理固定比特的方法,根据预先设定的固定序列进行判决,
[0069] 若为非重复信息比特,按照传统极化码处理信息比特的方法进行判决,[0070] 此时,若已完成对全部比特的判决,则停止译码过程,保存该判决序列用于下一次译码过程,并从判决序列中分别取出重复信息比特和非重复信息比特,再分别按序号从小到大顺序排列后,将排序后的两部分比特合并到一起,非重复信息比特在前、重复信息比特在后,得到译码结果并输出;否则,令i=i+1,再次进行步骤(3)的译码操作。
[0071] (4)暂停当前码块的译码,继续对后一码块中序号为j的比特执行译码:根据设计规则,不可能出现该比特是重复信息比特或非重复信息比特,也不可能出现该比特是重复比特但与当前码块中的第i个比特不构成重复关系;若遇到固定比特,则按照传统极化码处理固定比特的方法,根据预先设定的固定序列进行判决,即 然后令j=j+1,再次执行步骤(4)的译码操作;若遇到重复信息节点,则计算该比特取值的概率比按照下述方法进行判决:
[0072] 如果 则当前码块中的第i个比特和后一码块中的第j个比特都判决为0;否则,当前码块中的第i个比特和后一码块中的第j个比特都判决为1;然后,令i=i+1,j=j+1,返回执行步骤(3)的译码操作。
[0073] 参见图6,介绍本发明使用性能优秀的基于泰纳Tanner图的置信度传播算法进行迭代译码的各个操作步骤:
[0074] (1)以两个普通极化码的泰纳图为基础,其中一个对应当前码块,另一个对应后一码块,将当前码块的重复信息比特对应的第n层变量节点和后一码块中与其构成重复关系的重复比特对应的第n层变量节点,逐个用一个度为2的校验节点连接起来,共需要增加L个这样的校验节点,其中,L为重复长度;由这L个校验节点将原来的两个极化码泰纳图连接起来,得到一个新的泰纳图。
[0075] (2)从信道接收当前码块所对应的一组长度为N的信号序列,并等待后一码块所对应的长度为N的信号序列被接收完毕后,从预先保存的前一次译码过程得到的判决序列中,顺序取出重复信息比特,得到当前码块的重复比特序列的判决值;如果当前码块是接收到的第一个码块,则将重复比特的判决序列置为全零序列。
[0076] (3)以步骤(1)建立的泰纳图为基础,使用置信度传播算法进行迭代译码:译码初始阶段,用从信道接收的信号和已知的固定比特序列分别初始化第0层变量节点和第n层变量节点中对应的部分,用步骤(2)中得到的当前码块的重复比特序列初始化第n层变量节点中的对应部分;初始化完成后,进行置信度传播迭代译码;迭代译码过程停止后,根据当前码块对应的第n层变量节点的消息对相应的比特进行判决,得到判决序列;再保存该判决序列用于下一次译码过程;从判决序列中分别取出重复信息比特和非重复信息比特,并分别按序号从小到大排列后,再将排序后的两部分比特合并到一起,非重复信息比特在前、重复信息比特在后,得到译码结果并输出。
[0077] 本发明已经进行了多次实施试验,在实例说明中,为方便叙述,将采用本发明编码和译码的方法称为交错结构重复极化码。下面以码长为1024和2048的交错结构重复极化码为例,结合附图对本发明作进一步的详细描述:
[0078] 首先计算编码所需要的参数,码长N取1024或2048,码率R取值从{0.35,0.36,0.37,0.38,0.39,0.40}中选取,重复码码率0.5。根据码长N和码率R计算得到信号序列个数K, 表示向下取整。信道采用删除概率为0.5的二进制删除信道。再利用下面两式计算每个极化后信道的巴塔恰里亚参数:
[0079] 其 中0≤i≤N-1。
[0080] 给定重复长度L和重复区域分界M,在重复区域中选择Bhattacharyya参数最小的L个比特作为重复位;在信息区域中选择Bhattacharyya参数最小的K个比特作为信息位,其中相对较大的L个比特标记为重复信息位,其余比特标记为非重复信息位。未被选中为重复位或信息位的就为固定位:发送固定的全零序列。确定了信息位、重复位后,交错结构重复极化码的误码上界由下式近似计算得到:其中,I1和I2分别为非重复信息位和重复信息位的序号,R(j)表示第j个重复信息位对应的重复位的序号。改变重复长度和重复区域分界值,搜索得到使得上界值最小的L和M配置。下面的表1和表2分别给出了本实施例中涉及的配置。
[0081]码率 0.35 0.36 0.37 0.38 0.39 0.40
重复次数 44 61 54 51 54 50
分界位置 469 483 476 469 467 469
[0082] 表1码长1024不同码率下搜索得到的重复数以及分界位置
[0083]码率 0.35 0.36 0.37 0.38 0.39 0.40
重复次数 101 98 97 98 99 101
分界位置 943 944 942 940 939 938
[0084] 表2码长2048不同码率下搜索得到的重复数以及分界位置
[0085] 先用图4中的编码器进行编码:首先将前一码块的重复比特从缓存中读出,同时将当前编码码块的重复信息比特进行重复编码,得到的重复比特写入缓存。通过比特位置映射器,将当前码块的非重复信息比特、当前码块的重复信息比特、前一码块的重复比特和固定比特映射到对应的极化后信道,并进行极化编码。固定比特为全零序列。第一个编码码块的重复位则都填充全零序列。
[0086] 使用图5所示的译码器从信道接收到消息后,分别使用串行抵消算法和迭代100次的置信度传播译码算法进行译码,并统计误码块率。码长1024和2048下仿真性能曲线分别如图7和图8所示。从性能曲线可以看出,如果采用相同的译码算法,交错结构重复极化码的性能都明显优于一般极化码。图中所示的三种译码算法中数串行抵消算法复杂度最低,而置信度传播复杂度相对较高,最大后验概率译码的复杂度非常高,它不是一个实用的译码算法。可以看到,交错结构重复极化码的串行抵消译码性能已经能和极化码的置信度传播译码相当,如果对交错结构重复极化码采用置信度传播算法,则其性能已能接近甚至在某些情况下优于极化码最大后验概率译码。
[0087] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。