记忆信道下利用Homophonic编码的码字最优分布的polar码构造方法与流程

文档序号:12691610阅读:387来源:国知局
记忆信道下利用Homophonic编码的码字最优分布的polar码构造方法与流程

本发明属于通信信道编码技术领域,具体指一种记忆信道下利用Homophonic编码实现码字最优分布的polar码构造方法。



背景技术:

Polar Codes,即极化码,是2008年由E.提出的一种新型信道编码。极化码基于信道极化(Channel Polarization)进行设计,是第一种能够通过严格的数学方法证明达到信道容量的构造性编码方案。Polar码构造结构规则,编译码复杂度低,易于与其它通信技术进行联合设计优化。这些优点都使得Polar码具有很好的应用前景。但是目前对于Polar码的研究多是在无记忆信道实现容量可达,而在实际的通信系统中,由于通信环境的复杂和信道带宽的限制,在信息传输的过程中,信道难免会出现记忆特性。在记忆信道下,如何构造Polar码实现信道容量可达就有待研究。

本领域内公知,在记忆信道下,证明了提出的原始极化可以应用到有限状态记忆信道。但是,尽管polar码可以在记忆信道下极化,但原始的极化构造对于实际应用中的输入序列已经不能实现信道容量可达。因此,如果要想达到记忆信道下的信道容量,需要生成码字最优序列,使得输入序列和输出序列之间的互信息最大。通常情况下,传统polar码的输入是i.i.d(独立同分布)的均匀分布,在记忆信道不是最优的。例如,常用的ISI(符号间干扰)信道,最优分布是用Markov(马尔可夫)过程近似的。

综上所述,原始的polar码极化可以应用到有限状态记忆信道,但要达到信道容量,需要生成最优序列,但实际中输入一般都满足i.i.d.的均匀分布。因此,一种当输入信息为i.i.d.的均匀分布时,码字序列也可以满足最优分布的码字构造方法是一种需求。



技术实现要素:

本发明解决的技术问题是:当输入信息序列服从独立均匀分布时,如何构造记忆信道下码字序列使其在该信道下达到最优分布。为了解决该问题,本发明提供了一种记忆信道下利用Homophonic编码的码字最优分布的polar码构造方法。

本发明的记忆信道下利用Homophonic编码的码字最优分布的polar码构造方法,利用polar码级联Homophonic码实现,级联结构的实现规则是:将每l个比特的均匀信息序列经Homophonic编码后,输出各码字长度不定的比特数据,将Homophonic编码输出的各码字的比特数据依次填入polar码的输入序列,polar码的每一帧输入序列长度为N。l和N均为正整数。

更进一步,本发明的记忆信道下利用Homophonic编码的码字最优分布的polar码构造方法,通过如下步骤实现:

步骤1:读取输入的一组信息序列,对每个信息序列比特,计算其对应的概率区间,并在区间中均匀选择随机数;设得到信息序列中第i个比特vi的概率区间为J(vi),从J(vi)中选取随机数z;

步骤2:计算polar编码输入序列当前帧第i位ui,(t)的条件概率

其中表示ui,(t)关于序列的条件概率,序列已知,分别计算ui,(t)=0和ui,(t)=1的概率值;t为polar编码输入序列当前帧的索引编号;

步骤3::确定polar编码输入序列当前帧的第i位ui,(t);如果当前位是冻结位,ui,(t)根据条件概率从共享随机数列中取对应的随机数来确定;如果当前位是信息位,ui,(t)根据条件概率和所述的级联结构的实现规则生成;

步骤4:重复上述步骤2至步骤3,直到当前编码输入序列的长度达到polar码的帧长,构造一帧完整的polar码输入序列。

本发明的优点与积极效果在于:(1)本发明给出了Homophonic码级联polar码的编码结构,通过Homophonic码进行预编码,使polar码编码输入序列符合特定的分布,来实现记忆信道的码字构造过程。(2)在记忆信道下,本发明给出的码字构造方法通过软件方法来实现,不改变原始编码结构,便于实际应用。

附图说明

图1为本发明的Homophonic码级联polar码编码结构示意图;

图2为本发明的polar码码字构造方法的流程示意图。

具体实施方式

下面将结合附图和实施例对本发明作进一步的详细说明。

本发明提出一种利用Homophonic编码实现码字最优分布的polar码构造方法。在本发明方法中,输入信息序列满足独立均匀分布,通过Homophonic编码改变该输入信息序列的分布特征使其服从其对应记忆信道下能够实现信道容量的特定概率分布,然后将上述服从特定概率分布的序列作为polar编码的输入序列,进而进行polar编码,生成编码码字。通过本发明方法所生成的码字服从对应记忆信道下的最优概率分布,从而实现记忆信道下polar编码方法能够达到信道容量。

