极化码之tal-vardy算法(2)

 

  上一节咱们了解了tal-vardy算法的大体原理,对所要研究的二元输入无记忆对称信道进行了介绍,并着重介绍了可以避免输出爆炸灾难的合并操做,这一节咱们来关注信道弱化与强化操做。算法

 

  【1】《Channel polarization: A method for constructing capacity-achieving codes for symmetric binary-input memoryless channels》Erdal Arıkanless

  【2】《How to Construct Polar Codes》Ido Tal,  Alexander Vardy函数

 

Part1.信道弱化与信道强化spa

 

  信道弱化:3d

    咱们给出一个信道。对于信道,若是存在一个中间信道使得对于全部的都有:code

    那么咱们记:,指代信道Q相对于信道W是弱化的。blog

    很容易证实下面这些性质:ci

    1) 这种“弱化”是具备传递性的,相似a≤b,b≤c,则a≤c。input

    2) 咱们定义“弱化”操做中的恒等性质,相似a≤b,b≤a,则a≡b。数学

    3) 这种恒等性质具备对称性,相似a≡b,则b≡a。

  对于信道的强化操做,这里就再也不解释了。实际上,只须要把上式中的信道W和信道Q调换一下位置,就可以的获得信道强化的操做,以及相似的公式和下面的性质。

  经过弱化操做后获得的弱化信道Q,咱们重点关注它的三个参数。不过,在那以前咱们先来看一下原始信道W的参数状况。

  对于一个二元无记忆对称信道W:

  <1> 信道错误几率Pe:

    咱们假设Pe(W)为最大似然判决下的错误几率,若是输入服从等几率分布(即传输0和1的几率都为1/2),那么咱们能够获得:

  <2> 巴氏参数Z(W):

  <3> 信道容量I(W):

  由W获得的弱化信道的参数变化状况以下:

  论文中并无直接给出后两个结论的导出,第二个结论在论文的参考文献中已经被严格证实,第三个结论在第二个结论的基础上能够被证实。这两个证实超出了个人能力范围,须要证实的能够从论文参考文献给出的引用目录里面去找。咱们重点来关注第一个公式,以及它的证实。

  如上为证实过程,由第一步到第二步很好理解,直接把定义公式代入就行。从第二步到第三步须要稍稍解释一下。

  咱们能够先忽略掉最外层的1/2倍乘和对z的求和,对比后面的内容。

  • 第二步的运算逻辑顺序为,先求和、再挑选最小值;
  • 第三步的运算逻辑顺序为,先挑选最小值、再求和。

  这两种操做形成差别的缘由就在于运算的逻辑顺序问题。

  第二步的式子中,咱们把W(y|0)和W(y|1)看作两个总体,忽略总体中每个加数的细节,关注总体的大小,再取两个总体的最小值。

  第三步的式子中,咱们将W(y|0)和W(y|1)拆开来看,咱们逐项拿出数对进行对比,只留下较小的那一项,这样最后相加的加数项的每一项,都是它所对应的那一对数中的较小者,这样的一组加数相加获得的和必定是小于等于第二步的。

  固然,这只是一种定性的分析,咱们也能够用数学语言去描述它,让它在形式上更加严谨。

  

  弱化操做

  在介绍信道弱化操做前,让咱们先来回顾一下Arikan递推公式。tal-vardy算法每一步只操做两个信道,所以咱们关注Arikan对单步信道转化的描述。

  【1】-I-E中明确指出,两个独立的二元输入信道副本W:X→Y可以经过单步信道转化,变成一对二元输入信道:。其中输出字符集的映射关系为:。信道转移几率之间的关系为:

   【2】中对这两种信道操做进行了从新定义。【2】提出了两种符号分别用来表征这两种信道转化操做。第一种操做记为:,第二种操做记为:。所以,咱们获得:

  从【1】中的介绍,咱们发现,原始信道副本的输入字符集为{0,1},长度为2;假设输出字符集长度为 “2L”,则经过第一种信道操做获得的信道 W' 的输出字符集长度为“2L×2L”,经过第二种信道操做获得的信道 W'' 的输出字符集长度为 “(2L)2×2”。这个结论很重要,与接下来的信道操做有关。

  这个现象很好说明,两个W信道副本都只有两个输出字符,分别为y一、y2和它们的共轭,2L=2。假设咱们简记y→0,→1。则第一种信道操做的输出字符集有2L×2L=4,四种可能——{00,01,10,11};第二种信道有2×(2L)2=8,八种可能——{000,001,010,011,100,101,110,111}。能够看到,随着单步信道转化的进行,信道的输出字符集长度将随着转化次数的增长爆炸增加。在码长较大时,这将使得极化码的构造计算复杂度变得不可控制,咱们以前介绍的合并函数就是为了解决这个问题而存在的。

  【2】中的引理5是信道弱化操做的核心理论。

