编码理论中,线性码是一种纠错码,满足其任何码字的线性组合也是其码字。传统上,线性码分为分组码卷积码两大类,尽管涡轮码可以看作是这两种类型的混合。 [1]线性码的编码和解码可以有比其他码更有效的算法(参见伴随式解码)。[2]

线性码用于前馈纠错,用于在通信信道上传输符号(例如,比特),以使在通信中出现错误时,消息块的接收者可以纠正或检测到一些错误。线性分组码的码字是一种符号块,这种符号块使用比要发送的原始值更多的符号进行编码。[3]长度为n的线性码传输包含n个符号的块。例如,[7,4,3]汉明码是一种线性二进制码,使用7位码字表示4位消息。两个不同的码字至少有三位不同。因此,每个码字最多可以检测到两个错误,同时可以纠正一个错误。[4]此代码包含 24=16个码字。

定义和参数

编辑

长度为n且维度为k线性码向量空间 维度k线性子空间C,其中 是具有q个元素的有限域[5]这样的线性码称为q-ary码。如果q=2或q=3,则分别称其为二进制码三进制码C中的向量称为码字。线性码的大小是指码字的数量,即qk

码字的权重(weight)是码字中非零元素的个数,两个码字之间的距离(distance)是指它们之间的汉明距离,即它们之间不同的元素个数。线性码的距离d是其非零码字的最小权重,其等效于不同码字之间的最小距离。长度为n、维度为k、距离为d的线性码称为[n, k, d]码(或更准确地说, 码)。

我们希望赋予 标准基,因为每个向量坐标代表一个“比特”,该“比特”通过“噪声信道”传输,并且以小概率存在一些传输错误(二进制对称信道)。如果使用其他基,则无法使用该模型,并且汉明度量不能像我们所希望的那样测量传输中的错误数量。

生成矩阵和校验矩阵

编辑

作为 线性子空间,整个线性码组C (可能非常大)可以表示为一组长度为 的码字(在线性代数中称为)的线性组合。这些基码字通常被整理成矩阵G的行,该矩阵称为码C生成矩阵。当G具有分块矩阵形式 (其中 表示 单位矩阵,P是 矩阵)时,我们称G具有标准形式[6]

表示线性函数 C的矩阵H称为C校验矩阵(有时也称奇偶校验矩阵)。上述表述等价于H是一个零空间C的矩阵。设C是一个码组,其生成矩阵G为标准形式,则  , 则 C的校验矩阵。由H生成的码称为C对偶码。可以验证G 矩阵,而H 矩阵。[7]

线性保证码字c0与任何其他码字cc0之间的最小汉明距离dc0无关。这从以下性质可以看出:C中两个码字的差cc0也是一个码字(即子空间C的一个元素),且d ( c ,c 0 ) = d ( cc0 ,0)。由上述性质可得

 

换而言之,为了找出线性码的码字之间的最小距离,只需要查看非零码字。具有最小权重的非零码字与零码字的距离最小,从而决定了代码的最小距离。

线性码C的距离d也等于校验矩阵H的线性相关列的最小数量(列向量最小线性无关组的秩)。

证明:因为  , 等价于 ,其中   的第 列。除去使 的项,使  线性相关。是故, 不小于线性相关的列的最小个数。又,考虑线性相关列的最小集  ,其中 是列指标的集合。 。考虑满足 时候 的向量 。注意到由于  ,是故,有 ,后者是  之中线性相关的行的最小数目。 上述性质得证。

示例:汉明码

编辑

汉明码在数字通信系统中得到了广泛的应用。对于任何正整数  ,存在一个 汉明码。由于  ,此类汉明码可以纠正1位错误。[7][8]

例:具有以下生成矩阵和奇偶校验矩阵的线性分组码是 汉明码。

   

示例:阿达马码

编辑

阿达马码英语Hadamard code 线性码,能够纠正诸多误码。 阿达马码可以逐列构建: 第 列是整数 的二进制表示 ,如下例所示。 阿达马码的最小距离为 ,因此可以纠正 错误。

例:具有以下生成矩阵的线性分组码是 阿达玛码:  

阿达马码英语Hadamard code里德-穆勒码英语Reed-Muller Code的一个特例。如果我们从 中抽出第一列(全零列),我们可以得到 单纯形码,是汉明码的对偶码

最近邻算法

编辑

参数d与码的纠错能力密切相关。以下构造/算法说明了这一点(称为最近邻解码算法):

输入:接收到的 中的向量v

输出:在 中最接近 的一个码字 (如果有)。

  •  开始 ,重复以下两个步骤。
  • 枚举(汉明)半径为 ,以待编码 为中心的球的包含的元素 ,表示为 
    • 对于每个 中的  ,检查 是否在 中。如果是,则返回 作为解决方案。
  • 增加  。仅当 时因失败终止。枚举已完成,但尚未找到解决方案。

如果对于每个 中的 最多有一个码字在 中,称线性码  -纠错的。

常用记号

编辑

通常用字母C表示,长度为nk的码(即,其基中有n个码字,其生成矩阵中有k行)通常称为 (nk) 码。线性分组码通常表示为 [nkd] 码,其中d表示码中任意两个码字之间的最小汉明距离。

([nkd] 符号不应与 (nMd)符号混淆,后者用于表示长度为n 、大小为M(即具有M 个码字)且最小汉明距离为d 的非线性码。)

辛格尔顿界

编辑

引理辛格尔顿界):每个线性 [n,k,d] 码C满足 

参数满足k+d=n+1的代码C称为最大距离可分Maximum Distance Separable)的或MDS 。如果这样的代码存在,那么从某种意义上来说,它们就是最好的。

