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

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

 

前兩節分別介紹了tal算法中的合併函數和信道操做兩個部分,咱們將高斯信道的應用放在最後一節來介紹。框架

 

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

  可是,對於一個具備連續輸出字符集的信道,如經典的二元高斯信道,它也能夠是對稱信道,可是它的輸出是連續的,因此不能直接使用tal算法。爲了將tal算法應用於改信道,咱們就要對這個信道作一些近似。spa

  整體思路相似微分思想,將連續輸出分紅若干個很是小的離散輸出。設計

  咱們假設W爲一個具備連續輸出的BMS信道,且W知足如下幾點:3d

  • 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),咱們能夠繪製出函數圖像。blog

圖1 高斯曲線對比get

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

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

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

圖2 C[λ] - λ

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

假設 μ=2*v 爲指定弱化/強化信道輸出字符集,i 取值範圍爲:1 ≤ i ≤ v-1,那麼,能夠對輸出集 y 做以下分割:其中,第二個不等號在 i 取 i=v 時變爲 「≤」。

  咱們看到,在上面這個集合中,y 和 C 之間經過兩重映射關係聯繫到了一塊兒,而 C 被限制在了某個區間之中,所以y也相應的被分割成了若干個小段。

  下面以弱化操做爲例進行講解:

  主要內容圍繞着Lemma1五、Lemma16兩個引理展開,在介紹兩者以前,須要一些預約義。

  咱們的BMS信道W知足本節最開始的四個假設,定義信道 ,其中,Z定義爲:

  根據定義,咱們能夠很容易獲得Q的信道轉移機率表達式,以下,爲積分運算:

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

  這個引理的證實比較容易理解,Q顯然是一個BMS信道。只要咱們選擇中間信道P定義爲:  那麼Q是W的弱化信道也是能夠理解的。

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

   對於 tal 算法在matlab下的實現,能夠作以下的介紹。

  與以前同樣,咱們的程序設計仍是如下面的算法爲主要框架:  在此基礎上,對於高斯信道來講,因爲它具備連續的輸出,所以它的轉移機率須要使用上面介紹的積分公式來計算。

  爲了進行積分運算,咱們首先須要對 y 進行分區,而後才能在每個小分區內進行積分。

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

  其1、咱們能夠令 C[λ(y)] = i/v,求出對應的 λ(y)。

  設 f(x) = C[λ] - i/v,令 f(x) = 0,求得根x的值,因爲表達式比較複雜,這一步能夠藉助「牛頓-拉夫遜方法」在matlab上完成,方法見超連接。

  其2、獲得 λ 後,能夠根據 λ 與 y 的映射關係,求出 y 。

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

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

相關文章
相關標籤/搜索