Lemma5  

  给定一个二元输入的信道 W:X→Y ,设:

  假设Q是W的弱化信道:,并记:

  则,咱们能够获得:

                   且 

  这个引理对于强化操做,同样成立,只须要将上述的Q和W互相调换位置。

  引理5的证实位于【2】Page6。

  引理5告诉咱们,一个弱化信道,即便对它进行信道转化操做后,它依然是一个弱化信道。

  【2】中对信道弱化操做部分作了与合并函数一样的描述方式,将信道弱化操做视为一个函数。函数的输入为原始BMS信道W,以及指定输出字符集长度μ;函数输出为一个弱化BMS信道Q,Q的输出字符集最大不超过μ。

 

  信道极化操做

  在信道极化过程当中,对于信道转化方法的选择问题(即在每个节点判断进行信道操做1,仍是信道操做2),能够视为一个二进制树的生成。在【1】中Arikan为咱们展现了这样一张图:

  咱们暂且称其为“码树”。

  码树的根为原始的信道副本,在每一级code_level上都会产生两个分支,上分支使用第一个信道转化公式,下分支使用第二个信道转化公式。咱们以上图为例,N=2^n=8,n=3。n即code_level,表示树的深度;N即code_length,表示树的广度。借助二进制数,咱们能够很容易的找到从树根到树梢的路径。例如,当 i 取5时,咱们将 i-1 转化为位数为 n=3 的二进制数:(5-1)10→(100)2。对应到码树中,从树根开始,三级分支分别取下、上、上分支,使用相应的信道操做,就可以获得这一极化信道。

  所以,在信道操做中,咱们能够将信道指数(channel index)转化为二进制数,经过逐位读取并进行判断,使用相应的信道操做,就可以实现信道极化。【2】中给出了一个很是清晰的算法思路:

  算法复杂度

  在上面的算法中,咱们假设每次执行合并函数的时间为,遵循上述算法A中的符号使用规则,对于n个信道来讲,因为每一个信道指数有m位,所以总共调用合并函数的次数为n·m次,用时。可是,因为许多中间信道的计算是在作重复性的工做,所以,实际计算不一样信道的次数为(2n-1-1)次,所以总的时间复杂度应该为,也即

  

  实际上,咱们可以利用对称信道的特色,进一步下降计算复杂度。

  还记得咱们在上一节强调过的Arikan给出的定理13吗?

  因为咱们的信道操做是单步进行的,每一次只进行两个信道的合并,在上图的(58)式中,取N=2,i=1,咱们能够获得第一种信道操做的对应公式:  其中,G2=[1 0; 1 1]。不失通常性的,咱们假设发送的比特为0,即u1=0,而且,咱们令等式右端的发送端等于1(即令a1=1),能够获得:

  【咱们为何要这么作?】

  【回忆一下对称信道的定义之中,有这样一条:】  【显然,咱们这样作的目的是为了获得字符对(y1,y2)的共轭对。】

  当a2分别取0、1时,有:

  也即,有两个共轭对,一个是,另外一个是。对上式进一步的转化,咱们能够发现,容易获得:

  以及:

  通俗来讲,上面这一番计算的意义在于,在信道转化操做以后,咱们没有必要计算输出字符集中每个字符的转移几率。实际上,咱们只须要对一半字符进行计算。

  相似的,咱们能够对第二种信道操做进行相似的计算,令i=2,则输出字符集共有3个字符,能够组成8中不一样的组合,最后实际上只须要计算4种组合。

 

  本节的内容就是这样,下一节咱们将讨论如何对BAWGN信道使用tal-vardy算法。

相关文章
相关标签/搜索