当前位置:文档之家› 毕业设计61基于System View的卷积码译码器的设计

毕业设计61基于System View的卷积码译码器的设计

基于System View的卷积码译码器的设计摘要本课程设计在SystemView 平台上设计了卷积码译码器,SystemView系统中提供了专门的卷积码编码和译码图符,使用户能快速地建立基于卷积码的仿真系统,本课程设计对(2,1,6)的大数逻辑译码原理,以及维比特译码原理进行了解释,利用SystemView 进行了(2,1,3)卷积码译码器的仿真。

系统运行以后将译码后得到的波形与原始的码元输入信号进行比较,系统参数经过修改以后能够正确地将编码后的信号译码为原始的码元。

关键字卷积码译码器,System View,(2,1,3)卷积码译码器1 引言卷积码的译码方法主要有两类,代数译码和概率译码。

代数译码是根据卷积码的本身编码结构进行译码,译码时不考虑信道的统计特性。

概率译码在计算时要考虑信道的统计特性。

典型的算法如:最大似然译码、维比特译码、序列译码等。

本课程设计利用SystemView 平台进行卷积码译码器的实现,SystemView系统中提供了专门的卷积码编码和译码图符,使用户能快速地建立基于卷积码的仿真系统,本课程设计对(2,1,6)的大数逻辑译码原理,以及维比特译码原理进行了解释,利用System View进行了(2,1,3)卷积码译码仿真,系统参数经过修改以后能够正确地将编码后的信号译码为原始的码元。

1.1 卷积码简介卷积码也称为连环码是一种非分组码,分组码编码时,先将输入的信息序列分为长度为k的码元的字段,然后按照一定的编码规则,给含k个信息元的段附加上r长的监督元,于是生成n 长的码组。

在编码时,各n长码组是分别编码的,各码组之间没有约束关系,因此译码时各码组之间是分别独立进行的。

卷积码则不同于此,卷积编码属于信道编码,主要用来纠正码元的随机差错,它是以牺牲效率来换取可靠性的,利用增加监督位,进行检错和纠错。

卷积码把k个信息位编成n位,k和n通常很小,特别适宜于串行形式传输,延时小,n个码元与当前段的k个信息位有关,而且与前N-1段的信息有关,编码过程相互关联的码元为Nn个,N或Nn称为卷积码的约束长度,常把卷积码记作(n,k,N) ,一般来说对于卷积码k 和n 时较小的整数,常把卷积码记作(n 、k 、N)卷积码,它的编码效率为k/n 。

1.2 卷积码的译码原理卷积码的译码方法有两类:一类是大数逻辑译码,又称门限译码;另一类是概率译码,概率译码又分为维比特译码和序列译码两种。

门限译码方法是以分组码理论为基础的,其译码设备简单且速度较快,但是误码性能要比概率译码法差。

(1) 大数逻辑译码该译码方法是从线性码的伴随式出发,找到一组特殊的能够检查信息位置是否发生错误的方程组,从而实现纠错译码。

下面通过一各例子来说明该译码的工作原理。

设有(2,1,6)卷积码的编码器,它的监督矩阵为:H=⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡111010100000101000001110000011000011001111 像分组码那样,由H 可得伴随式EH T ,E=(e 11,e 21,e 12,e 22….e 16,e 26)是信道传输后所产生得错误图样。

这样就有式中EH T =S=(S1,S2,S3,S4,S5,S6)S1= e 11+ e 21S2= e 12+ e 22S3= e 13+e 23S4= e 11+e 14+e 24S5= e 11+ e 12+e 15+e 25S6= e 11+ e 12+ e 13+e 16+e 26由上面的方程,可以得到下列方程2:S1= e 11+ e 21S4= e 11+e 14+e 24S5= e 11+ e 12+e 15+e 25S2+ S6=e11+ e22+ e13+ e16+e26该方程的特点是,错误元e11在各个方程中都出现,其他的错误元在方程中出现的次数不超过一次,我们称具有该特点的方程为正交于e11错误元的一致检验和。

这样一来,在相邻的12个码元中,若错误图样E中的错误个数不多余2个,且其中一个发生在e11位上,那么方程组2中至少有三个方程位,即∑Si大于或等于3。

如果E中错误个数不多于2个,且e11位上未发生错误,则方程组中的的∑Si小于或等于2,由此可以根据∑Si来进行大数判决,以决定对收到e11进行纠正或不纠正。

下图1.1为卷积码的门限译码器:图1.1 (2,1,6)卷积码的门限译码器该译码器由输入分路开关、两组移位寄存器、四个模2加法器和大数判决门组成。

开关把收到的序列进行信息位和监督位的分路,信息移位寄存器存入6格信息于“1”,模2加法器在输出端产生移位监督位,该监督位同收到的监督位在“2”模2加法器处相加,从而得到校正子送给“校正子移位寄存器”组,校正子移位寄存器在得到连续六格校正子以后,按照方程组2输出校正子值,在门限电路也就是大数判决门处实现门限判决,若Si的和大于或等于3则输出位1,反之则输出0。

判决门输出1就可通过“4”,模2加法器改变e11位置上的信息位,纠正了错误,反之判决器输出位0则不会改变检验是正确的信息位,判决门输出位1时,则还用来改变有关的已发生错误的校正子,为后续码元的纠正做好准备,可以看到该译码器可以纠正在约束长度内的两位随机错误,如果要纠正多于2位的随机差错,则需要找约束长度更长且性能更好的卷积码。

