<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > EDA/PCB > 設計應用 > 基于CMMB系統的LDPC譯碼器的設計與實(shí)現

基于CMMB系統的LDPC譯碼器的設計與實(shí)現

作者: 時(shí)間:2011-03-28 來(lái)源:網(wǎng)絡(luò ) 收藏


2 的硬件實(shí)現
2.1 總體結構
碼的通常有串行結構、并行結構和部分并行結構等。根據校驗矩陣的特點(diǎn),部分并行譯碼結構可簡(jiǎn)單分為輸入和輸出存儲單元、VNU(變量節點(diǎn)運算)單元、CNU(校驗節點(diǎn)運算)單元和中間結果存儲單元。其譯碼器結構如圖1所示。為了便于A(yíng)SIC實(shí)現,本文采用單端口RAM,每塊RAM由一個(gè)控制器控制以實(shí)現不同碼率的地址初始化、讀RAM、寫(xiě)RAM等操作。

本文引用地址:http://dyxdggzs.com/article/191280.htm

c.JPG


2.2 輸入和輸出存儲單元
檢測到輸入數據有效后,可把輸入的串行數據依次存到初始化RAM里。本譯碼器一共有36個(gè)初始化存儲器,每個(gè)存儲器的深度為256。第1個(gè)數據存到第1個(gè)RAM的0地址,第2個(gè)數據存到第2個(gè)RAM的0地址,依次類(lèi)推,第37個(gè)數據再存到第1個(gè)RAM的1地址,直到一幀9216個(gè)數據全部存滿(mǎn)36個(gè)RAM。同樣,輸出存儲單元可采用類(lèi)似的存儲器調度方式。為了實(shí)現譯碼的連續性,本設計在輸入和輸出部分使用了乒乓結構,即采用兩組相同的36個(gè)RAM交替操作方式。
2.3 VNU單元
VNU單元用于完成兩部分工作:一是由校驗節點(diǎn)和初始化信息來(lái)更新變量節點(diǎn)的值;二是對每一列進(jìn)行硬判決。檢驗節點(diǎn)更新后的值將存儲到存儲單元R_Mem,而硬判決后的比特值則存到輸出存儲單元,直到滿(mǎn)足停止譯碼兩個(gè)條件之一時(shí)才可輸出碼字。第一次垂直更新時(shí),不用輸入存儲單元Q_Mem的值,而只把輸入存儲單元里的初始值送到VNU單元進(jìn)行更新運算即可。由于兩種碼率下LDPC檢驗矩陣的列重都是3,因此,兩種碼率下的VNU個(gè)數都為36個(gè),且每個(gè)VNU結構也都是4輸入的VNU。每次運算時(shí),都必須讀輸入存儲單元和Q_Mem(除第一次迭代外)中的數據的運算結果,但應同時(shí)寫(xiě)入R_Mem存儲單元中。本操作內部采用流水線(xiàn)結構,每次迭代都延遲2個(gè)時(shí)鐘周期。由于讀地址都為0,而且讀地址每次加1,因此,執行變量節點(diǎn)更新運算共需花費256+2個(gè)時(shí)鐘,垂直更新結構的變量節點(diǎn)單元加法運算器結構如圖2所示。

d.JPG


2.4 CNU單元
CNU單元也包括兩部分工作:一是由變量節點(diǎn)來(lái)更新校驗節點(diǎn)的值,并將更新后的值存儲到外部存儲器;二是對每一行硬判決后的比特進(jìn)行校驗,以確定其是否滿(mǎn)足校驗方程,也就是對每一行所對應比特進(jìn)行異或,并看結果是否為零。若所有行的異或結構都為零,則譯碼成功,退出迭代。在標準中,兩種碼率校驗矩陣H的行重有所不同(分別為6和12)。為了能共用CNU模塊并且共享存儲器資源,筆者設計了12輸入的CNU單元,并且使用9個(gè)CNU單元并行計算。這樣,當碼率為1/2時(shí),1個(gè)CNU單元更新2行,9個(gè)正好更新18行;而當碼率為3/4時(shí),9個(gè)CNU單元更新9行。每個(gè)12輸入的CNU單元由2個(gè)6輸入CNU單元組成,通過(guò)1個(gè)選擇器可控制CNU輸出。l/2碼率時(shí),2個(gè)6輸入CNU的輸出結果可直接作為12輸入CNU的輸出結果,然后經(jīng)緩存后送入Q_Mem;3/4碼率時(shí),2個(gè)6輸入CNU的輸出再經(jīng)過(guò)一級比較器得出的結果,才作為12輸入CNU的輸出值送到Q_Mem存儲。為了方便比較最后一級比較器,可在復用已有的兩組6輸入輸出比較單元的同時(shí),還得輸出兩組最小值。CNU單元電路采用流水線(xiàn)結構來(lái)設計延時(shí)增加4個(gè)時(shí)鐘周期(1/2碼率)和5個(gè)時(shí)鐘周期(3/4碼率)。6輸入輸出CNU單元的結構簡(jiǎn)圖如圖3所示。

e.JPG



關(guān)鍵詞: CMMB LDPC 系統 譯碼器

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>