通過信道編碼器和譯碼器實現(xiàn)的用于提高信道可靠性的理論和方法。信息論的內容之一。信道編碼大致分為兩類 :①信道編碼定理,從理論上解決理想編碼器、譯碼器的存在性問題,也就是解決信道能傳送的最大信息率的可能性和超過這個最大值時的傳輸問題。②構造性的編碼方法以及這些方法能達到的性能界限。
人類在信道編碼上的第一次突破發(fā)生在1949年。R.Hamming和M.Golay提出了第一個實用的差錯控制編碼方案——漢明碼。漢明碼每4個比特編碼就需要3個比特的冗余校驗比特,編碼效率比較低,且在一個碼組中只能糾正單個的比特錯誤。隨后,M.Golay先生研究了漢明碼的缺點,提出了Golay碼。Golay碼在1979~1981年間被用于美國國家航空航天局太空探測器Voyager的差錯控制系統(tǒng),將成百張木星和土星的彩色照片帶回地球。Golay碼之后是一種的新的分組碼——RM碼。在1969年到1977年之間,RM碼廣泛應用于火星探測,同時,其快速的譯碼算法非常適合于光纖通信系統(tǒng)。RM碼之后人們又提出了循環(huán)碼的概念,也叫循環(huán)冗余校驗(CRC)碼。循環(huán)碼也是分組碼的一種,其碼字具有循環(huán)移位特性,這種循環(huán)結構大大簡化了編譯碼結構。
不過,以上編碼方案都是基于分組碼實現(xiàn),分組碼主要有兩大缺點:一是在譯碼過程中必須等待整個碼字全部接收到之后才能開始進行譯碼,二是需要精確的幀同步,從而導致時延較大、增益損失大。直到卷積碼的出現(xiàn),改善了分組碼的缺點。歸功于卷積碼,在接下來的10年里,無線通信性能得到了跳躍式的發(fā)展。Elias于1955年提出卷積碼卷積碼與分組碼的不同在于:它充分利用了各個信息塊之間的相關性。在卷積碼的譯碼過程中,不僅從本碼中提取譯碼信息,還要充分利用以前和以后時刻收到的碼組,從這些碼組中提取譯碼相關信息,而且譯碼也是連續(xù)進行的,這樣可以保證卷積碼的譯碼延時相對比較小。盡管卷積碼讓通信編碼技術騰飛了10年,但終究還是遇到了瓶頸——“計算復雜性”問題。還好,這個世界有一個神奇的摩爾定律。得益于摩爾定律,編碼技術在一定程度上解決了計算復雜性和功耗問題。而隨著摩爾定律而來的是,Viterbi于1967年提出的Viterbi譯碼算法。Viterbi譯碼算法提出之后,卷積碼在通信系統(tǒng)中得到了極為廣泛的應用,如GSM、 IS-95 CDMA、3G、商業(yè)衛(wèi)星通信系統(tǒng)等。但是,隨著通信技術的飛速發(fā)展,“計算復雜性”依然是一道邁不過的墻,專家們苦苦思索,試圖在可接受的計算復雜性條件下設計編碼和算法,以提高效率,但其增益與香農理論極限始終都存在2~3dB的差距。正在專家們一籌莫展之時,奇跡出現(xiàn)了。
1993年,兩位當時名不見經傳的法國電機工程師C.Berrou和A.Glavieux聲稱他們發(fā)明了一種編碼方法——Turbo碼,可以使信道編碼效率接近香農極限。C.Berrou一開始,大家都是持懷疑態(tài)度的,甚至懶得去理睬這兩個小角色,這么多數(shù)學家都沒能突破,你兩個小小的機電工程師也敢宣稱接近香農極限?忽悠吧?但是,這兩位法國工程師正是繞過數(shù)學理論,憑借其豐富的實際經驗,通過迭代譯碼的辦法解決了計算復雜性問題。
▲Turbo碼的譯碼器有兩個分量碼譯碼器,譯碼在兩個分量譯碼器之間進行迭代譯碼,故整個譯碼過程類似渦輪(turbo)工作,所以又形象的稱為Turbo碼。Turbo碼的發(fā)明又一次開創(chuàng)了通信編碼史的革命性時代。隨后,全世界各大公司開始聚焦于Turbo碼研究。Turbo碼也成為了3G/4G移動通信技術所采用的編碼技術,直到4.5G,我們依然在采用。但是,由于Turbo碼采用迭代解碼,必然會產生時延,所以對于實時性要求很高的場合,對于即將到來的超高速率、超低時延的5G需求,Turbo碼又遇到瓶頸,因此,在5G時代就出現(xiàn)了Polar碼和LDPC碼之爭。
▲Turbo碼和LDPC碼功耗比較,來源5G ForumPolar碼是由土耳其比爾肯大學教授E. Arikan在2007年提出,2009年開始引起通信領域的關注。盡管Polar提出較晚,但作為已經被理論證明可達到香農極限的編碼方案,自發(fā)明以來,業(yè)內已在譯碼算法、速率兼容編碼方案和硬件實現(xiàn)上做了大量的研發(fā)工作。
▲Turbo碼和Polar碼FER比較,來源5G Forum因此,最后3GPP在5G時代拋棄了Turbo碼,選擇了LDPC為數(shù)據信道編碼方案,Polar為廣播和控制信道編碼方案。那么,為何3GPP同時選擇了LDPC碼和Polar碼呢?這背后有“不把雞蛋放在同一個籃子”的因素,也有“One code does not fit all”的因素。首先,華為不會孤注一擲投入Polar碼,高通也不會孤注一擲投入LDPC碼,各家公司都會在不同的候選技術上投入,不會把雞蛋放在同一個籃子里。其次,各種編碼方案的優(yōu)缺點不同,需對其硬件實現(xiàn)復雜度、功耗、靈活性、成熟度等進行綜合考量,One code does not fit all,沒有“一刀切”的處方。