一种并行BCH编解码的设计与实现(上)
引言
随着数字技术的快速发展,大容量数据存储成为市场急需的产品。NAND Flash作为一种非易失性存储器,容量 大、成本低,逐渐受到市场的青睐,在现实生活中得到了广泛的应用。随着NAND Flash 存储器容量的增加,出错的可能性也在增大。这时需要用到BCH码,在中等码长的情况下,BCH具有纠错能力强、构造简单的特点,在实际中具有很广泛的应用。为了提高数据处理速率,本文提出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) , 通 过 译 码 纠 正 后 得 到 发 送 端 发 送 的 码 子 C (x) 。
在 信 道 编 码 过 程 中 , 信息 经 过 信 道 后 会 增 加 一些 噪 声 干 扰 从 而 产 生 误 码 , 接 收 端 的 接 收 码 字 R(x) = C (x) + E(x) 。
BCH码的译码步骤[2]:
图3 u( x) 的电路结构
图4 解码器的流程图
图5 伴随式计算电路
图6 并行钱氏搜索电路
1)根据接收码字 R(x) 计算伴随式 S (x) ;
2)根据伴随式 S (x) 求解关键方程,找出错误图样 E(x)
即得出错误位置多项式 ;
3)利用钱氏搜索找出错误位置;
4)根据错误位置进行错误纠正后译码输出。
其译码原理图如图4所示。
2.1 伴随多项式的计算
在[3]中伴随值的求解是串行的,本文提出了一种8位并 行的结构,并且把伴随式的求解分为两部分进行。
设系统端发送的码元多项式是:
图7 编码电路仿真结果
图8 改错前的译码结果
图9 故意改错后的译码结果
电路结构如5所示。
在图5中, 分左右两部分, 左边用来求解伴随式的余
式,寄存器是13位的寄存器,输入的是8位的接收多项式的 系数。右边是一个有限域的常数乘法器,将余式的系数与伴 随式对应的根相乘得到伴随式的值。(未完待续)
- 一种并行BCH编解码的设计与实现(下)(03-08)
- 采用汇编语言的BCH解码校验算法(05-18)
- 基于汇编语言的BCH解码校验算法(05-12)
- 基于FPGA的空间存储器的纠错系统的设计(12-26)
- 带DSP功能的超低功率音频编解码器帮助解决音频方案挑战(05-04)
- 语音编解码算法G.723.1在DSP上的优化(05-18)