2020/6/301/78卷积码2020/6/302/78本章节教学内容、基本要求、重点与难点1.教学内容:卷积码的基本概念。卷积码的编码与译码。卷积码的矩阵描述。卷积码的状态转移图与栅格描述。维特比译码的基本原理。维特比译码的性能与应用。2.教学基本要求:掌握卷积码的编码方法。了解卷积码的生成矩阵的表示法。掌握卷积码的状态转移图与栅格描述。掌握卷积码的维特比译码的基本原理和算法实现。3.重点与难点:卷积码的编码。卷积码的状态转移图与栅格描述。维特比译码的基本原理。2020/6/303/78卷积码(又称连环码)首先由麻省理工学院于1955年提出。卷积码与分组码的不同之处:在任意给定单元时刻,编码器输出的n个码元中,每一个码元不仅和此时刻输入的k个信息元有关,还与前连续m个时刻输入的信息元有关。在同样的编码效率R下,卷积码的性能优于分组码,至少不低于分组码。卷积码的译码方法代数译码:门限译码。译码延时是固定的。概率译码:序列译码。译码延时是随机的。维特比译码。译码延时是固定的。卷积码的基本概念2020/6/304/78卷积码的生成序列、约束度和约束长度[例1](2,1,3)码该码的编码原理图示于下页图;设待编码的信息序列为M;在对信息序列M进行编码之前,先将它每k个码元分成一组,在每单元时刻内,k个码元串行输入到编码器;编码器由(m+1)个移位寄存器组构成,每个移位寄存器组内有k级寄存器;g(i,j):表示常数乘法器,i=1,2,…,k;j=1,2,…,n;共有n•k个序列。当g(i,j)=1时,常数乘法器为一条直通的连接线;当g(i,j)=0时,连接线断开。每一个码元都是k•(m+1)个数据组合,每一个码字需用n•k•(m+1)个系数才能描述;开关K在每一节拍中移动n次,每一节拍输入k个信息元而输出n个码元。2020/6/305/78(2,1,3)码编码电路Kg0(1,1)C1g1(1,1)g2(1,1)g3(1,1)g0(1,2)g1(1,2)g2(1,2)g3(1,2)M22020/6/306/78信息序列M=[m0(1)m1(1)…];ml(1)表示第l个时刻的第k=1个信息元;卷积码的生成序列g(1,1)=[g0(1,1)g1(1,1)g2(1,1)g3(1,1)]=[1011]g(1,2)=[g0(1,2)g1(1,2)g2(1,2)g3(1,2)]=[1111]g(1,1)表明:任一时刻l时,输出端1的码元Cl(1)是由此时刻l输入的信息元ml(1)与前两个时刻输入的信息元ml-2(1)以及前三个时刻ml-3(1)输入的信息元模2加后的和;g(1,2)表明:Cl(2)是由ml(1)、ml-1(1)、ml-2(1)和ml-3(1)的模2和。只要给定g(i,j)以后,就可以生成编码器输出的码元。称g(1,1)和g(1,2)为(2,1,3)卷积码的生成序列。2020/6/307/78第l个时刻的编码器输出为:mmnxmhny)()()(卷积公式:上式表明:任一时刻编码器的输出可以由信息元与生成序列的离散卷积运算求出。这就是卷积码名称的由来。2020/6/308/78设M=[m0(1)m1(1)m2(1)m3(1)]=[1011],则编码器两个输出端的序列分别是子码:在任一时刻单元,送入编码器一个信息元(k=1),编码器输出由2个(n=2)码元组成的一个码组,称之为子码。每个子码中的码元不仅与此时此刻的信息元有关,而且还与前m个(m=3)时刻的信息元有关。2020/6/309/78m:编码存储(本例m=3)。N=m+1:为编码的约束度。(本例N=4)。Nn:编码约束长度。(本例Nn=8)。本例是非系统码,在码序列C中的每个子码不是系统码字结构。2020/6/3010/78[例2](3,2,1)码n=3,k=2,m=1;它的任一子码有3个码元。每个码元由此时此刻的2个信息元和前一个时刻进入编码器的2个信息元模2运算和求出。这些信息元参加模2运算的规则由[n(m+1)]=3×2=6个生成序列{[nk(m+1)]=3×2×2=12个系数}所确定,每个输出序列含有2个元素。这6个输出序列是g(1,1)=[g0(1,1)g1(1,1)]=[11]g(1,2)=[g0(1,2)g1(1,2)]=[01]g(1,3)=[g0(1,3)g1(1,3)]=[11]g(2,1)=[g0(2,1)g1(2,1)]=[01]g(2,2)=[g0(2,2)g1(2,2)]=[10]g(2,3)=[g0(2,3)g1(2,3)]=[10]2020/6/3011/78若待编码的信息序列M=[m0(1)m0(2)m1(1)m1(2)…ml(1)ml(2)…]则码序列C中的任一子码为2020/6/3012/78g(1,1)=[g0(1,1)g1(1,1)]=[11]g(2,1)=[g0(2,1)g1(2,1)]=[01]g(1,2)=[g0(1,2)g1(1,2)]=[01]g(2,2)=[g0(2,2)g1(2,2)]=[10]g(1,3)=[g0(1,3)g1(1,3)]=[11]g(2,3)=[g0(2,3)g1(2,3)]=[10](3,2,1)码串行编码电路Kg0(1,1)C1g0(2,1)M23g0(2,2)g0(1,2)g0(2,3)g0(1,3)g1(2,1)g1(1,1)g1(2,2)g1(1,2)g1(2,3)g1(1,3)2020/6/3013/78每个时刻单元输入编码器k=2个信息元,它们与前一个时刻进入编码器的2个信息元按卷积关系进行运算后,在输出端1,2,3分别得到该时刻子码中的3个码元。编码器由N=2个移位寄存器组和模2加法器构成,每个移位寄存器组含有k=2级移位寄存器,每级移位寄存器的输出按一定规则引出后进行模2加的运算。本例也是非系统码形式的卷积码。2020/6/3014/78推论:(n,k,m)码完全由(nk)个生成序列所生成,每个生成序列中含有(N=m+1)个元素。码序列C=[C0(1)C0(2)…C0(n)C1(1)C1(2)…C1(n)…Cl(1)Cl(2)…Cl(n)…]任一子码可以由待编码的信息序列M=[m0(1)m0(2)…m0(k)m1(1)m1(2)…m1(k)…ml(1)ml(2)…ml(k)…]按如下卷积关系求出njjigimjCkimtttll,,3,2,1),()()(102020/6/3015/78系统码形式的卷积码系统卷积码:是卷积码的一类。它的码序列中任一子码Cl,也是有n个码元,其前k位与待编码信息序列中的第l信息组ml(i)相同,而后(n-k)位监督元由生成序列生成;每个码中的前k位就是此时刻待编码的k位信息元,所以在生成序列g(i,j)中有(kk)个生成序列是固定的,即2020/6/3016/78任一子码由下式计算上式表明:在约束长度N内,每个子码中的(n-k)个监督元与信息元的卷积关系。)4.4.6(,,2,1),()()(,,2,1)()(10nkkjjigimjCkjiimjCkimtttllll2020/6/3017/78[例3](3,1,2)系统卷积码:g(1,1)=[g0(1,1)g1(1,1)g2(1,1)]=[100]g(1,2)=[g0(1,2)g1(1,2)g2(1,2)]=[110]g(1,3)=[g0(1,3)g1(1,3)g2(1,3)]=[101](3,1,2)系统码编码电路KC1M23g0(1,1)g1(1,1)g2(1,1)g0(1,2)g1(1,2)g2(1,2)g0(1,3)g1(1,3)g2(1,3)2020/6/3018/78任一时刻子码为)4.4.6(,,2,1),()()(,,2,1)()(10nkkjjigimjCkjiimjCkimtttllll2020/6/3019/78[例4](3,2,2)系统卷积码:g(1,1)=[g0(1,1)g1(1,1)g2(1,1)]=[100]g(1,2)=[g0(1,2)g1(1,2)g2(1,2)]=[000]g(1,3)=[g0(1,3)g1(1,3)g2(1,3)]=[101]g(2,1)=[g0(2,1)g1(2,1)g2(2,1)]=[000]g(2,2)=[g0(2,2)g1(2,2)g2(2,2)]=[100]g(2,3)=[g0(2,3)g1(2,3)g2(2,3)]=[110]该码的任一子码Cl中前两位与ml(1)、ml(2)相同,后一位的监督元由卷积确定,即2020/6/3020/78g(1,1)=[g0(1,1)g1(1,1)g2(1,1)]=[100]g(2,1)=[g0(2,1)g1(2,1)g2(2,1)]=[000]g(1,2)=[g0(1,2)g1(1,2)g2(1,2)]=[000]g(2,2)=[g0(2,2)g1(2,2)g2(2,2)]=[100]g(1,3)=[g0(1,3)g1(1,3)g2(1,3)]=[101]g(2,3)=[g0(2,3)g1(2,3)g2(2,3)]=[110](3,2,2)系统卷积码编码电路Kg0(1,1)C1g0(2,1)M23g1(2,2)g1(1,2)g1(2,3)g1(1,3)g1(2,1)g1(1,1)g2(2,2)g2(1,2)g2(2,3)g2(1,3)g0(2,2)g0(1,2)g0(2,3)g0(1,3)g2(2,1)g2(1,1)2020/6/3021/78(1)串行输入、串行输出的编码电路非系统码编码器:根据下式构造的是非系统编码器。njjigimjCkimtttll,,3,2,1),()()(10(n,k,m)非系统码串行编码电路…g0(1,1)Cl(2)g1(1,1)gm(k,1)g0(k,1)M……g1(k,1)gm(1,1)gm(1,2)gm(k,2)g1(1,2)gm(1,n)gm(k,n)g1(1,n)g1(k,2)g1(k,n)g0(1,2)g0(1,n)g0(k,2)g0(k,n)Cl(1)Cl(n)…………………┇卷积码的编码2020/6/3022/78系统码编码器:根据下式构造的是系统编码器;nkkjjigimjCkjiimjCkimtttllll,,2,1),()()(,,2,1)()(10(n,k,m)系统码串行编码电路…Cl(k+1)M……g0(k,k+1)Cl(1)…………………┇Cl(k)Cl(k+2)Cl(n)g0(k,k+2)g0(k,n)g0(1,k+1)g0(1,k+2)g0(1,n)g1(k,k+1)g1(k,k+2)g1(k,n)g1(1,k+1)g1(1,k+2)g1(1,n)gm(k,k+1)gm(k,k+2)gm(k,n)gm(1,k+1)gm(1,k+2)gm(1,n)┇2020/6/3023/78(2)(n-k)m级移位寄存器构成的并行编码电路(Ⅰ型编码电路)这是系统码形式的一种编码电路,又称Ⅰ型编码电路;将上面的系统码形式展开后可以改写为式(6.4.5)。式(6.4.5)表明:在并入并出方式下,为了获得第l个子码的(n-k)个监督元,需要(n-k)个移位寄存器组,每一组移位寄存器的数目为m级;它们根据生成序列g(i,j)所确定的关系存储了第l个信息组相邻的前m个信息组。2020/6/3024/782.卷积码的编码2020/6/3025/78[例5](3,2,2)码Ⅰ型编码电路解:生成序列为g(1,1)=[g0(1,1)g1(1,1)g2(1,1)]=[100]g(1,2)=[g0(1,2)g1(1,2)g2(1,2)]=[000]g(1,3)=[g0(1,3)g1(1,3)g2(1,3)]=[101]g(2,1)=[g0(2,1)g1(2,1)g2(2,1)]=[000]g(2,2)=[g0(2,2)g1(2,2)g2(2,2)]=[100]g(2,3)=[g0(2,3)g1(2,3)g