4G數據傳輸流程系列(三)—物理層“從傳輸塊到碼字”


摘要:這是4G網絡數據傳輸流程系列的第三課,上一課講了資源調度,備好糧草,這一課我們集結兵馬,趟一趟物理層處理流程。先講從傳輸塊TB到碼字(CW,Code Word),重點是信道編碼和速率匹配。有請小編Bob。

物理層處理的起點是MAC層傳下來的TB,終點是生成基帶OFDM信號。然后上變頻或下變頻將基帶OFDM信號變成射頻信號,通過天線發射出去。與資源調度一樣,物理層處理也分上行和下行,二者處理流程類似,仍然以下行為例介紹(還記得不?下行是指Bob從基站下載小視頻~,關注公眾號“wisdom365”了解更多)。

 
 

上行和下行處理流程區別在哪?有兩點:

(1)下行可以同時處理兩個TB,上行只能處理1個TB(注:R10版本上行最多可支持四流傳輸,此時上行也能同時處理2個TB,但基本未商用);

(2)下行采用OFDM方式,上行為避免峰均比過高采用SC-OFDM,因此,上行處理在層映射和預編碼之間增加一步:變換預編碼,以達到上行單載波目的。

由於物理層處理步驟實在是太多了,小編只能分成兩篇文章來講,第一篇講述第1步~第5步(上圖中標灰的框),第二篇講述第6步~第11步。

 
 

物理層處理--從TB到碼字

下行能同時處理兩個TB,兩個TB的處理流程完全相同,因此小編就以一個TB處理流程為栗子,力求說清楚每一步干什么?從哪來?到哪去? 怎么做?

 
 

 

第二步:碼塊分割。把大碼塊分割成小碼塊,每個小碼塊繼續添加24bit的CRC校驗。

A:每次碼塊都要分割嗎?

A:如果是,為什么要分割呢?

A:如果不是,什么樣的碼塊要分割呢?

B:不是所有碼塊都要分割,只有那些很大的碼塊才要分割。

A:多大?

B:據《聖經》3GPP TS 36.212記載,大於6144bit的碼塊才要分割。

A:為什么是6144bit?6666不行嗎?多吉利

B:。。。定義6144是因為下一步信道編碼中能處理的最大數據塊就是6144bit。

假設有1個很大的TB傳下來,數據塊后附加24bit CRC校驗,發現大於6144bit,則再次分割(假設分成兩塊),每塊后再附加24bit CRC校驗。

 
 

 

第三步:信道編碼。地球人都知道信道編碼的目的是保證信息傳輸不出錯,提高可靠性,否則Alice傳過去的小視頻就都是馬賽克了~~。

怎么實施信道編碼呢?簡單講, 發送端在信息bit后附加校驗bit,使信息bit和校驗bit有一定的數學關系,稱為編碼;接收端收到后猜傳的是1還是0,稱為譯碼,當然這里的猜可不是拍大腿猜,是通過算法有理有據的猜。按照校驗bit和信息bit之間的關系可以把信道編碼分為線性分組碼和卷積碼,區別在於,線性分組碼的校驗bit只和它們要保護的當前傳輸的信息bit有關系,而卷積碼的校驗bit除和當前傳輸的信息bit有關外,還和前一時刻傳輸的信息bit有關(好繞啊。。),第一步的CRC就可以認為是線性分組碼,3G WCDMA采用的就是卷積碼。

在4G中,采用的信道編碼是著名的Tur..bo..碼, 碼率為1/3。這一步里,針對第二步碼塊分割后得到的每個碼塊獨立進行信道編碼,輸出三行數據,分別是:系統比特流,第一校驗比特流,第二校驗比特流。

 
 

A:話說Turbo不是渦輪發動機的意思嗎?Turbo碼到底是什么?

B:Turbo碼是C. Berrou與A. Glavieux在1993 年瑞士日內瓦舉行的IEEE ICC國際通信學會上首次提出的一種級聯碼,基本原理是編碼器通過交織器把兩個分量編碼器進行並行級聯,兩個分量編碼器分別輸出對應校驗bit;譯碼器在兩個分量編碼器之間進行迭代譯碼,分量譯碼器之間傳遞去掉正反饋的外信息,整個譯碼過程類似渦輪工作,所以就把這個編碼方法稱為渦輪碼,錯了,是Turbo碼。

A:說人話。。。

B:Turbo碼編碼器其實就是把兩個卷積碼編碼器並行起來,中間加一個交織器,也叫做並行級聯卷積碼。因為有兩個卷積碼編碼器,每個編碼器都會輸出校驗bit,所以Turbo碼輸出兩個校驗bit流,稱為第一校驗bit流和第二校驗bit流,加上原始數據,共輸出三行數據。一圖勝千言,看下圖。

