999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

DTMB標準實時LDPC編碼器設計*

2010-08-10 07:47:28彭海云徐建敏
電視技術 2010年1期
關鍵詞:信息

彭海云 ,徐建敏 ,王 鵬 ,劉 瑋

(1.周口師范學院 計算機科學系,河南 周口 466001;2.東莞理工學院 計算機學院,廣東 東莞 523808;3.同濟大學 通信軟件及專用集成電路設計中心,上海 200092)

1 引言

LDPC碼的概念最早由R.G.Gallager于1962年提出[1]。然而其研究成果長期為人們所忽視,直到1996年,Mackay等人重新“發現”了LDPC碼的強大性能[2],此后,LDPC碼開始成為信道糾錯編碼的一個主要研究熱點。LDPC碼具有極強的糾錯性能,如S.Y.Chung等人設計的1/2碼率,碼長107的非規則LDPC碼,在二進制輸入AWGN信道下,當錯誤概率為10-6時距Shannon限僅為0.004 55 dB[3],這是迄今為止性能最接近Shannon限的信道編碼。

2006年8月,我國的數字電視廣播地面傳輸標準DTMB正式公布[4]。該標準目前已經正式實施,與歐美等國的ATSC,DVB-T等同類標準相比,其最大的亮點就是在前向糾錯編碼中引入了LDPC碼,使整個系統在相同頻譜利用率條件下的接收門限比ATSC,DVB-T等標準的接收門限更低,也更有利于固定和移動接收。

DTMB標準中的前向糾錯碼由BCH碼和LDPC碼級連而成,依不同應用有0.4,0.6,0.8等3種碼率。其LDPC碼為準循環(QC-LDPC)非規則碼,對應校驗矩陣和生成矩陣均具有分塊循環特性,每個子塊為全零陣或循環陣,以降低編譯碼復雜度,同時仍保持了LDPC碼的優良糾錯性能[5]。

本文針對DTMB標準中LDPC碼的準循環特點,基于循環移位寄存器結構,實現了DTMB標準3種不同碼率的LDPC編碼,整個設計在FPGA芯片上經過綜合和布局布線,最高時鐘達到了182.82 MHz,遠超過DTMB實時編碼要求,而且該設計具有很強的通用性,只需更改編碼器內部的生成矩陣子塊生成多項式記錄模塊,即可適用于任意QC-LDPC編碼。

2 DTMB標準LDPC碼

在DTMB標準中,輸入的比特碼流數據進行擾碼處理后即送入前向糾錯模塊,其前向糾錯編碼(FEC)由外碼(BCH碼)和內碼(LDPC)級聯實現。

LDPC碼生成矩陣Gqc的結構如下

式中:I是 b×b 階單位矩陣;O 是 b×b 階零陣;Gi,j是 b×b循環矩陣,取 1≤i≤k,1≤j≤c。LDPC 編碼碼字輸出信息位在后,校驗位在前。

DTMB標準中規定了3種FEC碼率,對應LDPC碼率也有 3 種,分別是 LDPC(7 493,3 048)碼; LDPC(7 493,4 572)碼;以及 LDPC(7 493,6 096)碼;在將 LDPC 編碼碼字作為FEC輸出時,刪除前面5個校驗位,因此事實上只輸出7 488 bit。

3 DTMB標準LDPC編碼器

如前所述,DTMB中采用的QC-LDPC碼為系統碼,校驗比特在前,信息比特在后,3種碼率下的子塊大小均為127×127。如果在編碼時能充分利用生成矩陣的子塊循環特性,即使該生成矩陣并不具有稀疏性,也可以在較低的復雜度下完成LDPC編碼[6]。

3.1 QC-LDPC編碼算法

對QC-LDPC碼生成矩陣(如式(1)所示),由于子矩陣 Gi,j具有循環移位特性,只需記錄其第一行數據 gi,j即可得到整個子矩陣 Gi,j, 故稱 gi,j為該子矩陣的生成多項式,因此整個生成矩陣 Gqc可以由(c×(t-c))個生成多項式 gi,j來 完 整描 述 。

記 a=(a1,a2,...,a(t-c)b)為待編碼信息比特,可將其依子塊大小分成(t-c)個子向量(a1,a2,...,at-c),其中 ai=(a(i-1)b+1,a(i-1)b+2,...,aib),1≤i≤(t-c),根據線性分組碼理論,信息比特a對應的編碼碼字為

上式中,pj=(pj,1, pj,2,…,pj,b)為校驗比特的第 j個子向量,1≤j≤c,由矩陣乘法知識可以得到

