極化碼之tal-vardy算法(3)


考完駕照,回來填坑 /doge/doge

 

前兩節分別介紹了tal算法中的合並函數和信道操作兩個部分,我們將高斯信道的應用放在最后一節來介紹。

 

  在之前的介紹中,我們一直在一個前提下進行討論——即輸入字符集是有限的。

  但是,對於一個具有連續輸出字符集的信道,如經典的二元高斯信道,它也可以是對稱信道,但是它的輸出是連續的,所以不能直接使用tal算法。為了將tal算法應用於改信道,我們就要對這個信道做一些近似。

  總體思路類似微分思想,將連續輸出分成若干個非常小的離散輸出。

  我們假設W為一個具有連續輸出的BMS信道,且W滿足以下幾點:

  • W的輸出字符集為實數集;
  • f(y|0),f(y|1)為輸出的概率分布函數,輸入為{0,1};
  • W的對稱性表現為:f(y|0)=f(-y|1),y∈R;
  • 同時,為了方便起見,我們假設:f(y|0)≥f(y|1),y≥0。

  正如我們所期望的那樣,BAWGN信道滿足上面所有的假設。前兩個假設的成立是顯然的,對於后兩條假設,在BPSK調制下(0映射為1,1映射為-1),我們可以繪制出函數圖像。

圖1 高斯曲線對比

  上圖中,高斯曲線的方差均為1,均值分別為1和-1,可以看到,兩個曲線關於x = 0是對稱的,因此上面第三個假設成立。在x > 0 的區間顯然有第四個假設成立。

  接下來,我們定義y的似然比為:  根據定義,W的信道容量可以表示為:  其中,在 λ ≥ 1 時,有;  上面這兩個公式是從 tal 論文中直接截過來的,由於水平有限,其推導過程我不得而知。

  作者提到,C[λ] 的一個重要的性質是,它隨 λ 的增大呈嚴格遞增。從下圖中可以很容易看出這一點:

圖2 C[λ] - λ

  我們前面已經說過,本節的思路在於通過微分思想,把連續輸出近似成為離散輸出,而上面的介紹提供了 C[λ] 這樣一個參數,我們可以用它來作為分割輸出字符集的依據。在論文中,作者是這樣進行區分的:

假設 μ=2*v 為指定弱化/強化信道輸出字符集,i 取值范圍為:1 ≤ i ≤ v-1,那么,可以對輸出集 y 作如下分割:其中,第二個不等號在 i 取 i=v 時變為 “≤”。

  我們看到,在上面這個集合中,y 和 C 之間通過兩重映射關系聯系到了一起,而 C 被限制在了某個區間之中,因此y也相應的被分割成了若干個小段。

  下面以弱化操作為例進行講解:

  主要內容圍繞着Lemma15、Lemma16兩個引理展開,在介紹二者之前,需要一些預定義。

  我們的BMS信道W滿足本節最開始的四個假設,定義信道 ,其中,Z定義為:

  根據定義,我們可以很容易得到Q的信道轉移概率表達式,如下,為積分運算:

Lemma15 (在上述定義下的)信道 Q 是一個BMS信道,而且它是 W 的弱化信道:  

  這個引理的證明比較容易理解,Q顯然是一個BMS信道。只要我們選擇中間信道P定義為:  那么Q是W的弱化信道也是可以理解的。

 Lemma16 Q 和 W 的信道容量之差可以限制在如下區間中:

   對於 tal 算法在matlab下的實現,可以做如下的介紹。

  與之前一樣,我們的程序設計還是以下面的算法為主要框架:  在此基礎上,對於高斯信道來說,由於它具有連續的輸出,因此它的轉移概率需要使用上面介紹的積分公式來計算。

  為了進行積分運算,我們首先需要對 y 進行分區,然后才能在每一個小分區內進行積分。

  對 y 的分區依據就是上面提到的集合 Ai 。

  其一、我們可以令 C[λ(y)] = i/v,求出對應的 λ(y)。

  設 f(x) = C[λ] - i/v,令 f(x) = 0,求得根x的值,由於表達式比較復雜,這一步可以借助“牛頓-拉夫遜方法”在matlab上完成,方法見超鏈接。

  其二、得到 λ 后,可以根據 λ 與 y 的映射關系,求出 y 。

  上面內容中, v 是輸出單元長度,i 是一個循環下標。i 的循環范圍為 1~v,通過 i 的循環和調用上面兩個步驟,我們可以得到若干的 y 值,實際上可以把這些 y 值寫成向量形式。那么,對於得到的向量,相鄰兩個元素就是我們求定積分所用到的上下限。

  得到了高斯信道的近似轉移概率,我們就可以將其視為一個離散的BMS信道,接下來,按照前面的思路去進行弱化操作和合並操作,就能夠在高斯信道下完成信息位的挑選任務了。  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM