誰能科普一下5G中長碼和短碼?玉溪中公教育27899062018-05-14 11:57:41

Polar碼被採納為5G eMBB場景的控制通道編碼,這兩天連續被這條訊息刷屏,連吃瓜群眾都直呼好爽。

然而,隨著媒體報道的持續發酵,真相在口口相傳中變了形,不乏誇大不實之嫌,小編終於坐不住了,也想吐露點心裡話,希望儘可能站在客觀的角度,在這個浮躁的世界裡發出一點微不足道的聲音,一個通訊工程師的聲音。

事件經過我們再回溯一遍…

2016年11月14日至18日期間,3GPP RAN1 #87會議在美國Reno召開,本次會議其中一項內容是決定5G短碼塊的通道編碼方案,其中,提出了三種短碼編碼方案:Turbo碼、LDPC碼和Polar碼。

關於這三種編碼方案之爭,這已經是5G標準的第二次較量。在2016年10月14日葡萄牙里斯本舉行的會議上,LDPC碼戰勝了Turbo碼和Polar碼,被採納為5G eMBB場景的資料通道的長碼塊編碼方案。

在這個背景下,這一次關於短碼塊編碼方案的爭論更為激烈。因為LDPC碼已經拿下一局,出於實施複雜性考慮,整個移動通訊系統採用單一的編碼方案更利於5G部署,比如,3G和4G採用的是Turbo碼,估計會有更多人支援LDPC碼。

這樣一來,主要由美國企業主導的LDPC碼有可能一統5G天下,而華為等中國企業主導的Polar碼將前功盡棄。

由於拋棄Turbo碼的呼聲較大,在上次會議失利之後,可以說Turbo碼基本大勢已去,本次5G編碼之爭最終演變為Polar碼和LDPC碼之間的拳擊爭霸賽,一場中美拳擊爭霸賽。

最終,經過連續熬夜的激戰後,Polar碼終於在5G核心標準上扳回一局,成為5G eMBB場景的控制通道編碼方案。

自此,經過兩次激戰,在5G eMBB場景上,Polar碼和LDPC碼二分天下,前者為信令通道編碼方案,後者為資料通道編碼方案。Polar碼和LDPC碼一起歷史性的走進蜂窩移動通訊系統,而在3G和4G時代陪伴我們多年的Turbo碼再輸一局,留下了落魄而孤寂的背影。

這確實是一個令人振奮的訊息,如果說用力挽狂瀾來形容,我覺得並不為過。

這對於主導Polar碼的華為和中國企業絕對利好,畢竟,多年在Polar碼上研發投入終於有了盼頭。

但是,我們看到有些媒體的報道,恕我直言,太過浮誇。

1 不是“拿下5G時代”

在5G eMBB場景上,Polar為信令通道編碼方案,LDPC碼為資料通道編碼方案,最多叫平分秋色。同時,後面還有很多路要走。

我們在前文中提到的eMBB場景不過是5G應用的其中一個場景。3GPP定義了5G三大場景:eMBB,mMTC和URLLC,eMBB對應的是3D/超高畫質影片等大流量移動寬頻業務,mMTC對應的是大規模物聯網業務,而URLLC對應的是如無人駕駛、工業自動化等需要低時延高可靠連線的業務。

本次採納的編碼方案是針對其中eMBB場景,後續還將決定URLLC場景下的通道編碼方案,最後再決定mMTC場景(估計在2017年第一季度)。儘管此次採納Polar碼為後續標準話語權打下了堅實的基礎,但革命還未成功,同志仍需努力。

2 Polar碼不是華為的,LDPC也不是高通的

這要從通道編碼的歷史說起。

Turbo碼是由法國科學家C。Berrou和A。Glavieux發明。從1993年開始,通訊領域開始對其研究。隨後,Turbo碼被3G和4G標準採納。

LDPC碼是由MIT的教授 Robert Gallager在1962年提出,這是最早提出的逼近夏農極限的通道編碼,不過,受限於當時環境,難以克服計算複雜性,隨後被人遺忘。直到1996年才引起通訊領域的關注。後來,LDPC碼被WiFi標準採納。

Polar碼是由土耳其比爾肯大學教授E。 Arikan在2007年提出,2009年開始引起通訊領域的關注。

簡而言之,通道編碼是數學家們原創出理論,通訊就是跟著數學家們跑,在他們的理論基礎上不斷研究試驗,使之落地於實際應用。

