k1…k…2k…3k…………NkNk级移存器
n个模2加法器
图11-8 卷积码编码器一般原理方框图
例: (n, k, N) = (3, 1, 3)卷积码编码器
M
输入bi
M每当输入1比特时,此编码器输出3比特c1c2 c3
1. 卷积码的代数表述 (1) 监督矩阵H
cibi
dibibi2
eibibi`1bi2
一般说来,卷积码的截短监督矩阵具有如下形式:
P1P2
H1P3
PN
InkOnkP1OnkP2
InkOnkP1
Ink
OnkPN1OnkPN2Onk
P1Ink
In-k — (n – k)阶单位方阵; Pi — k (n – k)阶矩阵; On-k — (n – k)阶全零方阵
有时还将H1的末行称为基本监督矩阵h
h = [PN On-k PN-1 On-k PN-2 On-k P1 In-k]
从给定的h不难构造出H1 (2) 生成矩阵G
一般说来,截短生成矩阵具有如下形式:
IkQ1OkQ2OkQ3OkQNIQOQOQk1k2kN1G1IkQ1OkQN2
IkQ1
Ik - k阶单位方阵;
Qi - (n – k)k阶矩阵; Ok - k阶全零方阵。
并将上式中矩阵第一行称为基本生成矩阵
g = [Ik Q1 Ok Q2 Ok Q3Ok QN]
如果基本生成矩阵g已经给定,则可以从已知的信息位得到整个编码序列 2. 卷积码的解码
(1) 代数解码:利用编码本身的代数结构进行解码,不考虑信道的统计特性。大数逻辑解码,又称门限解码,是卷积码代数解码的最主要一种方法,它也可以应用于循环码的解码。大数逻辑解码对于约束长度较短的卷积码最为有效,而且设备较简单。
(2) 概率解码:又称最大似然解码。它基于信道的统计特性和卷积码的特点进行计算。针对无记忆信道提出的序贯解码就是概率解码方法之一。另一种概率解码方法是维特比算法。当码的约束长度较短时,它比序贯解码算法的效率更高、速度更快,目前得到广泛的应用。 一、 Turbo码 1. 概念:
(1) 复合编码:将两种或多种简单的编码组合成复合编码。
(2) 链接码:链接码是复合编码的一种,它包括一个内(部)码和一个外(部)码。
(3) 内码是二进制分组码或卷积码,而典型的外码则是多进制的RS码。 (4) Turbo码:是一种特殊的链接码。它在两个并联或串联的编码器之间增加一个交织器,使之具有很大的码组长度和在低信噪比条件下得到接近理想的性能。 2. 编码器的基本结构
由一对递归系统卷积码(RSCC)编码器和一个交织器组成,
i
bi
1i2i
两个RSCC编码器是相同的。它们的输入经过一个交织器并联。此Turbo码的输入信息位是bi,输出是bic1ic2i,故码率等于1/3 3. RSCC编码器举例
i
i
它是一个码率等于1/2的卷积码编码器,输入为bi,输出为bici。因为输出中第1位是信息位,所以它是系统码。 4. 矩阵交织器
交织目的:将集中出现的突发错码分散,变成随机错码 交织器由容量为(n-1)m比特的存储器构成。 码元按行的方向输入存储器,再按列的方向输出。
5. 卷积交织器
教材P363-图11-25 二、 低密度奇偶校验码
低密度奇偶校验(LDPC)码是一种线性分组码,和Turbo码同属于复合码类。两者的性能相近,且两者的译码延迟都相当长,所以它们更适用于一些实时性要求不很高的通信。但是LDPC码比Turbo码的译码简单,更易实现。
规则LDPC码: H矩阵每列具有相同个数的―1‖ 非规则LDPC码: H矩阵每列中 ―1‖的个数不一定相同
非规则LDPC码是在规则LDPC码基础上发展出的,它使解码性能得到改善,使误码率性能比Turbo码还好。 三、 网格编码调制
网格编码(TCM)是一种将纠错编码和调制信号结合考虑的方式。
将高效利用频带的调制方式,如MPSK等方式,和编码统一设计,这种编码的多电平多相位的调制方式称为网格编码调制(Trellis Coded Modulation),简称TCM
TCM的两个基本特点:
在信号空间中信号点数目比无编码调制情况下对应的信号点数目要多,这些增加的信号点使编码有了冗余,而不牺牲带宽。
采用卷积码编码规则,使信号点之间引入相互依赖关系,仅有某些信号点图样或序列是允许用的信号序列,并可模型化成为网格状结构,因此命名为―格状编码‖。
典型习题答案参考
11-1 已知8个码组(000000)、(001110)、(010101)、(011011)、(100011)、(101101)、(110110)、(111000)。求该码组的最小码距。
解:码距为两个码组模2加所得新码组的码重,最小码距为所有码距中的最小值。若是线性码,最小码距既是码的最小重量(全0除外)。该码组的最小码距d 0=3。
11-2 上题给出的码组若用于检错,能检出几位错码?若用于纠错,能纠正几位错码?若同时用于检错与纠错,问纠错、检错的性能如何? 分析:考察最小码距与检错、纠错性能之间的关系 解:该码组的最小码距d03。所以,
只用于检错时,d0e1ed012,能检2位错码; 只用于纠错时,d02t1t同时用于检错与纠错时,有
d01
1,能纠1位错码; 2
d0et1
et
因t=1时,e > t ,取e2,et143,此方程组无整数解,故该码组不能同时用于纠错和检错。
讨论:e和t都是整数,在计算中要向下取整,而不应四舍五入。
11-3 已知两码组为(0000)、(1111)。若用于检错能检出几位错码?若用于纠错,能纠正几位错码?若同时用于检错与纠错,问各能纠、检几位错码? 解:最小码距d 0=4,所以
只用于检错时,d0e1ed013,能检3位错码; 只用于纠错时,d02t1t同时用于检错与纠错时,有
d01
,有t=1,能纠1位错码; 2
d0et1
et
求解得
t1
e2
故该码能同时检2位错码,纠1位错码。
11-4 已知(7,3)码的生成矩阵为
1001110
G0100111
0011101
列出所有许用码组并求监督矩阵。
解:
(1) 许用码组Aa6a5a4G 列出所有许有码组如下:
0000000
1001110
0011101 1010011
[***********]010
(2) 生成矩阵G为典型矩阵,有
1110100
1110
Q0111
1101
所以
1
1T
PQ
10
监督矩阵
[1**********]0
6
11 010100
4
11
HP,Ir
10
8
01110010
00 01
11-5 (15,7)循环码由g(x)xxxx1生成,试问接收码组
7
T(x)x14x5x1经过只有检错功能的译码器后,收端是否要求重发?
分析:若码组在传输中发生错误,则接收码组Rx被gx除时可能除不尽,而有余式,即有
Rxr'x'
x
gxgx因此,就以余项是否为0来判别码组中是否有无错码。
解:因为
Txx14x5x1
gxx8x7x6x41
x7x6x3x1
=xxx8 764
xxxx1
6
5
3
所以接收码Tx有误,需重发。
11-6 已知某线性码监督矩阵为
1110100 H1101010 1011001
列出所有许用码组。
解:本题中n=7,r=3,k=4,H为典型阵,有
1110P1101
1011
111所以 QPT
110101 0
11生成矩阵
1
0001GI0
1001K,Q
00101
000
10许用码组ABGa6a5a4a3G
列出所有许用码组如下:
0 0 0 0 0 0 0, 1 0 0 0 1 1 1 0 0 0 1 0 1 1, 1 0 0 1 1 0 0 0 0 1 0 1 0 1, 1 0 1 0 0 1 0 0 0 1 1 1 1 0, 1 0 1 1 0 0 1 0 1 0 0 1 1 0, 1 1 0 0 0 0 1 0 1 0 1 1 0 1, 1 1 0 1 0 1 0 0 1 1 0 0 1 1, 1 1 1 0 1 0 0 0 1 1 1 0 0 0, 1 1 1 1 1 1 1
11-7 已知(15,11)汉明码的生成多项式为
111001 10
gxx4x31
试求其生成矩阵和监督矩阵。 解:生成多项式
x14x13x1013129xxx12118xxx
xk1g(x)x10g(x)x11x10x7k29
xg(x)xg(x)x10x9x6
985
G(x)xxx
xg(x)xg(x)x8x7x4
763
xxxg(x)g(x)
652xxx
54
xxx43
xx1
故生成矩阵
1
0000G0
0000010000典型化
0
00000
所以
[***********][***********][***********][***********]000000
[***********][***********][***********][***********][***********][***********][***********][1**********]
000000 00001
10000
[***********][***********][***********][1**********]
00110
1IK,Q 01111
11
PQT
00
0011010111
10101111001101011110
0110101111
[1**********]100HP,I1
[1**********]10r
[1**********]001
00
[1**********]0
11-8 已知(7,3)循环码的监督关系式为
x6x3x2x10x5x2x1x00x
6x5x10x5x4x00
试求该循环码的监督矩阵和生成矩阵。 解:(1)求监督矩阵H
将监督关系改写成矩阵形式
x60x51001110100111
x041100010x3
0 H.AT
0
011000
1
x02x01x0
所以监督矩阵
1001110H0100111
1100010
011000
1
(2)求生成矩阵G
先将H典型化
1
011000H典型化
1110100
1100010P.Ir
011000
1
000 1
1110
QPT0111
1101
1001110
所以 GIK,Q0100111
0011101
11-9 证明x
10
x8x5x4x2x1为(15,5)循环码的生成多项式。求出该码的
生成矩阵,并写出消息码为mxx4x1时的码多项式。 解:(1)证明
令g(x)x
10
x8x5x4x2x1。
则g(x)的最多次幂为“10”,而rnk15510,两者相等; g(x)的常数项为“1”,不是0;
x151
x5x3x1,故g(x)是x151的一个因子。
g(x)
由此可知,g(x)是(15,5)循环码的生成多项式。 (2)求该码的生成矩阵
由于g(x)是(15,5)循环码的生成多项式,因此对应的生成矩阵为
x4g(x)x14x12x9x8x6x5x43131187543xg(x)xxxxxxx2121076432
Gxg(x)xxxxxxx
1196532xg(x)xxxxxxxg(x)x10x8x5x4x2x1
10
即 G0
00
[1**********]000
[1**********]000[1**********]100
[1**********]110[1**********]111
(3)求消息码m(x)的码多项式 方法一:
先将G典型化
10G00
[**************][1**********]110[1**********]011IKQ [1**********]110[1**********]111
则消息码m(x)的码多项式为T(x)m(x)G(x)x14x11x10x8x7x6x,它是m(x)的系统码。
方法二:
消息码m(x)的码多项式可写为
T(x)xnkm(x)r(x)
其中r(x)是xnkm(x)/g(x)的余式。因为
x155(x4x1)x8x7x6x42xxx10 10852852xxxxx1xxxxx1
所以
r(x)x8x7x61
T(x)x10(x4x1)x8x7x6x
xxxxxxx
141110876
k1…k…2k…3k…………NkNk级移存器
n个模2加法器
图11-8 卷积码编码器一般原理方框图
例: (n, k, N) = (3, 1, 3)卷积码编码器
M
输入bi
M每当输入1比特时,此编码器输出3比特c1c2 c3
1. 卷积码的代数表述 (1) 监督矩阵H
cibi
dibibi2
eibibi`1bi2
一般说来,卷积码的截短监督矩阵具有如下形式:
P1P2
H1P3
PN
InkOnkP1OnkP2
InkOnkP1
Ink
OnkPN1OnkPN2Onk
P1Ink
In-k — (n – k)阶单位方阵; Pi — k (n – k)阶矩阵; On-k — (n – k)阶全零方阵
有时还将H1的末行称为基本监督矩阵h
h = [PN On-k PN-1 On-k PN-2 On-k P1 In-k]
从给定的h不难构造出H1 (2) 生成矩阵G
一般说来,截短生成矩阵具有如下形式:
IkQ1OkQ2OkQ3OkQNIQOQOQk1k2kN1G1IkQ1OkQN2
IkQ1
Ik - k阶单位方阵;
Qi - (n – k)k阶矩阵; Ok - k阶全零方阵。
并将上式中矩阵第一行称为基本生成矩阵
g = [Ik Q1 Ok Q2 Ok Q3Ok QN]
如果基本生成矩阵g已经给定,则可以从已知的信息位得到整个编码序列 2. 卷积码的解码
(1) 代数解码:利用编码本身的代数结构进行解码,不考虑信道的统计特性。大数逻辑解码,又称门限解码,是卷积码代数解码的最主要一种方法,它也可以应用于循环码的解码。大数逻辑解码对于约束长度较短的卷积码最为有效,而且设备较简单。
(2) 概率解码:又称最大似然解码。它基于信道的统计特性和卷积码的特点进行计算。针对无记忆信道提出的序贯解码就是概率解码方法之一。另一种概率解码方法是维特比算法。当码的约束长度较短时,它比序贯解码算法的效率更高、速度更快,目前得到广泛的应用。 一、 Turbo码 1. 概念:
(1) 复合编码:将两种或多种简单的编码组合成复合编码。
(2) 链接码:链接码是复合编码的一种,它包括一个内(部)码和一个外(部)码。
(3) 内码是二进制分组码或卷积码,而典型的外码则是多进制的RS码。 (4) Turbo码:是一种特殊的链接码。它在两个并联或串联的编码器之间增加一个交织器,使之具有很大的码组长度和在低信噪比条件下得到接近理想的性能。 2. 编码器的基本结构
由一对递归系统卷积码(RSCC)编码器和一个交织器组成,
i
bi
1i2i
两个RSCC编码器是相同的。它们的输入经过一个交织器并联。此Turbo码的输入信息位是bi,输出是bic1ic2i,故码率等于1/3 3. RSCC编码器举例
i
i
它是一个码率等于1/2的卷积码编码器,输入为bi,输出为bici。因为输出中第1位是信息位,所以它是系统码。 4. 矩阵交织器
交织目的:将集中出现的突发错码分散,变成随机错码 交织器由容量为(n-1)m比特的存储器构成。 码元按行的方向输入存储器,再按列的方向输出。
5. 卷积交织器
教材P363-图11-25 二、 低密度奇偶校验码
低密度奇偶校验(LDPC)码是一种线性分组码,和Turbo码同属于复合码类。两者的性能相近,且两者的译码延迟都相当长,所以它们更适用于一些实时性要求不很高的通信。但是LDPC码比Turbo码的译码简单,更易实现。
规则LDPC码: H矩阵每列具有相同个数的―1‖ 非规则LDPC码: H矩阵每列中 ―1‖的个数不一定相同
非规则LDPC码是在规则LDPC码基础上发展出的,它使解码性能得到改善,使误码率性能比Turbo码还好。 三、 网格编码调制
网格编码(TCM)是一种将纠错编码和调制信号结合考虑的方式。
将高效利用频带的调制方式,如MPSK等方式,和编码统一设计,这种编码的多电平多相位的调制方式称为网格编码调制(Trellis Coded Modulation),简称TCM
TCM的两个基本特点:
在信号空间中信号点数目比无编码调制情况下对应的信号点数目要多,这些增加的信号点使编码有了冗余,而不牺牲带宽。
采用卷积码编码规则,使信号点之间引入相互依赖关系,仅有某些信号点图样或序列是允许用的信号序列,并可模型化成为网格状结构,因此命名为―格状编码‖。
典型习题答案参考
11-1 已知8个码组(000000)、(001110)、(010101)、(011011)、(100011)、(101101)、(110110)、(111000)。求该码组的最小码距。
解:码距为两个码组模2加所得新码组的码重,最小码距为所有码距中的最小值。若是线性码,最小码距既是码的最小重量(全0除外)。该码组的最小码距d 0=3。
11-2 上题给出的码组若用于检错,能检出几位错码?若用于纠错,能纠正几位错码?若同时用于检错与纠错,问纠错、检错的性能如何? 分析:考察最小码距与检错、纠错性能之间的关系 解:该码组的最小码距d03。所以,
只用于检错时,d0e1ed012,能检2位错码; 只用于纠错时,d02t1t同时用于检错与纠错时,有
d01
1,能纠1位错码; 2
d0et1
et
因t=1时,e > t ,取e2,et143,此方程组无整数解,故该码组不能同时用于纠错和检错。
讨论:e和t都是整数,在计算中要向下取整,而不应四舍五入。
11-3 已知两码组为(0000)、(1111)。若用于检错能检出几位错码?若用于纠错,能纠正几位错码?若同时用于检错与纠错,问各能纠、检几位错码? 解:最小码距d 0=4,所以
只用于检错时,d0e1ed013,能检3位错码; 只用于纠错时,d02t1t同时用于检错与纠错时,有
d01
,有t=1,能纠1位错码; 2
d0et1
et
求解得
t1
e2
故该码能同时检2位错码,纠1位错码。
11-4 已知(7,3)码的生成矩阵为
1001110
G0100111
0011101
列出所有许用码组并求监督矩阵。
解:
(1) 许用码组Aa6a5a4G 列出所有许有码组如下:
0000000
1001110
0011101 1010011
[***********]010
(2) 生成矩阵G为典型矩阵,有
1110100
1110
Q0111
1101
所以
1
1T
PQ
10
监督矩阵
[1**********]0
6
11 010100
4
11
HP,Ir
10
8
01110010
00 01
11-5 (15,7)循环码由g(x)xxxx1生成,试问接收码组
7
T(x)x14x5x1经过只有检错功能的译码器后,收端是否要求重发?
分析:若码组在传输中发生错误,则接收码组Rx被gx除时可能除不尽,而有余式,即有
Rxr'x'
x
gxgx因此,就以余项是否为0来判别码组中是否有无错码。
解:因为
Txx14x5x1
gxx8x7x6x41
x7x6x3x1
=xxx8 764
xxxx1
6
5
3
所以接收码Tx有误,需重发。
11-6 已知某线性码监督矩阵为
1110100 H1101010 1011001
列出所有许用码组。
解:本题中n=7,r=3,k=4,H为典型阵,有
1110P1101
1011
111所以 QPT
110101 0
11生成矩阵
1
0001GI0
1001K,Q
00101
000
10许用码组ABGa6a5a4a3G
列出所有许用码组如下:
0 0 0 0 0 0 0, 1 0 0 0 1 1 1 0 0 0 1 0 1 1, 1 0 0 1 1 0 0 0 0 1 0 1 0 1, 1 0 1 0 0 1 0 0 0 1 1 1 1 0, 1 0 1 1 0 0 1 0 1 0 0 1 1 0, 1 1 0 0 0 0 1 0 1 0 1 1 0 1, 1 1 0 1 0 1 0 0 1 1 0 0 1 1, 1 1 1 0 1 0 0 0 1 1 1 0 0 0, 1 1 1 1 1 1 1
11-7 已知(15,11)汉明码的生成多项式为
111001 10
gxx4x31
试求其生成矩阵和监督矩阵。 解:生成多项式
x14x13x1013129xxx12118xxx
xk1g(x)x10g(x)x11x10x7k29
xg(x)xg(x)x10x9x6
985
G(x)xxx
xg(x)xg(x)x8x7x4
763
xxxg(x)g(x)
652xxx
54
xxx43
xx1
故生成矩阵
1
0000G0
0000010000典型化
0
00000
所以
[***********][***********][***********][***********]000000
[***********][***********][***********][***********][***********][***********][***********][1**********]
000000 00001
10000
[***********][***********][***********][1**********]
00110
1IK,Q 01111
11
PQT
00
0011010111
10101111001101011110
0110101111
[1**********]100HP,I1
[1**********]10r
[1**********]001
00
[1**********]0
11-8 已知(7,3)循环码的监督关系式为
x6x3x2x10x5x2x1x00x
6x5x10x5x4x00
试求该循环码的监督矩阵和生成矩阵。 解:(1)求监督矩阵H
将监督关系改写成矩阵形式
x60x51001110100111
x041100010x3
0 H.AT
0
011000
1
x02x01x0
所以监督矩阵
1001110H0100111
1100010
011000
1
(2)求生成矩阵G
先将H典型化
1
011000H典型化
1110100
1100010P.Ir
011000
1
000 1
1110
QPT0111
1101
1001110
所以 GIK,Q0100111
0011101
11-9 证明x
10
x8x5x4x2x1为(15,5)循环码的生成多项式。求出该码的
生成矩阵,并写出消息码为mxx4x1时的码多项式。 解:(1)证明
令g(x)x
10
x8x5x4x2x1。
则g(x)的最多次幂为“10”,而rnk15510,两者相等; g(x)的常数项为“1”,不是0;
x151
x5x3x1,故g(x)是x151的一个因子。
g(x)
由此可知,g(x)是(15,5)循环码的生成多项式。 (2)求该码的生成矩阵
由于g(x)是(15,5)循环码的生成多项式,因此对应的生成矩阵为
x4g(x)x14x12x9x8x6x5x43131187543xg(x)xxxxxxx2121076432
Gxg(x)xxxxxxx
1196532xg(x)xxxxxxxg(x)x10x8x5x4x2x1
10
即 G0
00
[1**********]000
[1**********]000[1**********]100
[1**********]110[1**********]111
(3)求消息码m(x)的码多项式 方法一:
先将G典型化
10G00
[**************][1**********]110[1**********]011IKQ [1**********]110[1**********]111
则消息码m(x)的码多项式为T(x)m(x)G(x)x14x11x10x8x7x6x,它是m(x)的系统码。
方法二:
消息码m(x)的码多项式可写为
T(x)xnkm(x)r(x)
其中r(x)是xnkm(x)/g(x)的余式。因为
x155(x4x1)x8x7x6x42xxx10 10852852xxxxx1xxxxx1
所以
r(x)x8x7x61
T(x)x10(x4x1)x8x7x6x
xxxxxxx
141110876