实验名称:___ 卷积编码_______
成绩 预习 实验操作 实验报告 总计 一、 实验目的 1、 使用MATLAB进行卷积编码的代码编写、运行、仿真等操作;
2、 熟练掌握MATLAB软件语句; 3、 理解并掌握卷积编码的原理知识。 二、 实验原理
卷积码是由Elias于1955 年提出的,是一种非分组码,通常它更适用于前向纠错法,因为其性能对于许多实际情况常优于分组码,而且设备较简单。
卷积码的结构与分组码的结构有很大的不同。具体地说,卷积码并不是将信息序列分成不同的分组后进行编码,而是将连续的信息比特序列映射为连续的编码器输出符号。卷积码在编码过程中,将一个码组中r 个监督码与信息码元的相关性从本码组扩展到以前若干段时刻的码组,在译码时不仅从此时刻收到的码组中提取译码信息,而且还可从与监督码相关的各码组中提取有用的译码信息。这种映射是高度结构化的,使得卷积码的译码方法与分组译码所采用的方法完全不同。可以验证的是在同样复杂度情况下,卷积码的编码增益要大于分组码的编码增益。对于某个
特定的应用,采用分组码还是卷积码哪一种更好则取决于这一应用的具体情况和进行比较时可用的技术。 (一)卷积编码的图形表示
卷积码的编码器是由一个有k 个输人位,n 个输出位,且有m 个移位寄存器构成的有限状态的有记忆系统,其原理如图1所示。
图1 卷积码编码器的原理图
描述这类时序网络的方法很多,它大致可分为两大类型:解析表示法与图形表示法。在解析法中又可分为离散卷积法、生成矩阵法、码多项式法等;在图形表示法中也可分为状态图法、树图法和网络图法等。
图2给出的是一个生成编码速率为1/2 卷积码的移位寄存器电路。输人比特在时钟触发下从左边移人到电路中,每输入一位,分别去两个模2加法器的输出值并复用就得到编码器的输出。对这一编码,每输入一比特就产生两个输出符号,故编码效率为
1/2。可以看出,每个特定的输入比特不仅影响本时间间隔内的编码器输出,同时还影响紧接着的下两个输入比特时间间隔的编码器输出。卷积编码由移位寄存器的阶数、输出的数量(即模2加法器的个数)和移位寄存器与模2 加法器间的连接所决定。卷积码一般用(n,k,N)来表示。k为输入位,n 为输出位,N 为约束度,g1?D?,g2?D?为生成多项式。则图3所示的卷积编码器可表示为(2,1,3),约束度N =m + 1 (m 为移位寄存器的阶数)。编码器的状态定义为移位寄存器的内容且由先前输人的两位信息比特完全决定。图2给出的编码器有4 种可能的状态,分别对应于二级二进制移位寄存器所有可能的内容。其中:
g1?D?=1?D?D2,g2?D?=1+D2。
图中D1与D2为移位寄存器,它们的起始状态均为零,即
bb12b3?000。c1,c2与b1,b2,b3关系如下:
卷积编码实验报告



