新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 一種并行BCH編解碼的設計與實現(xiàn)(下)

        一種并行BCH編解碼的設計與實現(xiàn)(下)

        作者:? 蔡二龍 時間:2017-03-08 來源:電子產(chǎn)品世界 收藏

        接上篇
        2.2 計算錯誤位置多項式[4]
        在上一步的伴隨式的計算中,若 Si 的值不全為0,則 表示信息在傳輸過程中發(fā)生了錯誤,需要求出錯誤位置多項
        式,有關關鍵方程[4-5]這里不再贅述,設位置多項式為:

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


        則回到步驟2。
        2.3 求解錯誤位置(并行錢氏搜索)
        在 [ 5 ] 中 所 涉 及 到 的 是 錢 氏 搜 索 的 基 本 算 法 , 最 大 的 缺 陷 就 是 一 次 只 能 尋 找 一 個 位 置 , 本 文 使 用 的 碼 字 是
        (4304,4096,16),碼長為4304,完成一次錢氏搜索需要消 耗4096個時鐘周期,是難以容忍的,所以本文在原來的算 法上進行了改進,在同樣的時間內(nèi)能夠完成對8個位置的搜 索,完成一次錢氏搜索的時間降低為原來的八分之一,即538個周期。
        理論知

        本文中的(4304,4096,16)是一個縮短碼,原碼是(8191,7983,16)。所以在使用錢氏搜索尋找錯誤位置的時候,并不需要把全部的元素都搜索一遍,本文所用的碼字相 對于原碼縮短了3387位,只需要從第3387位開始搜索即可, 從而在很大程度上提高了錢氏搜索的效率。


        本文設計的并行錢氏搜索電路結構如圖6所示。
        對圖6的描述如下: 第一個時鐘周期, 二路選擇器把 最左邊有限域乘法器得出的結果存入寄存器中,之后每一 個周期,二路選擇器選擇后面反饋過來的數(shù)據(jù)。現(xiàn)在只看 第一排,有8個有限域乘法器,且每一個乘法器計算出來之 后都會送到下面的加法器中進行運算,所以實現(xiàn)了8位并行 計算的功能。一共有15排這樣的有限域乘法器,計算過程 跟第一排完全相似。加法器得出的結果用 表示,如果輸出 結果為0表示對應的位沒有出錯,如果為1證明對應的位是 錯誤的,也就找到了錯誤的位置。假如搜索到8位都沒有出 錯,那么輸出結果為00000000,如果全部出錯,輸出結果為11111111。


        3 編譯碼器的仿真與分析
        數(shù)學軟件Matlab嵌有編譯碼函數(shù),可以完成計算 BCH碼的生成多項式、對數(shù)據(jù)進行編碼譯碼等功能。ISE中 的仿真結果出來后,與matlab中生成的數(shù)據(jù)進行對比,可以 驗證仿真結果的正確與否。
        3.1 BCH編碼器測試結果與分析
        首先向matlab程序輸入4096Byte的數(shù)據(jù),對這4096Byte 的數(shù)據(jù)進行編碼,將編碼后的校驗位與通過所設計的BCH 編碼器編碼后產(chǎn)生的校驗位進行對比,以此驗證編碼器的功 能。若兩者生成的校驗位相同,則認為所設計的BCH編碼器 能夠正確實現(xiàn)其功能。假 設 輸 入 的 4 0 9 6 By t e 的 數(shù) 據(jù) 全 部 為 8' b11111111 , 由mat l ab 程序計算得到的校驗位如下: 0 1 1 0 0 1 0 1 0 0 1 0 1 0 0 0

        00010000 01101110 01110111 01111111 00000100 00001000
        11111001 11000101 10100011 01100000 10110110 11011011
        00101111 10001010 11111101 00011100 10100110 00011111
        00011011 01000011 11100001 11011111 10001111 11010001
        利 用 I S E 對 B C H 編 碼 器 進 行 仿 真 , 得 到 的 結 果 如 圖 7(177頁)所示。
        對比公式4中得到的結果和matlab程序得到的結果,發(fā)現(xiàn)兩者結果相同,因此,可以證明所設計的BCH編碼器是正確的。
        3.2 BCH譯碼器的測試結果與分析
        當我們把信息位和校驗位放在一塊進行譯碼的時候,得到的結果如圖所示,錯誤位置值的八位數(shù)據(jù)全部為0,如圖8(177頁)所示。
        這 時 我 們 故 意 把 校 驗 位 的 最 后 8 位 1 1 0 1 0 0 0 1 改 為11011110,然后進行與上面同樣的操作,得到的結果如圖9
        所示。如圖9(177頁)所示發(fā)生錯誤的8位對應的錯誤位置的 數(shù)據(jù)位為00001111,其他錯誤位置的數(shù)據(jù)位均為00000000, 由此證明錯誤位置已經(jīng)找到,只要把發(fā)生錯誤的數(shù)據(jù)位與錯 誤位置的數(shù)據(jù)位進行異或就能得到正確的數(shù)據(jù)。以 上 測 試 可 以 得 出 , 我 們 設 計 的 B C H 譯 碼 器 是 正 確 的,能夠找到錯誤的位置并進行修正。

        4  結束語
        本文首先測試了并行編碼,將得出的數(shù)據(jù)與matlab中產(chǎn) 生的編碼數(shù)據(jù)進行對比,發(fā)現(xiàn)兩者的結果完全一致,然后對 解碼進行同樣的過程,發(fā)現(xiàn)所測試的數(shù)據(jù)也是正確的。但有 一個問題尚未解決,那就是測試的數(shù)據(jù)量比較小,并不能夠 完全保證所寫的程序是正確的,而且當錯誤的個數(shù)超出糾錯 能力的時候,能夠發(fā)現(xiàn)錯誤,但是無法糾正過來。

        參考文獻:
        [1]王新梅,肖國鎮(zhèn),糾錯碼—原理與方法[M]. 西安:西安電子科技大學 出版社,2001.
        [2]王杰.NAND  Flash主控中BCH編譯碼器的研究和ASIC實現(xiàn)[D]
        .浙江:浙江大學電氣學院,2010.
        [3]胡珊珊. B-T2系統(tǒng)中BCH譯碼器的設計與實現(xiàn)[D]. 武漢:武漢理工大 學信息工程學院,
        2012. [4]唐建軍,紀越峰,超高速BCH碼解碼改進算法研究[J].北京郵電大學 學報,2004,25
        (9):21-27.
        [ 5 ] Y n n i  C h e n , K e s h a b  k . P a r h i . A r e a  E f f i c i e n t  P a r a l l e l D e c o d e r  A r c h i t e c t u r e  f o r  L o n g  B C H  C o d e
        s [ J ] . I E E E International Conference on Acoustics,Speech,and Signal
        Processing,2004,5(4):481-483.
        [6]殷民.  閃存控制器中差錯控制編碼研究[D]. 合肥:中國科學技術大學 信息科學技術學院,
        2012.
        [7]  Yin, Min;Xie,  Menwang;Yi,Bo. Optimized  algorithms  for binary BCH codes
        [C].Beijing: Circuits  and Systems (ISCAS), 2013 IEEE International  Symposium on
        ,2013.
        [8]Wu,Tao, Efficient Recording of Parallel  Chien Search Results of BCH Code by
        Three-Staged and  Group-Sorted  Circuit[C]. chengdu:Computational Science and Engineering(CSE),2014. [9]Zhu,Yuelin,An  Intellectual  Biography[D].Boston:Harvard
        University,2002.



        關鍵詞: BCH 編解碼

        評論


        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 凤庆县| 玉林市| 富蕴县| 山东省| 项城市| 白朗县| 卢氏县| 藁城市| 尚志市| 龙门县| 阿尔山市| 齐河县| 二连浩特市| 分宜县| 肇庆市| 灵丘县| 娱乐| 稻城县| 安平县| 阿拉善右旗| 灌南县| 溆浦县| 绥德县| 蛟河市| 大港区| 蕉岭县| 册亨县| 连云港市| 五家渠市| 姚安县| 云安县| 阳山县| 体育| 西昌市| 朝阳县| 荆州市| 无极县| 梁山县| 宁强县| 唐河县| 咸丰县|