31
循循循循 BCH 循

循环码和 BCH 码

Embed Size (px)

DESCRIPTION

循环码和 BCH 码. 简述. 1957 年开始研究 循环码的优点: 编码和校正子的计算容易实现 具有固定的代数结构,能找到很多实用的方法来译码. 循环码定义. 对一个 n 维码字向量 v=(v 0 , v 1 ,…,v n-1 ) 做一次向右循环移位,得到 v (1) =(v n-1 ,v 0 ,…,v n-2 ) ,类似,向右做 i 次移位,得到 v(i)=(v n-i ,v n-i+1 ,…,v n-i-1 ) ,等价于向左移位 n-i 次 循环码:一个 (n,k) 线性码 C ,若每个码字的循环移位仍然是 C 的码字,则称其为循环码 - PowerPoint PPT Presentation

Citation preview

Page 1: 循环码和 BCH 码

循环码和 BCH 码

Page 2: 循环码和 BCH 码

简述

1957 年开始研究 循环码的优点:

编码和校正子的计算容易实现 具有固定的代数结构,能找到很多实用的方法来译

Page 3: 循环码和 BCH 码

循环码定义

对一个 n 维码字向量 v=(v0,v1,…,vn-1) 做一次向右循环移位,得到 v(1)=(vn-1,v0,…,vn-2) ,类似,向右做 i 次移位,得到 v(i)=(vn-i,vn-i+1,…,vn-i-1) ,等价于向左移位 n-i 次

循环码:一个 (n,k) 线性码 C ,若每个码字的循环移位仍然是 C 的码字,则称其为循环码 为研究循环码的代数结构,将码字 v 的分量看做多

项式的系数: v(x)=v0+v1X+v2X2+…+vn-1Xn-1

每个码字对应于一个次数等于或小于 n-1 的多项式 码字和多项式是一一对应的, v(x) 叫做码多项式

Page 4: 循环码和 BCH 码

码多项式

若 v 的码多项式为 v(x)=v0+v1X+v2X2+…+vn-1Xn-1

则 v(i) 的码多项式为 vn-i+vn-i+1X+…+vn-i-1Xn-1

计算 xiv(x)-v(i) 得到 :

(1) 也就是说 v(i) 就是 xiv(x) 除 Xn+1 后的余式

Page 5: 循环码和 BCH 码

循环码的性质

1. 循环码中非零次数最低的多项式是唯一的 证明: ( 反证法 ) 假设有两个最低次数一样的多项式,这这

两个多项式之和的次数更低,而且应该是码多项式(线性,封闭性),矛盾。

2. 循环码中非零次数最低多项式常数项为 1 证明: ( 反证法 ) 假设常数项为 0 ,则码多项式可提取公因

子 X ,另一个因子是次数更低的码多项式(循环左移 1次),矛盾。

3. 设 g(X)=1+g1X+…+Xr 是 (n,k) 循环码非零次数最低的多项式,次数小于或等于 n-1 的二进制多项式是码多项式当且仅当它是 g(X) 的整倍数。

Page 6: 循环码和 BCH 码

循环码的性质

证明: 1 )若 v(X) 是 g(X) 的整倍数,即 v(X)=(1+u1X+...+uiXi)g(X) , Xig(X) 是 g(X) 向

左循环移位 i 次的码多项式,故 v(X) 是码的线性组合; 2 )设 v(X) 是码多项式,有 v(X)= a(X)g(X)+ b(X) , b(X) 次数小于 g(X) , b(X) 可以写成 b(X)= a(X)g(X)+v(X) ,故 b(X) 是码多项式或 0 ,因 g(X) 是次数最低的非零多项式,故 b(X)=0 ,即 v(X) 是 g(X) 的整倍数

Page 7: 循环码和 BCH 码

循环码的性质

4. (n,k) 循环码有且仅有一个 n-k 次的码多项式 g(X)=1+…+Xn-k ,这就是次数最小的码多项式,也称为码的生成多项式

Page 8: 循环码和 BCH 码

循环码的性质

5. (n,k) 循环码的生成多项式 g(X) 是 Xn+1 的一个因子

证明:由公式 (1) 显然。6. 若 g(X) 是次数为 n-k ,且是 Xn+1 的一个因子,

则 g(X) 是生成多项式,生成一个 (n,k) 循环码 证明 : 略。

性质 6 说明 Xn+1 任何一个 n-k 次多项式都可以生成一个 (n,k) 循环码,当 n 很大时,可以构造很多的 (n,k) 循环码,有好有坏,如何选择?

Page 9: 循环码和 BCH 码

