王秀敏,宿 晨,單 良,王 怡,王 玉
(1. 中國(guó)計(jì)量大學(xué) 信息工程學(xué)院,浙江 杭州310018; 2. 紐約城市科技大學(xué) 計(jì)算機(jī)工程技術(shù)學(xué)院,紐約 11201)
高性能LDPC/Turbo碼雙模譯碼器的發(fā)展綜述
王秀敏1,宿 晨1,單 良1,王 怡1,王 玉2
(1. 中國(guó)計(jì)量大學(xué) 信息工程學(xué)院,浙江 杭州310018; 2. 紐約城市科技大學(xué) 計(jì)算機(jī)工程技術(shù)學(xué)院,紐約 11201)
目前LDPC碼和Turbo碼廣泛應(yīng)用于3G和4G商用移動(dòng)通信系統(tǒng)中,并且在無(wú)線(xiàn)局域網(wǎng)、光纖通信、水下通信、視頻和圖象的加密以及網(wǎng)絡(luò)安全等方面也發(fā)揮著重要的作用. 由于全球在不同地區(qū)的移動(dòng)通信設(shè)備只支持一種碼,這使得移動(dòng)通信有一定的地域局限性并影響通信質(zhì)量. 因此,通過(guò)對(duì)LDPC碼和Turbo碼譯碼過(guò)程的研究與結(jié)合,實(shí)現(xiàn)一種高性能的LDPC/Turbo碼雙模譯碼器具有重要意義. 文章回顧了目前LDPC/Turbo碼雙模譯碼器的發(fā)展情況,并針對(duì)存在的不足進(jìn)行分析和總結(jié),最后介紹LDPC碼和極化碼未來(lái)發(fā)展的趨勢(shì).
LDPC/Turbo碼;雙模譯碼器;SISO計(jì)算單元;極化碼
進(jìn)入21世紀(jì)以來(lái),無(wú)線(xiàn)通信已經(jīng)基本覆蓋到了全球的每一個(gè)角落,影響著我們的生活,拉近了人與人之間的距離. 數(shù)字通信系統(tǒng)具有抗干擾能力強(qiáng)、傳輸差錯(cuò)可控、可加密并保密性好等特點(diǎn),并且對(duì)于不同信源的信號(hào)在傳輸和接收處理方面有非常好的靈活性,因而能與現(xiàn)代通信完美結(jié)合[1-2]. 在通信系統(tǒng)中最重要的就是保證信息傳輸?shù)姆€(wěn)定、可靠[3],Gallager先生于1962年發(fā)明了一種低密度奇偶校驗(yàn)碼(LDPC)[4], 由于當(dāng)時(shí)LDPC碼只有在碼長(zhǎng)較長(zhǎng)時(shí)性能好但通信硬件條件難以滿(mǎn)足這個(gè)需求而被忽視,直到1996年MacKay和Neal再次提出了它[5]. 在此之前,Berrou等人于1992年發(fā)明了Turbo碼,同時(shí)提出了迭代譯碼的思想[6]. LDPC碼和Turbo碼都接近Shannon極限,良好的譯碼性能滿(mǎn)足現(xiàn)代通信的需要. 實(shí)驗(yàn)證明當(dāng)碼長(zhǎng)大于104時(shí),LDPC碼的譯碼性能要優(yōu)于Turbo碼[7].
最早詳細(xì)提出LDPC碼和Turbo碼雙模譯碼器設(shè)計(jì)思路是在2008年,當(dāng)時(shí)Sun Yang 等人提出了一種能同時(shí)支持LDPC碼和Turbo碼的譯碼算法,以及一種支持兩種碼共享的軟輸入軟輸出SISO計(jì)算單元[8-9],最大化的減少邏輯資源消耗,這些成果也為之后雙模的研究打下堅(jiān)實(shí)基礎(chǔ). 2014年Carlo 提出的LDPC/Turbo碼雙模譯碼器支持深空通訊,將雙模譯碼器的應(yīng)用推向了新的高度,并且在計(jì)算單元SISO中實(shí)現(xiàn)了約90%的資源共享[10-11].
隨著4G通信的日漸成熟人們把更多的目光投向5G的研究中,其中極化碼已經(jīng)與5G悄然的聯(lián)系在了一起. 極化碼是由Erdal 教授于2008年提出的[12],極化碼在理論上可達(dá)到Shannon極限,并且在編譯碼設(shè)計(jì)上會(huì)有線(xiàn)性的復(fù)雜度變化,因而成為了研究的焦點(diǎn)[13].
1.1 雙模譯碼器總體結(jié)構(gòu)
譯碼器總體結(jié)構(gòu)設(shè)計(jì)主要基于譯碼過(guò)程,目前LDPC/Turbo碼雙模譯碼器中應(yīng)用最廣泛的算法是Turbo碼的LUT-LogMAP算法和LDPC碼的LUT-TDMP算法,由于兩種算法在譯碼過(guò)程上基本一致,因此在設(shè)計(jì)中可以共享大量的計(jì)算單元. 文獻(xiàn)[8]提出的雙模譯碼器總體結(jié)構(gòu)如圖1. 該結(jié)構(gòu)支持WiMAX標(biāo)準(zhǔn)下的LDPC碼和TD-LTE標(biāo)準(zhǔn)下的Turbo碼,圖中虛線(xiàn)指向代表LDPC碼的譯碼過(guò)程,實(shí)線(xiàn)是Turbo碼的譯碼過(guò)程,而加粗實(shí)線(xiàn)為兩種碼共有的譯碼過(guò)程. 其中,交織器負(fù)責(zé)Turbo碼信息的交織或解交織[14],移位器負(fù)責(zé)LDPC碼信息的循環(huán)移位[15],兩者的目的都是為了打亂信息序列從而去掉消息在傳遞過(guò)程中的關(guān)聯(lián)度. 由于工作原理不同,交織器與移位器也是目前無(wú)法實(shí)現(xiàn)共享的模塊.
圖1 LDPC/Turbo碼雙模譯碼器的總體譯碼結(jié)構(gòu)圖Figure 1 Overall structure of LDPC/Turbo dual-mode decoder
1.2 存在的不足
譯碼器的性能主要看吞吐率、誤碼率和邏輯資源消耗,其中決定吞吐率的主要因素就是譯碼延時(shí). 隨著科技不斷進(jìn)步,硬件手段更加豐富,邏輯資源消耗已不是致命的問(wèn)題,人們?yōu)榱烁酶斓耐ㄐ艜?huì)選擇消耗較多的邏輯資源. 結(jié)合這一趨勢(shì),我們總結(jié)出目前LDPC/Turbo碼雙模譯碼器的不足如下:
1)吞吐率較低. LDPC碼或Turbo碼單模譯碼器已經(jīng)可以達(dá)到3G以上的吞吐率[16-17],相比之下LDPC/Turbo碼雙模譯碼器還有很大的差距,主要原因是Turbo碼最大碼長(zhǎng)要比LDPC碼長(zhǎng),并且各自的譯碼并行度也有很大不同[18],因此在分塊譯碼處理時(shí)很難減少譯碼延時(shí),受影響最大的就是Turbo碼.
2)譯碼性能一般.由于LDPC碼和Turbo碼目前僅能以MAP算法相結(jié)合,因此譯碼算法的選擇受到很大的限制,無(wú)論是LUT-LogMAP算法還是LUT-TDMP算法均不是各自碼中性能最好的譯碼算法,因而直接影響到誤碼率.
3)標(biāo)準(zhǔn)限制. 本文研究的雙模譯碼器僅支持WiMAX標(biāo)準(zhǔn)的LDPC碼和TD-LTE標(biāo)準(zhǔn)下的Turbo碼,由于不同標(biāo)準(zhǔn)在碼的構(gòu)造、信道選取和譯碼算法等方面也會(huì)不同,因此雙模譯碼器支持多標(biāo)準(zhǔn)的路還很長(zhǎng).
2.1 LDPC/Turbo碼雙模譯碼器改進(jìn)與發(fā)展
在譯碼器吞吐率改進(jìn)上,2011年Sun Yang 等人提出了基于QPP交織器的動(dòng)態(tài)交織結(jié)構(gòu),實(shí)現(xiàn)了實(shí)時(shí)輸出交織地址從而在減少了大量存儲(chǔ)單元的同時(shí)降低了譯碼延時(shí),并使得Turbo碼吞吐率達(dá)到了1 Gb/s以上[19]. Robert于2015年提出了一種高并行的Turbo碼譯碼算法,通過(guò)滑窗結(jié)構(gòu)對(duì)消息節(jié)點(diǎn)進(jìn)行最大化的并行處理,從而實(shí)現(xiàn)1 Gb/s以上的吞吐率[20]. 雖然雙模譯碼器并行度受限制,但采用以上兩種方法均可使數(shù)據(jù)處理更加連續(xù),從而減少譯碼延時(shí),但應(yīng)用到雙模中時(shí)還要考慮資源共享. Lin于2015年提出Radix-4 SISO計(jì)算單元結(jié)構(gòu)[21],該結(jié)構(gòu)支持Turbo碼的MAP算法和LDPC碼的MS算法,通過(guò)改變消息傳遞網(wǎng)絡(luò),增加消息傳遞路徑來(lái)提升消息傳遞的效率. 由于MS算法在LDPC碼譯碼算法中性能較差,因此將該算法升級(jí)為NMS算法會(huì)使譯碼性能有大幅度提升,而僅提升LDPC譯碼算法性能會(huì)使計(jì)算單元共享率降低,因此我們嘗試將Turbo碼的算法也做相應(yīng)的調(diào)整. NMS算法是Wu Xiaofu于2010年提出的基于歸一化的MS算法,該算法在MS算法的基礎(chǔ)上通過(guò)引入歸一化因子修正狀態(tài)轉(zhuǎn)移函數(shù)達(dá)到比BP算法更優(yōu)的譯碼性能[22].
由于NMS算法的譯碼性能也優(yōu)于LUT-TDMP算法[23],因此可以嘗試將歸一化近似的優(yōu)勢(shì)結(jié)合到LUT-TDMP算法和LUT-LogMAP算法計(jì)算狀態(tài)轉(zhuǎn)移函數(shù)的近似中. Vanukurn于2013年提出混合算法的思想,通過(guò)對(duì)LUT-Log-MAP算法和Linear-Log-MAP算法的混合達(dá)到了比Log-MAP算法更優(yōu)的譯碼性能[24],結(jié)合的部分為狀態(tài)轉(zhuǎn)移函數(shù)近似部分. 基于以上兩個(gè)思想可以將文獻(xiàn)[8]中的狀態(tài)轉(zhuǎn)移函數(shù)f(x,y)和max*進(jìn)行查表近似和歸一化近似法相結(jié)合,選取合適的歸一化因子不但能夠提升譯碼性能,還可以將乘法運(yùn)算轉(zhuǎn)化為移位加法的形式,這樣相比查表近似還減少了邏輯資源消耗[25].
圖2 支持雙模譯碼器的NFU單元結(jié)構(gòu)圖Figure 2 NFU structure of dual-mode decoder
因此,可將文獻(xiàn)[8]中的靈活的功能單元(FFU)升級(jí)為采用混合近似法處理狀態(tài)轉(zhuǎn)移函數(shù)的歸一化功能單元(NFU),其結(jié)構(gòu)如圖2. 其中4個(gè)CS信號(hào)控制不同近似法,在文獻(xiàn)[8]的查表模塊LUT-u和LUT-s的基礎(chǔ)上加入LDPC碼和Turbo碼各自的歸一化近似單元Nor-L和Nor-T,以滿(mǎn)足最佳的譯碼需求. SISO調(diào)用NFU的結(jié)構(gòu)如圖3所示[9],其中前后向遞歸單元(FBR)利用分支度量γ進(jìn)行前向度量α和后向度量β的遞歸計(jì)算[10]. 通過(guò)加法、比較和選取單元(ACS)計(jì)算出外信息. 結(jié)合圖3可以看出,采用混合近似法可以在LDPC碼或Turbo碼每次進(jìn)行狀態(tài)轉(zhuǎn)移函數(shù)計(jì)算時(shí)最多可以分別減少16個(gè)和22個(gè)LUT計(jì)算,并將其替換為復(fù)雜度更低的移位加法運(yùn)算[26],這樣的改進(jìn)不但在理論上可以提升譯碼性能,而且還會(huì)節(jié)省邏輯資源.
圖3 基于NFU單元的SISO結(jié)構(gòu)圖Figure 3 Structure of SISO based on NFU
2.2 雙模譯碼器與極化碼
隨著5G時(shí)代的悄然臨近,極化碼逐漸成為研究的重點(diǎn).極化碼的核心就是“信道極化”,當(dāng)極化碼的碼長(zhǎng)持續(xù)增加時(shí),一部分信道的容量將趨向于1即沒(méi)有誤碼的信道,而另一部分信道的容量則趨向于0的純?cè)肼曅诺?因此不難看出,我們將會(huì)選擇在容量接近于1的信道上直接傳輸信息從而逼近信道容量[27]. 在極化碼譯碼時(shí),主要采用簡(jiǎn)單的逐次干擾抵消譯碼的方法,從而以較低的實(shí)現(xiàn)復(fù)雜度獲得與最大自然譯碼相近的性能[28].
目前有很多學(xué)者已經(jīng)對(duì)LDPC碼、Turbo碼和極化碼的性能進(jìn)行比較,發(fā)現(xiàn)LDPC碼在中短碼長(zhǎng)的譯碼性能要遠(yuǎn)遠(yuǎn)優(yōu)于極化碼并且在碼長(zhǎng)大于104時(shí)優(yōu)于Turbo碼,而極化碼雖然有理論上接近信道極限的性能但是也同樣要求碼長(zhǎng)大于220時(shí)才行,不過(guò)考慮到極化碼在編碼和譯碼方面均有比LDPC碼和Turbo碼更低的復(fù)雜度因而受到了廣泛認(rèn)可[29].
圖4 LDPC/Polar碼雙模譯碼器結(jié)構(gòu)Figure 4 Structure of LDPC/Polar dual-mode decoder
由于極化碼同其他碼的譯碼原理不同,因此共享計(jì)算單元會(huì)非常復(fù)雜. 但是隨著研究的不斷深入,更多的共性將會(huì)被挖掘出來(lái).例如,極化碼和LDPC碼均可用于AWGN信道,并且極化碼SC譯碼算法及其改進(jìn)算法也涉及到消息傳遞的遞歸計(jì)算,這點(diǎn)同LDPC碼的前后向度量遞歸計(jì)算的過(guò)程類(lèi)似. 因此,可以構(gòu)想一種LDPC/Polar碼雙模譯碼器如圖4所示,根據(jù)控制單元和數(shù)據(jù)分配來(lái)對(duì)不同碼長(zhǎng)的碼字選取最佳的譯碼方式,目的是對(duì)于中短碼長(zhǎng)的碼字進(jìn)行LDPC碼譯碼,而較長(zhǎng)碼長(zhǎng)則采用極化碼譯碼[30],這樣的譯碼器相比LDPC碼與極化碼的級(jí)聯(lián)會(huì)有很大的優(yōu)勢(shì). 由于大多極化碼譯碼算法不需要迭代,因此極化碼SISO單元僅需要內(nèi)部存儲(chǔ)并沒(méi)有與外信息緩存相連[31].
本文針對(duì)當(dāng)前LDPC/Turbo碼雙模譯碼器的研究現(xiàn)狀,結(jié)合它的不足提出改進(jìn)想法,目的是為了提升雙模譯碼器的吞吐率和譯碼性能并減少邏輯資源消耗. 同時(shí),結(jié)合5G時(shí)代的到來(lái)以及極化碼的不斷深入研究,提出一種LDPC/Polar碼雙模譯碼器模型,該譯碼器可以完成對(duì)不同碼長(zhǎng)的碼字以最佳的譯碼方案譯碼. 目前由于LDPC碼和極化碼聯(lián)合后其共享模塊較少,因此找到更多LDPC碼與極化碼在計(jì)算單元的共享方案也是后續(xù)研究的主要內(nèi)容之一.
[1] SHENG G, ZHAO X Y, ZHANG H D, et al. Mathematical models for simulating coded digital communication: a comprehensive tutorial by big data analytics in cyber-physical systems[J]. IEEE Journals & Magazines,2016,4(1):9018-9026.
[2] SUN S L, KADOCH M, GONG L, et al. Integrating network function virtualization with SDR and SDN for 4G/5G networks[J]. IEEE Journals & Magazines,2015,29(3):54-59.
[3] FENG L X, PENG J, CHEN G R, et al. Communication channel analysis and simulation of medical implanted electronic devices based on the volume conduction[C]//15th International Conference on Cognitive Informatics & Cognitive Computing. USA: IEEE Press,2016:423-431.
[4] GALLAGER R. Low-density parity-check codes[J]. IEEE Transactions on Information Theory,1962,8(1):21-28.
[5] DAVEY M, MACKAY D. Low-density parity check codes over GF(q)[J]. IEEE Communications Letters,2002,2(6):165-167.
[6] BERROU C, GLAVIEUX A, THITIMAJSHIMA P. Near Shannon limit error-correcting coding and decoding: Turbo-codes [C]// Communications, ICC ’93 Geneva, Technical Program. USA: IEEE Press,1993:1064-1070.
[7] BAEK C, JUNG J. A study on turbo equalization for MIMO system based on LDPC codes[C]// Eighth International Conference on Ubiquitous and Future Networks (ICUFN). USA: IEEE Press,2016:501-504.
[8] SUN Y, CAVALLARO J R. A flexible LDPC/Turbo decoder architecture[J]. Journals of Sign Process Systems,2011,64(1):1-16.
[9] SUN Y, CAVALLARO J R. Unified decoder architecture for LDPC/turbo codes[C]// IEEE Workshop on Signal Processing Systems. USA: IEEE Press,2008:13-18.
[10] CARLO C, GUIDO M. Unified Turbo/LDPC code decoder architecture for deep-space communications[J]. IEEE Transactions on Aerospace and Electronic Systems,2014,50(4):3115-3125.
[11] CARLO C, MAURIZIO M, GUIDO M. VLSI implementation of a Multi-Mode Turbo/LDPC decoder architecture[J]. IEEE Transactions on Circuits and Systems I: Regular Papers,2013,60(6):1441-1454.
[12] ERDAL A. A performance comparison of polar codes and Reed-Muller codes[J]. IEEE Communications Letters,2008,12(6):447-449.
[13] SYED M A, FAN Y Z, CHEN J, et al. High-Throughput and Energy-Efficient belief propagation polar code decoder[J]. IEEE Transactions on Very Large Scale Integration (VLSI) Systems,2017,25(3):1098-1111.
[14] JYRKI L, JONGHOON R, EEVA S. On the degree of the inverse of quadratic permutation polynomial interlreavers[J]. IEEE Transactions on Information Theory,2012,58(6):3925-3932.
[15] DAESUN O, KESHAB K P. Low-Complexity switch network for reconfigurable LDPC decoders[J]. IEEE transactions on very large scale integration(VLSI systems),2010,18(1):85-94.
[16] SACHIN K, RAHUL S, NIKUNJ D, et al. High-Throughput LDPC-Decoder architecture using efficient comparison techniques & dynamic Multi-Frame processing schedule[J]. IEEE Transactions on Circuits and Systems I: Regular Papers,2015,62(5):1421-1430.
[17] RAHUL S, ROY P P. High-Throughput turbo decoder with parallel architecture for LTE wireless communication standards[J]. IEEE Transactions on Circuits and Systems I: Regular Papers,2014,61(9):2699-2710.
[18] SHAHRIAR S, JANNE J, MUHAMMET F B, et al. Design of a unified transport triggered processor for LDPC/turbo decoder[C]// Embedded Computer Systems: Architectures, Modeling, and Simulation (SAMOS XIII). USA: IEEE Press,2013:288-295.
[19] SUN Y, CAVALLARO J R. Efficient hardware implementation of a highly parallel 3GPP LTE/LTE-advance Turbo decoder[J]. Intergation, the VLSI Joural,2011,44:305-315.
[20] ROBERT G M. A Fully-Parallel Turbo Decoding Algorithm[J]. IEEE Transactions on Communications,2015,63(8):2762-2775.
[21] LIN C H, YU C S. Multi-mode radix-4 SISO kernel design for Turbo/LDPC decoding[J]. IEEE Transactions on Very Large Scale Integration (VLSI) Systems,2015,23(10):2256-2267.
[22] WU X F, SONG Y, JIANG M, et al. Adaptive-Normalized/Offset min-sum algorithm[J]. IEEE Communications Letters,2010,14(7):667-669.
[23] ZHAO M, ZHANG X L, ZHAO L, et al. Design of a high-throughput QC-LDPC decoder with TDMP scheduling[J]. IEEE Transactions on Circuits and Systems II: Express Briefs,2015,62(1):56-60.
[24] VANUKURU H R, AKSHAY S, NIGAR S. A composite sub-optimal approach for hardware implementation of turbo decoder[C]// 2013 IEEE International Conference on Communications (ICC). USA: IEEE Press,2013:4515-4519
[25] 張順根,仰楓帆.基于FPGA的隨機(jī)構(gòu)造QC-LDPC分層譯碼器設(shè)計(jì)[J].無(wú)線(xiàn)電通信技術(shù),2015,41(1):41-45.
ZHANG S G, YANG F F. Design on randomly constructed QC-LDPC layered decoder based on FPGA[J]. Radio Communications Technology,2015,41(1):41-45.
[26] 盧海芹,仰楓帆.基于FPGA有限域構(gòu)造的QC-LDPC分層譯碼器設(shè)計(jì)[J].電子科技,2015,28(2):78-82. LU H Q, YANG F F. Design of QC-LDPC layered FPGA decoder based on the structure of finite fields[J]. Electronic Science & Technology,2015,28(2):78-82.
[27] YANG G Y, ZHUANG M J. Achieving the secrecy capacity on strong security using LT code with polar code pre-coding[C]// 2016 10th IEEE International Conference on Anti-counterfeiting, Security, and Identification (ASID). USA: IEEE Press,2016:53-57.
[28] SUN S H, CHO S G, ZHANG Z Y. Error patterns in belief propagation decoding of polar codes and their mitigation methods[C]// 2016 50th Asilomar Conference on Signals, Systems and Computers. USA: IEEE Press,2016:1199-1203.
[29] IDO T. On the construction of polar codes for channels with moderate input alphabet sizes[J]. IEEE Transactions on Information Theory,2017,63(3):1501-1509.
[30] SYED M A, FAN Y Z, CHEN J, et al. High-throughput and energy-efficient belief propagation polar code decoder[J]. IEEE Transactions on Very Large Scale Integration (VLSI) Systems,2017,25(3):1098-1111.
[31] ZHANG Y X, YANG Z, LIU A J, et al. Secure transmission over the wiretap channel using polar codes and artificial noise[J]. IET Communications,2017,11(3):377-384.
A development overview of high-performance LDPC/Turbo dual-mode decoders
WANG Xiumin1, SU Chen1, SHAN Liang1, WANG Yi1, WANG Yu2
(1. College of Information Engineering, China Jiliang University, Hangzhou 310018, China; 2. College of Computer Engineering Technology, New York City College of Technology, New York 11201, USA)
LDPC codes and Turbo codes are widely used in the commerce of 3G and 4G mobile communication systems and play an important role in wireless LAN, optical fiber communication, underwater communication, video and image encryption and network security. Global mobile devices in different regions only support one code. Domain limitation in mobile communication affects the quality of communication. Therefore, it is very important to realize a high-performance LDPC/Turbo dual-mode decoder by combining the LDPC and Turbo codes in the decoding process. This paper reviews the development of LDPC/Turbo dual-mode decoders, analyzes and summarizes the shortcomings of the decoder, and introduces the trend of future development for LDPC and polar codes.
LDPC/Turbo code; dual-mode decoder; SISO calculation unit; polar code
2096-2835(2017)02-0203-05
10.3969/j.issn.2096-2835.2017.02.011
2017-03-13 《中國(guó)計(jì)量大學(xué)學(xué)報(bào)》網(wǎng)址:zgjl.cbpt.cnki.net
國(guó)家自然科學(xué)基金資助項(xiàng)目(No. 61379027),國(guó)家自然科學(xué)青年基金資助項(xiàng)目(No. 51404223),浙江省自然科學(xué)青年基金資助項(xiàng)目(No.LQ14E060003).
王秀敏(1963-),女,遼寧省錦州人,教授,主要研究方向?yàn)殡娮有畔⑴c通信.E-mail:wxm6341@163.com
TN91
A