鄭星宇
(珠海廣播電視網(wǎng)絡(luò)傳輸有限公司,廣東 珠海 519002)
DVB-C2是第二代DVB有線電視傳輸系統(tǒng),采用最新的調(diào)制和編碼技術(shù),其性能非常接近理論的香農(nóng)(Shannon)極限。在相同條件下DVB-C2比DVB-C提高了30%的頻譜效率。關(guān)閉模擬電視后,對(duì)于優(yōu)化的光纖同軸電纜混合網(wǎng)(HFC),其下行容量可增加60%以上,能為高清電視、交互電視及其他新的廣播電視業(yè)務(wù)應(yīng)用提供更大的信道容量。
DVB-C2與DVB-C的一個(gè)主要差別在于:DVB-C采用里德所羅門(RS)信道編碼技術(shù),而DVB-C2采用低密度奇偶校驗(yàn)碼 (LDPC)+BCH碼的前向糾錯(cuò)信道編碼技術(shù)。BCH碼[1]是循環(huán)碼的子類,在短、中碼長(zhǎng)情況下的性能接近理論最佳值。BCH編譯碼電路比較簡(jiǎn)單,易于工程實(shí)現(xiàn),在實(shí)際中應(yīng)用廣泛。DVB-C2標(biāo)準(zhǔn)[2]就采用了BCH外碼和LDPC內(nèi)碼相結(jié)合的前向糾錯(cuò)技術(shù),以提高傳輸?shù)目煽啃浴?/p>
并行方式能極大提高編碼速度,在同等數(shù)據(jù)吞吐量的條件下能有效降低對(duì)系統(tǒng)工作頻率的要求。并行編碼一直是信道差錯(cuò)控制領(lǐng)域的研究熱點(diǎn)。借鑒循環(huán)冗余校驗(yàn)(CRC)的并行算法[3],可以實(shí)現(xiàn)BCH并行編碼,以便優(yōu)化DVB-C2調(diào)制器的基帶處理。
對(duì)于q進(jìn)制BCH系統(tǒng)碼,假設(shè)其碼字、信息、校驗(yàn)向量分別是 c,m 和 d,它們的長(zhǎng)度分別是 n,k 和 r(r=n-k)。信息向量m=[mk-1mk-2… m0]可視為k-1階多項(xiàng)式m(x)的系數(shù)
BCH編碼的一般過程如下:1)信息多項(xiàng)式m(x)乘以 xr得到 xrm(x);2)用 xrm(x)除以生成多項(xiàng)式 g(x),余式即為校驗(yàn)多項(xiàng)式d(x);3)拼接多項(xiàng)式即可得到碼字多項(xiàng)式 c(x)=xrm(x)+d(x)。
BCH串行編碼器可采用線性反饋移位寄存器(LFSR)實(shí)現(xiàn),如圖1所示。LFSR初始化為0,起初兩個(gè)開關(guān)都打向下方。每個(gè)時(shí)鐘節(jié)拍輸入1個(gè)信息碼元,LFSR循環(huán)移位1次,輸出的是信息碼元。當(dāng)信息碼元輸入完畢后,寄存器存儲(chǔ)的就是校驗(yàn)向量,兩個(gè)開關(guān)都打向上方。此后,每個(gè)時(shí)鐘節(jié)拍輸出1個(gè)校驗(yàn)碼元。
既然CRC和BCH碼同為循環(huán)碼的子類,那么完全可以采用并行CRC的原理[4]進(jìn)行BCH并行編碼。
對(duì)于圖1所示結(jié)構(gòu),在編碼過程中,每隔1個(gè)時(shí)鐘節(jié)拍,移位寄存器存儲(chǔ)的校驗(yàn)向量變化一次。令t時(shí)刻的校驗(yàn)向量為 d(t)=[dr-1dr-2… d0],下一時(shí)刻校驗(yàn)向量變?yōu)?/p>
在式(2)中,Ir-1是r-1階單位矩陣,g是生成向量,g=[g0g1… gr-1]。
可以證明,t+s(s≤r)時(shí)刻的校驗(yàn)向量變?yōu)?/p>
式中,Ei是如下矩陣E的i次冪
DVB-C2標(biāo)準(zhǔn)的FEC技術(shù)采用了多級(jí)BCH外碼,最多12級(jí),每級(jí)均糾錯(cuò)1 bit。標(biāo)準(zhǔn)給出了12級(jí)BCH碼的生成多項(xiàng)式,它們的階次相同,但系數(shù)互不相同。BCH碼的級(jí)數(shù)取決于LDPC內(nèi)碼的速率。以正常的FEC幀(幀長(zhǎng)64800 bit)為例,不同碼率的LDPC碼要求BCH碼具有不同的糾錯(cuò)能力v,v=8 bit,10 bit或12 bit,它們使用12級(jí)BCH編碼的前v級(jí)。
對(duì)于正常FEC幀的第1級(jí)BCH碼,它的生成多項(xiàng)式是 g1(x)=1+x2+x3+x5+x16,r=16。 假設(shè)每次編碼 8 bit,即s=8,s 同理,能夠得到第2~12級(jí)BCH編碼器的現(xiàn)態(tài)與次態(tài)的轉(zhuǎn)移公式。 根據(jù)碼率不同,BCH編碼器級(jí)聯(lián)數(shù)量不同,具體對(duì)應(yīng)關(guān)系如表1所示。 得到各級(jí)BCH編碼器的現(xiàn)態(tài)與次態(tài)的轉(zhuǎn)移公式后,就可以用硬件實(shí)現(xiàn)BCH編碼器。根據(jù)表1,設(shè)計(jì)電路結(jié)構(gòu)如圖2所示。 表1 BCH編碼器級(jí)聯(lián)數(shù)與碼率對(duì)應(yīng)關(guān)系表 選擇器根據(jù)后級(jí)LDPC編碼效率對(duì)輸出進(jìn)行選通,完成BCH編碼后,數(shù)據(jù)送后續(xù)LDPC編碼模塊完成內(nèi)碼編碼。 在設(shè)計(jì)中,采用Altera公司Cyclone III系列EP3C55型號(hào)的現(xiàn)場(chǎng)可編程門陣列(FPGA)作為實(shí)現(xiàn)BCH編碼器的硬件平臺(tái),硬件描述語言采用Verilog,在Quartus 9.0軟件環(huán)境下編譯并進(jìn)行數(shù)據(jù)仿真。數(shù)據(jù)仿真結(jié)果與理論計(jì)算結(jié)果一致,表明設(shè)計(jì)正確無誤。 EP3C55 FPGA共有55856個(gè)邏輯單元,實(shí)驗(yàn)設(shè)計(jì)的8位12級(jí)并行BCH編碼器使用了419個(gè)邏輯單元,未用到存儲(chǔ)器,整體資源消耗<1%。 設(shè)計(jì)的8位并行BCH編碼器的最高工作頻率可達(dá)250 MHz,當(dāng)工作頻率是96 MHz時(shí),數(shù)據(jù)吞吐率為768 Mbit/s,能夠滿足DVB-C2標(biāo)準(zhǔn)的指標(biāo)要求。 [1]王新梅,肖國(guó)鎮(zhèn).糾錯(cuò)碼——原理與方法[M].修訂版.西安:西安電子科技大學(xué)出版社,2001. [2]ETSI ES 201980 V2.3.1,Digital video broadcasting (DVB); frame structure channel coding and modulation for a second generation digital transmission system for cable systems (DVB-C2)[S].2009. [3]黃維超,劉橋,黃初華.基于Verilog的CRC并行實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2009,25(30):112-113. [4]GIUSEPPE C,GIUSEPPE P,MARCO R.Parallel CRC realization[J].IEEE Trans.Computers,2003,52(10):1312-1319.5 硬件實(shí)現(xiàn)