本文來自微信公眾號“網優雇傭軍”(ID:hr_opt),36氪經授權發布。
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碼最終能夠勝出,只能說明中國通信的崛起,國際地位明顯提升,早已今非昔比。