天天看點

信道編碼的主要方案 | 帶你讀《5G-NR信道編碼》之四背景介紹

背景介紹

1.2 第五代移動通信系統(5G-NR)的系統要求

| 1.3 信道編碼的主要方案 |

在信道編碼方面,低密度校驗碼(LDPC)、極化碼(Polar Code)、咬尾 卷積碼(TBCC)和 Turbo 碼各有潛在的應用場景。

1.3.1 低密度校驗碼(LDPC)

低密度校驗碼(LDPC)[2] 最早于 1963 年由 Robert Gallager 在其博士論文中提出。LDPC 是基于稀疏二分圖(Bipartite Graph)設計的校驗碼,采用 疊代方式進行解碼。由于硬體條件的限制等因素,LDPC 在提出之後經曆了 30 多年的沉寂期。20 世紀 90 年代以來,受到 Turbo 碼的啟發,學術界和工業界 對 LDPC 掀起研究熱潮。經典的 LDPC 在長碼塊時有優異的性能和較低的解碼 複雜度,曾多次重新整理與香農界的逼近紀錄。是以,LDPC 首先在數字電視(2003 年的衛星電視标準 DVB-S2)上得到應用。之後 LDPC 在 WiMAX(基于 IEEE 802.16,2004 年)标準和無線區域網路(WLAN)、無線高保真(Wi-Fi 基于 IEEE 802.11,2008 年)中成為可選技術。經過多年的研究和發展,憑借其優 良的性能,LDPC 在 2016 年 10 月最終進入要求嚴格的 5G-NR 标準中 [7](作 為 eMBB 資料信道的編碼方案)。

近些年來,LDPC 在短碼設計、支援靈活碼長及碼率、碼率相容 / 自适應 重傳等方面都有許多突破。在工業界,對 LDPC 解碼算法的優化一直在進行, 工程實作的成熟度相當高。這些進展都促進了 LDPC 在 5G 移動通信标準中的應用。

1.3.2 極化碼(Polar Code)

極化碼(Polar Code)[3] 是一種新近提出的線性分組碼。它于 2009 年由 Erdal Arikan 教授提出。極化碼是針對二進制對稱信道(BSC,Binary Discrete Symmetric Channel)的嚴格構造碼,可以達到 BSC 的信道容量。極化碼的構 造編碼原理對資訊論有很大的理論意義,為碼的設計指出了努力的方向。極化 碼的基本思想是利用信道的兩極分化現象,把承載較多資訊的比特放在“理想 信道”中傳輸,而把已知比特“當機比特”放在“非理想信道”中。信道極化 是一種普遍存在的現象,不僅在 BSC 信道,而且在 AWGN 信道也廣泛存在。 它随着碼長的增長而變得更為明顯。

極化碼雖然曆史不長,但這幾年學術界和工業界已經積累了很多在碼字設 計和解碼算法方面的經驗。在碼的性能等名額上有較強的競争力,這使得它在 2016 年 11 月最終進入要求嚴格的 5G-NR 标準中 [8](作為 eMBB 控制信道的編碼方案)。

1.3.3 卷積碼(Convolutional Code)

卷積碼(Convolutional Code)[9] 曆史悠久。20 世紀 50 年代,Peter Elias 發明了卷積碼。1967 年 Andrew Viterbi 提出卷積碼的最大似然解碼算法—Viterbi 算法。Viterbi 算法采用時不變的網格結構(Trellis)來有效地解碼。 之後,又出現了其他的基于 Trellis 的解碼方法,如 BCJR 等。卷積碼可以分成 非遞歸(Non-recursive)和遞歸(Recursive)兩種類型。常用的、經典的卷 積碼多數是非遞歸的。在長期的一段時間中,20 世紀 50 年代到 90 年代,卷積 碼曾經一直是距離香農界最近的信道編碼方案。

當限制長度較小時,卷積碼的解碼複雜度較低,性能也不算差。尤其是碼 長較短時,卷積碼性能與 Turbo 碼的相近。是以,它廣泛應用于 3G 和 4G 中的各類實體控制信道、系統消息信道、一些适用于低成本終端的下行業務信道中。

一般的卷積碼需要有若幹比特用來對卷積碼的移位寄存器清零,即讓編碼器的 狀态回歸 0。為了降低這部分開銷,LTE 采用咬尾卷積碼。其特點是編碼器的結束 狀态需要與初始狀态相同。由于接收端并不知道咬尾卷積碼編碼器的狀态,解碼的複雜度稍有增加。

