您好,欢迎访问三七文档
实验名称:___卷积编码_______成绩预习实验操作实验报告总计一、实验目的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为约束度,1gD,2gD为生成多项式。则图3所示的卷积编码器可表示为(2,1,3),约束度N=m+1(m为移位寄存器的阶数)。编码器的状态定义为移位寄存器的内容且由先前输人的两位信息比特完全决定。图2给出的编码器有4种可能的状态,分别对应于二级二进制移位寄存器所有可能的内容。其中:21=1gDDD,22=1+gDD。图中1D与2D为移位寄存器,它们的起始状态均为零,即123000bbb。1c,2c与1b,2b,3b关系如下:1b代表当前输入信息位,而移位寄存器状态23bb存储以前信息位。在表一中举例列出此编码器的状态。当第1位信息为1时,即1b=1,因32=00bb,故输出码元1211cc,其余内容依此类推。表1卷积编码的状态表现在我们来分析卷积码的码树图。对于图2所示的(2,1,3)卷积码编编码电路,其树图如图3所示。图中,用a,b,c和d表示32bb的四种可能状态:00,01,10和11。从1=0b和32=0bb作为起点,当第1位信息1=0b时,码元12cc为11,则状态从起点a通过下支路到达状态b,当第1位信息1=0b时,码元12cc为00,则状态从起点a通过上支路到达状态a。依此类推可求得整个树图。由该图可以看出,从第四条支路开始,树图呈现出重复性,即图中标明的上半部与下半部完全相同。这就意味着从第4位信息开始,输出码元已与第1位信息无关。这正说明图2所示的编码器的编码约束长度为3的含义。当输入信息位为[11010]时,树图中用虚线标出了其轨迹,并得到输出码元序列为[11010100…]。图3(2,1,3)卷积码的码树图观察图3所示码树图中第三级各节点状态a,b,c,d与第四级各节点a,b,c,d之间的关系,我们可将当前状态、下一状态之间的关系用图4(a)来表示。在图中,实线表示信息位为0的路径,虚线表示信息位为1的路径,并在路径上写出了相应的输出码元。根据这一状态转换的特点,绘出状态图如图4(b)所示。在图(b)中有4个节点,即a,b,c,d其对应取值与图(a)相同。它们用来分别表示前两位信息的状态。每个节点有两条离开的弧线,实线表示信息位取0,虚线表示信息位取1,弧线旁的数字即为输出码元。当输人信息序列为[11010]时,状态转移过程为a→b→d→c→b,相应码元序列为1101010…,与,与表1的结果完全一致。图4(2,1,3)卷积码的状态图我们把状态图在时间上展开,便可以得到所谓格状图,格状图也称网格图或称篱笆图,如图5所示。图5画出了对于各种可能的输人信息序列,状态转移的全部可能轨迹。实线表示信息位为0,虚线表示信息位为1。线旁数字为输出码元,节点表示状态。在图5中画出了当信息序列为[11010…]时过程的轨迹。图5(2,1,3)卷积码的网格图编码器的操作始于网格图中最左边的A点,即状态00。如果输人第一位信息比特是0,编码器沿着实线离开状态00到达标记为B的状态00,编码器输出符号对00,它是两种状态间的网格分支的标号;如果输人第一位信息比特是1,编码器沿着虚线离开状态00到达标记为C的状态10,这时编码器输出为11,它是连接状态00和10的分支的标号。第二位编码器输人使得编码器转移到右边更多的分支并输出相应分值的标号。沿着网格从左边的状态转移到右边的状态并输出分支的标号,这一过程一直延续到想要的长度。输人比特为0使得编码器沿着实线转移到下一状态,输入比特为1则使得编码器沿着虚线转移到下一状态。生成的码字序列就是编码器沿着网格从左边转移到右边时所经历的各分支标号序列。(二)、(2,1,7)卷积码的描述(2,1,7)卷积码是目前国际卫星通信和其他通信系统中广泛使用的一种标准卷积码,也是国际空间数据系统协调委员会正式推荐作为遥测信道编码标准的两种编码方式之一。在工程应用中所感兴趣的好的卷积码应是能在干扰环境下获得最大可能的编码增益的卷积码。对于加性高斯白噪声信道,好的卷积码应采用最大可能的汉明距离来区分码字序列,同时发生最大似然译码错误时所关联的比特错误数尽可能小。利用计算机搜索技术已经发现了许多好的卷积码。例如约束长度为7,编码速率为1/2的卷积码,最优卷积码的生成多项式的八进制表示为(171,133),二进制表示为(1111001,1011011),自由距离为10原理与(2,1,7)卷积编码相同,只是约束度变为7,输出码C1C2和前7个输入码元相关,约束度更大,输入一个码元对应两个输出码元,编码效率仍为0.5。三、实验内容以(2,1,3)为例先完成卷积编码,(1)(2)111,101gg然后再用(2,1,7)完成序列的编码,卷积码的生成多项式的八进制表示为(171,133),二进制表示为(1111001,1011011)。要求:输出每一个输入信息的编码输出。四、实验过程结果及分析(1)以(2,1,3)为卷积码,结果如下:由课本P53页表3-1可得该卷积码正确(2)以(2,1,7)为卷积码,结果如下:(3)形成function函数convolutionX本函数完成的功能是实现(2,1,n)卷积编码。采用数据题一中的数据验证,已知该函数可以完成。五、实验总结与结论通过本次实验,使我对卷积编码有了一个更加深刻的了解,也锻炼了自己的编程能力。在实验的过程中,也遇到了很多的问题,例如语法问题,死循环问题,变量错误问题。在做(2,1,3)卷积编码实验的过程中,第一遍编完程序还是很顺利的,但是虽然运行出结果正确,但是只是对于个别特殊情况的运行程序,(2,1,7)就得对其中的部分内容进行修改。对于一些编程内容进行优化处理的不是很理想,传到函数内的特征多项式的个和输入输出位数是固定的,接下来,我也将进一步对程序进行优化,解决这些问题。教员评语:实验日期:______年_____月____日教员签字:____________________
本文标题:卷积编码实验报告
链接地址:https://www.777doc.com/doc-8568548 .html