第一章 介绍 Introduction
1.2 分组码
1.2.1 Intro
简单起见,仅研究二进制分组码。考虑一整个信息比特序列被分为若干个长度为 K K K比特的码块,这些码块被称为消息(messages),用 u = u 0 u 1 … u K − 1 \boldsymbol{u}=u_{0} u_{1} \ldots u_{K-1} u=u0u1…uK−1来表示。在分组码中,通常用 u \boldsymbol{u} u表示一条消息,而不是整个信息比特序列,在卷积码中也一样。
二进制
(
N
,
K
)
(N,K)
(N,K)分组码
B
\mathcal{B}
B是
M
=
2
K
M=2^K
M=2K个二进制
N
N
N元组的集合,
v
=
v
0
v
1
…
v
N
−
1
\boldsymbol{v}=v_{0} v_{1} \ldots v_{N-1}
v=v0v1…vN−1称为码字(codewords),
N
N
N称为分组长度。比例
R
=
log
M
N
=
K
N
R=\frac{\log M}{N}=\frac{K}{N}
R=NlogM=NK
称为码率(code rate),单位是bits/channel use。单位为bits/s的数据传输率可以通过码率乘以每秒传输的信道符号数量得到
R
t
=
R
/
T
R_t=R/T
Rt=R/T
如果我们以bits/channel use(bits/c.u.)为单位描述BSC信道的信道容量,可以得到BSC的信道容量为
C
=
1
−
h
(
ϵ
)
(bits/c.u.)
C=1-h(\epsilon) \quad \text { (bits/c.u.) }
C=1−h(ϵ) (bits/c.u.)
根据香农信道编码理论,对于可靠通信,必须有
R
≤
C
R\leq C
R≤C,同时分组长度
N
N
N应充分大。
码率
R
=
K
/
N
R=K/N
R=K/N是码字中表示信息所必须的二进制所占的比例,剩余的部分即
1
−
R
=
(
N
−
K
)
/
N
1-R=(N-K)/N
1−R=(N−K)/N表示冗余度(redundancy),这些冗余可以帮助检测或纠正错误。
假设对应于消息 u \boldsymbol{u} u的码字 v \boldsymbol{v} v通过一个BSC信道发送。信道的输出 r = r 0 r 1 … r N − 1 \boldsymbol{r}=r_{0} r_{1} \ldots r_{N-1} r=r0r1…rN−1称为接收序列。译码器将接收到的可能被噪声污染的 N N N元组 r \boldsymbol{r} r转换成 K K K元组 u ^ \widehat{\boldsymbol{u}} u ,称为对消息 u \boldsymbol{u} u的估计。理想情况下, u ^ \widehat{\boldsymbol{u}} u 应该为 u \boldsymbol{u} u的副本,但是信道噪声会引起一些译码错误。由于消息 u \boldsymbol{u} u和码字 v \boldsymbol{v} v存在一对一的对应关系,因此可以等价地考虑 N N N元组 v ^ \widehat{\boldsymbol{v}} v 作为译码的输出。如果一个码字 v \boldsymbol{v} v被传输,那么当且仅当 v ^ ≠ v \widehat{\boldsymbol{v}}\neq \boldsymbol{v} v =v时发生了译码错误。
令
P
E
P_E
PE指代分组错误概率(block or word error probability),也就是译码输出
v
^
\hat{\boldsymbol{v}}
v^不同于传输码字
v
\boldsymbol{v}
v的概率。有
P
E
=
∑
r
P
(
v
^
≠
v
∣
r
)
P
(
r
)
P_{\mathrm{E}}=\sum_{\boldsymbol{r}} P(\widehat{\boldsymbol{v}} \neq \boldsymbol{v} \mid \boldsymbol{r}) P(\boldsymbol{r})
PE=r∑P(v
=v∣r)P(r)
其中,接收到序列
r
\boldsymbol{r}
r的概率
P
(
r
)
P(\boldsymbol{r})
P(r)独立于译码规则,且
P
(
v
^
≠
v
∣
r
)
P(\widehat{\boldsymbol{v}} \neq \boldsymbol{v} \mid \boldsymbol{r})
P(v
=v∣r)是给定接收序列
r
\boldsymbol{r}
r的条件译码错误概率。因此,为了最小化
P
E
P_E
PE,我们应该指定译码器最小化给定接收序列
r
\boldsymbol{r}
r下的条件译码错误概率
P
(
v
^
≠
v
∣
r
)
P(\widehat{\boldsymbol{v}} \neq \boldsymbol{v} \mid \boldsymbol{r})
P(v
=v∣r),或者等价地,最大化
P
(
v
∣
r
)
=
def
{P(\boldsymbol{v} | \boldsymbol{r}) \stackrel{\text { def }}{=}}
P(v∣r)= def
P
(
v
^
=
v
∣
r
)
{P(\widehat{\boldsymbol{v}}=\boldsymbol{v} | \boldsymbol{r})}
P(v
=v∣r)。因此,当译码器选择
u
^
\widehat{\boldsymbol{u}}
u
使得对应的
v
^
=
v
\widehat{\boldsymbol{v}}={\boldsymbol{v}}
v
=v最大化
P
(
v
∣
r
)
{P(\boldsymbol{v} | \boldsymbol{r})}
P(v∣r)时,分组错误概率
P
E
P_E
PE被最小化。也就是说,
v
\boldsymbol{v}
v是与接收序列
r
\boldsymbol{r}
r最相似的码字。这种译码器称为最大后验概率(maximum a posteriori probability,MAP)译码器。
通过贝叶斯准则,可以写出
P
(
v
∣
r
)
=
P
(
r
∣
v
)
P
(
v
)
P
(
r
)
P(\boldsymbol{v} \mid \boldsymbol{r})=\frac{P(\boldsymbol{r} \mid \boldsymbol{v}) P(\boldsymbol{v})}{P(\boldsymbol{r})}
P(v∣r)=P(r)P(r∣v)P(v)
给定码字的个数,当码字出现的可能性相等时,该编码携带最多的信息。可以合理的假设,当码字出现的可能性不等时,即当传输的信息较少时,为这种情况设计的译码器也能令人满意地工作——尽管不是最佳的。当码字出现的可能性相等时,最大化
P
(
v
∣
r
)
P(\boldsymbol{v} \mid \boldsymbol{r})
P(v∣r)等价于最大化
P
(
r
∣
v
)
P(\boldsymbol{r} \mid \boldsymbol{v})
P(r∣v)。这种作出判决
v
^
=
v
\widehat{\boldsymbol{v}}={\boldsymbol{v}}
v
=v使得
P
(
r
∣
v
)
P(\boldsymbol{r} \mid \boldsymbol{v})
P(r∣v)最大化的译码器叫做最大似然(maximum-likelihood,ML)译码器。
注意,在码字的错误判决中,一些信息比特位仍然可能是正确的。在大多数应用中,比特错误概率是衡量编码好坏的更好方法。然而,它通常更难计算。像分组错误概率一样,比特错误概率不仅取决于编码规则和信道,而且还取决于编码器和信息符号。
使用分组错误概率来衡量编码的好坏是合理的,因为有以下不等式
P
b
≤
P
E
P_b \leq P_E
Pb≤PE
这个不等式意味着当
P
E
P_E
PE足够小的时候,
P
b
P_b
Pb也足够小。
1.2.2 汉明距离
两个 N N N元组 r \boldsymbol{r} r和 v \boldsymbol{v} v之间的汉明距离(Hamming Distance)是指它们对应位置不同的元素个数,表示为 d H ( r , v ) d_H(\boldsymbol{r},\boldsymbol{v}) dH(r,v)。汉明距离是编码理论中重要的一个概念,它有以下性质:
- d H ( x , y ) ≥ 0 d_{\mathrm{H}}(\boldsymbol{x}, \boldsymbol{y}) \geq 0 dH(x,y)≥0 当且仅当 x = y \boldsymbol{x}=\boldsymbol{y} x=y时取等号。(正定性)
- d H ( x , y ) = d H ( y , x ) d_{\mathrm{H}}(\boldsymbol{x}, \boldsymbol{y})=d_{\mathrm{H}}(\boldsymbol{y}, \boldsymbol{x}) dH(x,y)=dH(y,x)(对称性)
- 对于任意 z \boldsymbol{z} z, d H ( x , y ) ≤ d H ( x , z ) + d H ( z , y ) d_{\mathrm{H}}(\boldsymbol{x}, \boldsymbol{y}) \leq d_{\mathrm{H}}(\boldsymbol{x}, \boldsymbol{z})+d_{\mathrm{H}}(\boldsymbol{z}, \boldsymbol{y}) dH(x,y)≤dH(x,z)+dH(z,y)(三角形不等式)
N N N元组 x = x 0 x 1 … x N − 1 \boldsymbol{x}=x_{0} x_{1} \ldots x_{N-1} x=x0x1…xN−1的**汉明重量(Hamming Weight)**是指 x \boldsymbol{x} x中非零元素的个数,表示为 w H ( x ) w_{\mathrm{H}}(\boldsymbol{x}) wH(x)。
对于BSC,发送的符号以概率
ϵ
\epsilon
ϵ被错误地接收,其中
ϵ
\epsilon
ϵ也被称为信道交叉概率。因此,假设ML解码,我们必须使码字
v
\boldsymbol{v}
v的判决
v
^
\widehat{\boldsymbol{v}}
v
能够最大化
P
(
r
∣
v
)
P(\boldsymbol{r} \mid \boldsymbol{v})
P(r∣v),也就是说,
v
^
=
arg
max
v
{
P
(
r
∣
v
)
}
\widehat{\boldsymbol{v}}=\arg \max _{\boldsymbol{v}}\{P(\boldsymbol{r} \mid \boldsymbol{v})\}
v
=argvmax{P(r∣v)}
其中,
P
(
r
∣
v
)
=
ϵ
d
H
(
r
,
v
)
(
1
−
ϵ
)
N
−
d
H
(
r
,
v
)
=
(
1
−
ϵ
)
N
(
ϵ
1
−
ϵ
)
d
H
(
r
,
v
)
P(\boldsymbol{r} \mid \boldsymbol{v})=\epsilon^{d_{\mathrm{H}}(\boldsymbol{r}, \boldsymbol{v})}(1-\epsilon)^{N-d_{\mathrm{H}}(\boldsymbol{r}, \boldsymbol{v})}=(1-\epsilon)^{N}\left(\frac{\epsilon}{1-\epsilon}\right)^{d_{\mathrm{H}}(\boldsymbol{r}, \boldsymbol{v})}
P(r∣v)=ϵdH(r,v)(1−ϵ)N−dH(r,v)=(1−ϵ)N(1−ϵϵ)dH(r,v)
由于对于BSC,
0
<
ϵ
<
1
/
2
0<\epsilon<1 / 2
0<ϵ<1/2,有
0
<
ϵ
1
−
ϵ
<
1
0<\frac{\epsilon}{1-\epsilon}<1
0<1−ϵϵ<1
因此,最大化
P
(
r
∣
v
)
P(\boldsymbol{r} \mid \boldsymbol{v})
P(r∣v)等价于最小化
d
H
(
r
,
v
)
d_H(\boldsymbol{r},\boldsymbol{v})
dH(r,v),此时ML译码等价于最小(汉明)距离(minimum (Hamming) distance ,MD)译码器。
汉明距离和汉明重量的关系:
在向量空间
F
2
N
\mathbb{F}_{2}^{N}
F2N中,有
d
H
(
x
,
y
)
=
w
H
(
x
−
y
)
=
w
H
(
x
+
y
)
d_{\mathrm{H}}(\boldsymbol{x}, \boldsymbol{y})=w_{\mathrm{H}}(\boldsymbol{x}-\boldsymbol{y})=w_{\mathrm{H}}(\boldsymbol{x}+\boldsymbol{y})
dH(x,y)=wH(x−y)=wH(x+y)
对于编码
B
\mathcal{B}
B的最小距离
d
min
d_\text{min}
dmin被定义为
d
H
(
v
,
v
′
)
d_{\mathrm{H}}\left(\boldsymbol{v}, \boldsymbol{v}^{\prime}\right)
dH(v,v′)的最小值,其中
v
\boldsymbol{v}
v和
v
′
\boldsymbol{v}^{\prime}
v′都在
B
\mathcal{B}
B中且
v
≠
v
′
\boldsymbol{v}\neq \boldsymbol{v}^{\prime}
v=v′。
参考文献:
[1] Johannesson R, Zigangirov K S. Fundamentals of Convolutional Coding[B]. P8-12.