Alex_McAvoy

想要成为渔夫的猎手

线性码的编码理论基础

【线性码的基本定义】

长度为 $n$ 且维度为 $k$ 的线性码(Linear Code)是定义在 $n$ 维有限域 $\mathbb{F}_q^n$ 中维度为 $k$ 的线性子空间 $C$,其中 $\mathbb{F}_q$ 是具有 $q$ 个元素的有限域,通常称为 q 元码

如果 $q=2$ 或 $q=3$,则分别称为二进制线性码、三进制线性码,线性子空间 $C$ 中的向量称为码字(Codeword),线性码的大小是码字的数量,即 $q^k$

码字的权重(Weight)通常用 Hamming 重量衡量,即码字中非零元素的个数;两个码字之间的距离(Distances)通常用 Hamming 距离衡量,即它们之间不同的元素个数。线性码的距离 $d$,是非零码字的最小权重,其等价于不同码字间的最小距离

长度为 $n$、维度为 $k$、距离为 $d$ 的线性码,通常记为:

对于 $\mathbb{F}_q^{n}$,整个线性码组 $C$ 可以表示为一组长度为 $k$ 的码字的线性组合,这些基码字通常被整理成生成矩阵 $G$ 的行。那么,对于二进制线性码,其可以由一个 $k\times n$ 的二进制生成矩阵表示,该矩阵满足如下性质:任意非空行子集的模 $2$ 向量和中,至少有 $d$ 个位置为 $1$,即任意非零码字的 Hamming 距离至少为 $d$

【线性码的唯一纠错能力】

设一条长度为 $k$ 的原始比特消息编码后得到码字 $\mathbf{c}$,传输过程中有一些位置被翻转,接收方收到的内容是 $\mathbf{r}$。如果错误位置数为 $t$,那么有:

其中,$\Delta(\cdot,\cdot)$ 表示 Hamming 距离

如果存在另一个码字 $\mathbf{c}’$ 也可能解释为原始码字,且它距离接收向量 $\mathbf{r}$ 也不超过 $t$,那么根据三角不等式,有:

但由于线性码的最小距离是 $d$,即任意两个不同码字间的距离至少是:

所以,如果 $2t<d$,就不可能同时存在两个不同的码字 $\mathbf{c}$ 与 $\mathbf{c}’$ 都距离 $\mathbf{c}$ 很近。也就是说,接收方只能找到唯一一个最接近的码字,即原始码字

因此,线性码纠错的上界是 $t<\frac{d}{2}$,即最多能够纠正的错误数是:

也就是说,只要被翻转的位置数不超过 $\left\lfloor \frac{d-1}{2}\right\rfloor$,接收方就可以唯一确定原始码字,并进一步恢复出原始消息

【Hamming 球与球体积】

Hamming 球堆积上界(Hamming Sphere-Packing Bound)刻画的是在给定纠错能力的情况下,一个码的是码率最多能有多大

Hamming 球

对于长度为 $n$ 的 $q$ 元向量构成的空间 $\mathbb{F}_q^n$,其大小为 $q^n$。对于某个向量 $\mathbf{u}\in \mathbb{F}_q^n$,以 $\mathbf{u}$ 为中心、半径为 $r$ 的 Hamming 球(Hamming Ball) 定义为:

其中,$\Delta(\mathbf{u},\mathbf{v})$ 表示 $\mathbf{u}$ 与 $\mathbf{v}$ 的 Hamming 距离

Hamming 球体积

如果一个向量与中心 $\mathbf{u}$ 的距离恰好为 $i$,就需要从 $n$ 个位置中选出 $i$ 个出错位置,再在每个位置上选择一个不同于原符号的值。每个位置有 $q-1$ 种选择,所以距离恰好为 $i$ 的向量数量为 $\binom{n}{i}(q-1)^i$,将 $i=0$ 到 $t$ 的情况加起来,就得到半径为 $t$ 的 Hamming 球体积,即:

对于二进制情形,$q=2$,故有:

二进制线性码的 Hamming 球体积渐近估计

对于二进制 Hamming 球,考虑 $t$ 和 $n$ 成比例增长时的情况,令 $t\approx\alpha n,0<\alpha<\frac{1}{2}$,此时 Hamming 球体积可以写为近似形式,即:

在这个求和式中,最大的二项式系数出现在 $i=\alpha n$ 附近,记 $H_2(\cdot)$ 为二进制熵,则根据二项式系数的经典熵估计,有:

由于整个求和在指数阶上由最大的二项式系数控制,因此:

也就是说,当 Hamming 球半径 $t$ 占码长比例约为 $\alpha$ 时,二进制 Hamming 球体积的指数阶近似为:

进一步,若二进制线性码的相对距离为 $\delta=\frac{d}{n}$,则最小距离为 $d=\delta n$,对应的唯一纠错半径为:

因此,有:

将其代入 Hamming 球体积估计,可得:

【Hamming 球体积堆积上界】

球体积堆积

对于 $[n,k,d]_q$ 线性码,其有 $q^k$ 个码字,若以每个码字为中心,画一个半径为 $t$ 的 Hamming 球,那么这些球就不能相交。因为如果两个球相交,就会存在一个接收向量 $\mathbf{r}$ 同时距离两个不同码字都不超过 $t$,接收方就无法唯一判断原始码字

因此,所有这些 Hamming 球的总体积不能超过整个空间大小,即:

化简可得:

该不等式说明,如果希望纠错能力更强,也就是 $t$ 更大,那么每个码字周围的 Hamming 球体积就会增大。在总空间 $q^n$ 固定的情况下,能放下的互不相交的 Hamming 球就越少,码字数量和码字就都受到限制

对于二进制情形,$q=2$,故有:

