一種并行BCH編解碼的設計與實現(xiàn)(上)
引言
隨著數(shù)字技術的快速發(fā)展,大容量數(shù)據(jù)存儲成為市場急需的產(chǎn)品。NAND Flash作為一種非易失性存儲器,容量 大、成本低,逐漸受到市場的青睞,在現(xiàn)實生活中得到了廣泛的應用。隨著NAND Flash 存儲器容量的增加,出錯的可能性也在增大。這時需要用到BCH碼,在中等碼長的情況下,BCH具有糾錯能力強、構造簡單的特點,在實際中具有很廣泛的應用。為了提高數(shù)據(jù)處理速率,本文提出8位并行
圖1 BCH編碼器結構
的編碼結構、8位并行的伴隨式結構以及8位并行的錢氏搜索 結構。
1 BCH編解碼并行編碼的過程
1.1 并行BCH(4304,4096,16)編碼器的設計
本 文 設 計 的 B C H 碼 是 ( 4 3 0 4 , 4 0 9 6 , 1 6 ) , 是 縮 短碼 , 其 原 碼為 ( 8 1 9 1 , 7 9 8 3 , 1 6 ) , 在 [ 1 ] 中 的 串 行 編 碼算 法 的 基 礎 上 進 行 了 改 進 , 設 計 成 8 位 并 行 的 結 構 ,對 于 B C H ( 4 3 0 4 , 4 0 9 6 , 1 6 ) 碼 , L = 4304 / 8 = 538 ,
,所以有:
圖2
2 BCH編解碼并行 解碼的過程
B C H 譯 碼 的 關 鍵 是 從 接 收 碼 字 R(x) 中 找出 錯 誤 圖 樣 E(x) , 通 過 譯 碼 糾 正 后 得 到 發(fā) 送 端 發(fā) 送 的 碼 子 C (x) 。
在 信 道 編 碼 過 程 中 , 信息 經(jīng) 過 信 道 后 會 增 加 一些 噪 聲 干 擾 從 而 產(chǎn) 生 誤 碼 , 接 收 端 的 接 收 碼 字 R(x) = C (x) + E(x) 。
BCH碼的譯碼步驟[2]:
圖3 u( x) 的電路結構
圖4 解碼器的流程圖
圖5 伴隨式計算電路
圖6 并行錢氏搜索電路
1)根據(jù)接收碼字 R(x) 計算伴隨式 S (x) ;
2)根據(jù)伴隨式 S (x) 求解關鍵方程,找出錯誤圖樣 E(x)
即得出錯誤位置多項式 ;
3)利用錢氏搜索找出錯誤位置;
4)根據(jù)錯誤位置進行錯誤糾正后譯碼輸出。
其譯碼原理圖如圖4所示。
2.1 伴隨多項式的計算
在[3]中伴隨值的求解是串行的,本文提出了一種8位并 行的結構,并且把伴隨式的求解分為兩部分進行。
設系統(tǒng)端發(fā)送的碼元多項式是:
圖7 編碼電路仿真結果
圖8 改錯前的譯碼結果
圖9 故意改錯后的譯碼結果
電路結構如5所示。
在圖5中, 分左右兩部分, 左邊用來求解伴隨式的余
式,寄存器是13位的寄存器,輸入的是8位的接收多項式的 系數(shù)。右邊是一個有限域的常數(shù)乘法器,將余式的系數(shù)與伴 隨式對應的根相乘得到伴隨式的值。(未完待續(xù))
評論