A:然后呢?

B:編碼器中的這個交織器可是神來之筆,Turbo碼有增益全靠有它。在4G網絡里,這個交織器最大能處理的數據長度是6144bit,這也是為什么第二步里超過6144bit的碼塊要被拆了。

A:歐,然后呢?

B:Turbo譯碼器是兩個串聯的卷積碼譯碼器,第一個譯碼器的輸出通過交織器打亂順序后作為第二個譯碼器的輸入,第二個譯碼器的輸出再送回去作為第一個譯碼器的輸入,循環迭代,直到譯碼完畢。一圖勝千言,看下圖。

A:為什么這么折騰呢?

B:這是Turbo碼的核心和顯著特征,使用外信息進行一次次迭代譯碼,如此保證Turbo的高性能。

A:舉個栗子?

B:在Turbo碼之前,譯碼不使用外信息,若要判斷一個比特是0還是1,你覺得它像1就是1。如果這時周圍的小伙伴告訴你這個比特更像0,這個信息就是外信息,是排除了自身判斷由別人得到的信息。使用外信息做判斷的時候,就要把周圍人的判斷和自己的判斷進行比較,綜合兩方面得到最終結果。多聽聽別人意見總是有好處,集思廣益嘛。所以Turbo碼使用外信息進行迭代解碼這一思路,開啟了現代編解碼理論的大門。

A:恩恩。那碼率1/3是什么意思?

B:信道編碼要在信息bit后附加校驗bit,信息bit位數/(信息bit位數+校驗bit位數)就是碼率。1/3的碼率就是說對於1個信息bit,要算出2個校驗bit來保護它,這樣信道編碼后得到的數據總長度就是原來的3倍。

 
 
 
 

A:好復雜的樣子...

B:講了這么多,也是為了紀念Turbo碼。2016年10月14日在葡萄牙里斯本,3GPP RAN1確定LDPC碼為5G信道編碼長碼方案,Turbo碼結束了在3G、4G時代長達十幾年的統治。

A:一個時代的落幕,確實讓人唏噓,不過和咱們吃瓜群眾有關系嗎?

B:有啊,話說我曾立志在廣袤的大草原中尋找一匹好碼,從Turbo到LDPC到polar到噴泉

A:套碼的漢子你威武雄壯...

 

第四步,速率匹配。信道編碼后的數據最終要通過無線資源傳輸,但是數據量和傳輸資源往往不匹配,有時傳的數據量多而傳輸資源不夠,有時數據量少而傳輸資源多,這就需要把這兩部分匹配起來,叫做速率匹配,一般有兩種方法:(1)打孔,扔掉一些數據bit;(2)重復,復制數據bit充數。

在4G網絡,每一個碼塊信道編碼后,Turbo編碼器並行輸出三行數據,而最終傳輸的肯定是一行數據流,所以怎么把三行數據再變成一行數據流,首位相接,還是交插組隊?無線傳輸資源不是固定不變的,得到的一行數據流與無線傳輸資源大小不匹配怎么辦?這就是4G網絡中速率匹配要解決的問題。

 
 

下圖是速率匹配器結構圖,Turbo信道編碼后的三行數據同時輸入,分別通過行列交織器后,存在緩沖器中,系統比特流排在緩沖器頭部,校驗bit流排在尾部。比特選擇器在緩沖器中選擇一個“起點”,並順序選出指定大小的一行數據,作為輸出。共有四種“起點”選擇方式,對應我們常說的4個冗余版本(RV)。

 
 

 

第五步,碼塊級聯。天下大事,合久必分,分久必合。數據處理也一樣,第一步中,長度超出6144bit的大碼塊要分割,這是“分”;這一步,要把分割、信道編碼后的碼塊再首尾相接連起來,這就是“合”。最終仍然得到呈“一字長蛇陣”的數據bit流,形式上和第一步的輸入TB是一樣的,不過這時數據流改名叫碼字(CW,Code Word)。

 
 

OK,到這里,小編洋洋灑灑幾千字講完了4G物理層處理中從TB到碼字的流程,其中重點是信道編碼和速率匹配。下一課Bob小編將介紹4G網絡哼哈二將MIMO和OFDM在物理層的實現和處理流程,完成物理層處理的收官之戰,敬請期待。

下課~~



作者:讀萬卷行萬里
鏈接:https://www.jianshu.com/p/2ae95e278d76
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM