5G NR LDPC碼(2)—— 5G NR中的LDPC碼標準化內容

LDPC碼由於可以達到更高的譯碼吞吐量和更低的譯碼時延,可以更好適應高數據速率業務的傳輸,從而替代LTE的Turbo碼,被採納爲5G NR數據的編碼方案。

1. 基圖 (BG, Base Graph)

  • 5G NR採用QC-LDPC碼,BG是整個LDPC碼設計的核心。BG是LDPC碼**PCM(Parity-Check Matrix, 校驗矩陣)**設計的前提,也決定了LDPC碼的宏觀特性和整體性能。在5G NR中,爲適應不同通信場景的需求,LDPC碼必須能夠靈活地支持不同的碼長和碼率。同時,爲提高通信可靠度,IR-HARQ 也是LDPC碼必須支持的一項特性。

  • 在採納LDPC碼作爲數據編碼方案的同時,3GPP 會議也同期確定通過對一個高碼率PCM進行下行角的碼字擴展,以支持IR-HARQ和速率匹配。後續會議上,各公司同意把5G NR LDPC碼PCM做如圖的劃分。
    在這裏插入圖片描述

    [A B]對應RL-LDPC碼中的Hcore,是高碼率部分;[D E]對應Hext,是擴展部分。Hcore的維度較低,可以通過密度演進和計算機輔助的方法設計比較好的稀疏矩陣。基於Hcore,擴展生成Hext。Hext每增加一行,H就會多一列。

  • 子矩陣A對應系統比特;子矩陣C爲全零矩陣;子矩陣E是單位矩陣;子矩陣B是方陣,對應校驗比特。B中有一列列重爲3,有一列列重可能爲1。如果有列重爲1的列,該列中元素“1”出現在最後一行,其餘的列中首列列重爲3.其後的列具有雙對角結構。如果沒有列重爲1的列,則首列列重爲3,其後的列具有雙對角結構。雙對角這種類似RA ( Repeat and Accumulate)碼的結構,可以有效降低錯誤平層,同時保持較低的編譯碼複雜度。

  • 考慮到SGNR場景的多樣性,各廠商建議設計多個BG,以覆蓋不同的碼長和碼率。在評估這些方案過程中,BLER是評判矩陣好壞的主要標準。但是考慮引入過多BG帶來的複雜度和譯碼延遲,最終確定的BG數量爲2

    BG1 的大小是46x68,Hcore的大小爲4x26,Hext的大小爲42x26。支持的最低碼率爲1/3。主要用於對吞吐要求較高、碼車較高、碼長較長的場景。

    BG2 的大小爲42x52,Hcore的大小爲4x14, Hext的大小爲38x14。主要用於對吞吐量要求不高,碼率較低,碼長較短的場景。

    • 通過進一步對比各個廠商所提矩陣的BLER,最終決定採用2個獨立的BG。標準確定的BG2稍顯特殊,可以通過刪除Hcore中的部分列,實現BG大小隨着信息塊大小的變化而變化。具體來說,當信息塊小於等於192時,Hore 的列數爲10;當信息塊大於192且小於560時, Hcore的列數爲12;當信息塊大於 560小於等於640 時,Hcore 的列數爲13;當信息塊大於640時,Hcore 的列數爲14。

    • 5G NR LDPC碼BG中前兩列屬於大列重,所謂大列重就是指這兩列中1的數量明顯大於其他列。這樣做的好處是在譯碼過程中加強消息流動,增加校驗方程之間的消息傳遞效率。右下角是對角陣,支持IR-HARQ,每次重傳只需要發送更多的校驗比特即可。

2. PCM

  • 一個QC-LDPC 碼由BG相應的移位因子Z構成,即PCM定義:BG中的1替換爲大小爲ZxZ的循環移位矩陣,BG中的0被替換爲ZxZ的全零矩陣。

    循環移位矩陣的移位值Pij,表示BG中第(i,j )個非0元素對應的移位矩陣爲ZxZ往右移位Pij次,它由Pij=mod(Vij, Z)計算得到,其中Vij是BG中第 (i, j)個非“0”元素位置對應的整數,mod(x,y)表示x對y取餘。

  • 爲了支持不同的信息塊長度,同時考慮描述複雜度和性能的折中,5G NR定義了8組擴展因子Z,即Z=ax2^j,其中a∈{2,3,5,7,9,11,13,15},j=0, 1…5。Z的取值是2≤Z≤384內的正整數。這些值分爲8個集合,每個集合對應一個a。對於每個a,5G NR基於每個BG定義了一個PCM,對應這個集合中最大的Z。BG1和BG2分別對應8套PCM。

