文獻(xiàn)標(biāo)識碼: A
文章編號: 0258-7998(2014)09-0048-03
憑借著高端7 GHz無需授權(quán)頻譜資源,60-GHz無線個域網(wǎng)已經(jīng)成為了短距離吉比特?zé)o線傳輸?shù)闹匾鉀Q方案[1]。而由于超高的頻點,相位噪聲和功放非線性等射頻非理想因素嚴(yán)重影響著60-GHz無線個域網(wǎng)的系統(tǒng)性能。參考文獻(xiàn)[2]中指出,在考慮射頻非理想因素影響下,里所碼[3]RS(Reed-Solomon codes)和卷積碼[4]CC(convolution codes)級聯(lián)碼可以取得比低密度奇偶校驗碼LDPC(Low-Density Parity-Check)編碼更為魯棒的譯碼性能。因此,針對60-GHz無線個域網(wǎng)系統(tǒng),本文提出了一種吉比特低復(fù)雜度RS-CC級聯(lián)譯碼器架構(gòu)。
1 RS-CC級聯(lián)碼
根據(jù)IEEE 802.15.3c標(biāo)準(zhǔn)[5],本文設(shè)計了吉比特RS-CC級聯(lián)編碼模式,如圖1所示。作為RS(255,239)截斷碼,RS(224,208)又為級聯(lián)碼外碼,每個塊包含208個8-bit輸入符號。經(jīng)過RS編碼,RS編碼器每個塊輸出224個8-bit符號。通過32×32交織器,RS編碼結(jié)果串/并轉(zhuǎn)換后進(jìn)行卷積碼編碼。本文采用CC(3,1,7)編碼器為級聯(lián)碼內(nèi)碼。卷積碼的約束長度為7,生成多項式為(1338,1718,1658),基本碼率為1/3。為了獲得高吞吐率,使用8路CC獨立編碼。經(jīng)過IEEE 802.15.3c標(biāo)準(zhǔn)制定的打孔刪除操作,產(chǎn)生1/3、1/2、4/7、 2/3、4/5 5種內(nèi)碼碼率。最終數(shù)據(jù)經(jīng)并/串轉(zhuǎn)換,輸出編碼結(jié)果。
2 吉比特RS-CC級聯(lián)譯碼器設(shè)計
吉比特RS-CC級聯(lián)譯碼器由8個獨立CC(3,1,7)譯碼器、32×32解交織、RS(224,208)譯碼器等模塊組成,如圖2所示。輸入的譯碼數(shù)據(jù)經(jīng)串/并轉(zhuǎn)換后分別輸入對應(yīng)的8個獨立CC(3,1,7)譯碼器。CC(3,1,7)譯碼器的譯碼輸出經(jīng)過并/串轉(zhuǎn)換后進(jìn)行32×32解交織;解交織后數(shù)據(jù)輸入到RS(224,208)譯碼器,最終獲得級聯(lián)碼譯碼結(jié)果。
2.1 基于Viterbi譯碼算法的CC(3,1,7)譯碼器
Viterbi譯碼算法是1967年由Viterbi提出的一種最大概率譯碼算法[6]。作為CC的最優(yōu)譯碼算法,Viterbi譯碼算法被廣泛應(yīng)用于2G、3G以及衛(wèi)星通信等多種通信系統(tǒng)中[4]。基于RS-CC級聯(lián)碼結(jié)構(gòu),本文給出了基于Viterbi算法的CC(3,1,7)譯碼器設(shè)計,整體結(jié)構(gòu)如圖3所示。因為使用8路CC獨立編碼,所以8個相同的CC譯碼器獨立譯碼。
接收到的譯碼輸入數(shù)據(jù)采用3比特軟判決譯碼輸入,相對于硬判決可以獲得大約2 dB的信道編碼增益。根據(jù)IEEE 802.15.3c標(biāo)準(zhǔn)[5],解除刪余單元對于卷積碼打孔刪除位置進(jìn)行填充補(bǔ)償,補(bǔ)償后數(shù)據(jù)被輸入到分支度量單元。分支度量單元計算當(dāng)前輸入的判決信息與期望信息的歐氏距離。分支度量值越小,表示相似度越高,否則,反之。
加比選模塊對狀態(tài)路徑度量的每個狀態(tài)可能的輸入路徑度量進(jìn)行累積加法計算(即:加),然后比較各個數(shù)值大?。矗罕龋袥Q選擇出最小路徑度量(即:選),更新路徑度量寄存器數(shù)據(jù)[4],如圖4所示。對于一個約束長度為7的Viterbi譯碼器,每一步譯碼需要處理64個加比選運(yùn)算。加比選運(yùn)算本身要求下一次加法運(yùn)算必須是在上一步的狀態(tài)度量選擇運(yùn)算之后,如果直接插入流水線,會導(dǎo)致整體無法同時運(yùn)算,因此并沒有提高吞吐速度。為了提高吞吐率,采用了64個加比選運(yùn)算單元全并行地譯碼。
對于CC(3,1,7)譯碼器,其幸存路徑管理單元需采用One-pointer回溯算法或者K-pointer回溯算法[4]實現(xiàn)譯碼輸出。與One-pointer回溯算法相比,K-pointer回溯算法只需要單一運(yùn)行時鐘,因此其在譯碼器實現(xiàn)中更為普遍采納。本文使用2-pointer回溯算法,回溯譯碼長度定為64。由于采用并行獨立的卷積碼編碼,因而圖3中各路的回溯譯碼獨立并行執(zhí)行。
2.2 基于RiBM算法的RS(224,208)譯碼器
RS碼是一種特殊的BCH碼,所以RS碼的譯碼方案也可以從BCH碼的譯碼方案推算得到。本文采用的是改進(jìn)的無逆RiBM算法[4],屬于時域譯碼的一種。RS譯碼器由伴隨式計算單元、關(guān)鍵方程求解單元、計算誤碼位置的Chien搜索、求解誤碼位置差值Forney算法組成,整體結(jié)構(gòu)框圖如圖5所示。
對求逆運(yùn)算是高復(fù)雜度運(yùn)算。因為GF(2t)域取值范圍有限,在實現(xiàn)中預(yù)設(shè)一個GF(2t)元素的逆值表,采用查表法的方法來直接獲得逆值。
3 實現(xiàn)與分析
基于Verilog HDL語言,本文完成了RS(224,208)-CC(3,1,7)級聯(lián)譯碼器的實現(xiàn),并對在CC碼率為1/3、1/2、4/7、2/3、4/5 5種情況下分別進(jìn)行ModelSim RTL級仿真驗證,誤碼率BER(Bit Error Rate)與MATLAB級聯(lián)譯碼函數(shù)性能基本相同。其中在CC為1/3、1/2碼率下的RS-CC級聯(lián)譯碼性能比較如圖6所示。
本設(shè)計在Xilinx Virtex-6 FPGA平臺上實現(xiàn), 最高工作時鐘為200 MHz,級聯(lián)譯碼器靜吞吐率達(dá)到1.6 Gb/s。然后,采用TSMC 0.13 μm CMOS工藝,供電電壓為1.2 V,本文完成了級聯(lián)譯碼器的ASIC設(shè)計。DC compiler門級綜合工具給出了芯片的綜合報告,如表1所示。該譯碼器的邏輯面積為5.19 mm2,芯片工作時鐘為250 MHz,譯碼器最大吞吐速率為2 Gb/s,功耗為271 mW。本設(shè)計滿足60 GHz無線個域網(wǎng)標(biāo)準(zhǔn)[5]的吉比特吞吐率指標(biāo)要求,在高速前向糾錯編譯碼領(lǐng)域有著廣闊的應(yīng)用前景。
參考文獻(xiàn)
[1] Zhang Xin,Lu Liru,F(xiàn)UNADA R,et al.Physical layer design and performance analysis on multi-Gbps millimeter-wave WLAN system[C].IEEE Int.Conf.on Comm.Syst.,2010:92-96.
[2] Gao Bo,Xiao Zhenyu,Zhang Changming,et al.Performance comparison of channel coding for 60 GHz SC-PHY and a multigigabit Viterbi decoder[C].IEEE Int.Conf.on Comp. Problem-Solving,2011:714-718.
[3] 殷愛菡,劉方仁,陳燕燕.基于FPGA的高速RS譯碼器設(shè)計[J].電子技術(shù)應(yīng)用,2010,36(11):66-68.
[4] BLACK P J,MENG T H.A 1-Gb/s,four-state,sliding block viterbi decoder[J].IEEE J.Solid-State Circuits,1997,32(6):797-805.
[5] IEEE 802.15.3c:Wireless medium access Control(MAC) and physical layer(PHY) specifications for high rate wireless personal area networks(WPANs)[S].2009.
[6] 陶杰,王欣,張?zhí)燧x.基于VHDL語言的卷積碼和Viterbi譯碼的實現(xiàn)[J].微型機(jī)與應(yīng)用,2012,31(16):3-5.