(2)维比特译码维特比的译码和序列译码都属于概率译码,当卷积码的约束长度不大时,与序列译码相比,维比特译码器更简单且计算速度更快。

概率译码的译码基本思想是:把接收序列与所有可能的发送序列做比较,选择其中码距最小的时译格序列作为发送序列。

如果发送的L信息比特,对于(n、k)卷积码来说可能发送的序列有2kL个,计算机或译码器需存储这些序列并进行比较,以找到码距最小的那个序列,当传输率和信息组数L比较大时使得译码器难以实现。

VB算法则对上述概率译码做了简化,以至成为了一种实用化的概率算法,它是接收字段、计算和比较字段,丛冢选择一段有最大似然可能的码段,从而使整个码序列是一个有最大似然值的序列。

维比特译码缺点是,随着约束长度的增加,算法的复杂度增加也很快。

约束长度N 为7时,要比较的路径就有64条,为8时路径变为128条(2<<(N-1)),所以维比特译码一般应用在约束长度小于10的场合中。

编码(举例约束长度为7):编码器7个延迟器的状态(0,1)组成了整个编码器的64个状态,每个状态在编码器输入0或1时,会跳转到另一个之中。

比如110100输入1时,变成101001(其实就是移位寄存器)。

并且输出也是随之而改变的。

解码的过程就是逆过程。

算法规定t时刻收到的数据都要进行64次比较,就是64个状态每条路有两条分支(因为输入0或1)。

同时,跳转到不同的两个状态中去,将两条相应的输出和实际接收到的输出比较,量度值大的抛弃(也就是比较结果相差大的),留下来的就叫做幸存路径,将幸存路径加上上一时刻幸存路径的量度然后保存,这样64条幸存路径就增加了一步。

在译码结束的时候,从64条幸存路径中选出一条量度最小的,反推出这条幸存路径(叫做回溯),得出相应的译码输出。

这样的算法在TI的C54x的dsp上使用100M的速率运行,都无法达到数传速度的要求,主要的时间消耗在每条路径的两次比较上,两次比较的时间一共需要从内存中取3个数(上一时刻幸存路径的量度,两个状态跳转相应的输出值),比较结束以后,还需要对内存写入2个数(幸存路径新的总量度,下一个跳转的状态)。

这样,每个时钟节拍需要比较的次数就是64*2次,每次存取数就要5次,一个数据包是256byte,知道解码一包所大概需要的时间,加上其他的开销,最后实验出来的结果是大概0.06m,但是用64k速率传输的时候只要0.03m即可传完。

2 SystemView介绍2.1 SystemView简介SystemView是ELANIX公司一个完整的Win/95/98/NT单机和网络平台的动态系统设计、仿真和分析的可视化设计工具。

它提供开发各种系统的模拟和数字工具,这些系统包括DSP、信号处理、通信和控制以及构造通用数字系统模型。

SystemView的环境包括一套可以选择的能够增加核心库功能的用于特殊应用的库。

这些库包括:通讯库、DSP 库、逻辑库、射频/模拟库(RF)、支持使用VC/BC编程的用户扩充代码库、自动程序生成(APG)、TI C6XX/54X DSP实时仿真(与TI code Compoer Studio协同仿真)、CDMA/APS,数字影象广播(DVB)、自适应滤波器库、联合Matlab仿真库等。

System View的XiLinx FPGA库,能准确迅速地直接用XiLinx FPGA实现DSP系统设计,另外Elanix最新推出符合第三代移动通讯的3GPP库, Turbo Code (TPC) 库。

SystemView是一个用于现代系统设计,仿真的动态分析工具。

从信号处理,滤波器设计,通信系统直到一般的系统数学模型,SystemView在友好而且功能齐全的窗口环境下,为用户提供了一个嵌入式精密分析引擎。

SystemView 利用图符和亚系统功能,可以定义一些简单的功能组,再通过对这些简单功能组的连接进而实现一个大系统。

SystemView 能自动执行系统连接检查,通知用户连接出错并通过显示指出出错的图符。

SystemView 属于一个系统级的工作平台,可以进行包括数字信号处理(DSP)系统,模拟与数字通信系统,信号处理和控制系统的仿真分析,通过时域波形,眼图,功率谱,星座图和各类曲线给出系统的仿真分析结果。

2.2 SystemView功能简介Systemview主要由库中的图符来完成不同的仿真功能。

它由以下的库组成:(1)基本库:SystemView的基本库包括信源库、算子库、函数库、信号接收器库等,它为该系统仿真提供了最基本的工具。

(2)信号源:SystemView为我们提供了16种信号源,可以用它来产生任意信号。

(3)算子库:功能强大的算子库多达31种算子,可以满足您所有运算的要求。

(4)函数库:32种函数尽显函数库的强大库容。

(5)信号接收方式库:12种信号接收方式可以任意选择,满足不同的显示要求,有图象显示,数据显示等。

(6)展功能库:扩展功能库提供可选择的能够增加核心库功能的用于特殊应用的库。

它允许通信、DSP、射频/模拟和逻辑应用。

(7)通信库:包含有大量的通信系统模块,是快速设计和仿真现代通信系统的力工具。

这些模块从纠错编码、调制解调、到各种信道模型一应俱全。

(8)DSP库:能够在你将要运行DSP芯片上仿真DSP系统。

该库支持大多DSP芯片的算法模式。

例如乘法器、加法器、除法器和反相器的图标代表真正的DSP算法操作符。

相关主题