極化碼小結(1)

一個暑假過去了,身心懈怠,知識荒疏,爲了方便接下類的研究工做。這裏對已經掌握的極化碼知識作一個簡單的小結。算法

Chapter1 極化碼簡介:app

  極化碼創建在信道極化這一現象之上。編碼

  信道極化現象來自於信道合併信道分裂這兩種信道操做。spa

信道合併:blog

  將N個獨立信道W經過變換使之變爲一個具備「集體意義」的信道WN,這裏「集體意義」的產生來源於變換,而變換遵循固定的規則。遞歸

  首先,變換是一個遞歸過程。對於N(N=2n)個獨立信道W,想要將其變爲一個具備「集體意義」的信道WN須要進行n次信道操做,每次信道操做都將N個信道變爲N/2個小型的信道集合體,這樣經過遞歸N-->N/2-->N/4-->……-->4-->2-->1就能夠實現N個信道的合併。數學

  每次信道操做又分爲兩個部分:io

  • 對信道輸入向量的運算。譬如在B-DMC信道中,輸入向量服從等機率分佈,咱們假設輸入向量爲。對它進行的操做爲
  • 置換操做。對於上一步獲得的向量,經過置換操做使其變爲基礎

  圖解:channel

  對於一個單獨的信道W:X—>Y 來講,它的信道轉移機率爲W(Y|X)。對於具備「集合意義」的WN來講,它的轉移機率爲。上述兩步變換操做能夠用生成矩陣GN來代替,運算關係爲 ,因而轉移機率變爲。這裏的向量x跟上面說的v是一個道理, 就不用mathtype編輯公式了,直接截的圖。

  這裏咱們關注轉移機率公式的一個細節。公式左邊是WN,指代一個由N個獨立信道合併獲得的「信道集合體」。右邊是WN,指代N個排列在一塊兒可是相互獨立的信道。公式左邊咱們很好理解,咱們徹底能夠將這個集合體看做一個單獨信道,(y1~yN)是它的輸出,(u1~uN)是它的輸入。可是咱們如何理解公式右邊呢?WN到底是表徵的是一種怎樣的運算呢?是W的N次乘方嗎?

  答案是,WN表明的是乘積運算,表示N個信道的轉移機率W相乘。可是它又不只僅是相乘,當咱們把WN拆開成N個因子相乘的形式來寫的時候,咱們必須考慮到生成矩陣在其中所起到的線性變換做用。以W2和W4爲例咱們來具體解釋一下:

  這是W2的展開式,咱們看到,展開時u1和u2先是根據生成矩陣進行了線性變換,而後才相乘。W4同理:

  可見,信道合併並未在物理層面上真正的將互不干涉的信道進行了合併,而是經過數學的方法使這些信道產生千絲萬縷的聯繫,造成一個具備某種「集合意義」的信道集合體。所以,下面咱們再進行信道分裂的時候也並非像吃奧利奧同樣把兩個信道掰開,實際上這些信道一直都是有機的結合在一塊兒,它們自己在集體中就保持着自身的完整屬性,信道分裂只是提取出信道在「集體」中的個體特性。而正如咱們將發現的那樣,這個集體中的個體特性與以前的個體特性已經大爲不一樣,這種不一樣的宏觀表現就是就是信道極化現象。

信道分裂:

  所謂信道分裂,其實就是在上述造成的集合體中觀察單個信道的屬性(主要觀察轉移機率)。

  對於信道集合體中的單個信道來講,它的轉移機率經過如下定義來求得:

  這是一個定義式。從這個式子咱們看到,因爲本來獨立的信道與其餘信道有機的結合在了一塊兒,當咱們再次觀察每一個信道時,它們的轉移機率將受到其餘信道的影響。因爲信道合併是一個遞歸過程,信道分裂做爲信道合併的「逆過程」,不可避免的也是一個遞歸過程。

  文獻《極化碼編碼與譯碼算法研究》(做者:王繼偉)中指出,對於上式計算分裂信道的轉移機率,其算法複雜度隨碼長增長呈指數型增長。而將定義式寫成以下的迭代式可以使算法具備線性複雜度:

  這個公式是經過概括法獲得的。

  如何理解上面的定義式?爲何要這麼定義?

  下面的遞推公式的證實在Arikan的論文《Channel Polarization:……》第20頁的附錄(appendix / section-B)給出,如何理解這個遞推公式?如何理解遞推公式的推導過程?

  上面這兩個問題我沒法回答,看官若是有一樣的疑問或者有問題的答案請移步討論區,發表您的看法。

  從信道的合併與分裂的描述中咱們能夠隱約發現 ,信道合併與極化碼的編碼在形式上很是類似,而信道分裂與極化碼的解碼在形式上很是類似。

  根據咱們對信道合併與分裂的觀察,在極化碼的仿真體系中:爲了完成極化碼編碼,工做的重點放在生成矩陣的構造;而信道分裂的特殊定義又指明瞭極化碼的譯碼應該採用串行譯碼的方式。此外,信道極化現象展現了極化碼的宏觀特性 ,經過分析極化現象中的特定參數,咱們能夠肯定極化碼編碼過程當中的信息位選取方案。

信道極化:

  信道極化是信道合併與信道分裂兩種信道操做的結果。在上述兩種操做下,本來相同的N個W信道產生了極化現象,其中一部分信道的信道容量趨近於1,另外一部分信道的信道容量趨近於0。

  這是一個很是特別的現象,由於咱們能夠利用這種極端的狀況,經過在信道容量趨近於1的一部分信道傳輸有用信息,而在另外一部分信道上傳遞無用信息(即信息量爲0的信息),實現對香農限的逼近。

  這裏是我曾經編寫的對信道極化現象進行仿真的matlab代碼和結果圖,有興趣的讀者能夠看一下:

  理論依據主要是這個公式:

  固然不只僅是這個公式,具體內容請移步論文《channel polarization……》的第【I-B-3) 】節。

  所以,基於上面的闡述,咱們說極化碼創建在信道極化理論的基礎上。

極化碼的特色:

  極化碼的特色你們都耳熟能詳了,概括起來主要有兩點:

  • 能夠到達香農限;

    什麼是香農限?如何到達香農限?到達香農限有什麼意義?

    香農第二定理(有噪信道編碼定理)指出:當信道的信息傳輸率不超過信道容量時(R≤C),採用合適的信道編碼方法能夠實現任意低的傳輸差錯。

    香農第二定理通俗來講就是,在R不大於C的狀況下,存在一種可以實現信息的絕對可靠傳輸的編碼方案。而所謂香農限就是同時知足絕對可靠、R逼近C的理想狀況。香農第二定理並無告訴咱們如何進行信道編碼,可是它指導着咱們去尋找更加符合這種理想狀態的編碼方案,從turbo碼到LDPC碼,愈來愈逼近這一理想,而極化碼的出現,在理論上實現了這一理想。

    這種理想的編碼方案使咱們可以在一個噪聲信道中以理論上最小的差錯率和最快的速度進行信息傳輸。

  • 複雜度低;

    根據Arikan的論文《channel polarization……》中的計算和描述,使用遞推方法進行編碼和譯碼的極化碼的編碼、譯碼複雜度均爲O(NlogN)。這是一個線性複雜度,相對來講其複雜度比較低。複雜度的計算具體位置在論文的VII-C,VIII-A兩節。筆者水平有限,沒法理解並闡述清楚,感興趣者請移步論文。

  以上就是對極化碼的簡單介紹,與以前實踐性很是強的仿真系列不一樣,這一章重在理論。

  筆者水平有限,歡迎各位在評論區提出指導和意見。

相關文章
相關標籤/搜索