3. TBS

  • 數據信道的資源調度非常靈活,信道編碼模塊需要根據待編碼的信息塊長度和編碼長度(或碼率),構造編碼參數。待編碼長度即傳輸塊大小(TBS,Transmission Block Size)。若存在分段,則分段後的每段長度爲碼塊大小(CBS,Code Block Size),而編碼長度則根據基站調度的可用資源(排除預留給參考信號、控制信息等的資源)進行計算。收發兩端得到的TBS和編碼碼長需要一致,否則接收端的解碼很可能失敗

  • 基站通過信令告知終端TBS是最直接的一種實現方式, 然面由於TBS的可能取值較多,會導致大量的信令開銷。另一種方式爲,收發兩端根據調度信息,採用相同的步驟計算TBS,這種方式以少量的運算代價,節省不必要的信令開銷。

  • 與LTE採用查表的方式不同,5G NR中採用查表和公式兩種方式計算TBS。5G NR中TBS的設計有以下考慮。

    ① 與TBS對應的實際碼率不能嚴重偏離名義碼率(MCS中預定義的碼率)。

    ② 實現每個TBS的**調製編碼方案(MCS, Modultion Coding Scheme)**儘可能多,以支持更靈活的調度。

    非均勻的TBS顆粒度(對較小的TBS,顆粒度較細;對較大的TBS,顆粒度較粗)。

    ④ 考慮兩個BG的切換條件和兩個BG的不同分段條件

    ⑤ 支持等長分段(TBS爲分段數的倍數)。

    ⑥ CBS按字節對齊(CBS爲8的倍數)。

    ⑦ 較低的描述複雜度。

    TBS的設計思路是將上述需求解耦,並將計算過程分爲多個步驟,每個步驟滿足對應的需求。例如:

    通過引入臨時信息比特數Ninto的計算來滿足需求(1);

    對臨時信息比特數進行量化,使多種調度配置和MCS組合映射爲同一個TBS,滿足需求(2);

    通過對臨時信息比特數進行數值大小相關的量化,滿足需求(3) ;

    對較小的數值採用查表的方式進行精細的量化,而對較大的數值採用公式上的量化,滿足需求(7);

    對量化後的結果分情況進行取整處理,滿足需求(4)一(6) 。

  • 5G NR規定TBS計算的主要過程如下:

    根據分配的資源數(包括時頻資源PRB和數據流數)、MCS確定的調製階數碼率計算一個臨時的信息比特數Ninfo,並據此判斷是基於查表還是公式計算TBS。

    具體來說, 當 Ninfo ≤ 3824 時,先對Ninfo進行量化得到Ninfo‘,然後查表找出最接近且不大於Ninfo’的值作爲TBS。 當Ninfo ≤ 3824時,先對Ninfo進行量化得到Ninfo‘,再採用公式計算TBS。

4. HARQ和速率匹配

  • HARQ是提升系統吞吐量的一項關鍵技術,而5G NR系統中LDPC碼的RL結構,可以增量生成校驗比特,很好地支持IR-HARQ和不同的傳輸碼率。另一方面,QC-LDPC碼離散的移位因子大小等也對信息塊大小和碼長的支持提出一些限制, 需要通過額外的填充和打孔等實現速率匹配。

  • 對速率匹配得到的編碼比特進行交織後再調製,即比特交織編碼調製是保證LDPC 碼在高階調製和衰落信道下性能穩定的另一個基本保障。

  • 與LTE Turbo碼類似,5GNR通過循環緩存實現HARQ和速率匹配:將編碼比特存儲在循環緩存中,每次傳輸時根據冗餘版本從循環緩存中順序讀取,實現速率匹配。

    另外,LDPC碼支持有限緩存速率匹配(LBRM,Limited Buffer Rate Matching)。對於初傳需要打掉的大列重對應的2Z個系統比特,標準規定不進入循環緩存,即永遠不會傳輸。對於每次傳輸,速率匹配的讀取位置由冗餘版本rv決定,且是移位因子Z的整數倍。
    在這裏插入圖片描述
    由圖可知,各個冗餘版本並不是均勻分佈的,標準中把rv=3進行了一定的移動使其更加靠近循環緩存的末尾,以使得rv0和rv3都可以獨立譯碼。速率匹配後的編碼比特經過交織後進入調製模塊,標準規定的交織方式實現了rv0系統比特優先的排序。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章