关于信道编码中Turbo码的原理与实现
Turbo码理论及其应用的研究

Turbo码理论及其应用的探究引言:随着通信技术的不息进步,人们对于信息传输质量和性能的要求越来越高。
而在这个过程中,编码是一个至关重要的环节。
编码是一种通过增加冗余信息来增强数据传输可靠性的技术,它可以在信息传输过程中对数据进行差错纠正。
而在编码中,Turbo码作为一种高效的纠错编码技术,引起了人们的广泛关注。
本文将对Turbo码的理论和应用进行探究。
第一部分:Turbo码的基本原理Turbo码是由Claude Berrou等人于1993年提出的一种编码技术。
Turbo码是通过串并联两个卷积码的编码器组成的。
它具有很好的纠错能力,并在传输过程中有效地对信道噪声进行抑止。
Turbo码的基本原理是将要传输的数据分成多个小块,然后通过两个相同结构的卷积码编码器分别对这些小块进行编码。
在编码的过程中,Turbo码引入了一个称为迭代译码的过程。
迭代译码的主要目标是通过在译码器之间交换信息来提高译码性能。
迭代译码可以使得Turbo码的纠错性能更好,并且有效地减小了译码误差。
第二部分:Turbo码的性能分析Turbo码的性能分析是对Turbo码的错误性能和译码性能进行分析和评估。
通常使用误码率(BER)和块错误率(BLER)来器量Turbo码的性能。
Turbo码的纠错性能主要取决于两个卷积码的性能以及迭代译码的次数。
经过试验和模拟的验证,可以发现Turbo码在相同的编码率下,相较于传统卷积码,能够取得更低的误码率和块错误率。
而Turbo码的译码性能则主要取决于译码算法的选择。
依据试验结果,平均迭代译码算法和准似然译码算法是目前应用最广泛的译码算法。
这些算法对于迭代译码过程中产生的软信息进行了充分利用,从而提高了Turbo码的译码性能。
第三部分:Turbo码的应用Turbo码在通信系统中有广泛的应用。
其中,最典型的应用是在挪动通信系统中的无线信道编码。
由于无线信道的复杂性和噪声干扰,数据的传输容易受到干扰和损坏。
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码原理Turbo码是一种优秀的纠错编码技术,它被广泛应用于无线通信、卫星通信、光纤通信等领域。
Turbo码采用了迭代解码的方法,通过在编码和解码过程中引入反馈,从而极大地提高了通信系统的可靠性和性能。
Turbo码的核心原理是使用两个并行的卷积码编码器和迭代解码器。
在编码过程中,数据会经过两个编码器进行编码,生成两个码字序列。
这两个码字序列交替地经过交织器,并通过信道发送。
在接收端,接收到的数据经过迭代解码器进行解码,解码器通过相互交互的方式,不断迭代处理,最终得到正确的原始数据。
Turbo码的迭代解码过程是通过软判决实现的。
软判决是指通过计算接收到的数据与码字之间的距离,得到一个概率值,表示接收到的数据属于哪个码字的概率。
在迭代解码过程中,解码器会根据软判决的结果,调整自身的状态,从而提高解码的准确性。
Turbo码的优势在于其较低的误码率和较高的编码效率。
由于采用了迭代解码的方法,Turbo码能够充分利用信道的统计特性,通过多次迭代,逐渐减小误码率。
同时,Turbo码的编码效率也较高,可以在相同的误码率下传输更多的信息。
Turbo码还具有较好的抗干扰性能。
由于采用了迭代解码的方法,Turbo码能够在一定程度上抵抗信道的噪声和干扰。
在传输过程中,由于噪声和干扰的存在,接收到的数据可能会发生错误。
但是通过多次迭代解码,Turbo码能够逐渐修正这些错误,提高解码的准确性。
然而,Turbo码也有一些局限性。
首先,Turbo码的编码和解码过程相对复杂,需要较高的计算能力和存储资源。
其次,Turbo码的延迟较大,由于需要多次迭代解码,导致信号传输的延迟增加。
此外,Turbo码的设计和调试也较为困难,需要经验丰富的工程师进行系统设计和参数调优。
总体而言,Turbo码作为一种高效可靠的纠错编码技术,已经被广泛应用于通信领域。
它通过迭代解码的方法,充分利用信道的统计特性,提高了通信系统的可靠性和性能。
turbo code 计算方法

