230 likes | 666 Views
BCH 码与 RS 码. BCH 码. 定义:给定任一有限域 GF( q ) 及其扩域 GF( q m ), 其中 q 是素数或素数的幂, m 为某一正整数。若码元取自 GF( q ) 上的一循环码,它的生成多项式 g ( x ) 的根集合 R 中含有以下 d -1 个连续根, { a s , a s +1 ,…, a s + d -2 } 时,则由 g ( x ) 生成的循环码为 q 进制 BCH 码。 a 是域 GF(q m ) 中的 n 级元素 m i (x) 和 e i 分别是 a s+i ( i =0,…, d -2) 元素的最小多项式和级,
E N D
BCH码 • 定义:给定任一有限域GF(q)及其扩域GF(qm),其中q是素数或素数的幂,m为某一正整数。若码元取自GF(q)上的一循环码,它的生成多项式g(x)的根集合R中含有以下d-1个连续根, {as,as+1,…,as+d-2} 时,则由g(x)生成的循环码为q进制BCH码。 a是域GF(qm)中的n级元素 mi(x)和ei分别是as+i(i=0,…,d-2)元素的最小多项式和级, g(x)=LCM(m0(x),m1(x),…,md-2(x)) n=LCM(e0,e1,…ed-2) 本原BCH码,非本原BCH码
BCH码 • BCH限:BCH码的最小距离dBCH至少为d • HT限:若BCH码的生成多项式g(x)的根集R中含有s组d-1个a的连续元素, 且(n,a)=1,a∈GF(qm)是n级元素,则码的最小距离dHT>=d+s-1
BCH码的设计距离和实际距离 • 二进制本原BCH码的码长n=2m-1,设计距离d若为2t+1,则若 当t→0,则码的实际距离等于设计距离。 • 若码长n=ab,且二进制BCH码的设计距离d=a,则a是码的实际距离 • 长为n=qm-1的GF(q)上的BCH码,若有设计距离d=qh-1,则码的实际距离等于d • 设计距离为d的GF(q)上的本原BCH码,它的实际最小距离d<=qd+q-2
二进制BCH码 • 对任何正整数m和t,一定存在一个二进制BCH码,它以a,a3,…,a2t-1为根,其码长n=2m-1或是2m-1的因子,能纠正t个随机错误,校验位数目至多为deg(g(x))=mt个。 • Eg:m=4,a∈GF(24)是本原域元素,它是x4+x+1的根,求码长n=24-1=15的二进制BCH码。
BCH码的扩展 • [n,k,d] →[n+1,k,d+1] d为奇数 • [2m-1,k,d]本原BCH码→[2m,k,d+1]扩展本原BCH码
RS码 • GF(q)(q≠2)上,码长N=q-1的本原BCH码称为RS码 • RS码的码元的符号域与根域一致 • RS码是极大最小距离可分码,MDS码
RS码 • RS码的参数:[q-1, k, q-k] [q-1, q-1-(d-1), d] • 常用RS码:GF(23)上的[255, k, 255-k+1] 光盘、硬盘等磁记录信道应用
RS码的扩展 • 对RS码而言,增加一个全校验位,总可使最小距离增加1. • [N=qm-1, K, D] →[N+1, K, D+1] • 双扩展RS码[qm+1, k, qm-k+2] • 扩展RS码与双扩展RS码都是极大最小距离可分码。 • RS码的映射扩展码: [(m+1)(2m-1),mK,d>=2D=2(2m-K)] • 双重映射扩展码: [(m+1) 2m,mK,d>=2D=2(2m-K+1)] • 以a,a2,…,aD-1为根的[N=2m-1,K,D]GF(2m)上的RS码,包含了码长为N、距离等于D的二进制本原BCH码。类似的,扩展RS码包含了扩展BCH码
BCH码的一般译码 • 彼得逊Peterson 1960 • 迭代译码 波力坎普Berlekamp 1966 • BM算法 Massey 1969 • 频域译码 Blahut 1978 • 超设计距离译码
BCH码的一般译码 • 根据接收序列计算伴随式 • 由伴随式找错误图样 • 根据错误图样和接收序列得到可能发送的码字
令 ,则有 加权幂和对称函数 2t个方程,2t个未知数,非线性方程组求解
错误位置多项式 初等幂和对称函数
[M][s]=-[S] t个方程,t个未知数,有解的充要条件是M矩阵满秩
如果sj(j=m0, m0+1, …, m0+t-1)是由t个不同的非零数 对(xi, Yi)组成,则矩阵 满秩,否则为非满秩
钱搜索 • 解s(x)的根即确定R(x)中错误的位置。若判断第一位rn-1是否有错,则相当于译码器确定an-1是否是错误位置数,等价于检验a-(n-1)=a是否是s(x)的根。 s1al+s2a2l+…+statl=-1 rn-1有错 s1al+s2a2l+…+statl≠-1 rn-1正确
钱搜索电路 Yi … s1 s2 st … a a2 at 门 输出C’(x) 输入R(x) n级缓冲存储器
BCH码的译码 • 由接收到的R(x),求sj • 由si求错误位置多项式 • 用钱搜索解出s(x)的根,得到错误位置数,确定错误位置 • 根据错误位置数求错误值,从而得到错误图样 • 根据接收值和错误图样,计算发送码字
BCH码的迭代译码 • BM算法 • 易于用计算机完成译码 • 关键是加快求s(x)的速度
BM算法基本原理 设 表示上述二者乘积 令 由于