本发明在码字构造过程中,通过Homophonic编码来使得polar编码输入序列满足特定的概率分布,以获得polar编码的输出码字的特定概率分布。然而Homophonic编码是一种定长到变长编码,输入序列为固定长度时,输出序列的长度是不确定的。由于polar码的输入是固定长的,不能直接将Homophonic编码的输出作为polar码的输入。需要对Homophonic码级联polar码的结构做出改进。用l表示Homophonic编码的输入序列长度,用l′表示Homophonic编码后输出的码字长度,用N表示polar码每一帧的输入序列长度。将l′比特的数据依次填入polar码的输入序列。如果l′<N,接下来不进行polar编码,而是针对下一组l个比特的均匀信息序列进行Homophonic编码,将编码结果继续作为polar码的输入序列,直到Homophonic编码的输出比特数据将polar编码一帧输入序列需要的N个位置填满。如果Homophonic编码的输出长度l′>N或者Homophonic编码的输出将polar编码一帧输入序列需要的N个位置填满后有多余的比特的话,则将多余的比特依次填入下一帧polar码的输入序列。

本发明利用上述级联结构的实现方法,将每l个比特的均匀信息序列v1,v2,...,vl生成polar码的输入序列每N个码字比特称为一帧,N为polar码的编码帧长,t为帧编号,第t帧输入序列图1给出了该码字构造过程。在图中,前l比特信息块被Homophonic编码为polar码输入序列第一帧和第二帧的一部分。相似地,第二个输入信息块被编码到polar码输入序列第二帧的剩余部分和第三帧的一部分。当polar码输入序列的一帧被Homophonic编码输出比特填满完成后,将送到polar编码输入端。

本发明的利用Homophonic编码实现码字最优分布的polar码构造方法,得到polar编码的输入序列,然后根据该输入序列进行polar编码得到输出码字序列。本发明的polar码构造方法主要流程如图2所示,下面说明各实现步骤。

步骤1:读取输入信息序列,根据输入符号的概率分布,计算其所对应的概率区间,并在不同区间中均匀的选择随机数。

输入的一组信息序列v1...vl,其中vi表示信息序列中的第i个比特值,i为信息序列的比特位索引变量,vi∈v,v为输入信息的取值空间。计算信息序列比特取值的概率区间J(v),在区间J(v)中均匀选择随机数z。

J(v)是根据比特符号的概率分布计算得到,设vi为v中第I个元素,J(vi)=[QI-1,QI),其中,Pk表示v中第k个元素所对应的概率分布,Q0=0。v中所有元素的概率分布之和为1。

本发明vi∈v={0,1},此处计算J(0)和J(1)。设比特符号0和1的概率分布分别为P1和P2,P1+P2=1,则J(0)=[0,P1),J(1)=[P1,P1+P2)。

获得vi的概率区间J(vi)后,从中选取随机数z,随机数z用随机数生成器产生。

Homophonic编码输出序列seq初始化为:λ表示空序列,seq对应的区间表示为表示序列seq所在的区间范围。

步骤2:计算polar码输入序列当前帧的第i位ui,(t)的条件概率其中t表示当前帧的索引变量,i表示位置的索引,取值为1~N的整数。

当信息序列经过Homophonic编码后的输出码字序列长度大于polar码的帧长时,该输出码字序列会被作为polar码编码输入的不同帧的输入序列,所以这里需要区分polar码的不同的帧序列。设前一个信息块的Homophonic编码停止在polar码第t0帧的第i0个比特位,其中i0表示比特位的索引值,i0取值范围为[1,N]的任意整数,用变量t0表示帧的编号。表示序列表示polar码输入序列的第t0帧的第i0个比特位,采用本发明方法继续生成

对于polar码输入序列当前第t帧的第i位ui,(t),设表示ui,(t)关于序列的条件概率,序列已知,分别计算ui,(t)=0和ui,(t)=1的概率值,即计算和如式(1),可以将条件概率转化为联合概率的情况来求解。

其中:表示编码输入序列中ui,(t)关于的条件概率,字符Ui和分别为ui,(t)和的向量表示,小写字母u代表是标量,是具体实例。表示ui,(t)=0时序列u1,(t),u2,(t),...,ui,(t)的联合概率,表示ui=1时序列u1,(t),u2,(t),...,ui,(t)的联合概率。因此可以通过计算关于ui,(t)的联合概率来求解

在记忆信道下,采用SC网格译码算法,因此,在计算关于ui,(t)联合概率时加入状态变量s。设si表示信道在第i个时刻的状态变量,s0表示信道的初始状态,sN表示信道的终止状态。信道在第i时刻输入比特ui,(t),对应信道状态记为si。Si为标量si的向量表示。

公式(2)中将帧的索引变量t省略,例如写为表示第t帧的u1,u2,...,ui序列,表示输入序列的联合概率,表示信道初始状态关于输入序列的条件概率,表示初始状态s0的先验概率。

根据SC的递归结构,的计算根据下面式(3),式(4)更新,将比特总数N表示为2M,即N=2M,M为正整数。

