通信专业课程设计一
太原科技大学
课 程 设 计(论 文)
设计(论文)题目:TurBo 码的仿真设计
姓
学
班
学
名
号
级
院 信息科学与技术学院
指导教师
2020 年 11 月 13 日
太原科技大学晋城校区课程设计(论文)任务书
学院(直属系):信息科学与技术学院
时间: 2020 年 10 月 31 日
学 生 姓 名
指 导 教 师
设计(论文)题目
TurBo 码的仿真设计
1. 研究在信噪比为 2db,码率为 1/2,迭代次数为 5 次的情况下,
主要研
不同译码算法对 TurBo 码的性能影响。
究内容
2. 研究在信噪比为 2db,码率为 1/2,同样采用 Log-MAP 算法的
情况下,不同迭代次数对 TurBo 码的性能影响。
研究方法
使用 Matlab 仿真软件对 TurBo 码编、译码进行仿真及分析。
1.在信噪比为 2db,码率为 1/2,迭代次数为 5 次的情况下,可以
主要技术
得出 Log-MAP 算法的性能比 SOVA 算法的性能好。
指标(或研
究目标)
教研室
意见
2.在信噪比为 2db,码率为 1/2,同样采用 Log-MAP 算法的情况下,
同样达到传输停止帧错误上限时,迭代次数越多,TurBo 码的性能越
好。
教研室主任(专业负责人)签字:
年 月 日
李浩宇:TurBo 码的仿真设计
TurBo 码的仿真设计
摘 要
纠错码技术作为改善数字通信可靠性的一种有效手段,在数字通信的各个领域中
获得极为广泛的应用。TurBo 码是并行级联递归系统卷积码,在接近 Shannon 限的低
信噪比下能获得较低的误码率,现已被很多系统所采用。本文分析了 TurBo 码编码译
码的原理,研究并建立了一种基于 Matlab 的 TurBo 码仿真设计,对仿真结果进行分析,
结果表明,在信噪比相同的情况下,迭代次数越多、译码算法越优,TurBo 码性能越
好。
关键词: TurBo 码,编码,译码,仿真
I
李浩宇:TurBo 码的仿真设计
目 录
第 1 章 绪论 ..............................................................1
1.1 研究背景和意义 ...................................................... 1
1.2 研究内容 ............................................................ 1
1.3 本文组织结构 ........................................................ 2
第 2 章 TURBO 码编译码原理 ................................................. 3
2.1 TURBO 码的编码结构 .................................................. 3
2.1.1 交织器工作原理及选用 ............................................3
2.1.2 分量编码器的工作原理及选用 ......................................3
2.1.3 删余矩阵的工作原理及选用 ........................................4
2.2 TURBO 码的译码结构 .................................................. 5
2.3 TURBO 码的译码算法 .................................................. 5
2.3.1 TurBo 码的 Log-MAP 算法 .......................................... 5
2.3.2 TurBo 码的 SOVA 算法 ............................................. 6
第 3 章 TROBO 的仿真结果及分析 ............................................. 7
3.1 TROBO 的仿真结果及分析 .............................................. 7
3.1.1 不同译码算法对 TurBo 码的性能影响 ................................ 7
3.1.2 不同迭代次数对 TurBo 码的性能影响 ................................8
第 4 章 总结 ..............................................................10
附录 .....................................................................12
II
李浩宇:TurBo 码的仿真设计
第 1 章 绪论
1.1 研究背景和意义
1993 年 日 内 瓦 国 际 通 信 会 议 上 , C.Berrou 、 A.Glavieux 和 他 们 的 学 生 P.
Thitimajshima 首次提出一种新型的信道编码方案为 TurBo 码。由于它很好地应用了
Shannon 信道编码定理中的随机性编、译码条件,从而获得了几乎接近 Shannon 理论
极限的译码性能。
TurBo 码巧妙地将两个简单分量码通过伪随机交织器并行级联来构造具有伪随机
特性的长码,并通过在两个软入/软出(SISO)译码器之间进行多次迭代实现了伪随
机译码。TurBo 码在编码时使用并行级联卷积码的递归编码器结构,引入交织器对进
入分量编码器的信息序列进行随机交织,从而获得了近似长码的编码输出;译码时使
用软输入软输出译码器进行递归迭代译码[1]。它的性能远远超过了其他的编码方式,
它与以往所有的码的不同之处在于它通过一个交织器的作用,达到接近随机编码的目
的;它所采用的迭代译码策略,使得译码复杂性大大降低,从而提高译码性能。人们
将 TurBo 码中子译码器互换信息以相互支持的思想称为“TurBo 原理”。
TurBo 码一出现,就在编码理论界引起了轰动,成为自信息论提出以来最重大的
研究进展。但由于几位发明者仅给出了一定参数下的计算机仿真结果,而没有严格的
理论分析和解释,所以近些年来在编码界掀起了 TurBo 码的研究热潮。
对于 TurBo 码的研究最初集中于对于其译码算法、性能界和独特编码结构的研究
上,经过十多年来的发展历程,已经取得了很大的成果,在各方面也都走向使用阶段。
目前,TurBo 码已经在深空通信、卫星通信以及多媒体通信等领域得到了广泛应用。
第三代移动通信系统 IMT-2000 已经将 TurBo 码作为其传输高速数据的信道编码标准。
但对于 TurBo 码来说,在地面无线通信系统中的应用研究仍富有挑战性。因此,开展
TurBo 码关键技术及 TurBo 原理的应用研究,具有理论和实践两方面的意义。
1.2 研究内容
本文利用 MATLAB 对 TurBo 码进行编码、译码、仿真,并对其在设定不同参数
1
李浩宇:TurBo 码的仿真设计
情况下进行研究分析。首先,编码方面对分量编码器级联方式和交织器进行设计,然
后,译码方面对迭代译码、译码算法进行设计,最后,在给定不同参数的条件下,对
TurBo 码的性能进行仿真分析。结果证明了在信噪比、码率相同的情况下,迭代次数
越多、译码算法越优,TurBo 码性能越好。
1.3 本文组织结构
第一章介绍了 TurBo 码的产生背景,研究意义,研究现状。
第二章详细介绍了 TurBo 码的编译码原理,对各器件工作原理进行阐述分析。对
TurBo 码的译码算法进行介绍。
第三章对 TurBo 码进行仿真并对结果进行分析。
第四章对本文进行总结。
2
李浩宇:TurBo 码的仿真设计
第 2 章 TurBo 码编译码原理
2.1 TurBo 码的编码结构
TurBo 码的典型编码器如图 2.1 所示,TurBo 码编码器主要由交织器、分量编码器、
删余矩阵以及复接器组成。
2.1.1 交织器工作原理及选用
图 2.1 TurBo 码的编码结构
交织器的作用是改变信息结构将传输过程中出现的突发错误进行的分散化和不规
则化。码字的重量分布决定了 TurBo 码的纠错译码性能,交织器可以改变 TurBo 码的
重量分布,因此,交织器对 TurBo 码性能的好坏有着重要作用。在 TurBo 码中,交织
器使输入码元符号的顺序尽可能随机分布,使码元符号之间的相关性减弱,从而使进
入各个子译码器的信息序列之间不相关。这使得各个子译码器彼此独立的工作,互相
利用软判决信息,判决结果也因此逐渐准确。但是,同样由于 TurBo 码是以帧的形式
编码,交织器的存在使得 TurBo 码存在时延,帧越长,时延越大。所以,只有允许较
大时延的系统,才可以充分发挥 TurBo 码的作用。
2.1.2 分量编码器的工作原理及选用
分量编码器是 TurBo 码编码器中的一个重要组成部分,虽然从原则上讲,任何系
3
李浩宇:TurBo 码的仿真设计
统码都可作为分量码。但是,在信噪比较低时,递归系统卷积码的性能要比非递归卷
积码的性能好;当信噪比较大时,非递归卷积码的误比特率性能要比递归系统卷积码
的误比特率性能稍好。而 TurBo 码主要低信噪比条件下具有性能优势,因此本文采用
递归系统卷积码(RSC)来实现。
TurBo 码之所以利用 RSC 编码,因为循环编码器可以改善码的比特误码率性能。
非循环卷积码编码器状态转移循环编码后,其状态图变为图个状态转移图非常相似,它
们具有相同的生成矩阵、最小自由距离和网格结构;但是,循环编码后输出码字的重量
增加了,从而提高了比特误码率性能。
对于 RSC 编码器,由于有反馈,RSC 编码器的状态很难确定,加“0”的策略不
能达到网格终止的目的。而且,在编码器 I 回到了全“0”状态,由于加入了交织器,
编码器 II 却不一定回到全“0”状态, 所以需要寻求别的办法来终止网格。本文采用的
方法是初始状态为全“0”在 RSC 编码器 I 的信息序列后加入 m 个“0”比特,使其状
态回到全“0”从而使网格终止,而编码器 II 不终止,处于开放状态,可以在任何状
态停止编码。
2.1.3 删余矩阵的工作原理及选用
TurBo 码的删余就是通过删除冗余的校验位来调节码率。TurBo 码采用两个成员
编器,产生的冗余比特比一般情况多一倍,这在很多场合下并不需要,但又不能排斥
任何一个编码器,折中的办法就是按一定规律轮流选用两个编码器的校验比特。
本文采用的是两个 1/2 成员编码器,如果不删余,信息位加两个编码器的校验位
将产生 1/3 的码流,但如果令编码器 1 的校验流乘以一个删余矩阵,令编码器 2 的校
验流乘以删余矩阵 P 即可,其中 1 代表传输此比特,0 表示不传输,这样就产生了在
编码器 1 和 2 之间轮流取值的效果。一般情况下,设两个编码器的校验位生成矩阵为
q 和 q’,m 和 m’为交织前后的 N 位信息位流,则 m 和 q 分别为 1xN 的校验位矢量;
删余矩阵 P 为 Nx2 矩阵(p1,p2),其中 p1 和 p2 均为 Nx1 的列矢量,由 0 或 1 值组成,
分别表示对两个编码器校验位的选择情况,1 表示该编码比特作为输出比特传输到对
端,0 表示该编码比特不进行传输。
通俗理解 1/2 码率就是信号中有一半都是“无用信号”,这些“无用信号”就是
4