1. 码字距离公式:对于两个二元域上的码字
x
\bm{x}
x和
y
\bm{y}
y,他们的重量记为
w
(
x
)
w(\bm{x})
w(x)和
w
(
y
)
w(\bm{y})
w(y),内积记为
<
x
,
y
>
<\bm{x},\bm{y}>
<x,y>,则他们之间的距离为
d
(
x
,
y
)
=
w
(
x
)
+
w
(
y
)
−
<
x
,
y
>
.
d(\bm{x},\bm{y})=w(\bm{x})+w(\bm{y})-<\bm{x},\bm{y}>.
d(x,y)=w(x)+w(y)−<x,y>.
■
\blacksquare
■
2. Equivalent codes的定义。对于两个码字 C 1 C1 C1和 C 2 C2 C2,如果对于 C 1 C1 C1中的任意码字 c 1 c 2 ⋯ c n c_1c_2\cdots c_n c1c2⋯cn,均存在一个 C 2 C2 C2中的码字,其可以表示为 π 1 ( c σ ( 1 ) ) π 2 ( c σ ( 2 ) ) ⋯ π n ( c σ ( n ) ) \pi_1(c_{\sigma(1)})\pi_2(c_{\sigma(2)})\cdots \pi_n(c_{\sigma(n)}) π1(cσ(1))π2(cσ(2))⋯πn(cσ(n)),其中 σ ( i ) \sigma(i) σ(i)是对index i i i的一种permutation,而 π i \pi_i πi则是一种对字母表 { 0 , 1 , ⋯ , q − 1 } \{0,1,\cdots,q-1\} {0,1,⋯,q−1}的一种permutation。满足上述条件的 C 1 C1 C1和 C 2 C2 C2称为equivalent codes。 ■ \blacksquare ■
3. A q ( n , d ) A_q(n,d) Aq(n,d)表示给定有限域大小 q q q,码长 n n n以及最小距离 d d d,满足这三个参数的码的最大尺寸,即码字个数的最大值。 ■ \blacksquare ■
4. 举例: A 2 ( 5 , 3 ) = 4 A_2(5,3)=4 A2(5,3)=4, A 2 ( 8 , 5 ) = 4 A_2(8,5)=4 A2(8,5)=4. ■ \blacksquare ■
5. 奇数
d
d
d。对于奇数
d
d
d,有
A
2
(
n
,
d
)
=
A
2
(
n
+
1
,
d
+
1
)
.
A_2(n,d)=A_2(n+1,d+1).
A2(n,d)=A2(n+1,d+1).
证明:
考虑一个
(
n
+
1
,
d
+
1
)
(n+1,d+1)
(n+1,d+1)的码,并且
M
=
A
2
(
n
+
1
,
d
+
1
)
M=A_2(n+1,d+1)
M=A2(n+1,d+1)(因为A_2(n+1,d+1)是一个可达上界,所以我们总是能找到一个这样的码)。将这个码的所有码字的第
i
0
i_0
i0位删去,得到一个新的
(
n
,
d
)
(n,d)
(n,d)码。这个码的最小距离大于等于
d
d
d是因为原码最小距离等于
d
+
1
d+1
d+1,并且只删去了一位。而新得到的
(
n
,
d
)
(n,d)
(n,d)码的大小为
M
=
A
2
(
n
+
1
,
d
+
1
)
M=A_2(n+1,d+1)
M=A2(n+1,d+1)。因此,我们有
A
2
(
n
,
d
)
≥
A
2
(
n
+
1
,
d
+
1
)
.
A_2(n,d)\geq A_2(n+1,d+1).
A2(n,d)≥A2(n+1,d+1).另一方面,我们考虑一个
(
n
,
d
)
(n,d)
(n,d)的码,并且
M
=
A
2
(
n
,
d
)
M=A_2(n,d)
M=A2(n,d)。因为
d
d
d是奇数,所有我们可以通过奇偶校验进行位的扩展。如果原来的两个码字之间的距离正好是最小距离
d
d
d,则奇偶扩展后的码字最小距离变为
d
+
1
d+1
d+1。可见,扩展后的码字是一个
(
n
+
1
,
d
+
1
)
(n+1,d+1)
(n+1,d+1)的码字,其大小为
M
=
A
2
(
n
,
d
)
M=A_2(n,d)
M=A2(n,d)。于是我们有
A
2
(
n
+
1
,
d
+
1
)
≥
A
2
(
n
,
d
)
.
A_2(n+1,d+1)\geq A_2(n,d).
A2(n+1,d+1)≥A2(n,d).
综合以上两个不等式,有
A
2
(
n
,
d
)
=
A
2
(
n
+
1
,
d
+
1
)
.
A_2(n,d)=A_2(n+1,d+1).
A2(n,d)=A2(n+1,d+1).
■
\blacksquare
■
6.
n
n
n递减。
A
2
(
n
,
d
)
≤
2
A
2
(
n
−
1
,
d
)
.
A_2(n,d)\leq 2A_2(n-1,d).
A2(n,d)≤2A2(n−1,d).
证明:
考虑一个
(
n
,
d
)
(n,d)
(n,d)码,并且满足
M
=
A
2
(
n
,
d
)
M=A_2(n,d)
M=A2(n,d)。将这个码的所有码字分为两类,第一类的第一位为0,第二类的第1位为1,则这两类码分别拥有最小距离
d
d
d。显然,这两类码中数目最大的那一个的数目大于等于
M
/
2
M/2
M/2,于是,我们将这两类码的第一位删去,可以得到
A
2
(
n
−
1
,
d
)
≥
M
/
2
=
A
2
(
n
,
d
)
/
2
,
A
2
(
n
,
d
)
≤
2
A
2
(
n
−
1
,
d
)
.
A_2(n-1,d)\geq M/2=A_2(n,d)/2,\\ A_2(n,d)\leq 2A_2(n-1,d).
A2(n−1,d)≥M/2=A2(n,d)/2,A2(n,d)≤2A2(n−1,d).
■
\blacksquare
■
7. 最小距离为2的特例。
A
2
(
n
,
2
)
=
2
n
−
1
.
A_2(n,2)=2^{n-1}.
A2(n,2)=2n−1.
证明:
利用5.可以得到
A
2
(
n
−
1
,
1
)
=
A
2
(
n
,
2
)
=
2
n
−
1
A_2(n-1,1)=A_2(n,2)=2^{n-1}
A2(n−1,1)=A2(n,2)=2n−1.
■
\blacksquare
■
8. 球的定义。对于一个码字
x
\bm{x}
x,考虑一个半径
ρ
\rho
ρ,则以该码字为中心的球包括了所有与该码字距离小于等于
ρ
\rho
ρ的向量,该球的体积记为球内所有向量(包括
x
\bm{x}
x)的集合。
B
ρ
(
x
)
=
{
y
∈
Q
n
:
d
(
x
,
y
)
≤
ρ
}
.
B_{\rho}(\bm{x})=\{\bm{y}\in Q^{n}:d(\bm{x},\bm{y})\leq \rho\}.
Bρ(x)={y∈Qn:d(x,y)≤ρ}.显然该集合的大小,也是球中向量的个数为
∣
B
ρ
(
x
)
∣
=
∑
i
=
0
ρ
C
n
i
(
q
−
1
)
i
.
|B_{\rho}(\bm{x})|=\sum^{\rho}_{i=0}C^i_n (q-1)^i.
∣Bρ(x)∣=i=0∑ρCni(q−1)i.
■
\blacksquare
■
9. Packing radius. 考虑一种情况,我们需要将以码字为中心的所有球的半径尽可能地大,但又不希望他们相交,因为相交了会影响译码(交叉区域内的码字不确定译码到那一个球的中心码字上)。在这个情况下,我们定义一个最大整数半径packing radius,当所有以码字为中心的球的半径取packing radius时,没有任何球是相交的。
显然,根据码字最小距离的定义,我们有packing radius
ρ
\rho
ρ等于
ρ
=
⌊
d
−
1
2
⌋
.
\rho=\lfloor \frac{d-1}{2} \rfloor.
ρ=⌊2d−1⌋.这很好理解,当
d
=
2
t
+
1
d=2t+1
d=2t+1时,有
ρ
=
t
\rho=t
ρ=t;当
d
=
2
t
+
2
d=2t+2
d=2t+2时,有
ρ
=
t
\rho=t
ρ=t,保证了两球不会相交。
■
\blacksquare
■
10. Covering radius.
仅有packing radius是不够的,因为如果以码字为中心的球不能包含住整个码字空间的向量,则当信道传来某个未被球包含的向量时,我们的信道编码就不知道如何译码了。即,我们的信道编码需要对付所有可能传来的向量,即整个码字空间
Q
n
Q^n
Qn的向量。这意味着我们需要某个最小整数covering radius
ρ
\rho
ρ,使得所有以码字为中心的半径为
ρ
\rho
ρ球包含住整个码字空间,记为
Q
n
⊂
∪
x
∈
C
B
ρ
(
x
)
.
Q^n\subset \cup_{\bm{x}\in C}B_{\rho}(\bm{x}).
Qn⊂∪x∈CBρ(x).
ρ
\rho
ρ通过嵌套的max和min函数求得
ρ
=
m
a
x
{
m
i
n
{
d
(
x
,
y
)
:
y
∈
C
}
:
x
∈
Q
n
}
.
\rho=max\{min\{d(\bm{x},\bm{y}):\bm{y}\in C\}:\bm{x}\in Q^n\}.
ρ=max{min{d(x,y):y∈C}:x∈Qn}.
证明:
反证,假设某个向量
s
∈
Q
n
\bm{s}\in Q^n
s∈Qn,但是这个向量没有在
∪
x
∈
C
B
ρ
(
x
)
\cup_{\bm{x}\in C}B_{\rho}(\bm{x})
∪x∈CBρ(x)中。这意味着
s
\bm{s}
s到
C
C
C中所有码字的距离均大于
ρ
\rho
ρ。这意味着
m
i
n
{
d
(
s
,
y
)
:
y
∈
C
}
>
ρ
min\{d(\bm{s},\bm{y}):\bm{y}\in C\}>\rho
min{d(s,y):y∈C}>ρ。但是,我们求
ρ
\rho
ρ时的式子保证了
ρ
≥
m
i
n
{
d
(
s
,
y
)
:
y
∈
C
}
\rho\geq min\{d(\bm{s},\bm{y}):\bm{y}\in C\}
ρ≥min{d(s,y):y∈C},于是推出
ρ
>
ρ
\rho >\rho
ρ>ρ,矛盾。
■
\blacksquare
■
11. Perfect code。当一个码的packing radius等于covering radius的时候, 我们称改码为perfect code。常见的实用的perfect code很少,目前来说只有Hamming码和两个Golay码。
因为perfect code很少,人们退而求其次,定义了quasi-perfect code。
满足packing radius+1=covering radius的码称为quasi-perfect码。
■
\blacksquare
■
12. Hamming bound
Hamming bound是基于球的bound,当达到Hamming bound的时候,该码是一个perfect code。
A
q
(
n
,
d
)
∑
i
=
0
e
C
n
i
(
q
−
1
)
i
≤
q
n
,
A_q(n,d)\sum^e_{i=0}C^i_n(q-1)^i\leq q^n,
Aq(n,d)i=0∑eCni(q−1)i≤qn,其中
e
=
⌊
d
−
1
2
⌋
e=\lfloor \frac{d-1}{2}\rfloor
e=⌊2d−1⌋。显然,Hamming bound就是packing radius的一个直观解释。
■
\blacksquare
■
13. Singleton bound
Singleton bound是基于码字阵列删除位得到的一个bound,满足Singleton bound的码称为MDS(最小距离可分)码。
M
≤
q
n
−
d
+
1
.
M\leq q^{n-d+1}.
M≤qn−d+1.另一种形式
d
≤
n
−
⌈
log
q
M
⌉
+
1
=
n
−
k
+
1.
d\leq n-\lceil \log_q M \rceil +1=n-k+1.
d≤n−⌈logqM⌉+1=n−k+1.第二种形式说明了给定一个
n
n
n和
k
k
k,可以构造的最小距离的最大值。当等式取到的时候,就是MDS码,因此对于MDS码均有
d
=
n
−
k
+
1
d=n-k+1
d=n−k+1。
证明:
考虑一个
(
n
,
d
)
(n,d)
(n,d)的码,将其所有码字的第
i
0
i_0
i0位删去,得到一个新的
(
n
−
1
,
d
−
1
)
(n-1,d-1)
(n−1,d−1)的码。重复这样的删除操作直到得到一个
(
n
−
d
+
1
,
1
)
(n-d+1,1)
(n−d+1,1)的码,而这个码的码字个数是
M
M
M。对于长度为
n
−
d
+
1
n-d+1
n−d+1的码,其码字上界为
M
≤
q
n
−
d
+
1
M\leq q^{n-d+1}
M≤qn−d+1,得证。
■
\blacksquare
■
14. Gilbert bound
类似于Hamming bound,也是关注球的radius,Hamming bound关注packing radius,而Gilbert bound关注covering radius。
A
q
(
n
,
d
)
∑
i
=
0
d
−
1
C
n
i
(
q
−
1
)
i
≥
q
n
.
A_q(n,d)\sum^{d-1}_{i=0}C^i_{n}(q-1)^i\geq q^n.
Aq(n,d)i=0∑d−1Cni(q−1)i≥qn.
证明:
反证,假设
Q
n
Q^n
Qn中存在某个向量
s
\bm{s}
s没有被以码字为中心的半径为
d
−
1
d-1
d−1的球包含,那么说明这个向量与这个码的所有码字之间的距离大于等于
d
d
d。又因为
A
q
(
n
,
d
)
A_q(n,d)
Aq(n,d)是最小距离为
d
d
d的所有码字的最大数目,因此
s
\bm{s}
s必然也被考虑在码字中,于是假设矛盾。
■
\blacksquare
■
15. Plotkin bound
A
q
(
n
,
d
)
≤
d
d
−
q
−
1
q
n
.
A_q(n,d)\leq \frac{d}{d-\frac{q-1}{q}n}.
Aq(n,d)≤d−qq−1nd.
证明:
考虑
∑
x
≠
y
,
x
,
y
∈
C
d
(
x
,
y
)
≥
M
(
M
−
1
)
d
\sum_{\bm{x}\neq \bm{y},\bm{x},\bm{y}\in C}d(\bm{x},\bm{y})\geq M(M-1)d
∑x=y,x,y∈Cd(x,y)≥M(M−1)d. 考虑
C
C
C的所有码字的第
i
i
i位,其取值在
{
0
,
1
,
⋯
,
q
−
1
}
\{0,1,\cdots,q-1\}
{0,1,⋯,q−1}之间,于是在前面的距离求和中,第
i
i
i位贡献的1的个数为
∑
j
=
0
q
−
1
k
i
,
j
(
M
−
k
i
,
j
)
,
\sum^{q-1}_{j=0}k_{i,j}(M-k_{i,j}),
j=0∑q−1ki,j(M−ki,j),其中
k
i
,
j
k_{i,j}
ki,j表示的是第
i
i
i位是符号
j
j
j的码字个数。进一步整理,有
∑
j
=
0
q
−
1
k
i
,
j
(
M
−
k
i
,
j
)
≤
M
2
−
∑
j
=
0
q
−
1
k
i
,
j
2
.
\sum^{q-1}_{j=0}k_{i,j}(M-k_{i,j})\leq M^2-\sum^{q-1}_{j=0}k^2_{i,j}.
j=0∑q−1ki,j(M−ki,j)≤M2−j=0∑q−1ki,j2.根据詹森不等式,有
∑
j
=
0
q
−
1
k
i
,
j
2
≥
(
∑
j
=
0
q
−
1
k
i
,
j
)
2
q
=
M
2
q
.
\sum^{q-1}_{j=0}k^2_{i,j}\geq \frac{(\sum^{q-1}_{j=0}k_{i,j})^2}{q}=\frac{M^2}{q}.
j=0∑q−1ki,j2≥q(∑j=0q−1ki,j)2=qM2.于是上式进一步变为
∑
j
=
0
q
−
1
k
i
,
j
(
M
−
k
i
,
j
)
≤
q
−
1
q
M
2
.
\sum^{q-1}_{j=0}k_{i,j}(M-k_{i,j})\leq \frac{q-1}{q}M^2.
j=0∑q−1ki,j(M−ki,j)≤qq−1M2.
至此,我们有
M
(
M
−
1
)
d
≤
∑
x
≠
y
,
x
,
y
∈
C
d
(
x
,
y
)
=
n
∑
j
=
0
q
−
1
k
i
,
j
(
M
−
k
i
,
j
)
≤
q
−
1
q
M
2
n
.
M(M-1)d\leq \sum_{\bm{x}\neq \bm{y},\bm{x},\bm{y}\in C}d(\bm{x},\bm{y})=n\sum^{q-1}_{j=0}k_{i,j}(M-k_{i,j})\leq \frac{q-1}{q}M^2n.
M(M−1)d≤x=y,x,y∈C∑d(x,y)=nj=0∑q−1ki,j(M−ki,j)≤qq−1M2n.整理得到
M
≤
d
d
−
q
−
1
q
n
.
M\leq \frac{d}{d-\frac{q-1}{q}n}.
M≤d−qq−1nd.
当Plotkin bound取等号时有
∑
x
≠
y
,
x
,
y
∈
C
d
(
x
,
y
)
≥
M
(
M
−
1
)
d
\sum_{\bm{x}\neq \bm{y},\bm{x},\bm{y}\in C}d(\bm{x},\bm{y})\geq M(M-1)d
∑x=y,x,y∈Cd(x,y)≥M(M−1)d取等号,这意味着达到Plotkin bound的码的任意两个码字之间的距离相等。
■
\blacksquare
■
16. 线性码的校验矩阵中任意
d
−
1
d-1
d−1列无关且存在
d
d
d列相关。
证明:
存在
d
d
d列相关很好证明,因为存在一个重量为
d
d
d的码字,我们记它的非0位的index为
{
i
0
,
i
1
,
⋯
,
i
d
−
1
}
\{i_0,i_1,\cdots,i_{d-1}\}
{i0,i1,⋯,id−1}。这个码字与校验矩阵相乘,相当于将校验矩阵的第
i
0
,
i
1
,
⋯
,
i
d
−
1
i_0,i_1,\cdots,i_{d-1}
i0,i1,⋯,id−1列进行线性组合,等于0。因此这
d
d
d列相关。
任意 d − 1 d-1 d−1列无关也是相同的思路,如果存在有小于 d d d列相关,则存在某个码字的重量小于 d d d,这和最小距离为 d d d相矛盾。
这里需要主要的是根据Singleton bound有
d
≤
n
−
k
+
1
d\leq n-k+1
d≤n−k+1,于是
d
−
1
≤
n
−
k
d-1\leq n-k
d−1≤n−k,这意味着我们选出的矩阵列数小于行数。下面关于生成矩阵的讨论有选出的矩阵行数小于列数。
■
\blacksquare
■
17. 线性码的生成矩阵中任意
n
−
d
+
1
n-d+1
n−d+1列的rank为
k
k
k,存在
n
−
d
n-d
n−d列的rank小于
k
k
k。
证明:
假设我们取到某
n
−
d
+
1
n-d+1
n−d+1列,其rank小于
k
k
k,这意味着我们对这个选取的矩阵进行某种线性变化,可以得到一个全0的长度为
n
−
d
+
1
n-d+1
n−d+1的行。记这些列为
{
i
0
,
i
1
,
⋯
,
i
n
−
d
}
\{i_0,i_1,\cdots,i_{n-d}\}
{i0,i1,⋯,in−d}。进一步,对整个生成矩阵进行同样的线性变化,可以得到一个位
{
i
0
,
i
1
,
⋯
,
i
n
−
d
}
\{i_0,i_1,\cdots,i_{n-d}\}
{i0,i1,⋯,in−d}为0的码字,那么显然,这个码字的重量是小于等于
n
−
(
n
−
d
+
1
)
=
d
−
1
n-(n-d+1)=d-1
n−(n−d+1)=d−1的,这和最小距离为
d
d
d相违背。
另一方面,我们总是能找到一个重量为
d
d
d的码字,记他的零位的index为
{
i
0
,
i
1
,
⋯
,
i
n
−
d
−
1
}
\{i_0,i_1,\cdots,i_{n-d-1}\}
{i0,i1,⋯,in−d−1},一共
n
−
d
n-d
n−d个0.我们取生成矩阵的
{
i
0
,
i
1
,
⋯
,
i
n
−
d
−
1
}
\{i_0,i_1,\cdots,i_{n-d-1}\}
{i0,i1,⋯,in−d−1}列,则我们总是可以通过某个线性变换使得某一行为全0,这意味着这个矩阵的rank小于
k
k
k。
■
\blacksquare
■
18. MDS码的生成矩阵以及校验矩阵的列子矩阵的rank。
MDS码有
d
=
n
−
k
+
1
d=n-k+1
d=n−k+1,带入16.和17.,可知:
其校验矩阵的任意
n
−
k
n-k
n−k列子矩阵是可逆的(rank为n-k)。
其生成矩阵的任意
k
k
k列子矩阵是可逆的(rank为k)。
■
\blacksquare
■
参考文献
[1] [Roman S . Coding and information theory,1992。]