為什麼有些公司力挺Polar碼,有些公司力挺LDPC碼?這就像下賭注,看中了某種編碼技術,就開始對其研究,一旦賭贏了,那麼我的研究成果就能快速落地應用,一旦輸了,只能從頭再來。比如,華為選擇了Polar碼,5G也選擇了Polar碼,這就意味著華為在5G領域更具影響力。當然,在研究中,一定也積累了不少專利。

所以,儘管這次Polar碼贏了,但個人以為,媒體們不能因為太過興奮而忽略了數學家們的貢獻,更不能張冠李戴,有些東西是沒有國界的。

3 為何5G採納了Polar碼?

這個小標題應該叫:5G為何採納了Polar碼和LDPC碼?又為何放棄了Trubo碼?

先從什麼叫通道編碼說起。當我們拿起手機刷朋友圈時,資料透過無線訊號在手機和基站間傳送。由於受到無線干擾、弱覆蓋等原因影響,我們手機發送的資料和基站接收到資料有時會不一致,比如,我們手機發送的1 0 0 1 0,而基站接收到的卻是1 1 0 1 0,為了糾錯,移動通訊系統就引入了通道編碼技術。

通道編碼,簡單的講,就是我們在有K位元的資料塊中插入冗餘位元,形成一個更長的碼塊,這個碼塊的長度為N位元位,N>K,N-K就是用於檢測和糾錯的冗餘位元,編位元速率R就是K/N。一個好的通道編碼,是在一定的編位元速率下,能無限接入通道容量的理論極限。

在過去幾十年裡,出現了兩種接近容量極限的通道編碼技術:LDPC和Turbo碼,分別被3G和4G通訊標準和WiFi標準採納。2007年,土耳其教授E。 Arikan提出了Polar碼,被稱為是迄今發現的唯一一類能夠達到夏農限的編碼方法。

所以,這三種優秀的編碼技術均進入5G編碼標準的法眼,並引發了一場爭奪賽。

為何這場爭奪賽這麼激烈?都是KPI惹的禍。

5G NR(New Radio)的KPI裡,明確規定:峰值速率20Gbps、使用者面時延0。5ms(URLLC)。

這個KPI定的太高,在4G基礎上提升了20倍。報告領導,不好完成。

有多難呢?5G NR的下行峰值速率要求是20Gbps,由於手機(或基站)接收到的每一bit都要經過通道譯碼器,20Gbps就相當於譯碼器每秒鐘要處理幾十億bit資料。

舉個例子,20 Gbps就意味著譯碼吞吐量T為20 Gbps,假設譯碼迭代次數I為10次,處理器的時鐘頻率F為500 MHz,那麼,I *T /F = 10*20G/500M=400,也就是說需要400個處理器並行工作。

(備註:譯碼器是通道編碼最難實現的一環)

這也是為何很多人選擇放棄3G和4G時代使用的Turbo碼的原因之一,因為4G的最大速率不過1Gbps,傳統Turbo碼透過迭代譯碼,本質上源於序列的內部結構,所以,有人認為Turbo遇上更高速率的5G時就遇到了瓶頸。比如LDPC譯碼器是基於並行的內部結構,這意味著譯碼的時候可以並行同時處理,不但能處理較大的資料量,還能減少處理時延。儘管可以採用外部並行的方式,但又帶來了時延問題。

對於時延,出於技術宅的本能,也請容許我再囉嗦一下。

5G NR的URLLC應用場景要求使用者面時延為0。5ms,這是4G 10ms的二十分之一。之所以要求這麼高的時延,是因為我們在體驗增強現實、遠端控制和遊戲等業務時,需要傳送到雲端處理,並實時傳回,這一來回的過程時延一定要足夠低,低到使用者無法覺察到。另外,機器對時延比人類更敏感,對時延要求更高,尤其是5G的車聯網、自動工廠和遠端機器人等應用。

空口0。5ms時延意味著物理層的時延不能超過50μs,而物理層時延除了受譯碼影響,還受其它因素影響(比如同步),這就需要譯碼的處理時延一定要低於50μs,越低越好。

總得來說,這就好比春節的航班,人流太多,要把幾億中國人從南到北,從東向西轉移一次,“資料量”太大,這就需要多開航班,並且加快航行速度。

