2016年底缤弦,LDPC被確認成為5G標準中的一種信道編碼浴滴,在3GPP 38.212技術(shù)規(guī)范中詳細規(guī)定了如何使用。最近本人也在研究LDPC留凭,因此寫下一些筆記共享佃扼。38.212規(guī)范中說明了物理層信息比特的處理流程,本問盡量按照信息處理流程將涉及LDPC的部分摘出描述介紹蔼夜,方便閱讀兼耀。以Download Shared Channel為主進行描述。
1. 傳輸塊(Transport Block)添加CRC
當傳輸塊被傳入Downlink Shared Channel后挎扰,為了使傳輸塊具有校驗檢錯功能,需要為傳輸塊添加CRC校驗巢音,目的是在接收端收到傳輸塊后可以校驗傳輸塊是否出錯遵倦。傳輸塊內(nèi)比特依次為,添加的CRC校驗比特為
其中A和L分別為傳輸塊載荷(payload)和校驗大小。當
時官撼,使用24位CRC校驗梧躺,否則,使用16位CRC校驗傲绣。具體的CRC計算多項式可以參照5.1中的規(guī)定掠哥。當傳輸塊添加CRC校驗比特之后記為
,其中
。此時傳輸塊被處理為長度為B的具有校驗功能的傳輸塊秃诵。
2. LDPC基矩陣的選擇
5G中LDPC有兩個基矩陣可以選擇续搀,分別為BG1和BG2,如何選擇基矩陣也在標準中做出了規(guī)定菠净。根據(jù)傳輸塊大小A以及需要編碼的碼率R進行選擇禁舷,選擇規(guī)則為:(1)如果或者
或者
的話,基矩陣選擇BG2毅往;(2)其他情況選擇BG1牵咙。需要注意兩點:有三種情況選擇BG2,請看清選擇的條件攀唯;另外洁桌,傳輸塊大小A是不包括CRC校驗的部分。其實在LDPC仿真時經(jīng)常會提及信息位長的概念侯嘀,在此時LDPC編碼時的信息位長指的是附加上CRC校驗的長度另凌,即B谱轨。因此如果使用LDPC信息位長進行判斷如何選取基矩陣的話,需要將上述292和3824增加16個CRC的校驗比特途茫。大概選擇原則就是低碼長低碼率選擇BG2碟嘴,高碼長高碼率選擇BG1。
3. 碼塊分段以及添加CRC
當傳輸塊過大時囊卜,需要將傳輸塊進行分段成碼塊娜扇,依次傳輸碼塊,在接收端重新組裝成為原來的傳輸塊栅组。如何分段在標準中的5.2.2中有詳細的說明雀瓢,需要注意的是在分段后,每個碼塊仍需要具有檢驗錯誤的功能玉掸,因此每個碼塊需要附加CRC校驗刃麸。如果沒有被分段則不需要額外在添加因此CRC校驗。另外司浪,在5.2.2中同時可以計算出提升系數(shù)(Lifting Size)泊业。根據(jù)表5.3.2-1,已知
即可計算
啊易。再根據(jù)表5.3.2-2或者5.3.2-3即可獲得QC移位系數(shù)矩陣吁伺,可以將LDPC基矩陣擴展成為LDPC校驗矩陣用于編碼或者譯碼。分段后的碼塊表示為
租谈,其中
表示碼塊的大小篮奄,r表示碼塊的編號。
4. 信道編碼及速率匹配
使用獲得的LDPC校驗矩陣割去,將分段后獲得的碼塊依次進行編碼窟却,碼塊大小小于指定的信息位時,添加<NULL>呻逆,編碼時等效于0夸赫,相當于在碼塊后補零直到長度等于LDPC校驗矩陣中對應(yīng)的信息位長,然后進行編碼咖城。編碼輸出依據(jù)指定的碼率R選取碼字比特憔足。基矩陣對應(yīng)的前兩列的信息比特不選取酒繁,即打掉
個信息比特滓彰,遇到<NULL>時跳過。直到選取碼字符合指定的碼率州袒。
在參考相關(guān)文獻時揭绑,遇到一種說法是選取完整校驗矩陣中對應(yīng)的列數(shù),組成子矩陣然后進行編碼,個人認為此做法在仿真實驗時是可行的他匪,但是當涉及HARQ研究是菇存,需要生成多個重傳包,選取部分子矩陣進行編碼的方法不可取邦蜜,因為這種方法過于繁瑣依鸥。選取符合指定碼率的子矩陣進行編譯碼的方法可以加快LDPC仿真的速度,因為越大的矩陣在仿真時會越慢悼沈。在需要涉及HARQ等使用重傳的方法是贱迟,還是按照標準中規(guī)定的生成方法生成完整的碼字,然后依次從起始位置選取才是正確的方法絮供。
5. 碼字拼接
將每個碼塊編碼后的碼字依次進行拼接然后進行后續(xù)映射調(diào)制發(fā)送衣吠。至此完成了5G物理層涉及LDPC部分的信息處理流程。
本文以下行共享信道為例描述了傳輸塊被傳入物理層到映射調(diào)制前的過程壤靶,主要是涉及LDPC的部分缚俏。
后續(xù)如果有時間的話還會詳細描述本文的第四部分,因為第四部分是涉及LDPC的主要內(nèi)容贮乳。