5G為何采納華為力挺的Polar碼?一個通信工程師的大實話




微信號:網優雇傭軍

微信號:hr_opt

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碼之間的拳擊爭霸賽,一場中美拳擊爭霸賽。

5G為何采納華為力挺的Polar碼?一個通信工程師的大實話

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

5G為何采納華為力挺的Polar碼?一個通信工程師的大實話

自此,經過兩次激戰,在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為何采納華為力挺的Polar碼?一個通信工程師的大實話

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碼最終能夠勝出,只能說明中國通信的崛起,國際地位明顯提升,早已今非昔比。

網優雇傭軍投稿郵箱:[email protected]

長按二維碼關注

5G為何采納華為力挺的Polar碼?一個通信工程師的大實話

通信路上,一起走!

閱讀原文




熱門文章