複製鏈接
請複製以下鏈接發送給好友

迭代譯碼

鎖定
迭代譯碼時一種基於置信度的譯碼方式。
迭代譯碼不僅僅是一種算法,更重要的是它是一種思想,它通過一次一次的處理,充分地挖掘潛在的信息。
它通過接收或者發射軟信息,來逼近現實世界的真實情況,可以改善由於硬判決而丟失的信息。
中文名
迭代譯碼

目錄

迭代譯碼背景

從Shannon新到編碼定理可知 [1]  ,要達到或接近信道容量C,應該採用無限長的隨機碼,而譯碼應該採用最大似然譯碼(MLD)。但是,採用隨機編碼,使碼長趨於無窮大並且採用最大似然譯碼將會使系統的複雜度和延時變得太大,無法在實際中使用。因此,必須研究新的編碼方案。信道編碼理論的研究主要分兩個方面:一是構造碼長長、漸進特性好的碼;另一個是譯碼複雜度可接受的最大似然譯碼。在編碼理論的最初階段,人們一直傾向於用代數方法來實現差錯控制編碼,提出了Hamming碼、卷積碼、RS碼等經典編碼方法。然而最終能夠逼近Shannon容量限的卻是被稱為Turbo-like的一類碼,包括Turbo碼、LDPC碼、RA碼等。這類碼的特點在於都部分地引入了隨機編碼的思想,即Turbo碼的交織器和LDPC碼的自交織功能,並且它們的碼長都較長,譯碼均採用了接近最大後驗概率譯碼的迭代譯碼算法。
傳統的譯碼是基於基於硬判決的譯碼,對從信道接收到的信息,首先經過解調器產生硬判決結果,再輸入到譯碼器進行譯碼。這種方式下,譯碼的速度固然很快,但是由於硬判決會損失掉大部分的信息,因而其性能比較差。而與此相對應的是迭代譯碼所要求的輸入 以及它產生的輸出信息都是軟信息,不僅包括了判決的符號,也包含了對判決符號的置信度。這些軟信息的利用,極大提高了譯碼性能,使得譯碼可以迭代進行,充分發掘接收的信息。

迭代譯碼基本原理

迭代譯碼的思想最早出現在Gallager提出的LDPC碼的論文中。在那裏,他提出了一種基於概率的譯碼方法。該方法對每個比特建立校驗集合樹,並層層遞推下去,這實際上藴含了迭代的思想。然而,直到Turbo碼被髮明以後,迭代譯碼的好處才真正被人們所認識,並由此直接導致了LDPC碼的重新被重視。
對於Turbo碼和乘積碼,由於使用了兩個或多個子碼,譯碼可以以迭代的方式進行:先對一個子碼譯碼,再把該譯碼器的輸出結果送到另一個譯碼器的輸入端,進行第二個子碼譯碼,然後把第二個譯碼器的輸出結果再送到第一個譯碼器的輸入端,如此反覆迭代,直到達到一定的迭代次數。由於一個譯碼器的輸出作為另一個譯碼器的輸入若子譯碼器採用軟判決,則必然要求譯碼器也是採用軟輸出的,所以子譯碼器一般要求採用軟輸入/軟輸出譯碼器。

迭代譯碼貢獻

Turbo碼迭代譯碼的提出後,不僅被用於級聯碼或乘積碼的譯碼,更是作為一種思想廣泛地應用到了信道均衡、多用户檢測等其他領域。迭代譯碼的另外一個重要貢獻在於,它引起了人們對於LDPC碼的重新發現。
正是由於迭代譯碼的這種思想,它才會廣泛應用於通信的各個領域。雖然,由於迭代會造成時間上的延遲,但是,可以看到隨着處理器能力的提升,以及各種專用芯片的使用,這種延遲被越來越縮短了,迭代的思想會進一步擴展到通信的更寬的領域之內。
參考資料
  • 1.    A mathematical theory of communication