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

分類:IT技術 時間:2017-09-26

 

  上一節我們了解了tal-vardy算法的大致原理,對所要研究的二元輸入無記憶對稱信道進行了介紹,並著重介紹了能夠避免輸出爆炸災難的合並操作,這一節我們來關註信道弱化與強化操作。

 

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

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

 

Part1.信道弱化與信道強化

 

  信道弱化:

    我們給出一個信道。對於信道,如果存在一個中間信道使得對於所有的都有:

    那麽我們記:,指代信道Q相對於信道W是弱化的。

    很容易證明下面這些性質:

    1) 這種“弱化”是具有傳遞性的,類似a≤b,b≤c,則a≤c。

    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信道副本都只有兩個輸出字符,分別為y1、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算法。


Tags: 信道 弱化 我們 amp 操作 概率

文章來源:


ads
ads

相關文章
ads

相關文章

ad