《数字信号处理》课程设计基于System View的卷积码译码器的设计.doc
《《数字信号处理》课程设计基于System View的卷积码译码器的设计.doc》由会员分享,可在线阅读,更多相关《《数字信号处理》课程设计基于System View的卷积码译码器的设计.doc(18页珍藏版)》请在三一办公上搜索。
1、基于System View的卷积码译码器的设计摘要 本课程设计在SystemView 平台上设计了卷积码译码器,SystemView系统中提供了专门的卷积码编码和译码图符,使用户能快速地建立基于卷积码的仿真系统,本课程设计对(2,1,6)的大数逻辑译码原理,以及维比特译码原理进行了解释,利用SystemView进行了(2,1,3)卷积码译码器的仿真。系统运行以后将译码后得到的波形与原始的码元输入信号进行比较,系统参数经过修改以后能够正确地将编码后的信号译码为原始的码元。关键字 卷积码译码器,System View,(2,1,3)卷积码译码器1 引言 卷积码的译码方法主要有两类,代数译码和概率译
2、码。代数译码是根据卷积码的本身编码结构进行译码,译码时不考虑信道的统计特性。概率译码在计算时要考虑信道的统计特性。典型的算法如:最大似然译码、维比特译码、序列译码等。本课程设计利用SystemView 平台进行卷积码译码器的实现,SystemView系统中提供了专门的卷积码编码和译码图符,使用户能快速地建立基于卷积码的仿真系统,本课程设计对(2,1,6)的大数逻辑译码原理,以及维比特译码原理进行了解释,利用System View进行了(2,1,3)卷积码译码仿真,系统参数经过修改以后能够正确地将编码后的信号译码为原始的码元。1.1 卷积码简介卷积码也称为连环码是一种非分组码,分组码编码时,先将
3、输入的信息序列分为长度为k的码元的字段,然后按照一定的编码规则,给含k个信息元的段附加上r长的监督元,于是生成n 长的码组。在编码时,各n长码组是分别编码的,各码组之间没有约束关系,因此译码时各码组之间是分别独立进行的。卷积码则不同于此,卷积编码属于信道编码,主要用来纠正码元的随机差错,它是以牺牲效率来换取可靠性的,利用增加监督位,进行检错和纠错。卷积码把k个信息位编成n位,k和n通常很小,特别适宜于串行形式传输,延时小,n个码元与当前段的k个信息位有关,而且与前N-1段的信息有关,编码过程相互关联的码元为个,N或称为卷积码的约束长度 ,常把卷积码记作(n,k,N) ,一般来说对于卷积码k和n
4、时较小的整数,常把卷积码记作(n、k、N)卷积码,它的编码效率为k/n。 1.2 卷积码的译码原理卷积码的译码方法有两类:一类是大数逻辑译码,又称门限译码;另一类是概率译码,概率译码又分为维比特译码和序列译码两种。门限译码方法是以分组码理论为基础的,其译码设备简单且速度较快,但是误码性能要比概率译码法差。(1) 大数逻辑译码该译码方法是从线性码的伴随式出发,找到一组特殊的能够检查信息位置是否发生错误的方程组,从而实现纠错译码。下面通过一各例子来说明该译码的工作原理。设有(2,1,6)卷积码的编码器,它的监督矩阵为:H=像分组码那样,由H可得伴随式EH,E=(e,e,e,e.e,e)是信道传输后
5、所产生得错误图样。这样就有式中EH=S=(S1,S2,S3,S4,S5,S6)S1= e+ eS2= e+ eS3= e+eS4= e+e+eS5= e+ e+e+eS6= e+ e+ e+e+e由上面的方程,可以得到下列方程2:S1= e+ eS4= e+e+eS5= e+ e+e+eS2+ S6= e+ e+ e+ e+e该方程的特点是,错误元e在各个方程中都出现,其他的错误元在方程中出现的次数不超过一次,我们称具有该特点的方程为正交于e错误元的一致检验和。这样一来,在相邻的12个码元中,若错误图样 E中的错误个数不多余2个,且其中一个发生在 e位上,那么方程组2中至少有三个方程位,即大于
6、或等于3。如果E中错误个数不多于2个,且e位上未发生错误,则方程组中的的小于或等于2,由此可以根据来进行大数判决,以决定对收到e进行纠正或不纠正。下图1.1为卷积码的门限译码器:图1.1 (2,1,6)卷积码的门限译码器该译码器由输入分路开关、两组移位寄存器、四个模2加法器和大数判决门组成。开关把收到的序列进行信息位和监督位的分路,信息移位寄存器存入6格信息于“1”,模2加法器在输出端产生移位监督位,该监督位同收到的监督位在“2”模2加法器处相加,从而得到校正子送给“校正子移位寄存器”组,校正子移位寄存器在得到连续六格校正子以后,按照方程组2输出校正子值,在门限电路也就是大数判决门处实现门限判
7、决,若的和大于或等于3则输出位1,反之则输出0。判决门输出1就可通过“4”,模2加法器改变e位置上的信息位,纠正了错误,反之判决器输出位0则不会改变检验是正确的信息位,判决门输出位1时,则还用来改变有关的已发生错误的校正子,为后续码元的纠正做好准备,可以看到该译码器可以纠正在约束长度内的两位随机错误,如果要纠正多于2位的随机差错,则需要找约束长度更长且性能更好的卷积码。(2)维比特译码维特比的译码和序列译码都属于概率译码,当卷积码的约束长度不大时,与序列译码相比,维比特译码器更简单且计算速度更快。概率译码的译码基本思想是:把接收序列与所有可能的发送序列做比较,选择其中码距最小的时译格序列作为发
8、送序列。如果发送的L信息比特,对于(n、k)卷积码来说可能发送的序列有2个,计算机或译码器需存储这些序列并进行比较,以找到码距最小的那个序列,当传输率和信息组数L比较大时使得译码器难以实现。VB算法则对上述概率译码做了简化,以至成为了一种实用化的概率算法,它是接收字段、计算和比较字段,丛冢选择一段有最大似然可能的码段,从而使整个码序列是一个有最大似然值的序列。维比特译码缺点是,随着约束长度的增加,算法的复杂度增加也很快。约束长度N为7时,要比较的路径就有64条,为8时路径变为128条(2(N-1),所以维比特译码一般应用在约束长度小于10的场合中。编码(举例约束长度为7):编码器7个延迟器的状
9、态(0,1)组成了整个编码器的64个状态,每个状态在编码器输入0或1时,会跳转到另一个之中。比如110100输入1时,变成101001(其实就是移位寄存器)。并且输出也是随之而改变的。 解码的过程就是逆过程。算法规定t时刻收到的数据都要进行64次比较,就是64个状态每条路有两条分支(因为输入0或1)。同时,跳转到不同的两个状态中去,将两条相应的输出和实际接收到的输出比较,量度值大的抛弃(也就是比较结果相差大的),留下来的就叫做幸存路径,将幸存路径加上上一时刻幸存路径的量度然后保存,这样64条幸存路径就增加了一步。在译码结束的时候,从64条幸存路径中选出一条量度最小的,反推出这条幸存路径(叫做回
10、溯),得出相应的译码输出。 这样的算法在TI的C54x的dsp上使用100M的速率运行,都无法达到数传速度的要求,主要的时间消耗在每条路径的两次比较上,两次比较的时间一共需要从内存中取3个数(上一时刻幸存路径的量度,两个状态跳转相应的输出值),比较结束以后,还需要对内存写入2个数(幸存路径新的总量度,下一个跳转的状态)。这样,每个时钟节拍需要比较的次数就是64*2次,每次存取数就要5次,一个数据包是256byte,知道解码一包所大概需要的时间,加上其他的开销,最后实验出来的结果是大概0.06m,但是用64k速率传输的时候只要0.03m即可传完。2 SystemView介绍2.1 SystemV
11、iew简介SystemView是ELANIX公司一个完整的Win/95/98/NT单机和网络平台的动态系统设计、仿真和分析的可视化设计工具。它提供开发各种系统的模拟和数字工具,这些系统包括DSP、信号处理、通信和控制以及构造通用数字系统模型。SystemView的环境包括一套可以选择的能够增加核心库功能的用于特殊应用的库。这些库包括:通讯库、DSP库、逻辑库、射频模拟库(RF)、支持使用VC/BC编程的用户扩充代码库、自动程序生成(APG)、TI C6XX/54X DSP实时仿真(与TI code Compoer Studio协同仿真)、CDMA/APS,数字影象广播(DVB)、自适应滤波器库
12、、联合Matlab仿真库 等。System View的XiLinx FPGA库,能准确迅速地直接用XiLinx FPGA实现DSP系统设计,另外Elanix最新推出符合第三代移动通讯的3GPP库, Turbo Code (TPC) 库 。SystemView 是一个用于现代系统设计,仿真的动态分析工具。从信号处理,滤波器设计,通信系统直到一般的系统数学模型,SystemView 在友好而且功能齐全的窗口环境下,为用户提供了一个嵌入式精密分析引擎。SystemView 利用图符和亚系统功能,可以定义一些简单的功能组,再通过对这些简单功能组的连接进而实现一个大系统。SystemView 能自动执行
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字信号处理 数字信号处理课程设计基于System View的卷积码译码器的设计 数字信号 处理 课程设计 基于 System View 卷积码 译码器 设计
链接地址:https://www.31ppt.com/p-3026168.html