一种基于Simulink的Turbo码仿真实现
基于Matlab的Turbo码仿真研究
西华大学毕业设计说明书
1 绪论
随着通信技术和计算机技术的迅猛发展,每时每刻都在不断涌现出新的通信和信息 业务,同时各个用户对通信质量和数据传输速率的要求也不尽相同。由于传输信道本身 特有的噪声和衰落的原因,信号到达接收端时难免的会受到干扰而使信号失真。现在一 般采用差错控制码来检查并纠正由信道失真引起的信息传输错误。 由于差错控制码主要 用于实现信道纠错, 所以又称为纠错码。 编译码技术的日益成熟使其应用领域不断扩大, 比如在众多信息交换和存储设备中的广泛应用。 现代信息和编码理论的奠基人 C.E.Shannon 在 1948 年提出了著名的信道编码定理, 在定理中 Shannon 给出了在数字通信系统中实现可靠通信以及在特定信道上实现可靠通 信的信息传输速率上限的方法。Leabharlann 西华大学毕业设计说明书目 录
1 绪论 .................................................................... 1 1.1 数字通信系统的结构 ............................................... 1 1.2 Turbo 码的研究现状 ................................................ 2 1.3 Turbo 码系统仿真模型设计 .......................................... 3 2 Turbo 码的编码 .......................................................... 5 2.1 Turbo 码编码结构 .................................................. 5 2.2 本章小结 ......................................................... 8 3 译码 ................................................................... 9 3.1 Turbo 码的译码结构 ................................................ 9 3.2 基于后验概率的译码算法(MAP 算法) .................................. 9 3.3 MAP 算法的简化算法 ............................................... 13 3.4 迭代译码 ........................................................ 14 3.4.1 算法推导 .................................................. 15 3.4.2 不同迭代次数仿真 .......................................... 16 3.5 本章小结 ........................................................ 18 4 交织器的设计 .......................................................... 19 4.1 交织器的概述 .................................................... 19 4.2 交织器的设计 .................................................... 19 4.2.1 交织器的分析及设计 ........................................ 19 4.2.2 设计过程 .................................................. 20 4.2.3 S-随机交织后输出 .......................................... 22 4.3 本章小结 ........................................................ 23 5 程序设计 .............................................................. 24 5.1 软件介绍 ........................................................ 24 5.2 Turbo 码程序设计流程图: ......................................... 25 5.3 程序仿真及结果分析 .............................................. 27 6 总结与体会 ............................................................ 30 7 致谢 .................................................................. 31 8 参考文献 .............................................................. 32 9 附录:仿真程序 ........................................................ 33
Turbo码的性能分析与仿真
Tur bO码 编 码 器 是 由 两 个 递 归 系 统 卷 积 码 ( RSC) 码器 、一 个交织 器 、一个 删余 单元 及复 用 编
输 入软 输 出 ( I O)译 码器 串行级 联组 成 ,交 织器 SS 与编码 器 中所使 用的 交织器 相 同 。
值 。 由于 当 时主 要是 运 用数 值模 拟 结果 ,缺 乏 相应
单 元组 成 。递 归 系统 卷 积编 码器 是 指带 有 反馈 的 系 统 卷积编 码 器 ,其码 率 可设 为 R=k/n ;交织 器 用
来 改变 信息 序 列 的 ̄ # I 序 ,获 得 与原 始 信 息序 列 IUi P @ 内容相 同、但排 列 不 同的 信息 序 列 。在发 送端 ,其 编 码 的随机 性 是通过 编 码器 中的 交织器 以及并 行 级 联 方式 来 实现 的 ,其 中交 织器设 计 的 好坏 和 成 员编
码 器 的选择 是决定 码字性 能关 键 因素之 一 。
理 论分 析 。 以后的发 展证 明 ,Tu b r o码 的确提 供 了
构 造好 码 的一 条新思 路 ,自提 出 T r o码 以来 ,通 ub
信 各领 域将 其作 为研 究 的热点 ,并 被逐 渐应 用 。
2 T ro码编译码结构 ub
1 码 ,并 产 生 关 于 d 译 r 改进 的 外信 息 A () 由于 译 。 。 喀
l( : mx1z,使加法运算变成求最大值运算 ,如 oe ) aAl) g“ : (
此进一步简化 了算法 ,但付出的代价是性能的下降。
( O 4 )S VA 算法 :对标 准 Vi r i t b 算法 进行 了修 e
Turbo码原理及仿真
Turbo码原理及仿真1993 年C.Berrou、A.GIavieux 和P.Thitimajshiwa 首先提出了称之为Turbo 码的并行级联编译码方案。
Turbo码性能取决于码的距离特性。
线性码的距离分布同于重量分布,如果低重量的输入序列经编码得到的还是低重量的输出序列,则距离特性变坏。
该特性对于块码来说不存在问题;然而对于卷积码,则是个非常严重的问题。
因为卷积码的距离特性是影响误码率的一个非常重要的因素。
在Turbo码中,利用递归系统卷积码(RSC)编码器作为成员码时,低重量的输入序列经过编码后可以得到高重量的输出序列。
同时交织器的使用,也能加大码字重量。
实际上,Turbo码的目标不是追求高的最小距离,而是设计具有尽可能少的低重量码字的码。
Turbo 码由两个递归系统卷积码(RSC)并行级联而成。
译码采用特有的迭代译码算法。
1 Turbo码编码原理編码M 2 Turbo典型的Turbo码编码器结构框图如图2所示:由两个反馈的编码器(称为成员编码器)通过一个交织器I并行连接而成。
如果必要,由成员编码器输出的序列经过删余阵,从而可以产生一系列不同码率的码。
例如,对于生成矩阵为g=[g1,g2]的(2,1, 2)卷积码通过编码后,如果进行删余,则得到码率为1/2的编码输出序列;如果不进行删余,得到的码率为1/3。
一般情况下,Turbo码成员编码器是RSC编码器。
原因在于递归编码器可以改善码的比特误码率性能。
32编码图了 Tbrtw 码怕码曙方案中使用的Turbo 码为1/3码率的并行级联码,它的编码器由两个相同的码率为 1/2的RSC 编码器及交织器组成,如图4所示。
由于与非递归卷积码相比,递归卷积码产生的码字重量更大,所以这里采用了两个相同的系统递归卷积码(RSC)。
信息序列分成相同的两路,第一路经过 RSC 编码器1,输出系统码A及校验码C 2。
另一路先通过交织器进行交织,使信息序列在1帧内重新排列顺序,然后经过 RSC 编码器2得到系统码和对应的校验码,由于该系统码和A 实际上都是原信息序列,只是排列顺序不同,在接收端完全可以通过对进行交织得到,因此在传输过程中可以省去,而只保留对应的校验位q。
Turbo码的编译码原理及仿真
Turbo码的编译码原理及仿真内容摘要:Turbo 码是巧妙地将两个简单分量码通过伪随机交织器并行级联来构造具有伪随机特性的长码,并通过在两个输入/输出(SISO)译码器之间进行多次迭代实现了伪随机译码。
目前Turbo 码的大部分研究致力于在获得次优性能的情况下减小译码复杂度和时延,从而得到可实现的Turbo码系统。
Turbo码具有极其广阔的应用前景,是信道编码界的一个重大突破,被称为二十一世纪的纠错编码。
本文介绍了Turbo 码的产生背景,研究意义,研究现状(编译码技术、Turbo码的设计和分析、Turbo码在CDMA系统中的研究及应用、面向分组的Turbo码、Turbo码与其它通信技术的结合),编码原理、译码原理及Turbo码的性能仿真及设计。
通过对Turbo编译码原理的介绍及性能仿真的波形、频谱图的结果,本文对系统进行性能分析,并作了进一步的改进和调试。
仿真结果证明了整个设计系统的正确性。
由频谱特性可以看出:Turbo码不仅能够有效地抵御加性高斯噪声,而且具有很强的抗衰落和抗干扰特性。
可以看出,Turbo码在现代通信中具有较大的优越性和重要作用。
关键词:turbo码编码译码仿真Turbo Code principle And SimulationAbstract: The Turbo code is ingeniously two simple component code by pseudo random interleaver parallel cascade constructs has random characteristic of long code, and through the two input / output ( SISO ) decoder between iteration realized pseudorandom decoding. At present, most of research devoted to the Turbo code in obtaining suboptimal performance in the absence of reducing decoding complexity and delay, thus can realize Turbo code system. Turbo code has extremely broad application prospect, is the channel coding community a major breakthrough, known as the twenty-first Century error correction coding.This paper introduces the Turbo code generation background, research significance, research status ( compiled code technology, design of Turbo code and Turbo code analysis, in the CDMA system research and application, a packet-oriented Turbo code, Turbo code and other communications technologies ), encoding, decoding principle of principle and performance simulation of Turbo codes and design.Based on the Turbo compiler code principle introduction and performance simulation waveform, the result of spectrum, the system performance analysis, and made a further improvement and debugging. The simulation results prove that the design scheme is correct. The spectral character can see: Turbo code can not only effectively against the Gauss noise, but also has strong resistance to fading and interference properties. As can be seen, the Turbo code in modern communication has more advantages and important role.Keywords: the turbo code encoding decoding simulation目录前言 (1)1 绪论 (2)1.1T URBO码的研究背景及发展 (2)1.2本文的论文结构安排 (4)2 TURBO码的编码原理 (5)2.1T URBO码的编码器的组成 (5)2.2T URBO码的删余矩阵 (6)2.3T URBO码的交织器 (7)2.4本章小结 (9)3 TURBO码的译码原理 (9)3.1T URBO码的译码结构 (9)3.2T URBO码的LOG-MAP算法 (11)3.3SOVA译码算法 (13)3.4各种译码算法的比较 (14)3.5本章小结 (15)4 TURBO码的性能仿真及设计 (15)4.1T URBO码仿真系统的实现 (15)4.2T URBO码的仿真结果及分析 (19)4.2.1 不同码率对Turbo码的性能影响 (19)4.2.2 不同译码算法对Turbo 码的性能影响 (19)4.2.3 迭代次数 (20)4.2.4 交织长度 (21)4.3本章小结 (22)5 结束语 (22)参考文献 (24)Turbo码的编译码原理及仿真前言随着社会、经济的快速发展,Turbo码的应用越来越广泛。
基于Turbo码的扩频通信系统仿真
般 是相 同的.图 1中 , N 比特 信 息进 入 第一 编 码 在 器 的 同时 , 过交 织器将 此 N 比特信息 传送 到第 二 通
编 码器 .由于 编码 器采 用 的是 系统 码 , 以每个 编 所 码 器 的输 出在 N个 消 息 比特 后 加 上 了 N个 监 督 比
信道 编码也 是要 考虑 的一 个重 要 因素.通 过信 道 编 码 可 以增加 发射 信号 带宽 ,从而 减 少发 信 机 的发 射 功率 , 带宽 的增 加是 通过 冗 余 编 码 实现 的… .所 而
以可 以使用 信道 带宽 来换 取发 信机 的发 射功 率 . T ro ub 码是 由法 国不 列颠 通信 大学 的科 学 家 C .
21 0 0年 1 O月
洛 阳师 范学 院学 报
J u n l fL o a g No ma ie st o r a u y n r lUnv r i o y
Oc ., 01 t 2 0
第2 9卷 第 5期 பைடு நூலகம்
V0 . 9 No 5 12 .
基 于 T r o码 的 扩 频 通 信 系统 仿 真 ub
中图分类号: N 1.2 T 944
收 稿 日期 : 0 0— 3一 8 2 1 0 O
文献标识码: A
文章编号: 0 9— 9 0 2 1 ) 5一 0 5— 4 10 4 7 ( 0 0 0 O 5 0
作者简介 :王周琴 (9 9一) 女 , 17 , 四川德 阳人 , 助教.
扩 频通 信技 术是 一 种 重 要 的抗 干 扰 通 信 技术 , 目前 已经被广 泛 运用在 军 事和 民用 通 信 系统 中.在
turbo的仿真
Turbo码仿真报告系(部)名称通信工程学院姓名XXXX学号XXXX课程名称通信系统的计算机模拟Turbo 码1: turbo 码的编码介绍 1.1:框图一个常见的Turbo 码编码器如图所示。
两个分量编码器之间通过交织器相连,分量编码器对相同的输入信息进行编码,交织器保证两个分量编码器输出信息尽量不相关。
通常输出的信息比特序列只需要从任何一个分量编码器中选取即可,但考虑到实现问题,选取不经过交织的那一路比特序列要方便得多。
另外,为了能够提高编码速率,两个分量编码器输出的校验比特序列经删余和复用后输出,信息比特序列一般不进行删余处理。
1.2:分量编码器介绍上图给出编码约束度K=3,生成多项式12(,)(7,5)g g 的RSC 编码框图。
若k 时刻的输入比特位k u ,则输出的字码k x 是一个二进制比特对(,)s p k k x x ,其中,sk k x u =称为信息比特,p k x 称为校验比特。
记位移寄存器的输入k a ,则:111k k k u k i a u g a --==+∑ 1210k p ki k i x g a --==∑对K=3的RSC 码,他的状态转移和时间的关系可以形象用网格图表示,对于K=3的情况一共有4个状态,而且没一个状态有两个转移状态,分别对应+1或-1的情况,分支上的数据分别表示K 时刻RSC 编码器的输入和输出,若k-1时刻RSC 编码器处于0状态,并输入0时,则k 时刻编码器仍处于0状态,并输出00,当输入1时,则k 时刻编码器转到2状态,并输出11.1.3:交织器介绍交织器是Turbo 码编码器主要的组成部分,也是Turbo 码的重要特征之一。
线性码的纠错译码性能实质上是由码字的重量分布决定的,Turbo 码也是线性码,所以其性能也是由码字重量分布决定。
在传统的信道编码中,所使用的交织器一直是分组交织器或卷积交织器,其目的主要是抗信道突发错误,即将信道或级联码内码译码器产生的突发错误随机化,把由于受到噪声干扰而导致具有相关性的数据恢复成相互独立的交织器是一个映射函数优点:1:作用:将输入信息序列中的比特位置进行重置,以减小分量码输出校验序列的相关性和提高码重。
TURBO码的编译码原理及matlab仿真
Turbo码的编译码原理及MATLAB仿真摘要纠错码技术作为改善数字通信可靠性的一种有效手段,在数字通信的各个领域中获得极为广泛的应用。
Turbo码是并行级联递归系统卷积码,在接近Shannon限的低信噪比下能获得较低的误码率,现已被很多系统所采用。
本文分析了Turbo码编码译码的原理,为了使Turbo码仿真更容易,研究并建立了基于Matlab中Simulink通信模块的Turbo码仿真模型。
使用所建立的模型进行仿真,结果表明,在信噪比相同的情况下,交织长度越大、迭代次数越多、译码算法越优,Turbo码性能越好,设计实际系统时,应综合考虑各因素。
关键词:Turbo码;Simulink仿真;交织长度;迭代次数AbstractAs an effective means to improve the reliability of digital communication, error correcting code technology is widely used in the field of digital communication.Turbo code is a parallel concatenated recursive systematic convolutional code, which can obtain lower bit error rate in the low SNR near Shannon limit,which is now used by many systems.In this paper,the principle of Turbo coding and decoding is analyzed,in order to make the Turbo Code simulation easier,a Turbo code simulation model based on Simulink module of Matlab is studied. Simulation result using the established model shows that the longer interleaving length,the more iteration times and the better decoding algorithm bring the better Turbo code performance with the same SNR value.Keywords:Turbo code;Simulink simulation;Interleaving length;Iteration times;引言根据Shannon[1]有噪信道编码定理,在信道传输速率R不超过信道容量C的前提下,只有在码组长度无限的码集合中随机地选择编码码字并且在接收端采用最大似然译码算法时,才能使误码率接近为零。
Turbo码的编译码算法仿真讲解
电子信息类实践课III 通信系统仿真题目 Turbo码的编译码算法仿真专业学号姓名日期注:本报告仅供参考1、课程设计目的(黑体小三,段前段后个一行)通过完成在在衰落信道下采用不同调制信号进行Turbo码编译码的编程实现,进一步了解了Turbo码的编码解码过程,以及在不同调制方式不同信道下的性能比见。
通过对卷积和交织器的设计,深入了解卷积和交织的作用。
以及熟悉了通信仿真的整体流程。
2、课程设计内容具体叙述课程设计的主要内容和原理。
表1 主要课程设计内容列表课程设计内容负责人肖雨桐Turbo编码译码过程、信道设计、各模块整合卷积、交织杨佳能不同调制信号的设计熊风在进行本次Turbo仿真时,采用了两种不同编程方式。
在程序一中是直接调用matlab Communications System Toolbox中的Turbo编码和解码工具箱,通过配置参数进行仿真。
而在程序二中则根据Turbo 码编译码原理编写。
如果程序一更像是一个黑匣子,只能知道通过编解码模块前、后的数据,而具体做了哪些则不得而知。
a.编码图1 Turbo码编码器结构典型的Turbo码编码器结构框图如图所示:由两个反馈的编码器通过一个交织器并行连接而成。
如果必要,由成员编码器输出的序列经过删余阵,从而可以产生一系列不同码率的码。
例如,对于生成矩阵为g=[g1,g2]的(2,1,2)卷积码通过编码后,如果进行删余,则得到码率为1/2的编码输出序列;如果不进行删余,得到的码率为1/3。
一般情况下,Turbo码成员编码器是RSC编码器。
原因在于递归编码器可以改善码的比特误码率性能。
通俗理解1/2码率就是信号中有一半都是“无用信号”,这些“无用信号”就是两个分量编码器的生成的校验码,而删余则是各删除一部分校验码,把剩下的再和信息比特合在一块,形成编码好的矩阵。
b.译码图2 Turbo译码结构Turbo码获得优异性能的根本原因之一是使用了迭代译码,通过与分量编码器对应的分量译码器之间软信息的交换来提高译码性能。
Turbo码的编译码原理及仿真研究
暑期实习报告——Turbo码的编译码原理及仿真研究一、研究背景 (2)二、研究内容 (2)三、研究过程及结果 (2)1.卷积码及交织器 (2)(一)研究AWGN信道 (2)<实例1> (2)(二)卷积码 (3)<实例2> (4)(三)交织器 (5)<实例3> (5)2.Turbo码编码 (7)3. Turbo码译码 (8)<实例4> (9)<1>不同迭代次数对Turbo码性能的影响: (11)<2>不同交织长度对Turbo码性能的影响: (13)<3>不同码率对Turbo码性能的影响: (15)四、Turbo码的应用 (17)1.Turbo 码在直扩(CDMA) 系统中的研究及应用 (17)2.Turbo码在3G中的应用 (17)(一)RSC 编码器的设计 (18)(二)交织长度的选择 (18)(三)译码器的设计 (18)3.Turbo 码与其它通信技术的结合 (18)五、收获与感悟 (19)一、研究背景Turbo码通过对子码的伪随机交织实现大约束长度的编码,具有接近随机编码的特性,采用迭代译码取得了中等的译码复杂度,它的误码性能逼近了Shannon极限。
Turbo码相对以前的编码方式大大提高了功率的利用率,因此特别适用于信噪比受限的信道,同时Turbo 码在衰落信道中也具有很好的编译码性能。
二、研究内容1.学习卷积码原理及交织器设计,进行相关仿真分析。
2.阅读Turbo码相关文献资料,进行Turbo码编码仿真。
3.学习Turbo译码算法,进行Turbo码译码仿真,并分析不同码率、不同交织长度、不同迭代次数下的性能。
三、研究过程及结果1.卷积码及交织器(一)研究AWGN信道<实例1>clear allt=0:0.001:10;x=sin(2*pi*t);snr=20;y=awgn(x,snr);subplot(2,1,1);plot(t,x);title('正弦信号x')subplot(2,1,2);plot(t,y);title('叠加了高斯白噪声的正弦信号')z=y-x;var(z)ans =0.0098。
基于MatlabSimulink的BOOST电路仿真
基于Matlab/Simulink的BOOST电路仿真姓名:weitor学号:**********班级:07自动化2班时间:2010年12月5日1引言BOOST 电路又称为升压型电路, 是一种直流- 直流变换电路, 其电路结构如图1 所示。
此电路在开关电源领域内占有非常重要的地位, 长期以来广泛的应用于各种电源设备的设计中。
对它工作过程的理解掌握关系到对整个开关电源领域各种电路工作过程的理解, 然而现有的书本上仅仅给出电路在理想情况下稳态工作过程的分析, 而没有提及电路从启动到稳定之间暂态的工作过程, 不利于读者理解电路的整个工作过程和升压原理。
采用matlab仿真分析方法, 可直观、详细的描述BOOST 电路由启动到达稳态的工作过程, 并对其中各种现象进行细致深入的分析, 便于我们真正掌握BOOST 电路的工作特性。
2电路组成线路由开关S、电感L、电容C组成,如图1所示,完成把电压Vs 升压到Vo的功能。
图1BOOST 电路的结构3电路的工作状态BOOST 电路的工作模式分为电感电流连续工作模式和电感电流断续工作模式。
其中电流连续模式的电路工作状态如图2 (a) 和图2 (b) 所示, 电流断续模式的电路工作状态如图2 (a)、(b)、(c) 所示, 两种工作模式的前两个工作状态相同, 电流断续型模式比电流连续型模式多出一个电感电流为零的工作状态。
(1)充电过程在充电过程中,开关闭合(三极管导通),等效电路如图2 (a),开关(三极管)处用导线代替。
这时,输入电压流过电感。
二极管防止电容对地放电。
由于输入是直流电,所以电感上的电流以一定的比率线性增加,这个比率跟电感大小有关。
随着电感电流增加,电感里储存了一些能量。
(2)放电过程如图2 (b),这是当开关断开(三极管截止)时的等效电路。
当开关断开(三极管截止)时,由于电感的电流保持特性,流经电感的电流不会马上变为0,而是缓慢的由充电完毕时的值变为0。
一种Turbo编码的MATLAB仿真实现
码方案。通过使用MATLAB软件仿真实现了Turbo码编码, 提高了对其高效优质的编码效率的认识。
关键词: 信道编码; Turbo码; 最大似然译码; 香农Shannon信道编码定理
中图分类号: TP312
文献标识码: A
文章编号: 1672- 7800( 2008) 03- 0109- 03
Turbo码作为一种性能优越的信道码, 其应用已被逐步推 广到深空系统、卫星通信和移动通信, 并被推荐为第三代移 动 通 信 的 信 道 编 码 方 案 之 一 。但 由 于 其 所 有 性 能 分 析 都 建 立 在 计 算机模拟的基础上, 所以今后对于Turbo码还有许多研究工作 需要深入。目前, 相关科研人员正在进一步研究Turbo码的实现 问题, 将Turbo和调制技术相结合以实现高速的调制解调器, 并 最终应用于卫星通信中。
Signal1( Bytes) 11618304 23230464 17427456 34845696 23236608 46460928
值n非常接近, 具体结果如表3所示。
表3 实际N值与理论n值的对照表
R
n
N=S/S01/22ຫໍສະໝຸດ 2.0317461/3
3
3.047619
1/4
4
4.063492
上述的结果分析验证了此种turbo码编码器的正确性, 但同 时也可以看出, 对于同一种编码速率, 仿真时间的长短对它的 编码效率没有直接的影响。在编码速率相同的情况下, 即使仿
·110·
软件导刊
2008 年
卷积码编码模块的参数设置如表1所示。
表1 卷积码编码模块的参数设置
参数名称
参数值
模块类型 Trellis structure
Matlab仿真程序-Turbo码
end
% Code generator
g = input(' Please enter code generator: ( default: g = [1 1 1; 1 0 1 ] ) ');
if isempty(g)
g = [ 1 1 1;
1 0 1 ];
end
%g = [1 1 0 1; 1 1 1 1];
%g = [1 1 1 1 1; 1 0 0 0 1];
[n,K] = size(g);
m = K - 1;
nstates = 2^m;
for nEN = 1:length(EbN0db)
en = 10^(EbN0db(nEN)/10); % convert Eb/N0 from unit db to normal numbers
L_c = 4*a*en*rate; % reliability value of the channel
end
fprintf(' iteration number = %6d\n', niter);
fprintf(' terminate frame errors = %6d\n', ferrlim);
fprintf(' Eb / N0 (dB) = ');
for i = 1:length(EbN0db)
%puncture = 0, puncturing into rate 1/2;
%puncture = 1, no puncturing
基于MATLAB_SIMLINK的Turbo交织器的仿真实现
的自由距离减少 [ 1 ] 。
3 交织器在 CDMA2000标准中的实现
本文依照 IS - 95 /CDMA2000 的规范标准给出 了交 织 长 度 分 别 为 378, 402, 570, 762 , 786, 1 146 , 1 530, 1 554, 2 298, 2 322, 3 066, 3 090, 4 602, 6 138, 9 210, 12 282, 20 730的程序算法 。 首先我们要清楚 IS - 95交织器算法的标准 。
基于 MATLAB / SMI L INK的 Turbo交织器的仿真实现3
陈杰男33 , 黄春霞 , 胡剑浩 (电子科技大学 成都 61005)
摘要 : 提供了在仿真 Turbo编译码器时 , 交织器在 SIML INK下的仿真实现 , 描述了交织器的 结构和对标准的理解特别是关于 S - function的编译 , 给出了详细的编写思路 、步骤以及具体的 程序实现 。指出了程序编写中一些容易出错的问题 , 为研究 Turbo编译码器的读者提供了一种具 体的仿真实现 。
CHEN J ie2nan, HUANG Chun2xia, HU J ian2hao (University of Electronic Science and Technology of China Chengdu 610054)
Abstract: The emphasis of the paper is the sim ulation imp lem entation of the interleaver in the CD2 MA2000 of the Turbo codes. This paper starts w ith a brief introduction to the p rincip le of the interleaver and then the p rincip le of the interleaver by the CDMA2000 standard . Finally this paper p resents the im2 p lem entation of the interleaver and the p rogram in MATLAB w ith the SIML INK by the S - function1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Hans Journal of Wireless Communications无线通信, 2014, 4, 57-62Published Online June 2014 in Hans. /journal/hjwc/10.12677/hjwc.2014.43010Implementation of Turbo Code SimulationBased on SimulinkDing WangHangzhou Dianzi University, HangzhouEmail: wd158********@Received: May 12th, 2014; revised: May 19th, 2014; accepted: May 26th, 2014Copyright © 2014 by author and Hans Publishers Inc.This work is licensed under the Creative Commons Attribution International License (CC BY)./licenses/by/4.0/AbstractThis paper describes the basic structure of Turbo code scheme, and presents a Simulink model ofa Turbo encoder and decoder. Turbo encoder concatenates two same sub-encoders in parallelthrough interleaver. The iteration decoder is based on APP (A Posteriori Probability) decoder block in Simulink, so the process of coding becomes convenient and vivid. Then, based on the si-mulation we made, some main factors (such as interleaver length, iteration times, decoding algo-rithm) which will affect the performance of Turbo codes are studied, and the corresponding emu-lation results and the analysis are given. It has some reference value to the actual system design.KeywordsTurbo Code, Simulink, A Posteriori Probability Decoder一种基于Simulink的Turbo码仿真实现王丁杭州电子科技大学,杭州Email: wd158********@收稿日期:2014年5月12日;修回日期:2014年5月19日;录用日期:2014年5月26日摘要介绍了Turbo码的编解码原理,并且提出了一种完全基于Simulink模块的Turbo码仿真模型。
编码器采用两个相同的分量编码器通过交织器并行级联而成。
译码器采用迭代译码方式,由Simulink模型库中的最大后验概率译码模块(A Posteriori Probability Decoder)构成,极大的简化了译码器的复杂性。
通过仿真,分析了迭代次数、交织长度、译码算法对译码性能的影响。
对实际的系统设计有一定的参考价值。
关键词Turbo码,Simulink,最大后验概率译码1. 引言在1993年的ICC(国际通信会议)上,C. Berrou等人最先提出了Turbo码的概念[1]。
在Turbo码的设计思想中,将传统的卷积码与随机交织器十分巧妙的结合在了一起,既实现了随机编码,又完成了由短码构造长码的设计思想。
同时,Turbo码还釆用了软输入软输出(SISO)的迭代译码方式来最大程度地逼近最大似然译码。
由此,Turbo码得以获得了接近Shannon极限[2]的良好性能。
虽然至今Turbo码在数学上的机理还没有定论,但是它的优越的性能及迭代译码算法的思想已经被人们所理解。
Turbo码是一种非常复杂的信道编码方案,对Turbo码的具体实现还没有一个清楚的度量,因此需要使用计算机对系统进行仿真。
目前的仿真大多基于编程的形式,是一种复杂和重复的方式,虽然有人采用Simulink进行仿真,但是对于交织、子译码等比较复杂的模块,仍需要重新编程,非常复杂。
如何实现一种简单的仿真模型,以满足各种研究的需要,具有重要的现实意义,因此本文提出了一种基于Simulink的Turbo码仿真模型,该仿真模型完全基于Simulink的自有模块,无需自己编写模块程序,简化了编译器的复杂性。
通过仿真,分析了迭代次数、交织长度、不同译码算法对Turbo码性能的影响。
2. Turbo码编译码原理2.1. Turbo码编码Turbo码的并行级联卷积码(PCCC)结构[3]如图1所示,该结构主要由两个分量编码器RSC、交织器、复用与删余器组成。
Turbo码编码过程:输入信息序列复用为相同的三路,第一路直接送入复用与删余器,第二路送入分量编码器1,第三路送入交织器交织后再送入分量编码器2编码。
两路编码器的输出以及第一路信号输入复用与删余器进行处理,构成码字序列输出。
分量编码器的最佳选择是递归系统卷积码(RSC),输入信息经RSC输出码字具有较高的汉明距离,交织器的功能是置乱原数据的排列数据,降低码字之间的相关性。
两者的结合是实现Turbo码近似随机编码的关键。
复用与删余器作用是删除编码器输出校验序列中的部分校验位,以此提高编码速率,然后再与未编码的信息序列复用重组,由并转串最后输出。
2.2. Turbo码译码Turbo码的基本译码结构[4]如图2所示。
Turbo码编码译码器由两个软输入/软输出(SISO)译码器DEC1和DEC2串行级联而成,交织器与编码器中的所使用的交织器相同。
译码器DEC1对分量码RSC1进行最佳译码。
产生关于信息序列中每一Figure 1. PCCC encoding structure图1.PCCC编码结构Figure 2. Decoding structure图2.译码结构比特的似然信息,并将其中的“新信息”经过交织送给DEC2,译码器DEC2将此信息作为先验信息,对分量码RSC2进行最佳译码,产生关于交织后信息序列中每一比特的似然比信息,然后将其中的“外信息”经过解交织送给DEC1,进行下一次译码。
这样,经过多次迭代,DEC1或DEC2的外输出信息趋于稳定,似然比值逼近于对整个码的最大似然译码,然后对此似然比进行硬判决,即可得到信息序列的最佳估计值。
3. Turbo码的仿真设计3.1. Turbo码编码器设计Turbo码编码器采用两个相同的分量编码器通过交织器级联而成。
分量编码器是码率为=12R的RSC 码,经过删余复用后总的Turbo码的码率1R=。
序列产生用贝努利发生器(Bernoulli Binary Generator)。
原始序列一路进入卷积编码器1(Convolutional Encoder1),另一路经过随机交织器(Random Interleaver)后进入卷积编码器2(Convolutional Encoder2)。
奇偶分离器1,2(Deinterlacer)将卷积编码器1,2的输出分别分成奇序列与偶序列。
将卷积编码器1的奇序列、偶序列以及卷积编码器2的偶序列经复用器(Mux)合成一路串行序列,作为Turbo编码的输出。
卷积编码器的参数Trellis = poly2trellis(3,[7 5],7),由于存在约束与反馈,奇偶分离器1输出的偶序列与原始序列相同。
3.2. Turbo码译码器设计Simulink提供的APP Decode模块完成卷积码的后验概率译码。
可以用该模块构建Turbo译码器。
他有两个输入端()L u,()cL。
输入端()L u输入原始序列的对数似然概率序列,L和两个输出端()L u,()c输入端()cL是基于编码信息的更新序列的对L u,()cL输入编码器输出的对数似然概率序列。
输出端()数似然概率序列。
编码器输出序列经高斯白噪声信道(AWGN)加噪后送往译码器。
该信号经解复用器(Demux)分成三路信号。
第1、2路信号作为奇偶连接器(interlacer1)的奇偶输入,合成一路信号Out1。
同理,第1路信号经随机交织器后与第3路信号输入奇偶连接器,合成一路信号Out2。
Turbo码译码器如图3所示,模块APP Decode1的输入端()cL uL的输入In1为信号Out1,输入端()的输入为上一次迭代后的结果,输出端()cL u经交织后作为模块APP Decode2的输入L终止,输出端()端()LL u的输入信号,Out2信号作为该模块的输入端()cL输入信号In2。
模块APP Decode2的输出端()c 终止,而输出端()L u经解交织后得到原始序列的对数似然比,经过延迟单元(Delay)延迟一个迭代周期,输出将作为下次迭代的输入,这样就完成了一次迭代。
经多次迭代后得到的原始序列的对数似然比将越来越逼近于整个码的最大似然译码,再经硬判决后可以得到原始序列的最佳估计值。
完成本次仿真的关键是如何控制迭代的次数。
假设每次迭代需t秒,则可以让贝努利发生器的每一帧的采样时间为t秒,进行n次迭代需要n t×秒,通过零阶保持器(Zero Order Hold)将经过高斯白噪声信道的编码信号保持n t×秒,即可保证n次迭代。
在第一次迭代时并没有上一次的迭代结果作为APP Decode1的输入端()L u的输入信号,为了避免这个错误,将迭代后信号与脉冲产生器(Discrete Pulse Generator)的输出信号相乘后作为APP Decode1输入端()L u的输入信号,脉冲产生器的参数设置为幅度为1,周期为n tn-1t×,相位延迟为t秒,这样能保证第一次迭代时输入端有信号,×秒,脉冲宽度为()信号为全0序列。
4. 仿真结果及分析4.2. 迭代次数对Turbo码译码性能的影响迭代译码结构是Turbo码具有良好的译码性能的重要原因。
在交织长度为1024,采用译码算法为Max*时,选择迭代次数为3,7,9,对Turbo码性能影响进行比较。
译码器性能如图4所示。
由图中可知,在相同的信噪比之下,迭代次数越多,误码率越低,译码性能越好。