Polar Code
一種前向錯誤更正編碼方式
極化碼(英語:Polar code)是一種前向錯誤更正編碼方式,用於訊號傳輸。
構造的核心是通過通道極化(channel polarization)處理,在編碼側採用方法使各個子通道呈現出不同的可靠性,當碼長持續增加時,部分通道將趨向於容量近於1的完美通道(無誤碼),另一部分通道趨向於容量接近於0的純雜訊通道,選擇在容量接近於1的通道上直接傳輸信息以逼近通道容量,是目前唯一能夠被嚴格證明可以達到香農極限的方法。
2016年10月,華為/海思在葡萄牙首都里斯本,以PPT文檔的形式(編號R1-1610667)給出了幾種通道編碼方案的比較。文檔從性能、靈活性、實現的複雜度、時延這幾個方面對比了Polar、LDPC、Turbo、TBCC等幾種編碼方案的特點,原文提案編號如下圖所示(華為/海思2016年10月份的原始提案)。
Polar Code
從原始文檔中看到,華為/海思除了基於自己公司的研究成果外(R1-1608864等),還參考了眾多其他同行的研究成果,比如中興通訊(R1-166411等)、展訊(R1-1608922等)、諾基亞(R1-1609583等)、電信研究院(R1-1609578等)、Intel(R1-167703等)、MTK(R1-1609336等)等等。可以看到,這篇提案(其它很多提案都類似)集合了眾多廠家的研究成果,很難說歸屬於某一家所有,科學無國界。
合併圖冊
雖然現在極化碼已經被業界認可,但依然還沒有正式被寫到5G標準中,因為現在還沒有5G標準。根據5G標準進程,2017年3月之前,國際移動通信標準化組織3GPP對於5G標準的制定尚處於研究項目階段,具體實施時間表需要到2017年3月後才開始商議。
從最初的“碾壓”、“完爆”到現在的“誤讀”,科技界的事倒像是娛樂圈的事。
這裡只談談arikan發明極化碼時所提到的2*2矩陣為核的極化碼,只說要點,不說科普。
1.上鞅收斂:構造了一個通道變換,如果不斷遞歸這個變換並隨機挑選變換結果的話,則變換結果的巴氏參數(Bhattacharya parameter)構成一個隨機過程。arikan證明這個隨機過程是一個上鞅,再利用上鞅中的隨機變數序列a.s收斂和按期望收斂,證明收斂結果為一個二值隨機變數。再證明這個二值隨機變數為0的概率是二元離散對稱無記憶通道容量I,推斷證明碼長n無窮的時候可以挑出約nI個巴氏參數逼近0的無失真子通道,這就證明了通道極化是通道容量可達的。Foundation and trends裡面polar章節,有另外一種證明方法,初等一些。
2.SC解碼:有了好碼還需要有好的解碼演演算法。香農和Gallager都已經證明,大部分碼都是好碼,只缺好的,多項式複雜度的解碼演演算法。arikan使用通道變換中的遞歸結構,先譯“壞”通道的結果,甚至凍結“壞”通道的解碼結果為0(降低碼率),然後作為“好”通道解碼的依據。複雜度是超線性的,非常Nice.
3.性能估計:引用Foundation and trends裡面polar章節作者的一種rough說明:每一次遞歸變換,碼長翻倍,而子通道中有1/2子通道的誤碼率(的上界)e會平方(e<1),1/2子通道的誤碼率(的上界)e會翻倍(誤碼率實際值當然小於1,忽略掉上界的不夠緊緻吧)。設遞歸變換了m次,隨機挑選一個子通道,誤碼率平方的次數的期望是m/2,所以子通道的誤碼率期望約是(在指數爆炸面前,忽略掉那些翻倍的係數吧,雖然這樣很粗糙),n是碼長。嚴格的證明則說,碼長n無窮的時候,誤碼率小於的子通道數量逼近nI,I是通道容量(e的值甚至都不重要了....反正碼長n無窮的時候逼近0就好)。比較新的Finite length 性能估計出自Guruswami(2010年以後,很多做代數編碼的都跑去做極化碼了,筆者也算其中一個吧。。),有興趣的還可以去網上查查Rate dependent性能估計。
以上3點認為是極化碼,在通道編碼中,最核心的創新。
極化碼(Polar Codes)是一種新型編碼方式,也是目前3GPP標準制定中的一種候選編碼技術方案,通過對華為極化碼試驗樣機在靜止和移動場景下的性能測試,針對短碼長和長碼長兩種場景,在相同通道條件下,相對於Turbo碼,可以獲得0.3~0.6dB的誤包率性能增益,同時,華為還測試了極化碼與高頻段通信相結合,實現了20Gbps以上的數據傳輸速率,驗證了極化碼可有效支持ITU所定義的三大應用場景。
2018年7月26日,華為為5G極化碼(Polar碼)發現者、土耳其Erdal Arikan教授頒發特別獎項。