第十章_卷积码
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3
10.1 卷积码的基本概念
卷积码是纠错码中的又一大类。由于分组码码字 中的n-k个校验元仅与本码字的 k个信息元有关,与 其它码字无关,因此分组码的编译码是对各个码字 孤立地进行的。从信息论的观点看,这种做法必然 会损失一部份相关信息,而卷积码的出现使人们有 可能利用这部份相关信息。
4
10.1.1 卷积码概述
信息元mj把cj,cj+1和cj+2 三个子码联系在一起,这 三个子码之间存在相关性。 用编码约束度N表示子码 之间的约束关系,显然N
=m+1。
7
综上所述,一个(n,k,m)卷积码具有以下重要参数:
码长n,子码的信息元个数k,校验元个数n-k; 码率k/n,表示卷积码传输信息的有效性;
编码存贮m,表示信息组在编码器中的存贮周期; 编码约束度N,表示子码之间的约束程度。 编码约束长度NA=nN,表示相互约束的码元个数。
??0 0 0 1 1 1 0 1 0 0 0 1
0
0
0
?
? ?
?0 0 0 0 0 0 1 1 1 0 1 0 0 0 1 ? ?
c ? ?m0 m1 m2 m3 m4 ? ????
111
0
1
0
?
? ?
?
0 0 0 1 1 1 ??
?
?
?
0 0 0 0 0 0 ??
即 c=mG?
??
? ? ? ? ??
1 1
0 0
0?
0
? ?
?m ?
4
? ?
???
? ?
m1
? m3
? ?0 1 0 1 0 0 ?
??
?
?
m4 ? ?0 0 0 0 1 0 ?
? ?
m3
?
m
4
? ?
??0
00
1
1
0
? ?
?
m2
? m4 ? ?0 0 1 0 1 0 ?
??
?
?? ?? ? ? ? ? ? ? ?? 10
?1 1 1 0 1 0 0 0 1 0 0 0 0 0 0 ? ?
g? 称作基本生成矩阵 。
(2)基本生成矩阵g? 只有前(等于该卷积码的编码约束 度N=m+1=3)数字有意义,以后各组数字全部为零。分
别用g 0,g 1,g 2表示各组,即g 0=[ 111 ], g 1=[ 010 ],
g 2=[ 001 ],g 0,g 1,g 2 称作生成子矩阵 。
(3)现在,G? 可表为
G? 被称作(3,1,2)卷积码的生成矩阵 :
?111 010 001 000 000 ? ?
? ?
111
010
001
000
?
? ?
? G? ? ?
?
111 010 001 ? ?
111
010
?
? ?
?
111 ? ?
? ?
?
?
? ?
11
仔细观察(3,1,2)卷积码的生成矩阵G? 可发现:
(1)G? 中的每一行都是前一行右移右移3位的结果, 可以由矩阵的第一行完全确定。将第一行取出并表为 g? =[ 111 010 001 000 000 … ]
? g? ? ?g0 g1 g2 ? gm 0 0 ? ?
图10.1 (3,1,2)卷积码编码器
6
在编码器输出端,由旋转开关实现并/串转换显然,cj中 的校验元pj,1和pj,2不仅与mj有关,同时还与mj-1和mj-2有 关,即与此前m=2个子码中的信息元有关。称m为编码存 贮,表示信息组在编码器中的存贮周期(时钟周期)。
编码器输出的每个子码, 信息位数k=1,码长n =3,码率k/n=1/3, 编码存贮m=2,表示为 (3,1,2)卷积码。
c0=(m0,p0,1,p0,2) c 1=(m1,p1,1,p1,2) c 2=(m2,p2,1,p2,2) c 3=(m3,p3,1,p3,2) c 4=(m4,p4,1,p4,2)
其中 p0,1=m0, p0,2=m0 其中 p1,1=m1+m0, p1,2=m1 其中 p2,1=m2+m1, p2,2=m2+m0 其中 p3,1=m3+m2, p3,2=m3+m1 其中 p4,1=m4+m3, p4,2=m4+m2
G?
?
? g?
? ?
Dg?
?D ? ?
2 g? ?
? ? ?? ? ? ?
?g0
? ?
0
?0
? ?
?
g1 g0 0
?
g2 g1 g0 ?
0
g2 g1 ?
0 0 g2 ?
??
?
? ?
??
?
?
上式中D是延时算子,表示一个时钟周期的延迟。
12
把以上对(3,1,2)卷积码的矩阵描述推广到一般。 对于任意一个(n,k,m)卷积码,其生成矩阵G? 是一个 半无限矩阵:
第十章 卷积码
1
第十章 卷积码
内容提要: 差错控制系统中使用的纠错码,除前面已
学过的分组码之外,还广泛使用着卷积码。本 章首先介绍卷积码的基本概念,重点论述卷积 码的定义及其矩阵描述。在此基础上,介绍一 种目前被广泛应用的概率译码算法:维特比( Viterbi)译码算法。
2
本章重点: 1.卷积码的基本概念; 2.维特比译码算法。
m
0
?
m1
? ?1 1 0
?
??
?
?
m1
? ?
m2
? ?0 1 0
? ?
??0
0
1
? ?m 0 ?
? ?
? ?
m1
? ?
cT
?
?
? ?
m
来自百度文库
0
m1 ? m 2 ? m2
? ?
?
?
?0 ??1
1 0
1 1
? ? ?
????mm
2 3
? ? ?
? ? ?
m3 m2 ? m3
? ? ?
?0 ??0
0 0
0 1
……
9
令输出的码序列c=[m0 p0,1 p0,2 m1 p1,1 p1,2 m2 p2,1 p2,2 m3 p3,1 p3,2 m4 p4,1 p4,2 …] 表示成矩阵形式:
?m 0
? ?1 0 0
?
? ?
m
0
? ?
??1
0
0
? ?
? ?
m
0
?
m1
? ?1 0 0
?
? ?
??0
1
0
? ?
? ?
8
10.1.2 卷积码的矩阵描述
描述卷积码的方法很多,如矩阵方法、多项式方 法、状态图和网格图方法等。本节仅介绍矩阵方 法。
以图10.1给出的(3,1,2)卷积码编码器为例进行分析。设输
入的信息序列(m0,m1,m2,…,mi,…)是一个有头无尾的序列, 当编码器清零后开始工作时,输出得到的子码如下:
卷积码在编码不仅与本子码的 k个信息 元有关,而且还与此前 m个子码中的信息 元有关,因此卷积码的编码器需要有存储 m组信息元的记忆部件。
5
图10.1给出了一个二进制卷积码的编码器例子。 当输入信息元为mj时, D0、D1中分别存放着此前输 入的mj-1和mj-2, 经运算可得到两个校验元pj,1和pj, 2,即 pj,1=mj+mj-1 pj,2=mj+mj-2
10.1 卷积码的基本概念
卷积码是纠错码中的又一大类。由于分组码码字 中的n-k个校验元仅与本码字的 k个信息元有关,与 其它码字无关,因此分组码的编译码是对各个码字 孤立地进行的。从信息论的观点看,这种做法必然 会损失一部份相关信息,而卷积码的出现使人们有 可能利用这部份相关信息。
4
10.1.1 卷积码概述
信息元mj把cj,cj+1和cj+2 三个子码联系在一起,这 三个子码之间存在相关性。 用编码约束度N表示子码 之间的约束关系,显然N
=m+1。
7
综上所述,一个(n,k,m)卷积码具有以下重要参数:
码长n,子码的信息元个数k,校验元个数n-k; 码率k/n,表示卷积码传输信息的有效性;
编码存贮m,表示信息组在编码器中的存贮周期; 编码约束度N,表示子码之间的约束程度。 编码约束长度NA=nN,表示相互约束的码元个数。
??0 0 0 1 1 1 0 1 0 0 0 1
0
0
0
?
? ?
?0 0 0 0 0 0 1 1 1 0 1 0 0 0 1 ? ?
c ? ?m0 m1 m2 m3 m4 ? ????
111
0
1
0
?
? ?
?
0 0 0 1 1 1 ??
?
?
?
0 0 0 0 0 0 ??
即 c=mG?
??
? ? ? ? ??
1 1
0 0
0?
0
? ?
?m ?
4
? ?
???
? ?
m1
? m3
? ?0 1 0 1 0 0 ?
??
?
?
m4 ? ?0 0 0 0 1 0 ?
? ?
m3
?
m
4
? ?
??0
00
1
1
0
? ?
?
m2
? m4 ? ?0 0 1 0 1 0 ?
??
?
?? ?? ? ? ? ? ? ? ?? 10
?1 1 1 0 1 0 0 0 1 0 0 0 0 0 0 ? ?
g? 称作基本生成矩阵 。
(2)基本生成矩阵g? 只有前(等于该卷积码的编码约束 度N=m+1=3)数字有意义,以后各组数字全部为零。分
别用g 0,g 1,g 2表示各组,即g 0=[ 111 ], g 1=[ 010 ],
g 2=[ 001 ],g 0,g 1,g 2 称作生成子矩阵 。
(3)现在,G? 可表为
G? 被称作(3,1,2)卷积码的生成矩阵 :
?111 010 001 000 000 ? ?
? ?
111
010
001
000
?
? ?
? G? ? ?
?
111 010 001 ? ?
111
010
?
? ?
?
111 ? ?
? ?
?
?
? ?
11
仔细观察(3,1,2)卷积码的生成矩阵G? 可发现:
(1)G? 中的每一行都是前一行右移右移3位的结果, 可以由矩阵的第一行完全确定。将第一行取出并表为 g? =[ 111 010 001 000 000 … ]
? g? ? ?g0 g1 g2 ? gm 0 0 ? ?
图10.1 (3,1,2)卷积码编码器
6
在编码器输出端,由旋转开关实现并/串转换显然,cj中 的校验元pj,1和pj,2不仅与mj有关,同时还与mj-1和mj-2有 关,即与此前m=2个子码中的信息元有关。称m为编码存 贮,表示信息组在编码器中的存贮周期(时钟周期)。
编码器输出的每个子码, 信息位数k=1,码长n =3,码率k/n=1/3, 编码存贮m=2,表示为 (3,1,2)卷积码。
c0=(m0,p0,1,p0,2) c 1=(m1,p1,1,p1,2) c 2=(m2,p2,1,p2,2) c 3=(m3,p3,1,p3,2) c 4=(m4,p4,1,p4,2)
其中 p0,1=m0, p0,2=m0 其中 p1,1=m1+m0, p1,2=m1 其中 p2,1=m2+m1, p2,2=m2+m0 其中 p3,1=m3+m2, p3,2=m3+m1 其中 p4,1=m4+m3, p4,2=m4+m2
G?
?
? g?
? ?
Dg?
?D ? ?
2 g? ?
? ? ?? ? ? ?
?g0
? ?
0
?0
? ?
?
g1 g0 0
?
g2 g1 g0 ?
0
g2 g1 ?
0 0 g2 ?
??
?
? ?
??
?
?
上式中D是延时算子,表示一个时钟周期的延迟。
12
把以上对(3,1,2)卷积码的矩阵描述推广到一般。 对于任意一个(n,k,m)卷积码,其生成矩阵G? 是一个 半无限矩阵:
第十章 卷积码
1
第十章 卷积码
内容提要: 差错控制系统中使用的纠错码,除前面已
学过的分组码之外,还广泛使用着卷积码。本 章首先介绍卷积码的基本概念,重点论述卷积 码的定义及其矩阵描述。在此基础上,介绍一 种目前被广泛应用的概率译码算法:维特比( Viterbi)译码算法。
2
本章重点: 1.卷积码的基本概念; 2.维特比译码算法。
m
0
?
m1
? ?1 1 0
?
??
?
?
m1
? ?
m2
? ?0 1 0
? ?
??0
0
1
? ?m 0 ?
? ?
? ?
m1
? ?
cT
?
?
? ?
m
来自百度文库
0
m1 ? m 2 ? m2
? ?
?
?
?0 ??1
1 0
1 1
? ? ?
????mm
2 3
? ? ?
? ? ?
m3 m2 ? m3
? ? ?
?0 ??0
0 0
0 1
……
9
令输出的码序列c=[m0 p0,1 p0,2 m1 p1,1 p1,2 m2 p2,1 p2,2 m3 p3,1 p3,2 m4 p4,1 p4,2 …] 表示成矩阵形式:
?m 0
? ?1 0 0
?
? ?
m
0
? ?
??1
0
0
? ?
? ?
m
0
?
m1
? ?1 0 0
?
? ?
??0
1
0
? ?
? ?
8
10.1.2 卷积码的矩阵描述
描述卷积码的方法很多,如矩阵方法、多项式方 法、状态图和网格图方法等。本节仅介绍矩阵方 法。
以图10.1给出的(3,1,2)卷积码编码器为例进行分析。设输
入的信息序列(m0,m1,m2,…,mi,…)是一个有头无尾的序列, 当编码器清零后开始工作时,输出得到的子码如下:
卷积码在编码不仅与本子码的 k个信息 元有关,而且还与此前 m个子码中的信息 元有关,因此卷积码的编码器需要有存储 m组信息元的记忆部件。
5
图10.1给出了一个二进制卷积码的编码器例子。 当输入信息元为mj时, D0、D1中分别存放着此前输 入的mj-1和mj-2, 经运算可得到两个校验元pj,1和pj, 2,即 pj,1=mj+mj-1 pj,2=mj+mj-2