11.1群与编码

Groups and Coding(群与编码)

编码理论:通过引入冗余信息(检验位)来帮助检测和纠正错误

  • 基础定义:

  • 通过定义在mod2加法上的群B来定义群\(B^m\):

在信号传输通道(Transmission channel)中,可能会产生噪声(Noise),使得接收到错误的码字

编码函数(Encoding function)

  • 选择一个双射(one-to-one)函数e:\(B^m -> B^n(n>m)\)
    • 那么e称作(m, n)编码函数,将\(B^m\)中的每个码字表示在\(B^n\)中;
    • 如果\(b ∈ B^m\),那么e(b)称作代表b的代码字(code word)
  • 显然,如果在传输过程中没有噪音,那么对于任意传输方编码的x = e(b)∈\(B^n\),接收方收到的\(x_t = x\);又由于编码函数e已知,故可直接解码出信息b
  • 但是,传输过程中发生错误很常见,如果在传输前后的代码字x的\(x_t\)存在k个位置不同,那么我们就说x=e(b)传输错误为k

差错检测(Error detect)

假设e:\(B^m -> B^n\)是一个(m, n)编码函数:

  • 显然,如果x = e(b)在传输过程中传输错误为k,那么接收方收到的\(x_t\)就不是一个代码字(\(x_t!=x\), 无法直接解码为b)
  • 对于\(x ∈ B^n\),我们称x中1的个数为x的权(weight),并记为:\(|x|\)

奇偶校验码(parity check code)和其他编码函数

定义奇偶校验编码函数(偶校验)e:\(B^m -> B^{m+1}\),且(\(b_{m+1} = |b|⊕0\)):

考虑一个(m, 3m)编码函数e:

下给出所有的对3位信息编码后的代码字:

显然,如果接收方收到的码字01111101,这不是代码字(code word),说明传输过程中发生了传输错误

海明距离(Hamming distance)

  • 设x,y均是属于\(B^m\)的码字,我们定义x和y的海明距离(Hamming distance)\(θ(x, y) = |x⊕y|\),即x⊕y的权(weight)
  • x和y的海明距离的直观表述是:码字x和y中对应位不同的位置的个数,也称为码距(distance)

关于海明距离的一些性质:

note:(d)的证明利用了⊕运算的结合律

最小距离(Minimum distance)

编码函数e:\(B^m -> B^n\)的最小距离,是指任意两个代码字(code word)的距离的最小值,也就是

min{ \(θ(e(x), e(y)) | x, y ∈ B^m\)}

定理:(m, n)编码函数能检测k或更少的错误 \(<==>\) 该编码函数的最小距离\(>=\) k+1

群编码(Group Codes)

如果(m, n)编码函数e:\(B^m -> B^n\)满足:\(e(B^m) = \{ e(b) | e(b) ∈ B^n \}\) ,并且有,\(e(B^m)\)\(B^n\)的子群,那么我们称e为群码(Group Codes)

exp:

note:求出N = \(e(B^m)\),再判断是否为\(B^n\)的子群(关于⊕的封闭性,单位元,逆元)

定理:假设e:\(B^m -> B^n\)是一个群码,那么:e的最小距离就是所有代码字的非零码字的权的最小值
证明:(最小距离肯定大于0-->因为不可能有两个码字编码后是一样的)


exp:

note:由上可见群码的好处

群编码(函数)的构造

布尔矩阵

  • 定义矩阵异或运算(mod 2加法):D ⊕ E
  • 定义矩阵布尔乘运算(mod 2布尔乘):D * E
    那么可以有如下定理:⊕ 和 *对于矩阵具有分配律,即(D ⊕ E) * F = (D * F) ⊕ (E * F).

我们定义\(x = x_1x_2…x_n ∈ B_n\)为一个1×n的矩阵\([x_1 x_2 … x_n]\),我们得到如下定理:

如果\(0<m<n,r = n-m\),并且令H为一n×r的布尔矩阵,那么有:

  • \(f_H:B^n -> B^r, 且f_H(x) = x*H,x∈B^n\) ,那么\(f_H\)是从群\(B^n\)到群\(B^r\)的一个同态
    证明(⊕ 和 *的分配律):

推论1:

\(m,n,r,H和f_H是刚刚推论中定义的\),那我们可以得到如下信息:

  • \(N = \{x ∈ B^n | x * H = 0\}是B^n的一个正规子群\)

证明:
\(N是同态f_H的核(kernel), 故N是B^n的一个正规子群\)

一致性检验矩阵(Parity check matrix)

定义:\(令m<n,r=n-m,那么下面这个n×r的布尔矩阵称为\)一致性检验矩阵:

  • 定义编码函数\(e_H:B^m -> B^n\):
    \(b_{1×m} = b_1b_2...b_m\)
    \(那么代码字x_{1×n}=e_H(b)=b_1b_2...b_mx_1x_2...x_r=b_{1×m}x_{1×r}\),其中:
  • 完整矩阵表达形式:

最后的定理:

  1. 充分性:

  1. 必要性:

推论2(即其证明):

EXP:


Note:可见,如果有了一致检验性矩阵,我们可以通过右乘\([I_{m×m} H_{m×r}]\)来实现\(B^m -> B^n\)的群编码,同时也能通过右乘\(\begin{bmatrix} H_{m×r} \\ I_{r×R} \end{bmatrix}\)得到的结果是否为 0 来判断传输过程中是否发生错误

猜你喜欢

转载自www.cnblogs.com/SpicyArticle/p/11868653.html