基于超前计算的高维基极化码译码器和极化码译码方法

文档序号:9330189
基于超前计算的高维基极化码译码器和极化码译码方法
【技术领域】
[0001] 本发明属于信道编码技术领域,特别是一种基于超前计算的高维基极化码译码器 和极化码译码方法。
【背景技术】
[0002] 极化码(Polar Codes)是2009年由E. Arikan提出的一种被严格证明可以达到 信道容量的构造性的信道编码方法。图1是使用极化码译码的基本结构框图;图2是信道 极化的基本结构组成示意图。在进行极化编码之前,首先要对N = 2n个独立的二进制输入 信道(或先后N次反复使用同一个信道,即一个信道的N个可用时隙),再利用信道极化的 基本单元对二进制输入离散信道反复进行极化,上式中,η为自然数。最基本的信道极化 操作是对两个相同的未经极化的信道W:x - y进行单步极化;其中,X是信道输入符号的 集合,对于二进制输入信道,X的取值范围为{〇,1} ;y是信道输出符号的集合。如图2所 示,该极化信道的输入比特分别标记为七和u 2,这两个输入比特通过一个模二加法器输出 得到X1,同时将U2直接赋值给X2,也即I1 ,X2= U2,式中为模二加运算。把X1 和X2分别送入未经极化信道W,其输出为y JP y 2。从该信道极化基本单元的输入(化和 u2)和两个信道的输出(yJPyi)看,原本独立的两个未经极化的信道W被合并成一个两输 入两输出的向量信道W2:x2-y2,其中,运算發为笛卡尔积。该向量信道包含 两个子信道%(1): Z 4 y像f (输入为ui输出为y 1和y 2)和_2);ir+r (输入为%输 出为yjp y 2),这两个子信道即是两个极化信道。经过该单步极化过程,从信道容量上看
其中Ι(·)表示求信道容量的 函数。也就是说:单步极化后,在和容量保持不变的情况下,相比原本未经极化的信道,极 化后的信道容量发生了偏离:一个增加,一个减少。如果对两组已经完成一次极化操作的 信道,再在两组互相独立的转移概率相同的极化信道之间,分别进行单步极化操作,该偏离 会更加明显,这一组单步极化操作被称为第二层极化操作,而前一组单步极化操作则称为 第一层极化操作。每多做一层极化操作,需要的信道数就会比原先多一倍。因此,对N = 2η 个信道进行完全的极化,共需要η层极化操作,且每一层的极化操作包括了 N次单步极化操 作。如不加特殊说明,"对N个信道进行极化操作"是指完全极化。
[0003] 理论上已证明,对接近无穷多个信道进行极化操作后,会出现一部分信道的容量 为1 (即通过其传输的比特肯定会被正确接收),其余信道容量为0 (即完全无法在其上可 靠地传输比特)的现象,而容量为1的信道占全部信道的比例正好为原二进制输入离散信 道的容量。参见图3,介绍一个实用的信道极化装置的递归结构:长度N(对N个信道进行 极化)的信道极化装置可以用长度为Ν/2的信道极化装置作递归操作来表示,递归过程 中的最小单元(即当N = 2时)就是图2所示的基本单元。图3中的信道极化装置中有 一个长度为N的比特反转交织器,其功能是:先将输入端的十进制序号i按二进制表示为 (bn A 2. . . b。),其中,η = Iog2N,再将该二进制序列反序而得到(Xb1. . . bn》,最后重新按 十进制表示成ηP并作为输入序号i对应的输出序号。比特反转交织器的作用是将输入端 序号为i的比特映射到序号。根据编码速率(R)对N个信道进行极化,并选取其中 容量最大的K个信道(或者等价地,选取可靠性最高的K个信道;可靠性度量是采用密度进 化(Density Evolution)工具或者计算巴塔恰里亚(Bhattacharyya)参数得到的数值), 以承载用于传输消息的比特,称该部分比特为信息比特,并称该部分信道为信息信道(其 中.L*j为向下取整运算),其余未被选中的信道则传输一个约定的比特序 列,称其为固定比特序列,并称该部分信道为固定信道(若信道对称则可简单地传输全零 序列),从而形成一个从承载信息的K个比特到最终送入信道的N个比特的映射关系,这样 的一种映射关系即为极化码,码长(编码后得到的二进制信号所包含的比特数)等于信道 极化装置的长度N。由信息比特和固定比特组成的、送入信道极化装置的二进制信号序列 ( Ul. .. uN)为编码码块,该编码码快的顺序与其送入的极化信道的序号一致,即U1送入时), 其中序号i是1到N的自然数,坪f表示将N个信道W极化后得到的序号为i的极化信道。 编码码块经过信道极化装置后,得到的信号序列( Xl. .. xN),再通过N个独立信道W传输后, 接收到的信号序列为(yi... yN)。译码器的任务就是根据接收信号序列(yi... yN)得到发送 比特序列Oi1... uN)的一组比特估计值极化码可以使用串行抵消译码方法:对编 码码块中的每个比特按序号i顺序地从1到N依次进行判决,还可以将串行抵消译码方法 描述为一个码树上的搜索过程(参见图4所示的一个简单范例)。串行抵消译码是在码树 上逐步扩展,每次从两条候选路径中选择其中概率值相对较大的一条,并在那一条路径的 基础上继续进行下一步的路径扩展。
[0004] 串行抵消译码算法:参见图5(图中以码长等于8为例),最右侧的(λ。... λ7)为 解调之后得到的信道软信息值,最左侧的(L。. .. L7)则为每一个码字对应的软信息值。图中 每一个圆都代表一个节点处理器,用于更新节点信息。节点上的序号代表该各个节点之间 执行的先后顺序。从第一个节点开始,各个节点按照序号被激活,同时,根据每个节点的输 入和节点更新算法,计算出相应的软信息值并送入下一个节点处理器。每一个节点在整个 译码过程中只被激活一次。对于校验节点(图中的白色节点)的软信息更新,为了简化硬件 实现,用最小和操作来近似计算所需的软信息值,具体计算公式为L f= sign (L a) Sign(Lb) min(|La|, |Lb|),其中,Lf为节点处理器输出值,LdP Lb为节点处理器输入值;sign( ·)表 示求符号操作,min(·)表示求括号内所有数的最小值操作,I · I表示求绝对值操作。对于 变量节点,计算公式为~ Λ,人h A1 · 0 - %.、)+ 4,其中,Lg为节点处理器输出值,L a 和Lb为节点处理器输入值;毛为译完码字的部分模二加的结果。
[0005] 对于串行抵消译码方法的改进,一方面是通过对计算码树中节点内部的操作进行 优化,比如简化串行抵消译码算法,该算法提出了将码树上的信息位和固定位分别进行合 并,省去了许多无需计算节点消耗的计算量。另一方面,在译码器的硬件实现上,不断有低 消耗高吞吐率的结构被提出。极化码译码的基本硬件译码器实现有蝶型、管道型、线型三种 基本结构。蝶形即对最基本的串行抵消译码器进行实现,码树上每一次计算都分配一个节 点计算器和寄存器。这种结构中,一共需要2N-2个节点寄存器和节点计算器。以码长等 于8为例,其基本结构与最基本的译码算法图(图5)相同,图中每个圆都代表一个处理器 和相应的寄存器。从图5中可以得到对于译码器的第i级,最多只有21个节点同时进行运 算。据此,管道型结构译码器将每一级中的剩余2 1个节点去除,在很大程度上节省了译码器 的资源消耗情况。该译码器虽然在译码时钟方面较蝶形译码器没有减少,但在译码器的资 源利用率上有较大的改进。由于在整个译码过程中,最多只有第η级需要N/2个节点处理 器,所以译码器可以继续改进,将所有的译码在一个线型排列的Ν/2个节点处理器中进行, 称为线型译码结构。这种译码器结构进一步减少了资源消耗,同时提升了译码器的资源利 用率。
[0006] 当然,也有很多设计者考虑到吞吐率的重要性,利用大量的硬件资源以取得 比较可观的吞吐率,这也是当前极化码译码器设计的一个方向。超前计算和并行计 算是这类译码器中非常常见的提高吞吐率方法。超前计算方法是利用极化码变量节 点的输出结果可变性比较小来提高运算速度。根据前面提到的变量节点计算公式:
该节点输出只取决于?ζ的大小,由于g为二进制数,也就 是说变量节点的输出最多只有两种可能。超前计算技术的主要思路则是提前将两种可能全 部算好并储存在寄存器中,当%得到时直接从寄存器中选取出相应的结果即可,参见图6, 利用这种方法的译码器虽然在吞吐率上有较大改观,但是在变量节点上需要付出传统译码 器多一倍的硬件资源。并行计算方法则是利用极化码编码原理,将整个译码器拆分成两个 并行计算的子译码器,从而将吞吐率提高一倍。但相比传统的极化码译码器,这些译码器的 硬件资源的增长也是巨大的。
[0007] 总之,现有技术的缺点是:当前的极化码译码器在吞吐率和硬件资源消耗上没有 一个比较好的折衷。因此,如何对这些译码器进行改进,设计出一种新的译码结构,让其在 吞吐率可观的情况下硬件资源消耗的增加也在可接受范围之内就成了业内人士关注的一 个重要课题。

【发明内容】

[0008] 有鉴于现有技术的缺点,本发明将高维基的思想运用到极化码译码器的设计中。 本发明实施方式提出一种基于超前计算的高维基极化码译码器和极化码译码方法,利用少 量硬件资源为代价,在译码器吞吐率上取得可观的改进。
[0009] 本发明实施方式的技术方案如下:
[0010] 一种基于超前计算的高维基极化码译码器,包括:
[0011] 控制模块,用于向处理器模块发出控制信号,向内存单元发送地址信号;
[0012] 内存单元,用于根据所述地址信号向处理器模块发送输入数据;
[0013] 处理器模块,包括多个节点处理器,每个节点处理器获取的输入数据个数为K,输 出数据个数为1,其中K为高维基的维数;
[0014] 每个节点处理器,用于根据控制信号,对内存模块发送来的K个输入数据执行极 化码译码处理,其中利用高维基译码算法将极化码译码过程中的k级译码合并为一次迭 代
再多了解一些
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1