下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、封面作者: PanHongliang仅供个人学习摘要本课程设计主要解决信源编码和信道编码中的卷积码的数字调制,信源输出的模拟信号要转换成数字信号, 就需要对信源信道进行编码译码操作, 并通 过 Simulink软件进行设计与仿真,进行误码率分析。卷积码是一种性能优越的 信道编码。它的编码器和译码器都比较容易实现,同时它具有较强的纠错能 力。随着纠错编码理论研究的不断深入,卷积码的实际应用越来越广泛。本文 简明地介绍了卷积码的编码原理和译码原理。并在SIMULIN 模块设计中,完成了对卷积码的编码和译码以及误比特统计整个过程的模块仿真。最后,通过在 仿真过程中分别改变卷积码的重要参数来加深理解卷
2、积码的这些参数对卷积码 的误码性能的影响。经过仿真和实测,并对测试结果作了分析。得出了以下三 个结论:(1) 当改变卷积码的码率时,系统的误码性能也将随之发生变化。(2) 对于码率一定的卷积码,当约束长度N 发生变化时,系统的误码性能 也会随之发生变化。(3) 回溯长度也会不同程度上地影响误码性能。关键词 : 编译码器; simulink ;设计与仿真 卷积码;码率ABSTRACTThis course is desig ned to solve source cod ing and cha nnel cod ing convo lutional codes in the digital mo
3、dulati on, the source output an alog sig nals into digital signals to be conv erted to the n eed for the source and cha nnel cod ing and decod ingoperati ons, and through the Simuli nk software desig n and simulati on, and the bit errorrate an alysis. Convo luti onal code is a superior performa nce
4、of cha nnel cod in g. Its encoder and decoder are relatively easy to impleme nt, and it has a stro ng error correct ioncapability. Error-correcting coding theory research with the deepening of the practicalapplicati on of convo luti onal codes more widely. This con cise in troduct ion to the princip
5、les of convo lutio nal cod ing and decod ing prin ciples. SIMULINK module in thedesig n, completed the cod ing and decodi ng convo luti onal code and bit error statisticsof the whole process simulatio n module. Fin ally, cha nges in the simulatio n process ofconvo lutio nal codes, respectively, to d
6、eepe n our un dersta nding of the importa ntparameters of these parameters on convo luti onal codes convo luti onal codes errorperforma nce. The simulati on and measureme nt, and test results are an alyzed.Reached the follow ing three con clusi ons: (1) Whe n the cha nge rate convo luti onalcode, th
7、e system error performa nce will subseque ntly cha nge. (2) For a certa in rateconvo lutio nal codes, whe n the con stra in t le ngth N cha nges, the system BERperforma nce also will be cha nged. (3) back len gth will be affected to vary ing degrees,error performa nce.Keywords: codec。 simulink。 desi
8、gn and simulation of convolutional code目录第 1 章引言 11.1 课题背景 11.2 国内外研究现状 11.3 本课题的意义 11.4 本课题的研究方法 2第 2 章 MATLAB 组件介绍及通信系统概述 32.1 MATLAB 与通信仿真的发展现状及应用 32.2 通信系统概述与组成 32.3 通信仿真 42.4 Simulink 仿真及工作原理 6第 3 章信源编码 83.1 A 律卩律编码特性 83.1.1 A 律编码 83.1.2卩律编码 83.1.3 A 律 13 折线 93.2 A 律、卩律的特性比较 11第 4 章信道编码及译码 154.
9、1 卷积码的概念介绍 154.2 卷积码的编码过程介绍154.3 卷积码译码过程的概述164.4 卷积码的最大似然译码194.5 输入与同步单元 21第 5 章卷积码的仿真 225.1 Simulink 仿真模块的参数设置以及重要参数的意义5.2 简化维特比译码器的仿真 26第 6 章卷积码译码器的误码率分析 286.1 信噪比与误码率的关系 286.2. 不同回溯长度对卷积码性能的影响 296.3 不同码率对卷积码误码性能的响 316.4 不同约束长度对卷积码的误码性能影响 32 第 7 章结论 35 参考文献 36致谢 3722第1章 引言1.1课题背景随着现代通信的发展,高速信息传输和高
10、可靠性传输成为信息传输的两个 主要方面,而可靠性尤其重要。A 律编码、卩律编码以及卷积码以其高速性和可 靠性在实际应用中越来越广泛。其中 1967 年 Viterbi 译码算法的提出,使卷积码1成为信道编码中最重要的编码方式之一 。1.2国内外研究现状在对 A 律、卩律研究中,随着数字化技术的发展,逐步形成了使用折现分段 近似压扩特性的方法,这类方法简单且准确,因而获得了广泛的应用,并被采 纳为相应的国际建议。而在对卷积码的研究中,其中编码器较简单,模式也很 统一。主要是研究提高卷积码的译码速度和可靠度。译码算法中最重要的卷积 码的 Viterbi 算法问世以来,软件仿真和实现都得到了迅速发展
11、。目前,利用计 算机仿真 Viterbi 算法,模拟在各种不同情况下卷积编码时的译码性能,寻找 Viterbi 算法的最佳适用信道和不同要求 (如误码率 )下最优编码。1.3本课题的意义在信源编码中,随着数字化技术的发展,逐步形成了使用折现分段近似压 扩特性的方法,这类方法简单且准确,因而获得了广泛的应用,并被采纳为相 应的国际建议。在卷积码中,因为 Viterbi 算法效率高,速度快,结构相对简单 等特点,被广泛应用于各种数据传输系统。在现代信息处理系统中,需要处理 的信息量越来越大,实时性要求越来越高。为减少对主处理器各种资源的占 用,要求通信模块方面的大部分工作能独立完成。因此采用 Vi
12、terbi 译码算法具 有非常现实的意义。1.4本课题的研究方法本文通过基于 MATLA 的 SIMULIN 下的模块对 A 律和卩律码以及卷积编码,解 码进行仿真。通过仿真可以更清楚的认识到卷积码的编码,解码的各个环节, 并对仿真结果进行了分析。得出卷积码 Viterbi 译码的误比特性能和回溯长度,码率,约束长度的关系第2章MATLAB组件介绍及通信系统概述2.1 MATLAB与通信仿真的发展现状及应用MATLA 是由美国的 Math Works 公司推出的一种科学计算和工程仿真软 件,它的名字院子 Matrix Laboratory ,专门以矩阵的形式处理数据。 MATLAB 将高性能的
13、科学计算、结果可视化和编程集中在一个易于操作的环境中,并提 供大量的内置函数,具有强大的矩阵计算和绘画功能,是用于科学计算、控制 系统、信息处理等领域分析、仿真和设计工作。目前,在世界范围内被科研工 作者、工程技术人员和院校师生广泛应用。Simulink 是 MATLA 中的一种可视化仿真工具,广泛应用于线性系统、数字控制、非线性系统以及数字信号处理 的建模和仿真中。 Simulink 采用模块化建模方式,每个模块都有自己的输入 / 输出端口,实现其功能 。本课题能避开硬件系统的不足,巧妙的运用软件来仿真硬件才能实现的实 验结果,大大降低了实验设备要求,节约了人力和财力,而且有很多的库函数 可
14、以在实验时直接调用,避免了用硬件做实验的局限性。可以更方便的做信号 系统实验,为教案和研究提供了方便。还能够锻炼一个人在面对一个具体的工 程时,遇到问题,分析问题,解决问题的能力;获得独立策划、实施课题,并 按照既定计划进行开发的经验,以及查找相关文献的能力。通过自己的努力使 得对于 Matlab 有一个全面的、深刻的认识 , 并且对Matlab 做界面的软件有了一 定的了解,对系统规划有了初步的认识。为以后研发工作打下坚实的基础,积 累宝贵的经验。2.2通信系统概述与组成通信系统( Communication System )是用以完成信息传输过程的技术系统 的总称。现代通信系统主要借助电磁
15、波在自由空间的传播或导引媒体中的传输 机理来实现, 前者成为无线通信系统,后者成为有线通信系统。由于人们对通 信容量要求越来越高,对通信的业务要求越来越多样化,所以通信系统正迅速 向着宽带化方向发展,而光纤通信系统将在通信网中发挥越来越重要的作用2。通信是将信息从发信者传递给在另外一个时空点的收信者。通信流程可用 下图 2-1所示基本模型图来表示。整个流程是由信源、发送设备、信道(或传输媒质)、接收设备和收信者(信宿)五部分组成图 2-1 通信系统的基本模型( 1) 信源信源是信息的产生者或信息的形成者。根据信源所产生信号的性质不同, 可分为模拟信源和离散信源。(2)发送设备发送设备的基本功能
16、是将信源和传输媒介匹配起来,即将信源产生的消息 信号变换为有利于传送的信号形式送往传输媒介。(3)信道信道是指信号传输的媒介,信号是经过信道传送到接收设备的。在信号传输过程中,必然会引入发送设备、接收设备和传输媒介的热噪声和各 种干扰和衰减,及信号在信道中传输时,会产生信道噪声。( 4)接收设备接收设备的主要作用是将来自信道的带有干扰的发送信号加以处理,并从 中提取原始信息,完成发送变换过程的逆变换解调和译码。(5)信宿信宿是将复原的原始信号转换成相应的消息。2.3通信仿真通信仿真是衡量通信系统性能的工具。实际的通信系统是一个功能结构相 当复杂的系统,对这个系统作出的任何改变都可能影响到整个系
17、统的性能和稳 定。因此,在对原有的通信系统作出改进或建立一个新系统之前,通常对这个 系统进行建模和仿真,通过仿真结果衡量方案的可行性,从中选择最合理的系 统配置和参数设置,然后在应用到实际系统中,这个过程就叫通信仿真2。通信系统仿真一般分为 3 个步骤,即仿真建模、仿真实验、仿真分析。由 于仿真过程是一个螺旋式发展的过程,因此,这 3 个步骤可能需要循环执行多 次之后才能够获得令人满意的仿真结果。(1) 仿真建模仿真建模是根据实际通信系统建立仿真模型,它是整个通信仿真过程中的 一个关键步骤,因为仿真模型的好坏直接影响着仿真的结果以及仿真结构的真 实性和可靠性。仿真模型是对实际系统的一种模拟和抽
18、象。过于简单的仿真模型会忽略实 际系统的细节,在一定程度上会影响仿真结果的可靠性。但过于复杂的仿真模 型会产生很多相互因素,从而大大延长仿真时间和增加仿真结果分析的复杂 度。因此,仿真模型的建立需要综合考虑其可行性和简单性。在仿真建模过程 中,可以先建立一个相对简单的仿真模型,然后再根据仿真结果和仿真过程的 需要逐步增加仿真模型的复杂度。在仿真建模过程中,首先需要分析实际系统存在的问题或设立系统改造的 目标,并把这些问题和目标转化成数学变量和公式。确定了方针目标后,下一 步是获取实际通信系统的各种运行参数。在以上工作准备好仿真模型后,就是 仿真软件的选择了,使用仿真软件建立好模型后,仿真建模的
19、这一步骤就基本 完成了。(2) 仿真实验仿真实验是一个或一系列针对仿真模型的测试。在仿真实验过程中,通常 需要多次改变仿真模型输入信号的数值,以观察和分析仿真模型对这些输入信 号的反应,以及仿真系统在这个过程中表现出来的性能。 在明确了仿真系统对输入 / 输出信号的要求之后,最好把这些设置整理成一份简 单的文档。(3) 仿真分析仿真分析是一个通信仿真流程的最后一个步骤。在仿真过程中,用户已经 从仿真过程中获得了足够多的关于系统性能的消息,但是这些信息只是一些原 始数据,一般还需要经过数值分析和处理才能获得衡量系统性能的尺度, 从而 获得对仿真性能的一个总体评价。仿真分析并不一定意味着通信仿真过
20、程的完全结束。如果仿真分析得到的 结果打不到预期的目标,用户还需要重新修改通信仿真模型,这时候仿真分析 就成为了一个新的循环的开始2.4Simulink仿真及工作原理Simulink 是 MATLA 提供的用于对动态系统进行建模、仿真和分析的工具 包。Simulink 提供了专门用于显示输出信号的模块,可以在仿真过程中随时观 察仿真结果。同时,通过 Simulink 的存储模块,仿真数据可以方便地以各种形 式保存到工作空间或文件中,以供用户在仿真结束后对数据进行分析和处理。 另外 Simulink 把具有等级结构的子系统,因此具有内在的模块化设计要求。基 于以上优点, Simulink 作为一
21、种通用的仿真建模工具,广泛用于通信仿真、数 字信号处理、机械控制和虚拟现实等领域中2。作为一款专业仿真软件, Simulink 具有以下特点:基于矩阵的数值计算;高级编程语言已经可视化的图形操作界面;包含各领域的仿真工具箱,使用方便快捷并可以扩展;丰富数据的 I/O 接口;提供与其他高级语言的接口;支持多平台( PC/UNIX)根据输出信号与输入信号的关系, Simulink 提供三种类型的模块:连续模 块、离散模块和混合模块。连续模块是指输出信号随着输入信号发生连续变化 的模块;离散模块则是输出信号以固定间隔变化的模块。对于连续模块, Simulink 采用积分方式计算输出信号的数值,因此,
22、连续模块主要涉及数值的 计算及其积分。离散模块的输出信号在下一个抽样到来之前保持恒定,这时候 Simulink 只需要以一定的间隔计算输出信号的数值。混合模块是根据输入信号 的类型来确定输出信号类型的,它既能差生连续输出的信号,也能够产生离散 输出信号。Simulink 仿真包括两个阶段:初始化阶段和模型执行阶段。( 1) 初始化阶段在初始化阶段, Simulink 内部主要完成以下工作。模型参数传给 MATLABS 行估值,得到的数值结果将作为模型的实际参 数。展开模型的各个层次,每一个非条件执行的子系统被它包含的模块代 替。模型中模块按更新的次序进行排序。决定模型由无显示设定的信号属性。决
23、定所有无显示设定才采样的时间的模块的采样时间。分配和初始化用于储存每个模块的状态和输入当前值的存储空间。完成以上工作后就可以进行下一步工作了,也就是模块执行阶段( 2) 模块执行阶段一般模型是使用数值积分来进行仿真的,所运用的仿真解法器(仿真算 法)依赖于模型提供它的连续积分能力。计算微分可分为以下两步来进行。首先,按照排列所确定的次序计算每个模块的输出。然后,根据当前时刻的输入和状态来决定状态的微分;得到微分向量后再 把它返回给解法器;后者用它来计算下一个采样点的状态向量。一旦新的状态 向量计算完毕,被采样的数据模块和接收模块才被更新。在仿真开始时,模型设定待仿真系统的初始状态和输出。在每个
24、时间步中, Simulink 计算系统的输入、状态和输出,并更新模块来反映计算出的值。 在仿真结束时,模型得出系统的输入、状态和输出。在每个时间步中, Simulink 所采取的动作依次如下:(1) 按照排列好的次序更新模型中的输出。 Simulink 通过调用模块的输 出函数计算模块的输出。 Simulink 只把当前值、模块的输入以及状态量传给这 些函数计算模块的输出。对于离散系统, Simulink 只有在当前时间是模块采样 时间的整数倍时,才会更新模块的输出。(2) 按照排列好的次序更新模块中模块的状态。 Simulink 计算一个模块 的离散状态的方法是调用模块的离散状态更新函数。而
25、对于连续状态,则对连 续状态的微分进行数值积分来获得当前的连续状态。(3) 检查函数连续状态的不连续点。 Simulink 使用过零检测来检测连续 状态的不连续点。(4) 计算下一个仿真时间步的时间。这是通过调用模块获得下一个采样时 间函数来完成的。第3章 信源编码3.1 A律卩律编码特性信源编码也称为量化或信号格式化,它一般是为了减少冗余度或为后续的 处理做准备而进行的数据处理。在 Simulink 中,包含了 A 律编码、卩律编码 等,这里分别进行介绍。3.1.1 A 律编码如果输入信号为 x,输出信号为 y,则 A 律压缩满足式 3-1osgn(x)(3-1)sgn(x)式中,A 为 A
26、 律压缩参数,最常采用的 A 值为 87.6 ; V 为输入信号的峰 值; log为自然对数; sgn 函数当输入为正时,输出 1,当输出为负时,输出 0o模块的输入并无限制。如果输入为向量,则向量中的每一个分量将被单独处理7oA 律压缩编码模块及其参数及其设定框如图 3-1 所示。A 律压缩编码模块中包含两个参数:A value :用于指定浓缩参数 A 的值Peak signal magnitude :用于指定能输入信号的峰值 Vo3.1.2 律编码和 A 律压缩编码类似,卩律压缩编码中如果输入信号为 x,输出信号为 y, 则卩律压缩满足式 3-2osgn(x)(3-2)式中,卩为卩律压缩参
27、数;V 为输入信号的峰值;log 为自然对数;sgn 函 数当输入为正时,输出 1,当输入为负时,输出 0模块的输入并无限制。如果输入为向量,则向量中的每一个分量将会被单7独处理 。卩律压缩编码中包含两个参数:mu value :用于指定卩律压缩参数卩的值Peak sig nal mag ni tude :用于指定能输入信号的峰值 V,也是输出信号的峰值。3.1.3 A 律 13 折线13 段折线的压缩特性如下图 3-3 所示。过程为:第一步:把 x(x0 部分)划分为不均匀的 8 段。第一分点取在 V/2 处, 然后每段都是剩下部分的 1/2。 ; 依次取第八段为 VV/2,第七段为 V/2
28、V/4 ;第一段为 V/1280。第二步:把每段均匀划分为 1 6 等份,每一份表示一个量化级,显然 8 段共16x8=128= 个量化级,需要二进制 7 位编码表示。可以看出每个量化级是不均 匀的。在小信号的量化台阶很小,使小信号时量化噪声减小。如果按均匀量化 计算,以最小台阶 为单位,最大信号需用 L=128X16=2048 个量化级表示,既需 要 11 位编码。这样非均匀编码使小信号量化台阶缩小了 16 倍,相当于小信号 信噪比改善了 20dB。第三步:把 y 轴均匀划分为 8 段,每段均匀分为 16 分。这样 y 也分为 128 个量化级,与 x 轴的 128 个量化级对应。因此,压扩
29、特性各段的斜率 是不同 的。第一段斜率 其他段为7:以上分段为 x 取正值时的情况。而 x 取负值时,压扩特性与 x 取正值成奇 对称。在正 8 段和负 8 段中,正 1, 2 段和负 1, 2 段斜率相同,合为一段。所 以原来的 16段折线变为 13 段折线。图 3-1 13 折线 A 律压扩特性实际中,往往都采用近似于 A 律函数规律的 13 折线(A=87.6)的压扩特性。 这样,它基本上保持了连续压扩特性曲线的优点,又便于用数字电路实现。折线形成的方法是把 x 轴的 0-1 分成 8 个不均匀段,而 y 轴的 01 均匀地分成 八段,与 x 轴的八段一一对应。至于当 x 在-1 0 及
30、 y 在-1 0 的第三象限中,压 缩特性的形状与以上讨论的第一象限压缩特性的形状相同,且它们以原点为奇对称,所以负方向也有八段直线,合起来共有16 个线段。由于正向一、二两段和负向一、二两段的斜率相同,这四段实际上为一条直线,因此正、负双向的折线总共由 13 条直线段构成,故称其为 13 折线。13 折线和 A 聿(A=87.6)压扩特 性的近似程度,可以由表 3-1 看出:表 3-1 A 律 13 折线y01/82/83/84/85/86/87/81x101/1281/60.61/30.61/15.41/7.791/3.931/1.981x201/1281/641/321/161/81/4
31、1/21段落12345678斜率161684211/21/4u 律 15 折线形成如下。把 y 坐标从 0 到 1 之间划分为八个均匀等分,对应于分 界点 y坐标 i/8 的 x 坐标,根据律压缩特性得到(u = 255),共 14 个斜率发生变化 的分界点,将其分成 15 段直折线。其具体值可见表 3-2 :表 3-2 u 律 15 折线i012345678y=i/801/82/83/84/85/86/87/81x=(2i-01/253/257/2515/2531/2563/25127/2511)/2555555555相对斜率11/21/41/81/161/321/641/128/255(
32、y/8 x)段落123456783.2 A律、u律的特性比较画出 A 律 13 折线近似的压缩特性曲线,与 A=87.56 对应的压缩特性曲线 进行比较。 2 画出 u 律 15 折线近似的压缩特性曲线, 与 u=255 对应的压缩特 性曲线进行比较。MATLAB?序: clear all close all dx=0.01 。 x=-1:dx:1 。u=255。A=87.6 。 % u Law yu=sign(x).*log(1+u*abs(x)/log(1+u) 。% A Law fori=1:length(x) if abs(x(i)1/Aya(i)=A*x(i)/(1+log(A)。e
33、lse ya(i)=sign(x(i)*(1+log(A*abs(x(i)/(1+log(A) endend figure(1) plot(x,yu,k.:) title(u Law) xlabel(x) ylabel(y) grid on hold onxx=-1,-127/255,-63/255,-31/255,-15/255,-7/255,-3/255,-1/255,1/255,3/255,7/255,15/255,31/255,63/255,127/255,1yy=-1,-7/8,-6/8,-5/8,-4/8,-3/8,-2/8,-1/8,1/8,2/8,3/8,4/8,5/8,6/8
34、,7/8,1 。plot(xx,yy,r)stem(xx,yy,b-.)legend(u 律压缩特性 , 折线近似 u 律 ,4) figure(2) plot(x,ya,k.:) title(A Law)xlabel(x) ylabel(y) grid on hold on xx=-1,-1/2,-1/4,-1/8,-1/16,-1/32,-1/64,-1/128,1/128,1/64,1/32,1/16,1/8,1/4,1/2,1yy=-1,-7/8,-6/8,-5/8,-4/8,-3/8,-2/8,- 1/8,1/8,2/8,3/8,4/8,5/8,6/8,7/8,1 。plot(xx,
35、yy,r) stem(xx,yy,b-.) legend(A 律压缩特性 , 折线近似 A 律 ,4)图 3-2 A 律 13 折线图 3-3 卩律 15 折线如图 3-2 所示,13 折线各段落的分界点 A=87.56 曲线十分逼近,并且两特 性起始段的斜率均为 16,这就是说,13 折线非常逼近 A=87.56 的对数压缩特 性。在 A 律特性分析中可以看出,取 A=87.56 有两个目的:一是使特性曲线原 点附近的斜率凑成 16。二是使 13 折线逼近时,x 的八个段落量化分界点近似于 按 2 的幕次递减分割,有利于数字化。如图 3-3 所示,15 折线非常逼近卩=225 的对数压缩特性
36、。第4章 信道编码及译码4.1卷积码的概念介绍卷积码是一种性能优越的信道编码。 (n ,k ,N) 表示把 k 个信息比特编成 n 个比特,N 为编码约束长度 , 说明编码过程中互相约束的码段个数。卷积码编 码后的 n 个码元不仅与当前组的 k 个信息比特有关 ,而且与前 N - 1 个输入组 的信息比特有关。编码过程中相互关联的码元有 Nxn 个。R = k/ n 是卷积 码的码率 ,码率和约束长度是衡量卷积码的两个重要参数1。4.2卷积码的编码过程介绍以(2,1,4) 为例,如图 4-1 所示,详细介绍卷积码的编码流程。图 4-1 (2,1,4) 卷积码编码器方框图(4-1)(4-2)由(
37、4-1) 式和(4-2) 式可以看出:输出的数据位 V1,V2 和寄存器 D0,D1,D2,D3 之间的关系。根据模 2 加运算特点可以得知奇数个 1 模 2 运算后结果仍是 1,偶数个 1 模 2 运算后结果是 0。在实际应用中,根据模 2 加的特点,将所要处理的数据 直接相加后除 2求余,这样得到的结果和模 2 运算结果相同。这样可以得到:(4-3) (4-4 )编码程序流程图图 4-2 卷积码编码程序流程图4.3卷积码译码过程的概述卷积码的译码方式有三种:(1)1963 年由梅西(Massey)提出的门限译码,这是一种基于码代数结构的代数译码,类似于分组码中的大数逻辑译码。 (2)196
38、3 年由费诺 (Fano) 改进的序列译码,这是基于码的树状图结构上的一种准最 佳的概率译码。 (3) 1967 年由维特比提出的 Viterbi 算法。这是基于码的网 (trellis) 图基础上的一种最大似然译码算法,是一种最佳的概率译码方法8其中,代数译码,利用编码本身的代数结构进行译码,不考虑信道本身的统计 特性。该方法的硬件实现简单,但性能较差,其中具有典型意义的是门限译 码。另一类是概率译码,这种译码通常建立在最大似然准则的基础上。由于计 算是用到了信道的统计特性 . 因而提高了译码性能,但这种性能的提高是以增加 硬件的复杂度为代价的。 常用的概率译码方法有维特比译码和序列译码。维
39、特 比译码具有最佳性能,但硬件实现复杂。门限译码性能最差,但硬件简单。序 列译码在性能和硬件方面介于维特比译码和门限译码之间。(1) 译码原理: 卷积码译码方法主要有两类:代数译码和概率译码。代数译码主要根据码 本身的代数特性进行译码,而信道的统计特性并没有考虑在内。目前,代数译 码的主要代表是大数逻辑解码。该译码方法对于约束长度较短的卷积码有较好 的效果,并且设备较简单。概率译码,又称最大似然译码,是基于信道的统计 特性和卷积码的特点进行计算。在现代通信系统中,维特比译码是目前使用最 广泛的概率译码方法。维特比译码算法基本原理是:将接收到的信号序列和所有可能的发送信号 序列比较,选择其中汉明
40、距离最小的序列认为是当前发送序列。具体步骤如下:1. 从时间单元 j=m开始, 计算进入每个状态的路径的汉明距离。 存储每个状态 的路径(即幸存路径)以及最小汉明距离。这里存储的路径通常是该状态所对 应的幸存路径上的前一状态值。2. j 增加 1。计算进入每一个状态所有路径的汉明距离。这个汉明距离是进入该 状态的分支度量加上在与该分支相连的前一步的幸存路径的度量值。对于每个 状态,共有 个这样的度量值,从中选出并存储最优路径(汉明距离最小的路 径)并保存最小汉明距离。3. 如果 jL+m .重复步骤 2,知道结束。在整个过程中,这样就可以得到一条汉 明距离最小的最优路径。同样以(2,1 ,4)
41、 为例,具体分析维特比译码过程。维特比译码的前提是建立合适的网格图,以便寻找最优路径。或者可以认 为,维特比译码的关键是寻找最优路径。在实际的译码操作过程中,怎样建立网格以及建立网格后的路径的选择是译码的关键问题。图 4-3 (2,1,4)码状态转移图如图所示,图 4-3 为 (2,1,4) 码的状态转移图,图 4-5 为 (2,1,4) 码的 网格图。注意:由于 D1D2D 表示的顺序不同,所产生的网格图和状态转移图也不 同,并且译码过程是根据网格图实现,所以本文所以涉及的维特比译码方法具 有一定的特殊性,但是整体过程还是具有研究价值。(2)编程实现维特比译码可分为网格图建立,寻找最优路径,
42、译码这三部分。译码程序 流程如图 4-4 所示:图 4-4 译码流程图1网格图建立根据图 4-5 所示的(2,1,4)码的网格图,可以发现 D1D2D 决定了从 000 111 的 8个状态。并且进一步观察网格图可以发现从状态 000-011 是由输入的 信息位 0 产生,从状态 100-111 是由输入的信息位 1 产生。此外,以 001 状态 为例,可以看出状态 001是由状态 010 和状态 011 产生。由上面可知,假设当 前状态为 i, 那么在前一时刻中,产生状态 i 的两个状态是 2*i 和 2*i+1 。根据 i 是否小于 4,来判断状态 i 是由信息位0 还是信息位 1 生成。
43、进一步可以推知 指向状态 i 的前一时刻的两个状态生成的码组,这样便于以判断汉明距离。图 4-5 (2,1,4) 码网格图2寻找最优路径 网格图建立之后,根据接收码组和网格图中生成的码组比较,判断最优路径。 假设某一时刻的状态 i ,首先判断前一时刻所有状态中,是哪两个状态指向当前状态 i ;其次,根据这两个指向当前状态 i 的状态生成的码组和前一时刻接 收的码组比较,保留汉明距离最小的那条路径以及到达状态 i 时的最小汉明距 离。下一时刻,同样操作,但是保留的最小汉明距离是前面最小汉明距离累 加。在所有的接收码组处理完之后,会得到一组汉明距离以及所对应的最优路 径。比较选择出最小的汉明距离,
44、那么该最小汉明距离所对应的路径即为最优 路径。3译码如图 4-5 所示,其中红线表示计算得到的最优路径。观察其变化规律,可以 发现,假设 i 时刻的状态和第 (i+1) 时刻比较得知,若第 (i+1) 时刻小于第 i 时 刻,那么对应代表实际信息中 0;若大于,则为 1。然后逐次比较译出信息值。4.4卷积码的最大似然译码卷积码概率译码的基本思路是4:以接收码流为基础,逐个计算它与其他所 有可能出现的、连续的网格图路径的距离,选出其中可能性最大的一条作为译 码估值输出。概率最大在大多数场合可解释为距离最小,这种最小距离译码体 现的正是最大似然的准则。卷积码的最大似然译码与分组码的最大似然译码在
45、原理上是一样的,但实现方法上略有不同。3主要区别在于 :分组码是孤立地求 解单个码组的相似度,而卷积码是求码字序列之间的相似度。基于网格图搜索 的译码是实现最大似然判决的重要方法和途径。用格图描述时,由于路径的汇 聚消除了树状图中的多余度,译码过程中只需考虑整个路径集合中那些使似然 函数最大的路径。 如果在某一点上发现某条路径已不可能获得最大对数似然函 数,就放弃这条路径,然后在剩下的“幸存”路径中重新选择路径。这样一直 进行到最后第 L 级(L 为发送序列的长度)。由于这种方法较早地丢弃了那些不可 能的路径,从而减轻了译码的工作量, Viterbi 译码正是基于这种想法。 对于 (n, k,
46、 K ) 卷积码,其网格图中共 2kL#状态。由网格图的前 K-1 条连续支路构成 的路径互不相交,即最初 2条路径各不相同,当接收到第 K 条支路时,每条路 径都有 2 条支路延伸到第K 级上,而第 K 级上的每两条支路又都汇聚在一个节点 上。在 Viterbi 译码算法中,把汇聚在每个节点上的两条路径的对数似然函数累 加值进行比较, 然后把具有较大对数似然函数累加值的路径保存下来,而丢弃 另一条路径,经挑选后第 K 级只留下 2K 条幸存路径。选出的路径同它们的对数似 然函数的累加值将一起被存储起来。由于每个节点引出两条支路, 因此以后各 级中路径的延伸都增大一倍, 但比较它们的似然函数累
47、加值后,丢弃一半,结 果留存下来的路径总数保持常数。由此可见,上述译码过程中的基本操作是, “加-比-选”,即每级求出对数似然函数的累加值,然后两两比较后作出选 择。有时会出现两条路径的对数似然函数累加值相等的情形, 在这种情况下可 以任意选择其中一条作为“幸存”路径。卷积码的编码器从全零状态出发,最后又回到全零状态时所输出的码序0列,称为结尾卷积码。因此,当序列发送完毕后,要在网格图的终结处加上(K-1)个己知的信息作为结束信息。在结束信息到来时,由于每一状态中只有 与已知发送信息相符的那条支路被延伸,因而在每级比较后,幸存路径减少一 半。因此,在接收到(K-1)个己知信息后,在整个网格图中
48、就只有唯一的一条 幸存路径保留下来,这就是译码所得的路径。也就是说,在己知接收到的序列 的情况下,这条译码路径和发送序列是最相似的。由上述可见, Viterbi 译码过程并不复杂,译码器的运行是前向的、无反 馈的。它接收一段,计算一段,选择一段最可能的码段 (分支) ,从而达到整个 码序列是一个有最大似然函数的序列。传输序列很长时,判决需要的长延时和 相当大的存储量是我们无法承受的。因此,实际应用中采用截短 Viterbi 算法,即不需要接收到所有序列才进 行判决,当译码器接收并处理完了固定的 T ( T 5 N 时 ( N 为编码的约束长度 ) , 误比特率数值趋于稳定 , 因此, 在确定回
49、溯长度时既 要考虑到随着T的增加误比特率随之降低的趋势,也要考虑到译码延迟会变大,在选取回溯长度时,通常取T= 5No图 6-2 不同回溯长度对误码性能的影响分析不同回溯长度对卷积码误码性能的影响时用到的程序如下:x=-10:5oy=xofor i=1:length(x)SNR=x(i)osim(yima)oy(i)=mean(BitErrorRate)oendsemilogy(x,y)ohold on for i=1:length(x)SNR=x(i) 。sim(yima1) 。y(i)=mean(BitErrorRate) 。endsemilogy(x,y) 。hold on。for i=
50、1:length(x)SNR=x(i) 。sim(yima2) 。y(i)=mean(BitErrorRate) 。endsemilogy(x,y) 。6.3不同码率对卷积码误码性能的响下面图 6-3 是通过改变卷积码的码率为 1/2 和 1/3 而得到的二条对比曲 线。上面的一条曲线是码率为 1/2 ,下面的是码率为 1/3 。卷积码的码率 R = k/ n, 他是卷积码的一个重要参数 , 当改变卷积码的码率时 , 系统的误码性能也将 随之发生变化。从图 6-3 中的误比特率曲线可以看出 ,当码率一定时 ,随着信道 噪声的逐渐减小 , 系统的误比特率也逐渐减小 ,当改变系统码率时 , 随着卷
51、积码码 率的逐渐提高 , 系统的误比特率也呈现出增大的趋势 ,也就是说码率越低 ,系统的 误比特率就越小 , 误码性能就越好。图 6-3 卷积码不同码率对误码性能的影响分析不同码率对卷积码误码性能的影响时用到的程序如下:x=0:5 。y=x 。for i=1:length(x)SNR=x(i) sim(yima1) 。y(i)=mean(BitErrorRate) 。endsemilogy(x,y) 。hold on 。for i=1:length(x)SNR=x(i) 。sim(yima2) 。y(i)=mean(BitErrorRate) 。endsemilogy(x,y) 。6.4不同约
52、束长度对卷积码的误码性能影响如下图 6-4 ,对于码率一定的卷积码 ,当约束长度 N 发生变化时 ,系统的误 码性能也会随之发生变化 , 我们以码率 R = 1/ 2 的(2 ,1 ,3)和(2,1,7)卷积码为例展开分析。上面的曲线是( 2,1,3)卷积码的误码性能曲线。下面 的曲线是( 2,1, 7)卷积码的误码性能曲线。从图5-4 中的误比特率曲线可以清楚地看到 ,随着约束长度的逐渐增加 , 系统的误比特率明显降低 , 所以说当码率 一定时,增加约束长度可以降低系统的误比特率 , 但是随着约束长度的增加,译 码设备的复杂性也会随之增加 ,所以对于码率为 1/ 2 的卷积码,我们在选取约
53、束长度时一般为 39。图 6-4 不同约束长度对卷积码误码性能的影响分析不同约束长度对卷积码误码性能影响用到的程序如下:x=0:5 。y=x 。for i=1:length(x)SNR=x(i) 。sim(yima) 。 y(i)=mean(BitErrorRate)endsemilogy(x,y) 。hold on 。for i=1:length(x)SNR=x(i) 。sim(yima1) 。y(i)=mean(BitErrorRate) 。endsemilogy(x,y) 。通过上面从( 1)回溯长度;( 2)码率;( 3)约束长度这三个卷积码的重 要参数的变化后对译码性能的分析,我们得
54、到在卷积码的编码,译码过程中有 很多条件是不可能同时满足的。所以我们要根据具体情况来选择合适的参数。第7章 结论通过本次课题的研究,针对 Viterbi 算法在理论和实现两方面分别进行了 较深的研究。理论方面,在深入了解了用于卷积码的 Viterbi 译码算法基本原 理后,进一步将其拓展到 SIMULINK 莫块仿真方面的应用,主要给出了基于 Matlab 的卷积编码和 Viterbi 算法应用过程。在实现方面,本文重点研究的是 用 SIMULINK 实现不同码率;不同约束长度;不同回溯长度下的卷积码的误码性 能的对比研究 . 最后仿真得到对比图,达到了研究的预期目的。经过自己的努力和唐老师的
55、耐心指导,毕业设计顺利按时完成。它是对我 们把本科四年所学的理论知识运用到实践中的一次系统的检验。从接到题目到 设计结束的过程中经历了很多,总的来说可以概括为以下几点。( 1)设计中要用到的 Simulink 仿真软件是我们第一次接触,所以刚接到题 目时无从下手,后来通过上网和借助图书馆的书籍,学习这门新的软件,学习 过程中遇到很多困难,但通过自己的努力和老师的帮助,最终掌握了仿真的基 本方法。(2) 由于面临找工作的问题,和此次设计工作的时间安排上有一定的冲 突。为了顺利完成设计工作,老师安排了每周的工作量和所要达到的目标,自 己也制定了相应的时间表,以求更充分的利用时间。(3) 刚开始在设计的步骤和方法上比较混乱, 后通过借阅各种资料和请教 老师,有了明确的工作方向和清晰的设计步骤,使我能在更短的时间内很好的 完成了本次毕业设计。由于时间原因,本文的工作在很多方面未能更深入地研究下去。如对于 Viterbi译码的软,硬判决的误码性能对比和应用还有必要进一步研究。参考文献1信息论与编码 高等教育出版社 仇佩亮 编著2 MATLAB/Simulink 通信系统建模与仿真实例
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026学年福建省晋江市南安市一年级数学期末自测模拟精准押题卷详细参考解析详细答案和解析
- 地铁防汛挡水设施安装方案
- 火电机组集控值班员岗位认证题库及答案
- 除尘工岗前技术理论考核试卷含答案
- 2026学年云南省楚雄市四年级数学期末高分重点试题详细参考解析详细答案和解析
- P2P网络借贷课程期末考试试题
- 去石机安全操作规程
- 药物精制工安全操作规程
- 轻钢龙骨石膏板吊顶防开裂节点施工方案
- 自身免疫性肝病鉴别诊断中国专家共识(2026版)
- 智慧树知到《中国古典舞的审美认知与文化品格(重庆大学)》章节测试答案
- 艺术品交易市场建设合同
- 非遗课程设计详细教案
- 公共图书馆情绪疗愈空间设计研究:动因、现状与实现机制
- 肺部疾病护理查房
- 心理咨询中的认知重构技巧
- 狼图腾读书笔记摘抄及感悟第二章(4篇)
- 第9章 语义分割
- 敖汉旗新惠工业园区项目地质灾害危险性评估报告
- 人机工程学-第九章人与环境的界面设计
- 社会认知与评价方法课件
评论
0/150
提交评论