二进制线性码的码率上界

对于二进制线性码,Hamming 球堆积上界为:

将 Hamming 球体积渐近估计 $V_2(n,t)\approx 2^{n H_2(\frac{\delta }{2})}$ 代入,有:

两边同时取 $\log_2$,并除以 $n$ 可得:

由于码率定义为:

因此可以得到 Hamming 球堆积上界对应的渐近码率限制:

这说明,当相对距离 $\delta$ 增大时,纠错半径约为 $\frac{\delta n}{2}$,每个码字周围的 Hamming 球体积也会增大,由于整个空间大小固定为 $2^n$,能够容纳的码字数量就必须减少,因此码率 $R$ 会受到上界限制

【Gilbert–Varshamov 下界】

Hamming 球堆积上界说明,如果要保证最小距离,那么码字不能太多。Gilbert–Varshamov 下界(Gilbert–Varshamov Bound)则从另一个方向说明:在给定线性码长度和距离的情况下,至少存在码字数量足够多、最小距离足够大的码

简单来说,Hamming 球堆积上界给出限制,而 GV 下界给出存在性保证

最大码数

记 $A_q(n,d)$ 表示在 $q$ 元空间 $\mathbb{F}_q^n$ 中,所有最小距离至少为 $d$ 的码里,最多能够拥有的码字数量。也就是说,$A_q(n,d)$ 是满足以下条件的码的最大规模:

因此, $A_q(n,d)$ 是在长度为 $n$、任意两个码字间至少相差 $d$ 个位置的条件下,最多能够拥有的码字数量

最大码的覆盖性质

下面考虑一个已经达到最大规模的码 $\mathcal{C}$,即:

假设存在某个向量 $\mathbf{u}\in \mathbb{F}_q^n$,并且它到 $\mathcal{C}$ 中所有码字的距离都至少为 $d$,即:

那么,把 $\mathbf{u}$ 加入 $\mathcal{C}$ 后,新的码:

仍然满足任意两个码字之间距离至少为 $d$,这说明 $\mathcal{C}’$ 也是一个最小距离至少为 $d$ 的码,但它的码字数量比 $\mathcal{C}$ 多一个

而已经达到最大规模的码 $\mathcal{C}$ 已经不能再加入新的码字了,否则就会超出最大规模,这就与 $\mathcal{C}$ 已经是最大码矛盾。因此,对于最大码 $\mathcal{C}$,不可能存在这样的 $\mathbf{u}$

换句话说,对任意向量 $\mathbf{u}\in\mathbb{F}_q^n$,它都必须距离某个码字 $\mathbf{c}\in\mathcal{C}$ 至多为 $d-1$,即:

其几何含义是:以 $\mathcal{C}$ 中每个码字为中心,画半径为 $d-1$ 的 Hamming 球,这些球必须覆盖整个空间 $\mathbb{F}_q^n$

GV 下界的基本形式

对于半径为 $d-1$ 的 Hamming 球,球体积为:

由于最大码 $\mathcal{C}$ 中有 $A_q(n,d)$ 个码字,所以一共有 $A_q(n,d)$ 个这样的 Hamming 球。这些球必须覆盖空间大小为 $q^n$ 的整个空间 $\mathbb{F}_q^n$,即这些球之间可以重叠,但总体积一定不能小于整个空间大小,所以有:

于是得到:

这就是 Gilbert–Varshamov 下界的基本形式,其说明存在一个长度为 $n$、最小距离至少为 $d$ 的 $q$ 元码,其码字数量至少为

二进制情形下的 GV 下界

考虑二进制情形,即 $q=2$。此时,整个空间大小为 $2^n$,半径为 $d-1$ 的 Hamming 球体积为:

因此 GV 下界写为:

设相对距离为 $\delta=\frac{d}{n}$,即 $d=\delta n$,在渐近分析中 $d-1$ 与 $d$ 的差别可以忽略,因此有:

当 $0<\delta<\frac12$ 时,二进制 Hamming 球体积可以用二元熵函数估计:

将其代入 GV 下界,有:

即:

这说明在长度为 $n$、相对距离为 $\delta$ 的二进制线性码中,至少存在一个码,其码字数量可以达到指数规模:

二进制线性码的存在性条件

二进制下的 GV 下界说明,在长度为 $n$、相对距离为 $\delta$ 的条件下,至少存在码字数量达到 $2^{n(1-H_2(\delta))}$ 的二进制线性码

因此,若目标二进制线性码 的码字数量 $2^k$ 不超过这一可保证存在的规模,就可以保证存在具有相应参数的二进制线性码,即有:

将上述不等式取 $\log_2$ 并除以 $n$,有:

因此,在二进制渐近意义下,GV 下界通常写为存在性条件:

【随机线性码的生成】

对于二进制线性码 $[n,k,d]_2$,GV 下界保证,只要码率 $\frac{k}{n}$ 低于 GV 下界给出的阈值,就存在长度为 $n$、维度为 $k$、最小距离至少为 $d$ 的二进制线性码,即:

进一步地,如果存在某个 $\varepsilon>0$,使得:

那么这一条件不仅保证这样的线性码存在,而且可以保证几乎所有随机选取的 $k\times n$ 二进制生成矩阵,都会构成 $[n,k,d]_2$ 码

直观上说,码率留出的余量越大,生成矩阵中的冗余越充分,随机矩阵生成好线性码的概率就越高。因此,当取常数 $\kappa,\delta,\varepsilon>0$,并满足:

时,随机选取一个 $\kappa n\times n$ 的二进制矩阵 $C$,它就大概率生成一个最小距离至少为 $\delta n$ 的线性码

感谢您对我的支持,让我继续努力分享有用的技术与知识点!