例子: X7+1

X7+1=(1+ X)(1+X+X3)(1+X2+X3) 故有两个 (7,4) 循环码

Page 10: 循环码和 BCH 码

循环码的系统形式

码字前 n-k 分量为校验位,后 k 分量是信息位

编码步骤:1. 用 Xn-k 乘信息序列 u(X)

2. 用生成多项式 g(X) 除 Xn-ku(X) ,得余式 b(X) 为校验位

3. 得到码多项式 Xn-ku(X)+b(X)

Page 11: 循环码和 BCH 码

循环码的生成矩阵

设 g(x)=g0+…+gn-kXn-k, 则有生成矩阵如下:

若不是系统形式,可通过行变换变成系统形式

Page 12: 循环码和 BCH 码

校验矩阵 H

令 h(X) 满足, Xn+1=g(X)h(X), 则 h(X) 的 k 个系数张成矩阵 ,h(X) 称为校验多项式

Page 13: 循环码和 BCH 码

循环码的对偶码

设码 C 的生成多项式为 g(X) ,校验多项式为 h(X)

其对偶码的生成多项式为 Xkh(X-1) ,也是一个循环码

一个循环码被其校验矩阵唯一确定

Page 14: 循环码和 BCH 码

例子

( 7,4 )循环码 C ,生成多项式 g(X)=1+X+X3

其校验多项式为 h(X)=Xn+1/g(X)=1+X+X2+X4

码 C 的对偶码的生成多项式为 X4h(X-1)=1+X2+X3+X4

Page 15: 循环码和 BCH 码

循环码的编码

编码步骤:1. 用 Xn-k 乘信息序列 u(X)

2. 用生成多项式 g(X) 除 Xn-ku(X) ,得余式 b(X) 为校验位

3. 得到码多项式 b(X) +Xn-ku(X)

Page 16: 循环码和 BCH 码

循环码的译码

同线性码 计算校正子 求错误模式 纠错或计算码字

Page 17: 循环码和 BCH 码

查错

令 v(X) 表示输入码字, e(X) 为错误模式,则接受向量 r(X)=v(X)+e(X)=a(X)g(X)+e(X) ,故有:e(X)=a(X)g(X)+b(X)g(X)+s(X)=c(X)g(X)+s(X) ,即校正子是错误模式除以生成多项式的余式

从接受向量 r(X) 可以计算校正子 s(X) ,错误模式 e 是未知的,故需要从 s(X) 去求 e(X) 。若 e(X) 是标准阵的陪集首,则可用查表译码,由校正子获得错误模式。

若 e(X) 是 0 ,则 s(X)=0 ;若 e(X) 是码多项式,则 e(X) 是漏检错误模式。

Page 18: 循环码和 BCH 码

计算校正子

设接受序列为 r(X) ,则有: r(X)=a(X) g(X)+s(X) ,当且仅当 r(X) 是码多项

式时, s(X) 是 0 , s(X) 就是校正子 性质: r(1)(X) 的校正子 s(1)(X) 是 s(X) 的一次循

环移动。 也就是说码字循环位移得到新码字的校验子是

原校验子循环位移后除以生成多项式的余式,即: s(i)(X) =Xis(X)-b(X)g(X)=ri(X)-c(X)g(X) , s(i)(X) 的次数低于 g(X)

Page 19: 循环码和 BCH 码

译码

串行译码 每次只译一个接收比特 , 然后循环移位,继续译

下一个接受比特 若校正子 s(X) 与 Xn-1 有错所对应的错误模式对

应,则接受比特 vn-1 有错 得到修正接收多项式 r1(X)=r0+r1X+…+rn-2Xn-2 +

(rn-1+en-1)Xn-1 ,循环位移得到 r1(1)(X)=(rn-1+en-1) +

r0X+r1X2+…+rn-2Xn-1 ,且 s1(1)(X)=s(1)(X)+1

Meggitt 译码器(算法)

Page 20: 循环码和 BCH 码

假设错误是突发错误,即错误模式 e 包含连续若干个 1 , (n,k) 循环码能检测长度小于等于n-k 的突发错误 证明: e(X)=XjB(X),B(X) 的次数小于等于 n-k-1 ,小

于 g(X) 的次数,又因为 g(X) 和 Xj 互素,因此 e(X)不是 g(x) 的倍式,故 s(X) 不为 0 。检测出错误。

长度为 n-k+1 的突发错误中,不能被检测的数目占 2-(n-k-1); 长度 >n-k+1, 不能被检测的 2-(n-k)

