循环码

来自testwiki
imported>InternetArchiveBot2022年6月26日 (日) 12:17的版本 (补救1个来源,并将0个来源标记为失效。) #IABot (v2.0.8.8)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转到导航 跳转到搜索

编码理论中,循环码Template:Lang-en)是一种分組碼,每个码字循环移位会得到同样属于该码的另一个码字。它们是拥有便于误差检测与校正的纠错码

若00010111是有效码字,将其右循环移位得到10001011。若该码是循环码,则10001011也会是一个有效的码字。一般来说,在右循环移位会将最低位(LSB)移到最左边的位置,于是变为了最高位(MSB);其他位置会向右移一位。

定义

𝒞有限域 GF(q) 上的分组长度nTemplate:Le。如果对于 C 中的每个Template:Le c=(c1,...,cn),由循环移位得到的 GF(q)n 中的字 (cn,c1,...,cn-1) 仍是一个码字,则 𝒞 称为循环码。由于向右循环移一位就相当于向左循环移 n − 1 位,循环码也可以用循环左移来定义。因此如果任何循环移位都不变的线性码 𝒞 是精确循环码。

循环码对码有一些附加结构约束。它们都是基于伽罗华域,由于其结构性质,循环码对差错控制很有用。它们与伽罗华域密切相关,因此编码和译码算法都方便计算。

例子

举例来说,若 A=𝔽2n=3,(1,1,0)循环码中包含的码字的集合为

((0,0,0),(1,1,0),(0,1,1),(1,0,1)).

它对应于 𝔽2[x]/(x31) 中由 (1+x) 生成的理想。

注意到 (1+x) 是该多项式环中的不可约多项式,因此该码为不可约码。

该码的幂等为多项式 x+x2,对应于码字 (1,1,0)。

参见

参考文献

延伸阅读

  • Ranjan Bose, Information theory, coding and cryptography, ISBN 0-07-048297-7
  • Template:Tsl and Xuemin Chen, Error-Control Coding for Data Networks, Boston: Kluwer Academic Publishers, 1999, ISBN 0-7923-8528-4.
  • Template:Tsl, Paul C. Van Oorschot, An introduction to error correcting codes with applications, ISBN 0-7923-9017-2

外部链接