“航班公司”5G NR表示鴨梨山大,而通道編碼表示壓力更大,層層傳遞嘛。

但是,這點壓力還不夠,5G表示還能抗。

剛才我們講了,3GPP定義了5G三大場景:eMBB,mMTC和URLLC,這些場景對應5G的AR、VR、車聯網、大規模物聯網、高畫質影片等等各種應用,較之3/4G只有語音和資料業務,5G可繁忙多了。

這就對5G通道編碼提出了更高要求,需支援更廣泛的碼塊長度和更多的編位元速率。比如,短碼塊應用於物聯網,長碼塊應用於高畫質影片,低編位元速率應用於基站分佈稀疏的農村站點,高編位元速率應用於密集城區。如果大家都用同樣的編位元速率,這就會造成資料位元浪費,進而浪費頻譜資源,這叫編碼的靈活性。

另外,5G還得保障更高可靠性的通訊。LTE對一般資料的空口誤塊率要求初始傳輸為10%,經過幾次重傳後,誤塊率如果低於1%即可。但是,5G要求誤塊率要降到十萬分之一。這就意味著,10萬個碼塊中,只允許通道譯碼器犯一次錯,最多隻能有一個碼塊不能糾錯。

綜上,決定5G採用哪種編碼方式的因素就是:譯碼吞吐量、時延、糾錯能力、靈活性,還有實施複雜性、成熟度和後向相容性等。

比較一下三種編碼的譯碼吞吐量、時延、糾錯能力、靈活性和實施複雜性,誰更強的呢?

小編查閱了最新的大量文獻,結果是:被搞得暈頭轉向,一臉懵逼。這個問題太複雜了,公說公有理婆說婆有理。

比如,有人認為,Turbo碼達到了瓶頸,無法處理20Gbps高速率,然而,有廠家證明,基於全並行設計的Turbo譯碼器的譯碼吞吐量能到21。9 Gbps,處理時延可達0。24μs,這也能滿足5G NR的20Gbps速率需求。

比如,如果用譯碼器在譯碼每一bit時執行的Max,Min和Add操作的總次數來衡量計算複雜度,有人認為Polar碼和LDPC碼在計算複雜度上優於Turbo碼。

比如,有人說Turbo不夠靈活,然而有人指出,LTE Turbo碼的碼塊長度從40到6144,一共有188 種,可以支援不同的業務,而採用多個並行處理器來同時完成碼塊譯碼的Turbo碼,能更靈活支援不同的碼塊長度。

小編試圖從技術的角度去找到5G選擇Polar碼或者LDPC碼的理由,然而,能力有限,把自己搞得灰頭土臉。

那麼,我們從成熟度和向後相容性方面看吧。

Turbo碼被3/4G標準採用,LDPC被WiFi標準採用,而Polar碼出現較晚,在5G之前還沒有任何標準採用。從這方面講,Polar碼的成熟度較低。

然而,華為表示不服,5G編碼標準之爭前,海外通訊圈就有一篇文章瘋傳,華為表示,採用Polar碼實現了5G速率達到27Gbps,表示滿足5G需求沒問題。

至於向後相容性。5G NR是一種全新的無線技術,是更新換代,不是像2G—>2。5G或4G—>4。5G那樣,現網升級即可,這是要運營商買新基站裝置的,所以,其實不用考慮後向相容性。

不過,對於終端就是另外一回事了。現在的4G手機支援2G和3G,同樣,以後5G手機也要支援3G和4G。3G和4G採用Turbo碼,如果5G也採用LDPC或Polar碼,這就意味著手機要採用兩套硬體設計,而譯碼器是整個基帶處理器的重要組成部分,佔據了近72%的基帶處理硬體資源和功耗,這可能會導致5G終端成本稍高一點,也可能會稍微拉長一點5G商用化的時間。

但是,有句老話叫磨刀不誤砍柴工。如果這一編碼方案足夠優秀,極具潛力,那麼,5G晚到一點又有什麼關係呢,無非是為了更好的體驗多花一點時間而已。

所以,關於5G為何採納Polar碼,我們的結論是:

技術分析並沒有什麼卵用。

因為,這一場標準之爭,在我們看來,早已超越了技術的邊界,而是綜合實力和話語權的較量。

Polar碼最終能夠勝出,只能說明中國通訊的崛起,國際地位明顯提升,早已今非昔比。