turbo code 计算方法摘要:1.引言2.Turbo码的原理3.Turbo码的计算方法4.计算实例5.结论正文:【引言】在数字通信和数据存储领域,纠错码的应用至关重要。
Turbo码作为一种可靠的信道编码技术,凭借其优异的性能在诸多领域得到了广泛应用。
本文将详细介绍Turbo码的计算方法,以期帮助读者更好地理解和应用这一技术。
【Turbo码的原理】Turbo码,又称为递归卷积码,是由Berrou等人于1993年提出的一种信道编码技术。
其基本原理是通过两个或多个简单的卷积码相互交织,构成一个复杂的编码器,从而在信道中实现高效的数据传输。
Turbo码的性能接近香农极限,且具有较好的误码率特性。
【Turbo码的计算方法】Turbo码的计算方法主要包括以下几个步骤:1.初始化:根据输入数据比特,初始化编码器的状态。
2.编码:将输入数据比特序列依次输入到编码器的各个级联卷积码中,计算出编码器的输出比特序列。
3.交织:将编码器的输出比特序列进行交织,得到交织后的比特序列。
4.校验:对交织后的比特序列进行校验,判断是否满足特定的校验条件。
若满足,则继续下一步;否则,进行反馈调整。
5.解交织:将校验后的比特序列进行解交织,得到原始输入数据比特序列。
6.反馈调整:根据解交织后的比特序列,调整编码器的状态,以实现更好的编码效果。
【计算实例】以一个简单的3级Turbo码为例,设编码器的初始状态为0,输入数据比特序列为1011。
根据Turbo码的计算方法,我们可以得到以下结果:1.初始化:状态为02.编码:输入比特1,编码器输出比特为10103.交织:交织后的比特序列为01014.校验:满足校验条件,继续下一步5.解交织:解交织后的比特序列为10106.反馈调整:状态调整为1017.重复步骤2-6,直至输入比特序列结束【结论】Turbo码作为一种高效、可靠的信道编码技术,在数字通信和数据存储等领域具有重要应用价值。
turbo码的原理

turbo码的原理Turbo码的原理引言:Turbo码是一种在无线通信和数字通信领域广泛应用的编码技术。
它被广泛应用于4G和5G移动通信标准中,以提高系统的可靠性和传输速率。
本文将介绍Turbo码的原理及其在通信系统中的应用。
一、Turbo码的基本原理Turbo码是一种迭代卷积码编码技术,由Claude Berrou于1993年提出。
它采用了并行级联的结构,在编码和解码过程中引入了迭代操作,从而大大提高了系统的纠错性能。
Turbo码的编码器由两个相同的卷积码编码器构成,这两个编码器之间通过一个交织器相连,形成了并行级联结构。
在编码过程中,Turbo码将待发送的数据分为多个数据块,并对每个数据块进行并行编码。
首先,数据块通过编码器1进行编码,然后通过交织器进行交织操作,再经过编码器2进行第二次编码。
最后,两个编码器的输出通过一个交织器再次交织,形成最终的编码输出。
二、Turbo码的解码原理Turbo码的解码过程是通过迭代解码算法实现的。
解码器采用迭代信道估计和软判决的方法,通过多次迭代来逐步提高解码的准确性。
在每一次迭代中,解码器利用已解码的信息反馈给信道估计器,用于估计信道的状态信息,并根据此信息对接收到的信号进行修正。
然后,解码器利用修正后的信号进行下一次迭代解码,直到达到设定的迭代次数或满足一定的停止准则为止。
三、Turbo码的应用Turbo码在无线通信和数字通信领域有着广泛的应用。
在4G和5G 移动通信标准中,Turbo码被用于物理层的信道编码,以提高系统在高速移动环境下的可靠性和传输速率。
此外,Turbo码还被应用于卫星通信、光纤通信和深空通信等领域。
Turbo码的优点是能够在相同的误码率下,显著提高系统的传输速率。
它具有较好的纠错性能,在相同的码率下,其误码率性能要优于其他传统的编码技术。
此外,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。
turbo码编码增益 -回复