至此可以看出,隨著輸入信息比特(a1,a2,…,at-c)串行進入編碼器,第j個校驗比特子向量pj可以通過式(3)~(4)完成,當 ai進入編碼器時,首先根據式(4)完成 aiGi,j運算,該式可方便地采用線性反饋移位寄存器結構實現,然后再計算 Sj=a1G1,1+ a2G2,j+…+aiGi,j,而當 at-c全部進入編碼器后,此時 Sj=a1G1,1+ a2G2,j+…+at-cGt-c,j,恰為第 j個校驗比特子向量pj,因此如果編碼器中包含有c個pj并行計算模塊,即可在讀入所有信息比特后完成所有校驗比特計算,而編碼器內部只需存儲(c×(t-c))個生成多項式 gi,j信息。

3.2 設計要求

編碼器設計需要能夠完成DTMB標準中所有3種LDPC碼的實時編碼。3種LDPC碼的信息比特長度分別為3 048 bit、4 572 bit和 6 096 bit, 碼字長度均為 7 493 bit,但前面5個校驗位不必輸出,只需輸出后面的7 488 bit即可。

采用前述QC-LDPC編碼算法,在所有信息比特輸入完畢的同時計算出所有校驗比特,然后再將刪除前面5位的校驗比特和信息比特組成完整碼字以串行形式輸出,這需要耗費7 488個時鐘周期,而輸入信息比特最大長度為6 096 bit。為提高系統工作穩定性,采用單時鐘設計,輸入、輸出均為1位串行模式,且各自有單獨的Data_Valid信號配合。首先確定編碼器時鐘頻率,按照DTMB標準規定,系統最高凈載荷率為32.486Mbit/s(對應0.8碼率FEC模式),此時LDPC碼信息比特和碼字比特速率分別為32.486×762/752 Mbit/s=32.918 Mbit/s和 32.486×7488/6 016 Mbit/s=40.435 Mbit/s,為留有部分余量,選擇45 MHz為編碼器工作時鐘。

3.3 LDPC編碼器設計

編碼器的核心是移位寄存器-加法器-累加器結構(SRAA),它可以完成式(3)~(4)所示的校驗比特計算,其具體結構如圖1所示。

圖1 SRAA結構圖

可以看出,該SRAA由2組寄存器陣列組成,上方為寄存器B陣列Reg_B,下方為寄存器A陣列Reg_A,其寬度均為子塊大小127。初始狀態時,寄存器陣列A,B內容全部清零,開始編碼時,首先將生成矩陣G子塊G0,0的生成多項式g0,0加載到寄存器B陣列中,此時第1個信息比特s0出現在輸入端,s0與Reg_B經與門陣列相與后出現在異或門陣列輸入端,在GF(2)域中,加法與異或運算是等效的,因Reg_A初始內容為零,可知更新后的Reg_A值為

在下一個時鐘周期,第2個信息比特s1出現在輸入端,Reg_B內容循環右移1位,變為,同樣經與門和異或門陣列后,此時Reg_A變為

以此類推,在第127個時鐘周期時,Reg_A為

式中:s0為信息比特按子塊長度127分割而成的第1組子陣列(s1,s2含義同上,記 s=(s0,s1,s2,…,st-c))。 此后,Reg_B開始加載子塊 G1,0的生成多項式 g1,0,再重復上述操作,經127個時鐘周期后,Reg_A為

這樣,當所有信息比特均輸入完畢后,寄存器陣列A中的值為

因此,一個SRAA結構可以在信息比特長度 (t-c)×127個時鐘周期內完成1個校驗比特子塊計算(含127個校驗比特),采用c組SRAA結構并行工作,可以在所有信息比特輸入完畢后同時得到所有校驗比特(計算結果存儲于Reg_A陣列中),去除前面5個校驗比特,并將余下的校驗比特和原始信息比特組成完整的7 488 bit以串行模式輸出,即完成了整個LDPC編碼過程。

圖2給出了DTMB標準LDPC編碼器頂層模塊結構圖。編碼器采用3級流水線設計:第1級流水線完成輸入信息比特乒乓緩存(由LDPC信息比特最大傳輸速率和編碼器工作時鐘可知完成一幀信息比特傳輸最多耗費8 333個時鐘周期),第2級完成校驗比特計算(最多耗時6 096個時鐘周期),第3級完成編碼碼字輸出(耗時7 488個時鐘周期)。

編碼器硬件實現采用Altera公司的Stratix II系列EP2S15芯片,以下詳細介紹各子模塊設計:

1)load_sbit模塊

load_sbit模塊主要完成信息比特讀入,將讀入的信息比特存入內部乒乓緩沖區,同時還要記錄相應的碼率信息code_rate,該乒乓緩沖區可由一塊位寬為1 bit,深度為16 384 bit的RAM構成,其地址最高位作為乒乓緩沖區切換位。當一幀LDPC碼字傳輸完畢后,置相應buf_available信號為高,代表當前乒乓緩沖區可用,此后SRAA模塊可以接收load_sbit模塊內部乒乓緩沖區輸出的信息比特,同時下一幀信息比特數據也在繼續寫入乒乓緩沖區,這樣可以使load_sbit模塊始終處于工作狀態,減少了系統延時。

