新聞中心

EEPW首頁 > 手機與無線通信 > 設計應用 > LDPC碼數(shù)據分配通用模塊設計方案

LDPC碼數(shù)據分配通用模塊設計方案

作者: 時間:2012-12-02 來源:網絡 收藏

硬件實現(xiàn)的過稃中該參數(shù)的實現(xiàn)手段如圖4所示。

本文引用地址:http://2s4d.com/article/153700.htm

e.JPG


經過對原數(shù)值的兩次移位,得到該數(shù)值的四分值,通過減法達到(1/λk)為0.75的目的。

4 化模塊設計
下面的討論不失一般性,以每個循環(huán)子矩陣巾有3組1為例進行說明。
如圖5所示。A,B,C 3條線從“初始列號”開始向右側進行編排,由于C線的ver_pos_C(ver_pos_A、ver_pos_B、ver_pos_C分別指循環(huán)子矩陣中每組1的列初始位置)值最大,即C線在最右端.這也就意味著在經過511—1—ver_pos_C(511是每個循環(huán)子矩陣的大小)行的運算之后,C線首先將要從最左邊重新開始循環(huán)。因此,下面進行的數(shù)據初始化順序從A,B,C,變?yōu)镃,A,B,以此類推。

f.JPG


總而言之,每當排在最右側的一條線到達最右側的列時,下一步的CNU運算就將其變?yōu)楸咀泳仃嚨淖钕忍幚淼臄?shù)據。因為有這樣的運行規(guī)律,于是形象的稱這種運行方式為“反彈”。即,每當排在最右側的線碰撞到循環(huán)子矩陣的右側壁時便發(fā)生“反彈”,橫向處理數(shù)據的順序便進行一次向右的循環(huán)移位,將最右側線的數(shù)據移到最左邊,其他的數(shù)據順序不變。
如此循環(huán),直到把該循環(huán)子矩陣中所有的“1”位置全部處理完畢。每當循環(huán)子矩陣中發(fā)生一次“碰壁”后“定位位”就加1。
想要知道每條線橫向的先后順序就需要用到前面提到的“穿越”方法。首先確定3條水平直線,3條水平直線位于hor_pos_A,hor_pos_B,hor_pos_C位置上,記為hor_A,hor_B,hor_C,如圖5所示。A,B,C 3條線從“初始行號”位置開始向右側進行編排,A,B,C中的每條線,每當穿越hor_A,hor_B,hor_C中的直線時,A,B,C的橫向計數(shù)便加1,因為每穿越一次除它本身之外的線時,在它左邊就多一條線。因此本方法稱之為“穿越”。
先以C線為例進行說明。C線從hor_pos_C點殲始,向右側移動,當C線的行號“穿越”第一個除hor_C以外的水平直線hor_B的時候.此時C線上數(shù)據的編號加1。

5 加入化模塊的高速譯碼實現(xiàn)方案
從上面的分析的出結論,當存儲器內的數(shù)據進行向右側的循環(huán)移位的時候,每當?shù)竭_最右側,定位模塊檢測到這一信息便將通用定位模塊的輸出加1。存儲在定位位內。具體說明參見如圖6所示。

g.JPG


該圖說明了加入通用化定位模塊后的數(shù)據組成。仍以圖2所述矩陣為例,而且列初始位置小的一組1的數(shù)據從存儲器1中讀出,列初始位置大的一組1從存儲器2中讀出。當數(shù)據初始化到兩個存儲器內之后,進行水平運算的時候,首先提取第0行的數(shù)據以實線表示,此時的通用定位模塊的定位位輸出是0,輸出到CNU進行運算的數(shù)據前端的定位位也是0。隨著數(shù)據讀取的進行,當進行到以虛線表示的第2行進行數(shù)據讀取的時候,存儲器1對應那組1達到了存儲器的還沒有到達存儲器的最右側,而此時從存儲器2中讀出的數(shù)據已經經過了該存儲器的最右側,開始重新從最左邊讀數(shù),因此定位位被通用定位模塊加1,變?yōu)?。
這樣進行數(shù)據的讀取工作,直到讀完該循環(huán)子矩陣中所有的數(shù)據,所有讀出的數(shù)據都在首位增加了一個“定位位”,然后被送往CNU參與水平運算。



評論


相關推薦

技術專區(qū)

關閉