C1C2是两个长度为n的代码,且对称群Sn中存在置换p 当且仅当(cp (1) ,... , cp (n) ) 在C2中时,( c1 ,..., cn ) 在C1中,则称C1C2置换等价的。更一般地,如果存在 单项式矩阵英语monomial matrix 使得C1同构于C2 ,那么称C1C2等价的

引理:任何线性码都等价于标准形式的码的置换。

博尼索利定理

编辑

对于一个码字,当且仅当存在某个常数d,使得该码中任意两个不同码字之间的距离等于d时,其可以称为等距码[9] 1984 年,阿里戈·博尼索利 (Arrigo Bonisoli) 确定了有限域上线性单重码的结构,并证明了每个等距线性码都是与汉明码对偶的序列。 [10]

示例

编辑

线性码的一些示例包括:

推广

编辑

在非域字母表上的汉明空间英语Hamming space同样受到关注,尤其是有限环上的情形,其中最显著的是Z4上的伽罗瓦环英语Galois ring。由此导出的是结构而非向量空间结构,对应的环线性码(由子模定义)取代了传统线性码。此类空间通常采用李氏距离作为度量。研究发现:配备汉明距离的  (即 GF(22m ))与配备李距离的  (亦记作 GR(4,m))之间存在格雷等距映射。该映射的核心价值在于:它能将 上某些环线性码的像,对应于 上具有优良性质却非线性的编码。[11][12][13]

有些作者也将环上的此类码简称为线性码。 [14]

参见

编辑

参考文献

编辑
  1. ^ William E. Ryan and Shu Lin. Channel Codes: Classical and Modern . Cambridge University Press. 2009: 4. ISBN 978-0-521-84868-8. 
  2. ^ Martínez, Consuelo; Molina, Fabián. The syndromes decoding algorithm in group codes. Finite Fields and Their Applications. 2023-08-01, 89 [2025-07-05]. ISSN 1071-5797. doi:10.1016/j.ffa.2023.102206. 
  3. ^ MacKay, David, J.C. Information Theory, Inference, and Learning Algorithms (PDF). Cambridge University Press. 2003: 9 [2025-07-06]. Bibcode:2003itil.book.....M. ISBN 9780521642989. (原始内容存档 (PDF)于2012-09-15). In a linear block code, the extra   bits are linear functions of the original   bits; these extra bits are called parity-check bits 
  4. ^ Thomas M. Cover and Joy A. Thomas. Elements of Information Theory. John Wiley & Sons, Inc. 1991: 210–211. ISBN 978-0-471-06259-2. 
  5. ^ Grossman, Jay. Coding theory: introduction to linear codes and applications. (PDF). Insight: River Academic Journal. 2008, 4 (2) [2025-07-05]. 
  6. ^ Grossman, Jay. Coding theory: introduction to linear codes and applications. (PDF). Insight: River Academic Journal. 2008, 4 (2) [2025-07-05]. (原始内容存档 (PDF)于2024-04-15). 
  7. ^ 7.0 7.1 樊昌信; 曹丽娜 (编). 通信原理. 北京: 国防工业出版社. 2024: 341-343. ISBN 978-7-118-08768-0. 
  8. ^ 冯桂; 周林 (编). 信息论与编码. 北京: 清华大学出版社. 2016: 92-93. ISBN 978-7-302-42427-7. 
  9. ^ Etzion, Tuvi; Raviv, Netanel. Equidistant codes in the Grassmannian. arXiv:1308.6231  [math.CO]. 
  10. ^ Bonisoli, A. Every equidistant linear code is a sequence of dual Hamming codes. Ars Combinatoria. 1984, 18: 181–186. 
  11. ^ Marcus Greferath. Massimiliano Sala; Teo Mora; Ludovic Perret; Shojiro Sakata; Carlo Traverso , 编. An Introduction to Ring-Linear Coding Theory. Springer Science & Business Media. 2009. ISBN 978-3-540-93806-4. 
  12. ^ Encyclopedia of Mathematics. www.encyclopediaofmath.org. [2025-07-06]. (原始内容存档于2016-12-25). 
  13. ^ J.H. van Lint. Introduction to Coding Theory  3rd. Springer. 1999. Chapter 8: Codes over ℤ4. ISBN 978-3-540-64133-9. 
  14. ^ S.T. Dougherty; J.-L. Kim; P. Sole. Open Problems in Coding Theory. Steven Dougherty; Alberto Facchini; Andre Gerard Leroy; Edmund Puczylowski; Patrick Sole (编). Noncommutative Rings and Their Applications. American Mathematical Soc. 2015: 80. ISBN 978-1-4704-1032-2. 

参考书目

编辑
  • J. F. Humphreys; M. Y. Prest. Numbers, Groups and Codes 2nd. Cambridge University Press. 2004. ISBN 978-0-511-19420-7.  Chapter 5 contains a more gentle introduction (than this article) to the subject of linear codes.

外部链接

编辑

📚 Artikel Terkait di Wikipedia

代码

code)、哈达码代码(英语:Hadamard code)、BCH码、涡轮码、二进制戈莱码(英语:Binary Golay code)、Goppa码(英语:Goppa code)、低密度奇偶检查码和时空码(英语:Space–time code)。 可以优化错误检测代码以检测突发错误或随机错误。

后量子密码学

linear code)——一般线性码的解码十分困难,是NP困难问题。其密文就是引入随机错误的码字(codeword),有私钥者可以进行纠错得到明文,无私钥者则无法解码。 McEliece算法首次发表于1978年(仅比RSA晚一年),使用的是二元戈帕码(Binary Goppa code

纠错码

伯格码(英语:Berger code) Constant-weight code 卷积码 Expander code Group code Golay code Goppa code, used in the McEliece cryptosystem Hadamard code Hagelbarger code 汉明码