圖2 DTMB標準LDPC編碼器結構框圖

2)sbit_FIFO模塊

sbit_FIFO主要用作緩存發送至SRAA模塊的信息比特,當校驗比特計算完畢時,由碼字輸出模塊output_code讀取FIFO中的信息比特數據,并與校驗比特組成完整的LDPC碼字,該模塊可由Altera公司的IP核專用生成工具MegaWizard實現,FIFO數據寬度為1 bit,最大深度為16 384 bit。

3)SRAA模塊陣列

SRAA陣列是編碼器的核心,也是占用資源最多的模塊,其中單個SRAA模塊內部結構如前所述。在DTMB標準3種LDPC碼率中,對應的校驗比特子塊長度分別為35(0.4碼率 FEC 模式)、23(0.6碼率 FEC 模式)和 11(0.8碼率FEC模式)。相應地,3種碼率下所需的SRAA個數也恰為35,23,11。在實際工作中,這些SRAA陣列的工作時序完全相同,因此設計中采用了一個主SRAA模塊SRAA0_prior,該模塊不僅完成3種碼率下的校驗比特子塊計算功能,同時還產生SRAA模塊時序共用信號,供其余從SRAA模塊使用。從SRAA依工作模塊不同也可分成3類,一類可支持所有3種碼率(SRAA0)、一類可支持0.4和0.6碼率模式(SRAA1),還有一類僅支持0.4碼率模式(SRAA2)。SRAA具體排列如圖3所示。

當所有SRAA模塊均被使能,且SRAA0_prior,SRAA0,SRAA1設置為0.4碼率工作模式,編碼器可完成LDPC(3 048,7 492)編碼;當 SRAA0_prior,SRAA0,SRAA1使能,SRAA2 禁用, 且 SRAA0_prior,SRAA0,SRAA1 設置為0.6碼率工作模式,編碼器可完成LDPC(4 572,7 492)編碼;當 SRAA0_prior,SRAA0 使能,SRAA1,SRAA2 禁用,且SRAA0_prior,SRAA0設置為0.8碼率工作模式,編碼器可完成 LDPC(6 096,7 492)編碼。

圖3 SRAA并行計算陣列

在35組SRAA模塊中,SRAA0_prior處于核心地位,信息比特輸入、生成矩陣子塊生成多項式讀取、校驗子塊計算、SRAA狀態更新及輸出等功能均由該模塊完成。其余從SRAA模塊只需配合SRAA0_prior輸出時序信號進行校驗比特計算即可。

4)gbase_data模塊

gbase_data模塊用于存儲LDPC碼生成矩陣子塊生成多項式,每個生成多項式位寬為127 bit。3種碼率下的數據均需存儲,0.4 FEC碼率下對應24×35=840個G矩陣生成多項式;0.6 FEC碼率下對應36×23=828個G矩陣生成多項式;0.8 FEC碼率下對應48×11=528個G矩陣生成多項式。

gbase_data模塊與SRAA模塊一一對應,因此共需要35組gbase_data模塊,其中前面11組需要存儲所有3種碼率下的G矩陣子塊列生成多項式,深度為24+36+48=108;中間12組深度為24+36=60;最后12組深度為24。均由ROM構建,依外部碼率信號不同,Gbase_data模塊可自動輸出對應碼率下的生成多項式數據。

5)output_code模塊

校驗比特計算完畢后,由output_code模塊完成碼字輸出,首先輸出校驗比特數據(去除前面5個校驗位),待校驗比特串行輸出完畢后,再讀取sbit_FIFO中的信息比特數據,也以串行模式輸出,二者配合構成完整的7 488 bit FEC碼字,為減少輸出數據毛刺現象,在輸出編碼數據時增加了一級寄存器。

6)main_control模塊

main_control模塊主要控制各模塊的使能、禁用、FIFO數據清零,以及根據碼率不同確定SRAA工作模式。

4 譯碼器FPGA實現及驗證

采用RTL級Verilog HDL代碼編寫整個設計,實現平臺為EP2S15,在Quartus II 7.2下成功完成了綜合及布局布線,布線后最高工作頻率可達182.82 MHz,已遠超過DTMB標準的時鐘要求。該編碼器布線后具體資源占用情況如表1所示,與現有同類設計相比,節省了近20%的硬件資源[7]。

表1 譯碼器占用資源統計

5 結論