1.3.4 Turbo 碼

1993 年,Turbo 碼 [10] 的出現引起了編碼領域的一場“革命”。人們第一 次看到實際編碼的性能能夠如此逼近香農界,并領略到随機編碼的潛力和疊代 解碼的威力。從此,“随機信道編碼與疊代解碼”成為主流的編碼思路。Turbo 碼的基本思想是在編碼環節引入随機圖樣的交織器,将兩個遞歸卷積碼并行或 者串行地級聯起來,這樣就增加了這個碼字的糾錯能力。在解碼環節上采用次 優但是複雜度較低的疊代算法。比特的軟資訊在兩個卷積解碼器之間往複疊代, 這使得其置信度不斷提高。

相對傳統的 LDPC 碼,Turbo 碼在碼長、碼率的靈活度和碼率相容自适應 重傳等方面有不少優勢。是以,它在 3G 和 4G 系統中是必選的編碼方式。但 Turbo 碼的解碼複雜度在多數情況下要高于 LDPC,尤其在大碼長和高碼率場景下。

1.3.5 外層編碼(Outer Code)

為了進一步提高信道編碼的前向糾錯和檢錯能力,可以在實體層的信道編 碼之上加外層編碼 [11]。在 2G 系統中,内層的信道編碼一般是糾錯能力有限的 分組碼或者卷積碼,此時外層編碼成為不可缺少的環節。在 3G、4G 和 5G 系 統中,依然使用外層編碼(如 CRC)來進行糾錯和檢錯。

5G 系統需要支援低延遲時間高可靠場景。這些業務所占資源很有可能打掉一些 其他業務—如移動寬帶、海量物聯網—等的資源。這會對那些被打掉資源 的業務造成突發性的幹擾。而外層編碼有望增強承載這些業務的信道的魯棒性。 另外,外層編碼可以提高鍊路自适應的能力。這在有 HARQ 的情形下,能使鍊 路更有效地進行重傳。

1.3.6 其他進階編碼方案

多元域 LDPC(QLDPC)[12-13] 是由 Davey 和 MacKay 在 1998 年首次提出。 與二進制 LDPC 碼不同,多元域 LDPC 定義在伽羅華域 GF(q)(一般 q 為 2 的整 數次幂)上,有 q 個碼字;其解碼要比二進制 LDPC 碼複雜度高。由于具有消除 小環(特别是 4 環)的潛力,是以,多元域 LDPC 有更好的糾錯性能和較低的 錯誤平層。

重複累積碼(RA,Repetition Accumulation)[14] 是在 Turbo 碼和 LDPC 的基礎上提出的一種信道編碼方案。它綜合了兩者的優點:不僅具有 Turbo 編 碼的簡單性,而且也具有 LDPC 的并行譯碼特性。此外,多元 RA 碼在有限 域非零元的選擇上有更高的自由度,能更容易地避免因子圖中小環的産生。與 Turbo 碼或二進制 LDPC 碼或二進制 RA 碼相比,多元 RA 碼具有更好的糾錯性能。 尤其是在高階調制系統中,多元 RA 碼可以提供更高的資料傳輸速率和頻譜效 率。多元 RA 碼在保留傳統 RA 碼高效編碼的同時,還具有多元 LDPC 碼良好 的糾錯性能。

格碼(Lattice Code)[15] 是由 Codex 公司的 Forney 早在 1988 年就提出的 “陪集碼”的一種編碼方案。在信道編碼過程中,應用求解格向量中的一些理 論和方案來實作編碼增益,并在編碼增益和複雜度之間尋求最佳平衡點。2007 年,以色列 Tel Aviv 大學的 Naftali Sommer 等人在 Lattice 碼的基礎上首次 提出了一種新型的基于 LDPC 碼的信道編碼技術:低密度格碼(LDLC,Low Density Lattice Code)。它是一種實用的、能夠達到 AWGN 信道容量的碼, 并且它的譯碼複雜度僅随碼長線性增長。

脊髓碼(Spinal 碼)[16] 是一種在時變信道中适用的無速率碼,也是一種逼 近香農容量限的碼。其核心是對輸入消息比特連續使用僞随機哈希函數結合高 斯映射函數不斷産生僞随機量化的高斯符号。相比于現存的信道編碼,Spinal 碼可以在碼長很短的條件下逼近香農容量。在較好的信道條件下,Spinal 碼的性能優于現存的信道編碼加高階調制方案。

繼續閱讀