曾 輝 黃 魯 楊燦美
(中國科技大學電子與科學技術(shù)系,合肥,230027)
通信系統(tǒng)將具有更高的數(shù)據(jù)傳輸速率,且逐漸轉(zhuǎn)向?qū)拵ㄐ拧F渲谐瑢拵到y(tǒng)最為典型。超寬帶系統(tǒng)擁有更寬的帶寬(3.1~10.6GHz)以及高的數(shù)據(jù)傳輸速率(802.15.3a協(xié)議下的數(shù)據(jù)速率大于100 Mb/s),并且系統(tǒng)復雜度很低,硬件消耗低。為了提高數(shù)據(jù)高速傳輸?shù)目煽啃?,LDPC成為UWB系統(tǒng)中極為重要的信道編碼方式,因為它有近乎香農(nóng)極限(Shannon-Limit)的糾錯能力。
LDPC由Gallager[1]在1962年提出,它的硬件實現(xiàn)較復雜。因為當時硬件的集成水平的限制,直到20世紀90年代,Mackay重新研究LDPC碼,才引發(fā)對其的研究熱潮。文獻[2]給出了離Shannon極限只有0.004 5dB的LDPC碼,但是隨機構(gòu)造法使得實現(xiàn)較為困難,硬件實現(xiàn)過于復雜。文獻[3]提出了準循環(huán)矩陣的方式能更有效地實現(xiàn)LDPC碼校驗矩陣的構(gòu)造。
本文的IR-UWB系統(tǒng)用來實現(xiàn)高速率視頻的實時通信,系統(tǒng)基帶是單比特接收機[4]以二次微分式高斯脈沖調(diào)制每比特信息的方式實現(xiàn)長物理幀的傳輸,為減少時延,決定采用并行編譯碼。UWB系統(tǒng)也采用其他編碼方式,例如RS[5],Turbo[6]以及組合碼[7]等。RS碼相對其他線性分組碼,同碼率時糾錯能力較強,硬件復雜度低[8],但只限于中短型碼。而Vertebi,Turbo等卷積碼,其較高的譯碼復雜度,卷積碼更適于串行傳輸。相比之下,LDPC對長碼字的性能更優(yōu)異,每個物理幀傳輸?shù)挠行Тa作為一個編碼單元。譯碼復雜度高于RS碼,但低于Turbo,可實現(xiàn)完全并行譯碼[9]。
LDPC碼是一類基于稀疏校驗矩陣(H陣)的線性分組碼,可在硬件上有效實現(xiàn)的LDPC編碼有Hu等提出的漸進邊增長(Progressive edge-growth,PEG)算法。此法采用逐步優(yōu)化的思路,通過在Tanner圖(圖1)上依次添加邊來構(gòu)造最終的結(jié)點關(guān)系圖,每次添加的邊都盡可能地減少對圖中其他邊的影響,具體算法見文獻[10]。雖然糾錯性能好,但無法簡單編碼,不太適于長碼,并且譯碼存儲復雜度過高。
圖1 基于Tanner圖的LDPC信息傳遞Fig.1 LDPC message channel based on tanner
根據(jù)香農(nóng)理論,構(gòu)造隨機矩陣在硬件上難以實現(xiàn),由此誕生了由幾何代數(shù)的方法構(gòu)造LDPC校驗矩陣——準循環(huán)[3],即用循環(huán)移位矩陣塊構(gòu)造H陣。常用的循環(huán)移位矩陣有I矩陣、D矩陣和Q矩陣。Q矩陣中“1”的分布無規(guī)律,可以通過皇后算法獲得,但需用額外的存儲空間,一般用查找表的方式在硬件上實現(xiàn)。
然而,直接以QC實現(xiàn)長碼字校驗矩陣的構(gòu)造硬件實現(xiàn)仍顯復雜,譯碼存儲不易實現(xiàn)。文獻[11]給出了校驗矩陣PEG構(gòu)造方法,PEG算法構(gòu)造的Tanner圖具有最小的距離和良好的環(huán)長(圖1粗線示),這些環(huán)長對信息概率的統(tǒng)計不利,使得節(jié)點之間傳遞的外部消息的獨立性降低,削弱了抗干擾能力。結(jié)合QC-LDPC碼的循環(huán)矩陣構(gòu)造LDPC校驗矩陣,在中短碼長時可以獲得與隨機構(gòu)造的規(guī)則碼相當?shù)男阅?。文獻[11]闡述的構(gòu)建較大圍長的LDPC校驗矩陣方法——消環(huán)算法,消除H陣中的短環(huán)(一般消除4,6和8環(huán))。
綜上所述,可先用PEG算法構(gòu)造基矩陣,在所記錄的環(huán)中取出長度最短環(huán)的“1”元素,消除Tanner圖中的短環(huán),“0”元素用“-1”替代;接著,隨機產(chǎn)生子矩陣偏移量代替矩陣中非“-1”元素,并用相應(yīng)維的循環(huán)移位Q矩陣或I矩陣代替矩陣中的對應(yīng)其偏移量的元素,可進一步消除所生成H陣中的短環(huán),“-1”代表該循環(huán)矩陣為全零矩陣。這種H陣的構(gòu)造法,大大降低了硬件實現(xiàn)的復雜度,更適于長型碼字,譯碼存儲也簡單得多。
IEEE 802.15.3a協(xié)議關(guān)于UWB信道給出了基于S-V模型的4種場景模式,具體UWB室內(nèi)信道特征見文獻[12]。其中存在視距信號的CM1模式,其主要考慮加性高斯白噪聲(Additive white Gaussian noise,AWGN),多徑干擾以及信號幅度呈現(xiàn)近乎對數(shù)正態(tài)分布的衰落。信道相對其他場景更穩(wěn)定,適合近距離室內(nèi)UWB通信系統(tǒng)模擬仿真。
本系統(tǒng)采用BPSK調(diào)制,編碼器的設(shè)計旨在實現(xiàn)校驗矩陣性能的比較,因此可選擇二進制加性高斯白噪聲信道,采用一般的MS譯碼方式。仿真中分別以原始PEG算法和本文闡述的算法(I與Q循環(huán)矩陣)構(gòu)造3類不同的H陣:碼長n=900(PEG適于中短型碼),碼率R=1/2,變量節(jié)點的維度分布[10]為λ(x)=0.3x+0.16x2+0.17x3+0.37x6,每個循環(huán)移位矩陣定為維長15的I/Q矩陣(Q陣中任選其一)。譯碼迭代次數(shù)為15。圖2顯示了其性能曲線,該設(shè)計闡述的構(gòu)造校驗矩陣的方式,性能更接近于PEG算法。Q矩陣作為準循環(huán)矩陣,性能更顯優(yōu)越。
圖2 I/Q矩陣的QC-LDPC性能比較Fig.2 I/Qmatrix QC-LDPC performance comparison
圖3顯示PEG算法與本文討論的算法在碼率R=1/2和5/6下的仿真實驗結(jié)果(其他條件相同)。由圖可見,信噪比較低時,基于I矩陣和Q矩陣QC-LDPC的性能相當;高信噪比時,基于Q矩陣的LDPC優(yōu)于基于I矩陣的LDPC碼的性能,而隨著碼率的升高,兩者的性能都有所降低。對于R=1/2碼率,碼長為n=1 800,誤碼率為低于10-6時,兩者SNR都在2dB左右。
令x為待編碼的信息序列,p為校驗序列,根據(jù)校驗矩陣H的定義
線性分組碼的一般性特征:n為信息位長(矩陣塊數(shù)),m為校驗陣部分的塊數(shù),左邊為信息比特部分,右邊為校驗比特部分。
圖3 R=1/2和5/6,I/Q矩陣 QC-LDPC性能對比Fig.3 R=1/2or 5/6 I/Qmatrix QC-LDPC performance comparison
式(2)分解為以下形式
式中:表示矩陣的第m行元素,表示矩陣中第m行n列的元素。這種編碼方式可實現(xiàn)并行高速編碼。
綜上分析,低發(fā)射功率的UWB(-41.3dBm/MHz)接收端信噪比較低,選擇I矩陣更適合在電路中實現(xiàn),其不需要I矩陣的存儲空間,矩陣運算時只需循環(huán)矩陣的移位矢量就可實現(xiàn)有效編碼。文獻[13]采用可配置循環(huán)移位寄存器實現(xiàn)高速并行編碼;譯碼存儲也相對簡單,否則,需要額外用上Q矩陣的存儲空間和獨立的矩陣運算單元。
LDPC通常譯碼方式主要有軟判決的置信譯碼(Belief propagation,BP)和加權(quán)比特翻轉(zhuǎn)(Weighted bit flip,WBF)的迭代譯碼,如文獻[14]復合譯碼性能的分析。本決定采用性能更優(yōu)越,復雜度較高的BP譯碼來滿足本系統(tǒng)高性能的要求,其通用的有對數(shù)域BP,以及在其基礎(chǔ)上改進的最小和譯碼。為降低復雜度又提出了改進型最小和,主要對其中φ(x)近似。文獻[15]提出了用線性函數(shù)逼近方法分段地處理以達到近似φ(x)函數(shù)的目的,但是其硬件實現(xiàn)的復雜度過高。實際運用中只需用個變量因子分段近似即可,分段區(qū)間是有限的,因子取值相對有限,并且這個變量也可用來均衡信道信噪。
φ(x)表達式如下
圖4為φ(x)的示意圖,隨x的增大,φ(x)值呈下降指數(shù)迅速減小,所以|L(rji)|中占主要作用的是絕對值較小的βi′j=|L(qji)|,從而簡化對數(shù)BP譯碼算法,可得
變量節(jié)點v利用校驗節(jié)點傳遞的第k次迭代的信息Lk(rj′i)計算信息節(jié)點信息Lk(qij)
出于節(jié)省存儲空間的考慮,解碼算法如下
Min的取值是個近似的結(jié)果,添加調(diào)整參數(shù)α,讓其更近似于對數(shù)域BP,如式(5)所示。對比兩種算法流程,解碼算法中Lk(rji)(校驗節(jié)點傳遞給變量節(jié)點相關(guān)概率信息)更新不需要L(qi′j)(變量節(jié)點傳遞給校驗節(jié)點的相關(guān)概率信息),只需要計算Lk-1(Qi)-L(k-1)(rji),這樣減少了解碼過程中信息的存儲量。
圖4 函數(shù)φ(x)示意圖Fig.4 Functionφ(x)sketch
鑒于UWB系統(tǒng)實時傳送的物理幀長,以及校驗矩陣的構(gòu)造方式,選擇(n,k)=(1 800,900)的碼字,循環(huán)移位維長定為30。該系統(tǒng)接收機[4]在信道估計時提取的每比特概率信息可直接用于LDPC譯碼。仿真在CM1場景模型[9]下進行,譯碼迭代次數(shù)為20,輸入20幀數(shù)據(jù),圖5給出了對數(shù)BP與變量因子MS譯碼的性能結(jié)果。實驗中對MS算法進行α取值遍歷,從圖中可以得到在低信噪比時,兩種譯碼的性能差距較小,但隨著信噪比的增大,對數(shù)譯碼BP仍顯示其優(yōu)良的性能。對較低信號發(fā)射功率的UWB系統(tǒng),該改進的MS譯碼更適合于UWB系統(tǒng),因為其硬件實現(xiàn)復雜度低于對數(shù)BP譯碼,且其譯碼具有調(diào)節(jié)功能。圖中α=0.85或0.95時,譯碼性能優(yōu)于對數(shù)BP,在硬件實現(xiàn)中,只需要加乘法器即可,而α的取值可在量化分析后獲得。
圖5 (1 800,900)LDPC碼在α下的性能遍歷Fig.5 (1 800,900)LDPC performance traversal onα
圖6顯示了(1 800,900)碼字在α=0.8時不同迭代次數(shù)下的譯碼性能??梢钥闯?,隨著迭代次數(shù)的增加,BER呈下降趨勢。信噪比較低時,性能沒有因迭代次數(shù)而有較大的改變,擁有較低的譯碼延遲,這更有利于UWB系統(tǒng)高速率傳輸?shù)奶匦?。當?shù)螖?shù)超過15時,BER=10-6,信噪比小于3.3dB。迭代運算過程中如果c×HT=0成立,則譯碼成功,反之,迭代次數(shù)達到指定數(shù) (具體得實際測試而定)時退出,譯碼結(jié)束。
圖6 (1 800,900)碼字在迭代次數(shù)不同的性能Fig.6 (1 800,900)performance comparison on traversal num
本文分析了PEG算法結(jié)合分塊準循環(huán)矩陣構(gòu)造校驗矩陣的方法、QC-LDPC快速編碼的實現(xiàn)策略以及改進型變量因子最小和譯碼算法,并對它們進行了相關(guān)性能分析比較。編解碼部分的仿真性能對比可得:相比AWGN信道,本設(shè)計的LDPC碼在標準S-V模型CM1場景的衰弱信道中,多損失至少1 dB的信噪??傊?,PEG算法結(jié)合分塊QC構(gòu)造的校驗矩陣,因其具有準循環(huán)結(jié)構(gòu),因此方便硬件存儲及實現(xiàn),變量因子最小和譯碼方式提供了譯碼參數(shù)調(diào)節(jié)的功能,有利于優(yōu)化譯碼性能均衡信道衰弱,適合用于低發(fā)射功率下的IR-UWB系統(tǒng)。
[1] Gallager R.Low density parity check codes[J].IRE Transaction on Information Theory,1962,8(1):21-28.
[2] Chung S Y,F(xiàn)orney G D,Richardson Jr J,et al.On the design of low-density parity check codes within 0.004 5dB of the Shannon limit[J].IEEE Comm,Letter,2001,5(2):58-60.
[3] Mu Liwei,Liu Xingcheng.Construction of binary LDPC convolutional codes based on finite fields[J].IEEE Communication Letters,2012,16(6):897-900.
[4] Yin Huarui,Wang Zhengdao,Ke Lei,et al.Monobit digital receivers:Design,performance,and application to impulse radio[J].IEEE Trans on Communication,2010,58(6):1695-1704.
[5] 張朝霞,王華奎.跳時 Reed-Solomon碼的超寬帶多址接入方式[J].太原理工大學學報,2012,43(2):119-122.
Zhang Zhaoxia,Wang Huakui.The multiple access of ultra-wide band based on reed-solomon codes[J].Journal of Taiyuan University of Technology,2012,43(2):119-122.
[6] Haniffuddin H,Mohammad R,Mansor W.A review of turbo coding with channel estimate for single input single output system in ultra-wideband channel[C]//8th IEEE International Colloquium on Signal Processing and its Applications.Hong kong:IEEE,2012:528-532.
[7] Nyembezi N,Wasim Q.M.Concatenated RS-convolutional codes for ultra-wideband multiband OFDM ultra-wideband[C]//IEEE 2006International Conference on Ultra-Wideband.Waltham,MA,USA:IEEE,2006:137-142.
[8] Sung-Woo C,Sang S.RS decoder architecture for UWB [C]//8th International Conference on Advanced Communication Technology.Phoenox Park:IEEE,2006:808.
[9] Peng Xiao,Zhao Xiongxin,Xie Qian.A macro-layer level fully parallel layered LDPC decoder SOC for IEEE 802.15.3capplication[C]//2011International Symposium on VLSI Design,Automation and Test.Hsinchu,Taiwan:IEEE,2011:1-4.
[10]Hu Xiaoyu,Eleftheriou E.Regular and irregular progressive edge-growth tanner graphs[J].IEEE Trans on Information Theory,2005,51(1):386-398.
[11]Wang Yuliang,Ping Gong.An improved construction method of QC-LDPC codes based on the PEG algorithm[C]//2011 Third Pacific-Asia Conference on Circuits,Communications and System.Wuhan:IEEE,2011:1-4
[12]Andreas F M.Channel models for ultra-wideband personal area net-works[J].IEEE Wireless Communications,2003,10(6):14-21.
[13]徐鷹,衛(wèi)國.基于FPGA的 QSBC-LDPC碼編碼器的設(shè)計與實現(xiàn)[J].數(shù)據(jù)采集與處理,2008,23(6):713-717.
Xu Ying,Wei Guo.Design and implementation of QSBC-LDPC encoders based on FPGA[J].Journal of Data Acquisition and Processing,2008,23(6):713-717.
[14]Alfa A S,Jun C.Hybrid linear programming based decoding algorithm for LDPC codes[J].IEEE Trans on Communications,2011,59(3):740-749.
[15]徐鷹,衛(wèi)國,朱近康.一種基于最小區(qū)域選擇的LDPC碼迭代譯碼算法[J].中國科學技術(shù)大學學報,2008,38(12):1365-1371.
Xu Ying,Wei Guo,Zhu Jinkang.Min-zone selection decoding algorithm for LDPC codes[J].Journal of University of Science and Technology of China,2008,38(12):1365-1371.