DTMB標準中采用的是QC-LDPC碼,對應生成矩陣具有準循環移位特性,因此可直接采用生成矩陣完成LDPC編碼,編碼器中只需存儲3種碼率下的LDPC碼生成矩陣子塊生成多項式即可,整個編碼器基于SRAA陣列結構,通過線性反饋移位寄存器來完成LDPC編碼,共占用4 699個ALUT,存儲資源占用為350 Kbit。該編碼器可以在45 MHz的工作時鐘下完成DTMB標準下的實時LDPC編碼,且支持所有3種LDPC碼率。

[1]GALLAGER R G.Low-density Parity-check Codes[J].IRE Trans.Inf.Theory, 1962,8(1):21-28.

[2]MACKAY D J C,NEAL R M.Near Shannon limit performance of low-density parity check codes[J].Electron.Lett., 1996,32(15):1645-1647.

[3]CHUNG S Y, FORNEY G D,RICHARDSON T J,URBANKE R.On the design of low-density parity check codes within 0.0045dB of the Shannon limit[J].IEEE Comm.Letters , 2001,15(2):58-60.

[4]楊知行.地面數字電視國家標準DTMB技術解讀[EB/OL].[2009-06-20].http://www.availink.com.cn/UserFiles/u12850461886 29250001668832814.pdf.

[5]ANDREWSK,DOLINARS,THORPEJ.Encoders for block-circulant LDPC codes[C]//International Symposium Proceedings on Information Theory.Adelaide , Australia:[s.n.].2005, 4(9):2300-2304.

[6]LI Zongwang, CHEN Lei, ZENG Lingqi, et al.Efficient encoding of quasi-cyclic Low-Density Parity-Check Codes[J].IEEE Trans.Comm., 2006,54(1):71-75.

[7]楊抒文,彭克武,潘長勇.DTMB發射機LDPC編碼器的設計與優化[J].電視技術,2008,32(7):4-5.

猜你喜歡
信息
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
信息超市
大眾創業(2009年10期)2009-10-08 04:52:00
展會信息
展會信息
展會信息
展會信息
展會信息
信息
建筑創作(2001年3期)2001-08-22 18:48:14
健康信息
祝您健康(1987年3期)1987-12-30 09:52:32
主站蜘蛛池模板: 日韩欧美国产三级| 九九精品在线观看| 亚洲美女高潮久久久久久久| 青青操国产视频| 成人福利在线免费观看| 欧美劲爆第一页| 亚洲水蜜桃久久综合网站| 毛片a级毛片免费观看免下载| 亚洲色欲色欲www在线观看| 亚洲区第一页| 欧美色视频网站| 干中文字幕| 欧美区一区二区三| 四虎影院国产| 中文字幕欧美日韩高清| 五月丁香伊人啪啪手机免费观看| 国产亚洲一区二区三区在线| 国产精品视频白浆免费视频| 日韩毛片免费观看| 免费AV在线播放观看18禁强制| 国产亚洲欧美在线专区| 人妻中文字幕无码久久一区| 一本色道久久88综合日韩精品| 亚洲第一成网站| 99热精品久久| 久久国产高潮流白浆免费观看| 91区国产福利在线观看午夜 | 九九热精品免费视频| 999精品在线视频| 无码aⅴ精品一区二区三区| 成人午夜福利视频| 欧美精品1区2区| 久久永久免费人妻精品| 中文无码伦av中文字幕| 国产精品美女网站| 日本精品视频| 国产SUV精品一区二区| 亚洲欧洲日韩综合| 亚洲精品国产精品乱码不卞| 狠狠做深爱婷婷久久一区| 97人人做人人爽香蕉精品| 中文成人在线视频| 国产另类视频| 美女被狂躁www在线观看| 国产小视频网站| 国产99在线观看| 中文一区二区视频| 国产人成在线视频| 国产凹凸一区在线观看视频| 中文字幕亚洲另类天堂| Jizz国产色系免费| 91成人在线观看视频| 97久久精品人人| 国产精品嫩草影院视频| 2022国产无码在线| 久久天天躁狠狠躁夜夜躁| 日韩欧美一区在线观看| 日韩国产综合精选| 久久无码av三级| 亚洲制服丝袜第一页| www中文字幕在线观看| 又粗又硬又大又爽免费视频播放| 亚洲天堂久久| 香蕉综合在线视频91| 国产一级α片| 国外欧美一区另类中文字幕| 老司国产精品视频| 国产十八禁在线观看免费| 五月婷婷精品| 国产毛片不卡| 国产女人爽到高潮的免费视频| 久久人搡人人玩人妻精品| 精品国产Av电影无码久久久| 亚洲中文字幕精品| 国产精品jizz在线观看软件| 亚洲日韩精品伊甸| 九九视频免费在线观看| 亚洲无码视频一区二区三区| 国产第三区| 国产一区成人| 国产99视频精品免费视频7| 亚洲一区精品视频在线|