其中,表示异或运算,表示输入序列u1,u2,...,u2i,表示序列中索引为偶数的项,表示序列中索引为奇数的项。

初始值即给定当前状态si-1时,输出码字xi和下一个状态si的联合概率,这个概率对应该记忆信道下的输出码字的最优分布。

步骤3:计算polar编码输入序列的第i位ui,(t)的比特信息;

如果当前第i位是冻结位;从polar编码收发端的共享随机数列中取出与之对应的随机数Rj,采用式(5)来确定ui,(t)的值。所述的共享随机数列由随机数生成器生成,随机数取值范围是1到m的整数,随机序列的长度与冻结集的序列长度m相同。

随机数的取值范围是1到m之间的任意整数,如果当前随机数则ui,(t)=0;否则则ui,(t)=1。

如果当前第i位是信息位;将区间分为2个子区间:

和其中参数

初始值在步骤1已经给出,p1、p2表示生成序列seq所在的区间范围。

选择变量a∈{0,1},使得z属于(seq,a)为在seq加上变量a形成的新序列,表示序列(seq,a)的区间范围。更新序列seq为新序列(seq,a),此时ui,(t)=a。

然后判断或者是否属于对应的J(vi),如果属于,则输入的信息序列比特位vi的Homophonic编码停止;否则,后续的polar码输入序列中的比特位,继续由该输入信息vi根据Homophonic编码产生来填入。

步骤4:判断i是否等于N,若是,则获得polar码当前第t帧输入序列进行polar编码,生成编码码字,即输出码字GN为生成矩阵。然后继续步骤5。

否则,若i小于N,令i自增1,返回步骤2继续执行。

步骤5:判断Homophonic编码是否停止,若是,结束执行过程。否则,继续polar码输入序列新的一帧的生成,更新帧号t自增1,更新位置索引i为1,返回步骤2继续执行。

实施例:信息序列的块长度l=2、输入序列帧长N=8的polar码码字构造实施例。

本实例中Homophonic编码的信息输入块长度l=2,第t组信息序列polar码的冻结集长度|Ic|=4,信息位长度|I|=4。用蒙特卡罗方法得到冻结集Ic={1,3,5,6}和信息集I={2,4,7,8}。在记忆信道下,本实施例的信道有两种状态,记为s={0,1},初始状态设为S0=0,输出码字的最优分布为:

(px,s′|s″(0,0|0),px,s′|s″(0,0|1),px,s′|s″(1,1|0),px,s′|s″(1,1|1))=(p1,p2,p3,p4)

并且0≤p1,p2,p3,p4≤1,p1+p2+p3+p4=1,此处,x为输入信息比特位,s′表示信道的下一个状态,s″表示信道的当前状态。这里设定编码码字x和信道的下一个状态s′相等,所以px,s′|s″(0,1|0),px,s′|s″(0,1|1),px,s′|s″(1,0|0),px,s′|s″(1,0|1)这四种情况不存在,可以赋值为0;冻结集选取时的所用到的随机数列R={a,b,c,d};因为冻结集长度为4,所以随机数列长度也为4。

给定输入信息序列概率分布Homophonic编码的输出序列U∈{0,1},概率分布P={q1,q2},q1+q2=1;

首先,计算信息序列比特对应的概率区间。

J(0)=[0,1/2),J(1)=[1/2,1);为空序列,

根据v1,(t)=1,在区间J(1)=[1/2,1)选取随机数z,z∈[1/2,1)。

计算当前帧第1位的条件概率和下面是具体计算过程:

根据上述的递归公式(3),(4)计算和并且从而,计算出

按照同样的计算过程,的值也可以确定,和计算结束。

然后,当前序列位置1属于冻结集,所以,取随机数列R的第一个值R1

如果则u1,(t)=0;否则u1,(t)=1。

判断i是否大于8,此时i≠8,则更新i=i+1=2;

对于输入信息块的Homophonic编码没有停止,则继续生成当前帧的下一位。

计算当前帧第2位的条件概率和根据上述步骤中的公式(1),将条件概率化为联合概率计算。然后可以通过和来求解;

这里u1的取值就为上面计算出来的结果,然后按照相同的计算过程就可计算出和进而得到和的结果;

当前序列位置2属于信息位,则根据和将区间分为2个子区间此处选择a∈{0,1}使得z属于则输出序列的第一个符号为a,seq=(a,seq),并且对当前信息位进行赋值u2,(t)=a;然后判断是否属于J(1)=[1/2,1)。如果属于,则v1,(t)=1的Homophonic编码停止,后续则开始v2,(t)=0的Homophonic编码;如果不属于,则后续的信息位的值的设定继续由v1,(t)=1的Homophonic编码产生。

同理,u3—u8按照上述信息集和冻结集的类似计算过程完成赋值。

i=8,根据生成编码码字。

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