陳振林,趙 利,黃 星,唐俏笑,梁儀慶
(桂林電子科技大學(xué) 信息與通信學(xué)院,廣西 桂林 541000)
由于信號(hào)在無(wú)線信道中傳播會(huì)受到噪聲、多徑干擾和多普勒頻移的影響[1],導(dǎo)致接收端進(jìn)行解碼處理時(shí)會(huì)產(chǎn)生錯(cuò)誤的碼元。卷積編碼是無(wú)線通信系統(tǒng)中廣泛使用的信道編碼技術(shù)[2],它可以糾正在無(wú)線信道傳輸中產(chǎn)生的誤碼,一定程度上降低信道的誤碼率,提高系統(tǒng)的信噪比,帶來(lái)一定的編碼增益[3]。因此,設(shè)計(jì)了一種多碼率卷積編碼器,除1/2碼率外,還采用2/3、3/4、5/6、7/8的碼率,該編碼器能應(yīng)用在地面數(shù)字電視廣播系統(tǒng)[4]。
圖1 1/2碼率卷積編碼原理圖
卷積碼通常用(n,k,N)表示[5],N為編碼約束長(zhǎng)度,k為編碼器輸入碼元,n為編碼器輸出編碼,卷積碼的碼率定義為R=k/n。編碼器輸入k個(gè)碼元,編碼后輸出的n個(gè)碼元不僅與當(dāng)前輸入的k個(gè)碼元有關(guān),而且還與前面N-1段輸入碼元有關(guān)。1/2碼率卷積編碼原理圖如圖1所示。其中:D為輸入比特碼元數(shù)據(jù);R1R2R3R4R5R6為6位移位寄存器;X和Y為輸出編碼數(shù)據(jù)。每輸入1位的信息碼元數(shù)據(jù),將會(huì)各輸出1位的編碼數(shù)據(jù)X和Y,組成2位的編碼數(shù)據(jù),實(shí)現(xiàn)了1/2碼率的卷積編碼。
在無(wú)線通信基帶系統(tǒng)信道編碼中,常在卷積編碼后采用刪余操作。遵照一定的刪余規(guī)則刪除特定位置的數(shù)據(jù),可提高通信傳輸?shù)挠行?。因此,?/2碼率卷積碼基礎(chǔ)上刪除一些冗余比特,可實(shí)現(xiàn)2/3、3/4、5/6、7/8碼率的卷積編碼,2/3碼率刪余過(guò)程如圖2所示[6]。
圖2 2/3碼率的刪余過(guò)程
如圖2所示,2/3碼率的刪余過(guò)程為:每輸入2 bit數(shù)據(jù)D0D1,經(jīng)過(guò)1/2卷積編碼后為4 bit數(shù)據(jù)X0Y0X1Y1,再刪除固定位置1 bit數(shù)據(jù)X1,最終輸出3 bit數(shù)據(jù)X0Y0Y1,實(shí)現(xiàn)2/3碼率的卷積編碼,其他碼率的刪余模式如表1所示。
要實(shí)現(xiàn)7/8碼率,刪余方式為X:1000101、Y:1111010,“1”表示輸出,“0”表示不輸出,每輸入7位D0D1D2D3D4D5D6數(shù)據(jù)時(shí),刪余后輸出8位X0Y0Y1Y2Y3X4Y5X6編碼數(shù)據(jù)序列,實(shí)現(xiàn)7/8碼率卷積編碼。
根據(jù)無(wú)線信道環(huán)境來(lái)選擇不同碼率的卷積編碼,控制信號(hào)(RATE_CON)決定1/2卷積編碼器編碼后的數(shù)據(jù)選擇何種碼率的卷積碼刪余單元,從而實(shí)現(xiàn)多碼率卷積編碼器的設(shè)計(jì)。多碼率卷積編碼器模塊設(shè)計(jì)圖如圖3所示,多碼率卷積編碼器模塊單元端口說(shuō)明如表2所示。
表1 刪余卷積碼模式
圖3 多碼率卷積編碼器模塊設(shè)計(jì)圖
端口名稱位寬端口描述DCONV_DIN1INPUT輸入待編碼數(shù)據(jù)DCONV_ND1INPUT輸入有效信號(hào)DCONV_CLK_I1INPUT時(shí)鐘輸入信號(hào)DCONV_RST1INPUT復(fù)位信號(hào)RATE_CON4INPUT刪余模式選擇信號(hào)DCONV_CLK_O1INPUT根據(jù)刪余模式選擇刪余時(shí)鐘DCONV_RDY1OUTPUT輸出有效信號(hào)DCONV_DOUT1OUTPUT輸出刪余卷積碼數(shù)據(jù)
從圖3可看出,輸入待編碼數(shù)據(jù)DCONV_DIN,在輸入主時(shí)鐘 DCONV_CLK_I的上升沿進(jìn)入1/2碼率卷積碼編碼器模塊中進(jìn)行編碼處理,該卷積編碼模塊以串行方式輸入,每輸入1位數(shù)據(jù)將會(huì)輸出2位編碼數(shù)據(jù),完成1/2碼率卷積編碼。其余碼率在此基礎(chǔ)上,根據(jù) RATE_CON控制信號(hào)選擇相應(yīng)的刪余模塊和刪余時(shí)鐘進(jìn)行刪余操作,實(shí)現(xiàn)2/3、3/4、5/6或7/8碼率的卷積編碼。RATE_CON控制信號(hào)如表3所示。
表3 RATE_CON控制信號(hào)
從表3可看出,如RATE_CON為0001時(shí),選擇2/3碼率刪余模塊,對(duì)應(yīng)的刪余時(shí)鐘是輸入主時(shí)鐘DCONV_CLK_I的3/2倍。
利用MATLAB軟件對(duì)多碼率卷積編碼算法進(jìn)行驗(yàn)證,以2/3碼率卷積編碼為例,當(dāng)輸入4 032 bit數(shù)據(jù)x,先進(jìn)行1/2碼率的卷積編碼,得到8 064 bit編碼數(shù)據(jù),選擇2/3碼率刪余操作,輸出6 048 bit編碼數(shù)據(jù)data_puncturing,如圖4所示。
圖4 2/3碼率卷積編碼MATLAB算法結(jié)果
從圖4可看出,當(dāng)輸入數(shù)據(jù)x為1,1,0,1,1,0,……時(shí),進(jìn)行1/2碼率卷積編碼后,采用2/3碼率刪余,得到刪余編碼輸出數(shù)據(jù)data_puncturing為1,1,1,0,1,1,1,0,0,……,顯示的結(jié)果符合表1中2/3碼率卷積編碼的刪余規(guī)則,因此設(shè)計(jì)的多碼率卷積編碼MATLAB算法正確。
根據(jù)設(shè)計(jì)的多碼率卷積編碼器MATLAB算法,利用Verilog HDL硬件描述語(yǔ)言對(duì)多碼率卷積編碼器進(jìn)行設(shè)計(jì)[7],得到多碼率卷積編碼器模塊單元如圖5所示。
對(duì)多碼率卷積編碼器Verilog HDL硬件代碼進(jìn)行綜合編譯通過(guò)后,編寫頂層測(cè)試文件,使用ISE自帶的Isim軟件進(jìn)行仿真,以2/3碼率卷積編碼為例進(jìn)行分析,其時(shí)序仿真結(jié)果如圖6所示。
圖5 多碼率卷積編碼器模塊單元圖
圖6 2/3碼率卷積編碼模塊時(shí)序仿真圖
從圖6可看出,RATE_CON為0001時(shí),選擇2/3碼率刪余模塊,當(dāng)輸入數(shù)據(jù)DCONV_Din為1,1,0,1,1,0,……時(shí),采用2/3碼率刪余后,得到2/3碼率刪余編碼輸出數(shù)據(jù)DCONV_Dout為1,1,1,0,1,1,1,0,0,……,與圖4中2/3碼率卷積編碼MATLAB算法結(jié)果一致,驗(yàn)證多碼率卷積編碼器的時(shí)序仿真正確。
添加觸發(fā)信號(hào)和待觀察信號(hào)后重新編譯代碼,通過(guò)JTAG口把代碼下載到Xilinx公司Spartan-6系列的XC6SLX45-CSG324型號(hào)芯片上,使用邏輯分析儀ChipScope Pro抓取多碼率卷積編碼器內(nèi)部FPGA數(shù)據(jù),采樣主時(shí)鐘為50 MHz,信號(hào)抓取結(jié)果如圖7所示。
圖7 2/3碼率卷積編碼模塊Chipscope時(shí)序圖
從圖7可看出,輸入主時(shí)鐘頻率為50 MHz,RATE_CON為0001時(shí),選擇2/3碼率,對(duì)應(yīng)的刪余時(shí)鐘頻率為75 MHz,邏輯分析儀ChipScope Pro抓取的FPGA內(nèi)部輸入數(shù)據(jù)DCONV_Din為1,1,0,1,1,0,……時(shí),采用2/3碼率刪余后,得到2/3碼率刪余編碼輸出數(shù)據(jù)DCONV_Dout為1,1,1,0,1,1,1,0,0,……,與圖6的時(shí)序仿真結(jié)果對(duì)比,可以驗(yàn)證在高速的時(shí)鐘下,多碼率卷積編碼模塊硬件設(shè)計(jì)的正確性和可行性[8]。
經(jīng)過(guò)綜合編譯后生成的資源消耗與文獻(xiàn)[9]設(shè)計(jì)的多碼率卷積編碼器比較如表4所示,資源消耗減少,因此設(shè)計(jì)的多碼率卷積編碼器性能更優(yōu)。
表4 資源消耗表
利用FPGA設(shè)計(jì)可以應(yīng)用在地面數(shù)字電視廣播等通信系統(tǒng)中的多碼率卷積編碼器。首先,通過(guò)MATLAB算法對(duì)設(shè)計(jì)的多碼率卷積編碼器進(jìn)行驗(yàn)證,其次,用Verilog HDL硬件描述語(yǔ)言對(duì)多碼率卷積編碼器進(jìn)行時(shí)序仿真驗(yàn)證,最后,使用頻率為50 MHz的主時(shí)鐘,在Xilinx公司Spartan-6系列的XC6SLX45-CSG324型號(hào)芯片下完成多碼率編碼器的硬件在線調(diào)試。結(jié)果表明,設(shè)計(jì)的多碼率卷積編碼器達(dá)到了預(yù)期的設(shè)計(jì)要求,且占用硬件資源更少,可應(yīng)用在地面數(shù)字電視廣播[10]等通信系統(tǒng)。