一種并行BCH編解碼的設(shè)計(jì)與實(shí)現(xiàn)(下)
接上篇
2.2 計(jì)算錯(cuò)誤位置多項(xiàng)式[4]
在上一步的伴隨式的計(jì)算中,若 Si 的值不全為0,則 表示信息在傳輸過(guò)程中發(fā)生了錯(cuò)誤,需要求出錯(cuò)誤位置多項(xiàng)
式,有關(guān)關(guān)鍵方程[4-5]這里不再贅述,設(shè)位置多項(xiàng)式為:
則回到步驟2。
2.3 求解錯(cuò)誤位置(并行錢氏搜索)
在 [ 5 ] 中 所 涉 及 到 的 是 錢 氏 搜 索 的 基 本 算 法 , 最 大 的 缺 陷 就 是 一 次 只 能 尋 找 一 個(gè) 位 置 , 本 文 使 用 的 碼 字 是
(4304,4096,16),碼長(zhǎng)為4304,完成一次錢氏搜索需要消 耗4096個(gè)時(shí)鐘周期,是難以容忍的,所以本文在原來(lái)的算 法上進(jìn)行了改進(jìn),在同樣的時(shí)間內(nèi)能夠完成對(duì)8個(gè)位置的搜 索,完成一次錢氏搜索的時(shí)間降低為原來(lái)的八分之一,即538個(gè)周期。
由編解碼理論知
本文中的BCH(4304,4096,16)是一個(gè)縮短碼,原碼是(8191,7983,16)。所以在使用錢氏搜索尋找錯(cuò)誤位置的時(shí)候,并不需要把全部的元素都搜索一遍,本文所用的碼字相 對(duì)于原碼縮短了3387位,只需要從第3387位開(kāi)始搜索即可, 從而在很大程度上提高了錢氏搜索的效率。
本文設(shè)計(jì)的并行錢氏搜索電路結(jié)構(gòu)如圖6所示。
對(duì)圖6的描述如下: 第一個(gè)時(shí)鐘周期, 二路選擇器把 最左邊有限域乘法器得出的結(jié)果存入寄存器中,之后每一 個(gè)周期,二路選擇器選擇后面反饋過(guò)來(lái)的數(shù)據(jù)?,F(xiàn)在只看 第一排,有8個(gè)有限域乘法器,且每一個(gè)乘法器計(jì)算出來(lái)之 后都會(huì)送到下面的加法器中進(jìn)行運(yùn)算,所以實(shí)現(xiàn)了8位并行 計(jì)算的功能。一共有15排這樣的有限域乘法器,計(jì)算過(guò)程 跟第一排完全相似。加法器得出的結(jié)果用 表示,如果輸出 結(jié)果為0表示對(duì)應(yīng)的位沒(méi)有出錯(cuò),如果為1證明對(duì)應(yīng)的位是 錯(cuò)誤的,也就找到了錯(cuò)誤的位置。假如搜索到8位都沒(méi)有出 錯(cuò),那么輸出結(jié)果為00000000,如果全部出錯(cuò),輸出結(jié)果為11111111。
3 BCH編譯碼器的仿真與分析
數(shù)學(xué)軟件Matlab嵌有BCH編譯碼函數(shù),可以完成計(jì)算 BCH碼的生成多項(xiàng)式、對(duì)數(shù)據(jù)進(jìn)行編碼譯碼等功能。ISE中 的仿真結(jié)果出來(lái)后,與matlab中生成的數(shù)據(jù)進(jìn)行對(duì)比,可以 驗(yàn)證仿真結(jié)果的正確與否。
3.1 BCH編碼器測(cè)試結(jié)果與分析
首先向matlab程序輸入4096Byte的數(shù)據(jù),對(duì)這4096Byte 的數(shù)據(jù)進(jìn)行編碼,將編碼后的校驗(yàn)位與通過(guò)所設(shè)計(jì)的BCH 編碼器編碼后產(chǎn)生的校驗(yàn)位進(jìn)行對(duì)比,以此驗(yàn)證編碼器的功 能。若兩者生成的校驗(yàn)位相同,則認(rèn)為所設(shè)計(jì)的BCH編碼器 能夠正確實(shí)現(xiàn)其功能。假 設(shè) 輸 入 的 4 0 9 6 By t e 的 數(shù) 據(jù) 全 部 為 8' b11111111 , 由mat l ab 程序計(jì)算得到的校驗(yàn)位如下: 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 對(duì) B C H 編 碼 器 進(jìn) 行 仿 真 , 得 到 的 結(jié) 果 如 圖 7(177頁(yè))所示。
對(duì)比公式4中得到的結(jié)果和matlab程序得到的結(jié)果,發(fā)現(xiàn)兩者結(jié)果相同,因此,可以證明所設(shè)計(jì)的BCH編碼器是正確的。
3.2 BCH譯碼器的測(cè)試結(jié)果與分析
當(dāng)我們把信息位和校驗(yàn)位放在一塊進(jìn)行譯碼的時(shí)候,得到的結(jié)果如圖所示,錯(cuò)誤位置值的八位數(shù)據(jù)全部為0,如圖8(177頁(yè))所示。
這 時(shí) 我 們 故 意 把 校 驗(yàn) 位 的 最 后 8 位 1 1 0 1 0 0 0 1 改 為11011110,然后進(jìn)行與上面同樣的操作,得到的結(jié)果如圖9
所示。如圖9(177頁(yè))所示發(fā)生錯(cuò)誤的8位對(duì)應(yīng)的錯(cuò)誤位置的 數(shù)據(jù)位為00001111,其他錯(cuò)誤位置的數(shù)據(jù)位均為00000000, 由此證明錯(cuò)誤位置已經(jīng)找到,只要把發(fā)生錯(cuò)誤的數(shù)據(jù)位與錯(cuò) 誤位置的數(shù)據(jù)位進(jìn)行異或就能得到正確的數(shù)據(jù)。以 上 測(cè) 試 可 以 得 出 , 我 們 設(shè) 計(jì) 的 B C H 譯 碼 器 是 正 確 的,能夠找到錯(cuò)誤的位置并進(jìn)行修正。
4 結(jié)束語(yǔ)
本文首先測(cè)試了并行編碼,將得出的數(shù)據(jù)與matlab中產(chǎn) 生的編碼數(shù)據(jù)進(jìn)行對(duì)比,發(fā)現(xiàn)兩者的結(jié)果完全一致,然后對(duì) 解碼進(jìn)行同樣的過(guò)程,發(fā)現(xiàn)所測(cè)試的數(shù)據(jù)也是正確的。但有 一個(gè)問(wèn)題尚未解決,那就是測(cè)試的數(shù)據(jù)量比較小,并不能夠 完全保證所寫的程序是正確的,而且當(dāng)錯(cuò)誤的個(gè)數(shù)超出糾錯(cuò) 能力的時(shí)候,能夠發(fā)現(xiàn)錯(cuò)誤,但是無(wú)法糾正過(guò)來(lái)。
參考文獻(xiàn):
[1]王新梅,肖國(guó)鎮(zhèn),糾錯(cuò)碼—原理與方法[M]. 西安:西安電子科技大學(xué) 出版社,2001.
[2]王杰.NAND Flash主控中BCH編譯碼器的研究和ASIC實(shí)現(xiàn)[D]
.浙江:浙江大學(xué)電氣學(xué)院,2010.
[3]胡珊珊. B-T2系統(tǒng)中BCH譯碼器的設(shè)計(jì)與實(shí)現(xiàn)[D]. 武漢:武漢理工大 學(xué)信息工程學(xué)院,
2012. [4]唐建軍,紀(jì)越峰,超高速BCH碼解碼改進(jìn)算法研究[J].北京郵電大學(xué) 學(xué)報(bào),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]殷民. 閃存控制器中差錯(cuò)控制編碼研究[D]. 合肥:中國(guó)科學(xué)技術(shù)大學(xué) 信息科學(xué)技術(shù)學(xué)院,
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.
評(píng)論