证明:共有 2 (n-k-1) 种突发错误,不能被检测的只有当 e(X) 是 g(x) 的倍式 ; 共有 2 (n-k) 种突发错误,不能被检测的 2l-(n-k)-2 种。

循环码的差错检测能力

差错检测能力强!

Page 21: 循环码和 BCH 码

( 23 , 12 )格雷码

生成多项式 : 若 g1(X)=1+X2+X4+X5+X6+X10+X11, g2(X)=1+X+X5+

X6+X7+X9+X11

X23+1=(1+X)g1(X)g2(X)

Page 22: 循环码和 BCH 码

( 23 , 12 )格雷码的系统搜索译码 通过循环位移,不大于 3 个错误的错误模式在特定 11

个连续位 ( 校验位 ) 之外至多有 1 个错误 步骤:

计算校正子 接收向量和校正子循环位移 23 次,检查校正子重量是否小

于等于 3 ,若满足则可纠错 若否,则对第一个信息位取反,重复上一步,检查是否有重

量小于 2 的校正子,若有则第 1 位错,校正子指出其他两个错,完成译码

若上一步判断是否定的,则第 1 位正确,恢复第 1 位,类似检查第二个信息位,第三个…,直到第 12 个信息位

每种错误数目不大于 3个错误模式,至少 1个错误,一旦纠正了,会令其他的错误在连续的 11位中,可用普通方式来纠正(通过逐一取反 12个

信息位,假设检验)。

Page 23: 循环码和 BCH 码

准循环码

每次循环移动 n0 位, 若 n0=1 ,就是循环码,否则就是准循环码

N0 叫做移位约束 准循环码的对偶码也是准循环码

Page 24: 循环码和 BCH 码

BCH 码

BCH三个人: Bose, Chaudhuri, Hocquenghem 是一类循环码,是汉明码的推广,可纠正多个

错误 定义:

对任意正整数 m(m>2) 和 t(t<2m-1) ,存在具有如下参数的 BCH 码

分组长度 n=2m-1 奇偶校验位数目 n-k<=mt 最小距离 dmin>=2t+1

该码能校正小于等于 t个错

Page 25: 循环码和 BCH 码

BCH 码的生成多项式(本原 BCH码) 设 a 是 GF(2m) 的生成元。码长为 2m-1 ,纠正 t 个

或少于 t 个错误的 BCH 码的生成多项式 就是以

为根的最低次多项式。 设 的最小多项式为 ,则

任何整数 i 都可以写成 i=i’2l ,其中 i’ 是奇数 ,我们有 ,当 l>1 时, 是 的共轭元,具有相同的最小多项式 ,故 g(X) 可写为

g(X) 的次数最多为mt,因为每个多项式的次数至多为

m,也就是 n-k<=mt

Page 26: 循环码和 BCH 码

非本原 BCH 码

给定正整数 m(m>2) 和 t(t<2m-1) 之后,通过选择 FG(2m) 中的本原元构建生成多项式获得本原 BCH 码

若选择的不是本原元,则得到非本原 BCH 码,n!=2m-1

BCH 码就是循环码的生成多项式的根是连续的 FG(2m) 的元素 ,该码的最小距离至少为 2t+1

Page 27: 循环码和 BCH 码

BCH 的码多项式

设码 ,其码多项式为:

故码多项式有生成多项式 g(X) 的全部根,也就是 及其共轭元,有一个码多项式的定义:当且仅当包含有 为根的多项式 称为码多项式

对 1<=i<=2t ,码多项式

Page 28: 循环码和 BCH 码

BCH 的码多项式

也就是向量内积: 对任意的 1<=i<=2t ,上式都成立,即码向量

v 和下列矩阵 H 的乘积为 0

vHT=0 , H 是该码的校验矩阵

Page 29: 循环码和 BCH 码

简化的校验矩阵 H

码多项式 其共轭元 必然满足 H 中偶数行的 是某个奇数行的共轭元,故 H

可以简化为如下:

Page 30: 循环码和 BCH 码

BCH 码的译码

假设发送码字 ,传输中的错误导致了 令错误模式为

有 译码第一步,计算校正子 令 的最小多项式为 ,并将接收向量写为:

,故有 S的第 i 个分量 ,即在用 r(X) 除以 的余式 中代入 ,得到 Si

Page 31: 循环码和 BCH 码

BCH 码的译码步骤

1. 由接收多项式 r(X) 计算校正子

2. 由校正子分量确定错误位置多项式3. 通过求解 的根,确定错误位置,并纠正 r

(X) 中的错误 注意到校正子分量 即校正子仅取决于错误模式 假设错误模式包含 v 个错误,位置在