文章目录
第十一章 差错控制编码
11.1概述
由乘性干扰引起的码间串扰,可以采用均衡的方法纠正。而加性干扰则需要考虑差错控制。
从差错控制角度看,按照加性干扰引起的错码分布规律的不同,信道可以分为三类:随机信道、突发信道和混合信道。在随机信道中,错码的出现是随机的,而且错码之间是统计独立的。在突发信道中,错码是成串集中出现的。突发错码的原因:脉冲干扰、衰落现象。两种错码都有则称为混合信道。
差错控制技术:检错重发,前向纠错,反馈校验,检错删除。其中只有第三种是在发送端进行检错。
在发送端的信息码元序列中添加的差错控制码元称为监督码元。差错控制编码称为纠错编码,不同的编码方式具有不同的检错或纠错能力。设编码序列中信息码元数量为k,总码元数量为n,则编码效率(码率)为k/n,冗余度为(n-k)/n。差错控制是以降低信息传输速率为代价换取提高传输可靠性。
采用检错重发的通信系统称为自动要求重发(ARQ)系统。最早的ARQ系统称为停止等待ARQ系统,采用半双工模式,未接受肯定答复则重发。后出现拉后ARQ系统,双工模式,将出错后的数据组进行重发。之后有选择重发ARQ系统,只重发出错的数据组,进一步提高传输效率。
ARQ相比于前向纠错方法的优点:1.监督码元较少,能使误码率降低,码率较高。2.检错的计算复杂度较低。3.检错用的编码方法与加性干扰的统计特性基本无关,能适应不同特性的信道。
11.2纠错编码的基本原理
传输信息的位称为信息位,增加的冗余位称为监督位,将信息码分组,为每组信码附加若干监督码的编码称为分组码。
分组码用(n,k)表示,n是总位数,k为信息码元的数目。将码组中1的数目称为码组的重量,简称码重。把两个码组中对应位上数字不同的位数称为码组的距离,简称码距(汉明距离)。把某种编码中各个码组之间距离的最小值称为最小码距,其与该编码的检、纠错能力直接相关。
为了检测e个错码,要求最小码距 d 0 ≥ e + 1 d_0\ge e+1 d0≥e+1,为了纠错t个错码,要求最小码距 d 0 ≥ 2 t + 1 d_0\ge2t+1 d0≥2t+1,为纠正t个错码,同时检测e个错码,要求最小码距 d 0 ≥ e + t + 1 , e > t d_0\ge e+t+1,e>t d0≥e+t+1,e>t。
11.3纠错编码的性能
编码增益:未采用编码时所需的信噪比与采用编码后所需信噪比之差。
采用纠错编码之后,所需信噪比下降,误码率下降,但代价是带宽增大。
11.4简单的实用编码
11.4.1奇偶监督码
奇偶监督码分为奇数监督码和偶数监督码。偶数监督码:使码组中1的数目为偶数,即各位异或后等于0。这种编码能够检测奇数个错码,适用于检验随机错码,而且无纠错能力。
11.4.2二维奇偶监督码
方阵码是将上述每个奇偶监督码写成一行,然后再按列增加第二个监督位。这种编码方式可能检测偶数个错码(比如四个错码构成一个矩形就检测不出)。适合检测突发错码。此外,该编码还具有一定的纠错能力。
*11.4.3恒比码
在恒比码中,每个码组含有相同数目的1。
*11.4.4正反码
编码规则:当信息位中有奇数个1时,监督位是信息位的简单重复,当信息位中有偶数个1时,监督位是信息位的反码。
11.5线性分组码
对于使用了偶数监督码的信息位 a n − 1 a n − 2 ⋯ a 1 a_{n-1}a_{n-2}\cdots a_1 an−1an−2⋯a1和监督位 a 0 a_0 a0,计算 S = a n − 1 异或 a n − 2 异或 ⋯ 异或 a 0 S=a_{n-1}异或a_{n-2}异或\cdots异或a_0 S=an−1异或an−2异或⋯异或a0,则S=0时,无错码,S=1时,有错码。将S表达式称为监督关系式,将S称为校正子。r个监督关系式能指示一位错码的( 2 r − 1 2^r-1 2r−1)个可能位置。
若码长为n,信息位数为k,则希望用r个监督位构造出r个监督关系式来指示一位错码的n种可能位置,要求:
2
r
−
1
≥
n
或
2
r
≥
k
+
r
+
1
2^r-1\ge n或2^r\ge k+r+1
2r−1≥n或2r≥k+r+1
若不等式取等号,则构造出的码称为汉明码。
r个监督关系式可以构成r个多项式方程,进而可以表示成矩阵
H
A
T
=
0
\bf HA^{\rm T}=0
HAT=0的形式,其中H为监督矩阵。只要监督矩阵确定,编码时监督位和信息位的关系就完全确定了。H矩阵可以拆分成两部分:
H
=
[
P
I
r
]
\bf H=[PI_r]
H=[PIr]
其中 ,P为r*k的矩阵,
I
r
I_r
Ir为r*r的矩阵,将可以拆分成这两个部分的H矩阵称为典型阵。
H矩阵各行都是线性无关的,进而可以构成以下矩阵G:
G
=
[
I
k
Q
]
=
[
I
k
P
T
]
\bf G=[I_kQ]=[I_kP^T]
G=[IkQ]=[IkPT]
G称为生成矩阵,因为由它可以生成整个码组:
[
a
6
a
5
a
4
a
3
a
2
a
1
a
0
]
=
[
a
6
a
5
a
4
a
3
]
⋅
G
或
A
=
[
a
6
a
5
a
4
a
3
]
⋅
G
[a_6a_5a_4a_3a_2a_1a_0]=[a_6a_5a_4a_3]\cdot \bf G\\ 或\bf A\rm=[a_6a_5a_4a_3]\cdot \bf G
[a6a5a4a3a2a1a0]=[a6a5a4a3]⋅G或A=[a6a5a4a3]⋅G
具有
G
=
[
I
k
Q
]
\bf G=[I_kQ]
G=[IkQ]形式的生成矩阵成为典型生成矩阵。由典型生成矩阵得出的码组A中,信息位的位置不变,监督位附加其后,这种形式称为系统码。
设发送的码组为A,接收码组为B,则错误行矩阵为B-A=E。若 B ⋅ H T = 0 \bf B\cdot H^T=0 B⋅HT=0则接收码组无错,如果不等于0,则有错, S = E ⋅ H T \bf S=E\cdot H^T S=E⋅HT称为校正子,能指示错码的位置。
11.6循环码
11.6.1循环码原理
循环码除了具有线性码的一般性质外,还具有循环性(任一码组循环一位后,仍为该码中的一个码组)。
各个码组可以用一个多项式表示:
A
(
x
)
=
a
n
−
1
x
n
−
1
+
a
n
−
2
x
n
−
2
+
⋯
+
a
1
x
+
a
0
A(x)=a_{n-1}x^{n-1}+a_{n-2}x^{n-2}+\cdots+a_1x+a_0
A(x)=an−1xn−1+an−2xn−2+⋯+a1x+a0
1.码多项式的按模运算
若一任意多项式F(x)被一n次多项式N(x)除,得到商式Q(x)和一个次数小于n的余式R(x),即
F
(
x
)
=
N
(
x
)
Q
(
x
)
+
R
(
x
)
F(x)=N(x)Q(x)+R(x)
F(x)=N(x)Q(x)+R(x)
则
F
(
x
)
≡
R
(
x
)
F(x)\equiv R(x)
F(x)≡R(x)
一个长为n的循环码必定为按模(
x
n
+
1
x^n+1
xn+1)运算的一个余式。
2.循环码的生成矩阵G
在(n,k)循环码码集所对应的码多项式中,唯一的一个常数项不为0的(n-k)次多项式g(x)称为该循环码的生成多项式。循环码的码多项式都是生成多项式的倍式。
3.如何寻找任一(n,k)循环码的生成多项式
对于(n,k)循环码,将( x n + 1 x^n+1 xn+1)因式分解,其中最高幂次数为 r = n − k r=n-k r=n−k,且常数项为1的因子多项式,就是其生成多项式,即循环码的生成多项式应该是( x n + 1 x^n+1 xn+1)的一个(n-k)次因式。
11.6.2循环码的编解码方法
将r(x)和 x n − k m ( x ) x^{n-k}m(x) xn−km(x)相加,得到的多项式必定是一个码多项式。
编码步骤大概为:
-
用 x n − k x^{n-k} xn−k乘 m ( x ) m(x) m(x)。
-
用第一步的结果除以 g ( x ) g(x) g(x),得到商 Q ( x ) Q(x) Q(x)和余式 r ( x ) r(x) r(x)。
-
得到编出的码组
A ( x ) = x n − k m ( x ) + r ( x ) A(x)=x^{n-k}m(x)+r(x) A(x)=xn−km(x)+r(x)