turbo码编码增益-回复标题:深入理解Turbo 码编码增益一、引言在通信系统中,信息的可靠传输是至关重要的。
然而,由于信道噪声和干扰的存在,原始信息在传输过程中可能会发生错误。
为此,我们需要使用纠错编码技术来提高通信系统的抗干扰能力。
Turbo码是一种高性能的前向纠错码,其编码增益是衡量其纠错性能的重要指标。
本文将详细探讨Turbo 码的编码增益及其影响因素。
二、Turbo码的基本原理Turbo码是由两个或多个卷积码通过交织器连接而成的并行级联结构。
其基本工作原理如下:1. 信息比特序列首先被分为两部分,分别输入到两个卷积编码器进行编码。
2. 编码后的序列经过交织器打乱顺序,然后发送出去。
3. 接收端接收到信号后,先进行解交织,再通过两个解码器进行迭代解码。
Turbo码的纠错性能主要来自于其独特的级联结构和迭代解码过程。
通过多次迭代,解码器能够逐步纠正传输过程中的错误,从而实现高效率的纠错。
三、Turbo码的编码增益编码增益是指在相同的信噪比下,使用纠错编码后的误码率与未编码时的误码率之比。
它是衡量编码性能的重要指标。
对于Turbo码来说,其编码增益主要来源于以下两个方面:1. 级联结构:Turbo码的级联结构使得其在接收端可以进行多次迭代解码,每次迭代都能够进一步降低误码率,从而提高编码增益。
2. 交织器:Turbo码中的交织器可以将连续的错误分散开来,使得解码器在迭代过程中更容易纠正错误,从而提高编码增益。
四、影响Turbo码编码增益的因素Turbo码的编码增益受到多种因素的影响,主要包括以下几个方面:1. 卷积码的参数选择:卷积码的生成多项式、约束长度等参数对Turbo码的编码增益有直接影响。
通常情况下,选择适当的生成多项式和较大的约束长度可以提高编码增益。
2. 交织器的设计:交织器的打乱程度和长度对Turbo码的编码增益也有重要影响。
适当的交织深度和打乱程度可以更好地分散错误,提高解码成功率。
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码的应用越来越广泛。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Turbo码的编码原理及实现摘要纠错码技术作为改善数字通信可靠性的一种有效手段,在数字通信的各个领域中获得极为广泛的应用。
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;引言根据Shanno噪信道编码定理,在信道传输速率R不超过信道容量C的前提下,只有在码组长度无限的码集合中随机地选择编码码字并且在接收端采用最大似然译码算法时,才能使误码率接近为零。
但是最大似然译码的复杂性随编码长度的增加而加大,当编码长度趋于无穷大时,最大似然译码是不可能实现的。
所以人们认为随机性编译码仅仅是为证明定理存在性而引人的一种数学方法和手段,在实际的编码构造中是不可能实现的。
直到Turbo的出现,人们才改变了这种看法。
1993年,Claud Bernou等人在国际通信会议(ICC' 93)上提出了并行级联卷积码(PCCC)即Turbo码,由于它很好地应用了Shannon信道编码定理中的随机性编译码条件,从而获得了几乎接近Shannon理论极限的译码性能。
Turbo码巧妙地将两个简单分量码通过伪随机交织器并行级联来构造具有伪随机特性的长码,并通过在两个软输入/软输出( SISO)译码器之间进行多次迭代实现了伪随机译码。
采用迭代译码的方法来提高通信系统的译码性能是Turbo 码的最大特点。
Turbo码的编码器、译码器结构繁琐,是一种非常复杂的信道编码方案,这使得对Turbo码的理论分析十分困难,且只能对运算复杂度作宏观分析,对Turbo码的具体实现并没有一个清楚的度量。
因此,使用计算机对Turbo 码进行仿真分析是十分必要的。
本文分析了Turbo码编码译码的原理,考虑到Turbo码系统编译码的数据处理量很大,利用生成矩阵对信息序列进行编码、译码时的迭代计算等等,都涉及了矩阵运算,故采用Matlab/Simulink来进行建模仿真。
1 Turbo 码编码原理Turbo 码的典型编码器如图1所示,Turbo 码编码器主要由分量编码器、交织器复接器组成。
分量码一般选择为递归系统卷积(RSC ,Recursive SystematicConvolutional)码[2],当然也可以是分组码(BC, Block Code)、非递归卷积(NRC ,Non-Recursive Convolutional)码以及非系统卷积(NSC ,Non-SystematicConvolutional)码,但从后面的分析将看到,分量码的最佳选择是递归系统卷积码。
通常两个分量码采用相同的生成矩阵,当然分量码也可以是不同的。
以分量码为RSC 为例,分量编码器为递归系统卷积码(RSC)编码器。
第一个RSC 之前不使用交织器,后续的每个RSC 之前都有一个交织器与之对应。
一个Turbo 编码器中原则上可采用多个RSC ,但通常只选用2个,因为过多的RSC 分量编码器将使得译码非常复杂而难以实现。
通常的Turbo 码编码器中,长度为N的信息序列{}k u 在送入第一个分量编码器的同时作为系统输出{}s k x 直接送至复接器,同时{}k u 经过一个N 位交织器,形成一个新序列{}'k u (长度与内容没变,但比特位置经过重新排列。
{}k u 与{}'k u 分别传送到两个分量码编器(RSC1与RSC2)。
一般情况下,两个分量码编码器的结构相同,生成分量码校验序列{}p k x 1和{}p k x 2。
{}k u {}'k u 与未编码的信息序列{}s k x 经过复接后,生成Turbo 码序列{}k c ,将编码序列调制后,即可发射进入信道传输。
}k u {}s k x{}k c{}pk x 1分量编码器CRS1 分量编码器CES2交织器复接器2 Matlab仿真及结果2.1 Turbo码仿真系统的实现Turbo码是经过模拟仿真来的,而不是根据既定的设计准则得到的。
许多研究者正寻找其工作机理以便更好为Turbo码的构造提供理论依据。
至到现在Turbo 码的研究成果很大一部分是通过对各种参数的模拟性能结果中得到的。
模拟仿真时,衡量其编码性能的好坏主要以误码率BER(Bit Error Rate)来的。
仿真中使用加性高斯白噪声信道(AWGN)模型,因为它易于构建,也是具有代表性的信道模型之一,同时假设使用BPSK调制方式。
根据Turbo码系统的结构特点,将整个Turbo 编译码系统合理地划分成多个模块,使用MATLAB通过模块化设计实现了可以用于计算机模拟的Turbo编译码系统。
系统所包涵的模块具体划分为:主程序、信道模型子程序、交织子程序、RSC编码子程序、使用不同的算法进行译码的译码子程序等。
仿真中使用加性高斯白噪声信道(AWGN)模型,因为它易于构建,也是具有代表性的信道模型之一,同时假设使用BPSK调制方式。
根据Turbo码系统的结构特点,本文将整个Turbo编译码系统合理地划分成多个模块,使用MATLAB通过模块化设计实现了可以用于计算机模拟的Turbo编译码系统。
系统所包涵的模块具体划分为:主程序、信道模型子程序、交织子程序、RSC编码子程序、使用不同的算法进行译码的译码子程序等。
主程序控制着整个系统的流程。
主程序首先完成对系统的先期设置,包括分量RSC的生成矩阵、帧大小(即交织器的大小)、迭代次数、使用何种译码算法等等。
然后,随即生成{}0,1信息源,调用各子程序完成编码、传输以及译码的过程。
仿真中使用加性高斯白噪声信道(AWGN)模型,因为它易于构建,也是具有代表性的信道模型之一,同时假设使用BPSK调制方式。
根据Turbo码系统的结构特点,本文将整个Turbo编译码系统合理地划分成多个模块,使用MATLAB通过模块化设计实现了可以用于计算机模拟的Turbo编译码系统。
系统所包涵的模块具体划分为:主程序、信道模型子程序、交织子程序、RSC编码子程序、使用不同的算法进行译码的译码子程序等。
交织子程序供主程序调用,主要完成对信息比特序列进行位置的随机置换,并提供给RSC2进行编码。
对每帧进行置换的格式将保存下来,以便在译码过程中进行正确的解交织。
RSC编码子程序供主程序调用,完成编码。
网格图生成子程序供译码子程序调用,用于生成给定生成矩阵对应的网格图。
对一帧编码的子程序供RSC编码子程序调用,用于对一帧的信息比特编码。
对一位信息比特编码子程序供对一帧编码的子程序调用,用于对单个输入比特进行编码。
信道模型及复用调制子程序供主程序调用,用于生成信道模型,将两个RSC分量编码器编码序列和信息序列进行复用,根据需要的码率组成整个编码器的编码结果,然后使用AWGN信道模型将编码序列进行调制,模拟进入信道传输。
译码前解复用子程序供主程序调用,用于从模拟信道接收观测序列,并将观测序列解复用,分解成系统比特序列和两个校验序列。
译码子程序同主程序调用,用于实现具体的译码算法,对观测序列进行译码。
2.2 Turbo码的仿真结果及分析影响Turbo码性能的参数很多,这里分别就不同的译码算法、迭代次数、交织长度对Turbo码性能的影响进行分析,给出仿真结果。
2.2.1 不同译码算法对Turbo 码的性能影响图6给出了采用不同译码算法下的Turbo 码仿真结果。
Turbo 码码率为1/3,Log-Map算法和MAX-Log-Map 算法译码迭代次数为3。
从图中可以观察到Log-MAP 译码算法性能明显要优于MAX-Log-MAP 和SOVA。
在误码率为10-4 时,Log-MAP 译码算法比MAX-Log-Map 译码算法好0.4dB,比SOVA 好2dB 以上。
Max-Log-MAP 算法用到了近似公式,故性能比Log-MAP 有所下降。
验证了译码算法性能MAP>Log-MAP>MAX-Log-MAP>SOVA 的结论。
SOVA 算法虽然性能是几种算法中最差的,但复杂性较低易于实现。
在实际运用中,要结合具体的情况,权衡硬件的复杂度和性能要求,选择合适的译码算法。
图6 不同译码算法对Turbo码的影响2.2.2 迭代次数图7 迭代次数对Turbo码的影响图7给出了不同迭代次数下,Turbo码的误比特率与信噪比的关系曲线,采用MAX-Log-MAP算法,码率为1。