跳转至

11 群与编码(TBD)

编码

信息(Message)

有限的 0 和 1 序列。

码字(Word)

长度为 m 的 0 和 1 序列。

集合 B 是在模 2 加运算下的群。

  • \(B^m=B \times B \times B \times \dots \times B\) 是定义了运算 \(\oplus\) 的群:\((x_1,x_2,\dots,x_m)\oplus(y_1,y_2,\dots,y_m)=(x_1+y_1,x_2+y_2,\dots,x_m+y_m)\)
  • \(B^m\) 可以简写成 \(b_1b_2\dots b_m\)

编码函数

定义双射(一一对应)的编码函数 \(e:B^m \rightarrow B^n\),如果 \(b \in B^m\),则 \(e(b)\) 称为 \(b\) 的码字(Word)

差错检测

如果 \(x = e(b)\) 在传输过程中出现了 \(h\) 个错误 \((1 \leq h \leq k )\),称为发生了小于等于 \(k\) 个错误,则 \(x_t\) 不是一个码字。

权值

对于 \(x \in B^n\)\(x\) 中 1 的个数称为权值,用 \(|x|\) 表示。

奇偶校验码

\[ b^{m+1} =\begin{cases} 1 \quad |b|~is~even \\ 0 \quad |b|~is~odd \end{cases} \]

例如 \(e(010)=0101\)\(e(110)=1100\)

海明距离(Hamming)

对于 \(x,y \in B^m\),它俩的海明距离 \(\delta(x,y)=|x\oplus y|\)

例如 \(x=110110,y=000101\),则 \(x\oplus y=110011\),那么 \(\delta(x,y)=4\)

  1. \(\delta(x,y)=\delta(y,x)\)
  2. \(\delta(x,y) \geq 0\)
  3. \(\delta(x,y) = 0\text{ iff } x = y\)
  4. \(\delta(x,y) \leq \delta(x,z) + \delta(z,y)\)

最小距离

最小距离是所有不同码字中距离最小的那一个。 $$ \min{\delta[e(x),e(y)] ~ | x,y \in B^m} $$

例如,我们选择以下编码方案:

  • 00 → 000
  • 01 → 011
  • 10 → 101
  • 11 → 110

我们来计算这个编码方案的最小距离:

  • 000 和 011 之间的海明距离是 2
  • 000 和 101 之间的海明距离是 2
  • 000 和 110 之间的海明距离是 2
  • 011 和 101 之间的海明距离是 3
  • 011 和 110 之间的海明距离是 1
  • 101 和 110 之间的海明距离是 1

在这些距离中,最小的距离是 1。因此,这个编码方案的最小距离是 1。

定理

  • 如果一个 \(B^m→B^n\) 的编码函数可以检测 \(k\) 的错误,则当且仅当它的最小距离最少是 \(k+1\)​​。

  • 如果一个 \(B^m→B^n\) 的译码函数可以检测 \(t\) 的错误,则当且仅当它的最小距离最少是 \(2t+1\)

群码

如果存在一个 \(B^m \rightarrow B^n\) 的编码函数 \(e\),并且 \(e(B^m)=\{e(b)~|~e(b) \in B^n\}\),则 \(e\)\(B^n\)​ 的子群。

回顾子群的条件(N 是 \(B^n\) 的子群):

  • \(B^n\) 的单位元在 \(N\)
  • 如果 \(x,y \in N\),那么 \(x\oplus y \in N\)
  • 如果 \(x\in N\),它的逆元也在 \(N\)

定理一

如果一个编码函数 \(e\) 是群码,则它的最小距离是其中最小非零码字的权值。

译码

TODO