新聞中心

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

        LDPC碼數據分配通用模塊設計方案

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

        增加了定位模塊對CNU的結構也有所影響。文獻中曾給出CNU運算結果的四維存儲方法,存儲的信息包括最小值,次小值,最小值的位置和符號位,該存儲方法大大節約了存儲器開銷。然而當每個循環子矩陣中不止有一組1的時候,采用了化的定位模塊,從存儲器中讀出的數據也增加了一位“定位位”,此時的CNU結構需要發生改變,來適應做出的調整。具體變化如圖7所示。

        本文引用地址:http://www.104case.com/article/153700.htm

        h.JPG


        圖中的輸入端數據的頭部都加入了一位“定位位”,該位不參與CNU的比較運算過程,因此單獨將改為取出,在圖中最下方標記出來。
        若每個循環子矩陣中有兩組1,使用圖7中的CNU進行運算的時候,CNU的輸入端總是把每個列塊對應的兩個M存儲器中的存儲器1連接在比較器的上方接口,存儲器2連接在比較器的下方接口,例如D000連接第一列塊的存儲器1,D001連接第一列塊的存儲器2。這樣進行的排列在“位置標記”模塊的輸出端可以得到最小值的位置是在D000~D111中的哪一個。然后將這一輸出前加上該列塊的“定位位”信息進行存儲,這一行數據的其他“定位位”信息全部刪除。

        i.JPG


        在垂直運算的過程中,需要利用上述信息確定求列和時參與運算數據的具體位置。列運算的實現方案如圖8所示。現在假設進行循環子矩陣的第一列的列運算,需要得到的信息是第1列兩個數據的值。下面以第2行第1列的數據為例進行說明。
        第2行的數據經過水平運算后存儲在R存儲器中的對應位置上,該位置存儲信息的格式如圖中最左側所示。若水平運算求得的最小值不在該子矩陣的列塊范圍內,那么該子矩陣中所有的數據全部以該行最小值輸出參與垂直運算。
        但是若水平運算求得的最小值在該子矩陣的列塊內,那么就需要用“穿越”的方法確定所需數據在該列塊中是水平方向上的第幾個數據,確定了這一點后,就能夠利用水平運算的結果中的“定位位”來判斷該值是最小值還是次小值了。

        j.JPG


        從整個實現過程中可以看出,陔模塊引入之后,可以通過流水的操作來消除對速度的影響,而且該模塊的引入沒有對存儲資源構成任何多余的消耗。
        另外從該方法的實現過程可以看出,該方法適用于BP算法、最小和算法以及最小和算法的改進算法,所以該方法也具有良好的算法通用性。
        通過ISE中Xinlin公司V5-330芯片上的仿真可以看出該方法的資源消耗情況。時鐘頻率120 MHz。

        6 結束語
        本章還介紹了通用化模塊的設計方法,針對循環子矩陣中不止有一組1的情況,利用了校驗矩陣中循環子矩陣的自身特點,設計了能夠自動識別1排列情況的模塊,以利于垂直運算過程中自動調用水平運算的結果。該模塊的加入不會對譯碼速度和存儲資源造成任何消耗,而且有助于未來成熟高效地開發高速譯碼設備。


        上一頁 1 2 3 4 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 宁阳县| 侯马市| 蒙城县| 建瓯市| 奇台县| 东兰县| 虎林市| 西华县| 博客| 朔州市| 屏南县| 汕尾市| 抚宁县| 鸡泽县| 沧州市| 襄垣县| 邮箱| 凤山市| 新营市| 玛曲县| 黔西县| 河源市| 襄樊市| 海安县| 新泰市| 介休市| 惠来县| 邵武市| 宝坻区| 修武县| 庆安县| 东莞市| 高安市| 申扎县| 建湖县| 鄢陵县| 安多县| 土默特左旗| 彩票| 吴江市| 太仓市|