二进制矩阵乘法_信息与编码系列(六)错误纠正码——校验码、纠正码的结构及Hadamard矩阵(编码)...

本文深入探讨了错误纠正码中的二进制矩阵乘法,介绍了重码、奇偶校验码、Hamming码等,并讨论了它们的纠错能力和检测能力。特别地,文章详细阐述了Hadamard矩阵及其在构造Hadamard码中的作用,同时给出了Hamming球堆积上界和Gilbert-Varshamov下界的理论。通过对各种码的分析,展示了如何利用矩阵理论解决编码问题,提高传输效率。
摘要由CSDN通过智能技术生成

目录

  • 一些概念的介绍
  • 重码、奇偶校验码、Hamming码、扩展码和去心码
  • 最小距离
  • Hamming球堆积上界
  • Gilbert-Varshamov下界
  • Hadamard 矩阵和Hadamard 码

这里我们还是接着Shannon定理的思路往下讲的。

之前,在第一篇文章里我简单地说过关于源码、编码的概念。Shannon定理中对于降低误码率的思路是:在最近邻决策下,通过扩张原始编码,增加冗余位来降低误码。有了冗余位后,我们能够逐步有这样的要求:原来只能出现误码——误码可以忽略不记——误码可以被检测——误码可以被修正。沿着这样的思路,就分别出现了:距离、纠正位、校验位、信息位等概念。像那种层层递进的要求,就潜在地将码字符表内规定了代数结构。于是,我们就需要用代数学的方法来限制码的结构。有了代数结构,那么就可以借助它从局部得到整体,对于个别位出错的情况下,必然会在某个结构上与整体矛盾,从而局部修正。

从内容上,先给出几个基本定义,然后再主要讨论重码奇偶校验码Hamming码。 因为本文主要是讨论域上的码,从而对于码结构来说,我们只给出相应的上下界约束,即Hamming球堆积上界和Gilbert-Varshamov下界。最后再给出

书中写的内容比较平铺直叙,我把本文涉及到的概念以及关系都列出了来了,其中红线是表示这些概念之间的约束关系,比较重要,黑线就是概念上的包含关系,虚线就是具体化、属性。这篇文章的目的就是把这些结构梳理一下,黑线的给出定义,红线给出证明。

623fe26ed21d8564a3de512ff7d2cbe4.png

此外,我会引用一些 @sola 的一些域论文章,关于更多域论的内容,我并没有写。如果想要更多地了解抽代,可以关注他~


一些概念的介绍

我们考虑信道

,输入输出字母表可以用
或者
来代替,如果这俩不一样的话,那么用
来代替即可。

然后,对于有限的字符集,我们令其为

域。这样,我们就可以用代数学的方法来进行后面的探讨。

在本文中所讨论的域其实是数域,对加减乘除(非零)满足封闭的条件,乘法满足交换律,且对加法具有分配律等等。实际上可以类比有理数之间或实数之间的运算。

这里,我们一般研究有限域(finite fields)。譬如说是

,就是正数中模去
,其中
为素数。如果不为素数的话,那么设
,其中
,于是

又因为是域,所以必有

使得上式为
矛盾。
定理 有限域的阶为
,其中
为素数,
为整数。任意两个有限域阶相同则同构。

一般,我们将这个有限域记为Galois域,记

。对于这个域来说,可以通过不可约多项式来进行扩张。有限域并没有自带序的性质,不像有理数、实数和复数那样有大小。

书中一些关于域的内容,我后面也省略了。具体参考

sola:关于域论的一些梳理(四)​zhuanlan.zhihu.com
1d5fae754df54741f45e4b0614d72465.png

其实用的比较多的一个是取模、一个是封闭,取模是主要的。然后就是在域上的线性空间,被称为线性码,在

个码的情形下,取定具有特定结构的码。

下面我们会接着Shannon定理来探讨,我们会使用分组码(block code),即字长相等的码。我们前面对于降低误码率的方法就是添加冗余,这里考虑对于每个字长为

的码,令其中
个码来表示其中的信息,剩余的部分来用于纠错。

这里,我们先把线性码(linear codes)的定义说一下(虽然这不是重点):

我们假设字长为

的码
的子集,其中
个坐标为
中的元素。在
中,所有的向量(码字)都满足运算:加法和数乘(
可加性与齐次性),即

其中线性空间的八个公理同样适用于此。

如果码满足线性码的话,往往它的性质可以通过围绕它的基展开一系列的计算来解决问题。譬如说在Shannon定理中,如果不是任选编码,而是选择线性码,从而可以通过它的基来证明性质。

接着,我们记

若满足线性码的话,第二个等式成立)。对于
每一个码,存在唯一表示

为基,
。我们称之为线性
码(其实也就是由
个坐标表示的
维线性空间。)有了线性性质,那么,线性方程组就可以定义了。一般线性码都可以用线性方程组来定义,有了线性方程组就可以用矩阵来表示,也就是
生成矩阵(generator matrix)。不过线性码是下一篇文章要说的内容。

的比率为

同样地,也是说为线性码时,第二个等于成立。一般我们管其中

位叫做
信息位(information digits),剩余的部分叫做 校验位(check digits)。注意一点,这个信息位不一定是码字中的前
位,而是一共,比如下面要说的Hamming编码,其中信息位就是分布在码中的几位。

emm,后面的概念等用到再说。


重码、奇偶校验码、Hamming码、扩展码和去心码

先说这五个码到底是啥

第一个在

上的
重码(repetition code),记为
,就是选定
中,
位都是完全一样的码。

第二个是

上的
奇偶校验码(parity-check code),记为
.就是对于
求和为
的码(
考虑到域是有限域,特征为某个素数)。

第三个就是要说的

,在
上的
Hamming码(Hamming code),记为
。这个编码得说一说。

我们考虑三位校验位

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值