当前位置:文档之家› 沈阳理工大学_基于MATLAB的信道编译码系统设计_论文

沈阳理工大学_基于MATLAB的信道编译码系统设计_论文

沈阳理工大学_基于MATLAB的信道编译码系统设计_论文
沈阳理工大学_基于MATLAB的信道编译码系统设计_论文

摘要

随着现代通信技术的迅猛发展,其应用领域已渗入到社会生活的各个方面,对通信系统的数据传输的可靠性与有效性的要求也随之增强。在传输数字信号时,由于信道的时变性、衰减性、带宽资源有限性以及干扰大等特点,再有加性噪声的影响,势必会造成接收端接收到的信号存在一定的误差。为提高无线信道传输数据的质量,应该将误比特率降到最低。信道编码技术正是降低误比特率、提高通信质量的主要技术手段之一。

本文首先系统介绍信道编码的研究背景及意义、发展史、应用并对matlab进行概述。接着选取编码技术中最常用的种类:线性分组码、循环码、卷积码。即分别对线性分组码、循环码和卷积码的编码和译码原理进行阐述,并基于matlab平台进行仿真。最后,通过对仿真结果进行分析,证明经过信道编码后,能有效降低信道传输的误码率,使通信不论在什么环境下均能高效、可靠的传输数据,提高了整个通信系统的质量。

关键词:通信系统;编码技术;线性分组码;循环码;卷积码

Abstract

With the rapid development of modern communication technology, its applications have infiltrated into all aspects of social life, reliability and validity of the data communication system also increases. In practice, the wireless channel is very complex. When transmitting digital signals, due to the time-varying channel attenuation, bandwidth and interference limited resources and other characteristics, and then have an impact additive noise, will inevitably lead to the presence of the signal receiver receives a certain error. To improve the quality of the wireless channel, the bit error rate should be reduced to a minimum. One channel coding technology is to reduce the bit error rate and improve the quality of the main technical means of communication.

Firstly, referral channel coding system research background and significance, history, and Matlab application overview. Then select the most commonly used coding technology types: linear block codes, cyclic codes, convolution codes. Introduces the basic principles of linear block codes, cyclic codes and convolution codes, and simulation based on MATLAB, the simulation results are analyzed, explained after channel coding, enabling communication no matter what the environment can be efficient and reliable transport data to improve the quality of the communication system.

Keywords: communication systems; coding techniques; linear block code; cyclic code; convolution code

目录

1 绪论 (1)

1.1 研究背景及意义 (1)

1.2 信道编码技术的发展史 (2)

1.3 信道编码技术的应用 (4)

1.4 Matlab概述 (5)

2 信道编码 (7)

2.1 信道编码简介 (7)

2.2 信道编码的基本原理 (8)

2.3 信道编码系统模型 (10)

3 几种常见的信道编码 (12)

3.1 线性分组码 (12)

3.1.1 线性分组码简介 (12)

3.1.2 线性分组码的编码与译码原理 (13)

3.1.3 线性分组码的编码程序及仿真图 (14)

3.1.4 线性分组码的译码程序及仿真图 (16)

3.2 循环码 (20)

3.2.1 循环码简介 (20)

3.2.2 循环码编码和译码原理 (20)

3.2.3 循环码的编码和译码程序 (22)

3.3 卷积码 (22)

3.3.1 卷积码简介 (22)

3.3.2 卷积码编码原理 (23)

3.3.3 卷积码译码原理 (26)

3.3.4 卷积码编码程序及仿真图 (28)

3.3.5 卷积码译码程序及仿真图 (31)

4 抗噪声性能分析 (38)

4.1 设计思路 (38)

4.2 对线性分组码误码率的分析 (38)

4.2.1 线性分组码仿真过程源代码 (38)

4.2.2 线性分组码仿真过程图 (40)

4.2.3 线性分组码误码率源代码 (43)

4.2.4 线性分组码误码率仿真图 (45)

4.3 对循环码误码率的分析 (45)

4.3.1 循环码误码率仿真源代码 (45)

4.3.2 循环码误码率仿真图 (46)

4.4 对卷积码误码率的分析 (47)

4.4.1 卷积码误码率仿真过程源代码 (47)

4.4.2 卷积码误码率仿真过程图 (48)

4.4.3 卷积码误码率仿真源代码 (51)

4.4.4 卷积码误码率仿真图 (52)

4.5 不同编码之间误码率的比较 (53)

4.5.1仿真源代码 (53)

4.5.2仿真图 (56)

结论 ........................................................................................................ 错误!未定义书签。致谢 . (58)

参考文献 (59)

附录A 英文全文 (60)

附录B 中文翻译 (66)

1 绪论

随着现代通信技术的迅猛发展,用户对通信系统的质量要求也越来越高,通信系统需要具备更高的可靠性、高效率、低复杂性来适应发展的需求。而在实际的通信中,被传输的数据必然会受到干扰和噪声的影响,致使接收端收到的信号出现误差,造成一定程度的失真。这就要求我们寻找一种办法在确保通信系统的可靠性与高效性的基础上减少数据传输过程中的误比特率。而信道编码是减少数字信号误比特率的主要手段之一。

1.1 研究背景及意义

通信的目的就是要高速、可靠的把信息从发送端传递到接收端,随着用户对通信质量和实时性等要求的不断提高,通信需要具备更高可靠性、更高速率、更低复杂度等性能。然而,在实际的通信系统中,由于被传输数据无法避免的会受到一定的干扰和噪声等的影响,这就导致接收端接收到的信息和发送端实际发送的信息之间存在一定的差错,信号就存在一定程度的失真。

在实际应用中,衡量一个通信系统的优劣,有效性和可靠性是其中两个最重要的指标,同时它们也是通信技术设计的重要部分。然而,从信息传输角度来考虑,既要提高通信系统的有效性(即传输速率)又要提高通信系统的可靠性往往是相互矛盾的。为了提高可靠性,可以在二进制信息序列中以受控的方式引入一些冗余码元(即监督码元),使他们满足一定的约束关系,以期达到检错和纠错的目的。但是,由于添加了冗余码元(监督码元),导致传输信息的速率下降;同时,为了提高有效性,信号以简洁、快速的方式传输,这样在遭到干扰和噪声时,其自我保护能力大大下降,从而降低了传输的可靠性。于是,在实际通信的应用中,采取比较折中的方式,可在确保可靠性指标达到系统要求的前提下,尽可能的提高传输的速率;抑或在满足一定有效性的指标下,尽量提高传输的可靠性。通信技术一直致力于提高信息传输的有效性和可靠性,其中保证通信的可靠性是现代数字通信系统需要解决的首要问题。信道编码技术正是用来改善通信可靠性问题的主要技术手段之一。实际应用中,一个通信系统一般包含信道编码和信道译码两个模块。

信道编码的主要目的是为了降低误比特率,提高数字通信的可靠性,其方法是在二进制信息序列中添加一些冗余码元(监督码元),与信息码元一起组成被传输的码字。

这些冗余码元是以受控的方式引入,它们与信息码元之间有着相互制约的关系。当在信道中传输该码字,如果错误发生,信息码元和冗余码元之间相互制约的关系就会被破坏。那么,在接收端对接收到的信息序列按照既定的规则校验码字各码元的约束关系,从而达到检错、纠错的目的。通过信道编码这种方法,可以有效的在接收端克服信号在无线信道中传输时受到噪声和干扰产生的影响。信道译码也就是信道编码的逆过程,即接收端将接收信息序列按照既定约束关系,同时去掉比特流在传播过程中混入的噪声干扰和添加的冗余,恢复比较完整、可靠的信息的过程。

对于一个无线信道来说,非线性、时变、多普勒频移等信道特征和来自外界的干扰等等因素,会使得数据经无线信道后总会产生一定的差错,因此,信道编码在数字通信中必不可少。信道编码的方式有很多,例如线性分组码、卷积码、Turbo码等等。在第3代移动通信系统中,一般情况下,卷积编码方式多用于实时业务,Turbo编码方式多用于非实时业务。

1.2 信道编码技术的发展史

在移动通信系统的数据传输过程中,信号受到各种有线和无线信道噪声和衰落的影响将产生严重失真。可以利用信道编码技术,在发射端增加一个信道编码模块给传输信号添加冗余,在接收端增加一个信道译码模块利用冗余信息检测和纠正信号中的错误。

1948年香农(Shannon)发表《通信的数学理论》这篇文章,该文章对信道编码技术的发展有着举足轻重的作用,从此信道编码技术的研究方向开始变得明确。在接下来的近五十年,各种新的信道编码方案也不断被研究者们研究出来,且这些编码方案的性能与最佳限(香农最佳极限)逐渐接近。到1958年,主要的编码方案有汉明码和格雷码等。

Shannon指出,在信息传输速率R小于或等于信道容量C,即C

R 时,可以通过信道编码的方法来实现可靠通信,可是Shannon只提出了这种理论,却未给出具体实现的方法。1950年R.Hamming针对计算机经常出现的问题编写了使计算机能在正常运行的过程中具备检错、纠错性能的解决程序。Hamming编写的程序主要思想为:将输入的信息比特分组,且每组含有四个比特,然后计算每组四个比特之间的线性组合方程式,并求出三个冗余比特(校验比特)。由此,每组中除了含有四个信息比特,还含有三个冗余比特,它们共同组成待传送的码字。将含有七个比特的码字输入到计算机,计算机利用其中的三个冗余比特,根据某种规则和算法,达到检错和纠错的目的。汉明码是分

组码中的一种,它的编码思想也是分组码的编码思想,且这种编码方案后来被称之为汉明码。汉明码是在原编码的基础上附加一部分代码,使其满足纠错码的条件。它属于线性分组码,由于线性码的编码和译码能轻易实现,至今仍是应用最广泛的一类码。汉明码的抗干扰能力较强,但付出的代价也很大,比如8比特汉明码有效信息只有总编码长度的一半,可以纠正1个差错发现2个差错。在实际应用中经常存在各种突发干扰,使连续多位数据发生差错。为了纠正3个以上的差错,就要加大码距,使代码冗余度大大增加,通信效率下降。

虽然汉明码的思想是比较先进的,但是它也存在许多难以接受的缺点。首先,汉明码的编码效率比较低,它每4个比特编码就需要3个比特的冗余校验比特。另外,在一个码组中只能纠正单个的比特错误。

格雷码(Gray Code)是由法国工程师Jean-Maurice-Emlle Baudot提出的一种编码,而因1953年Frank Gray申请专利而得名。格雷码又叫循环二进制码或反射二进制码,在数字系统中只能识别0和1,各种数据要转换为二进制代码才能进行处理,格雷码是一种无权码,采用绝对编码方式,典型格雷码是一种具有反射特性和循环特性的单步自补码,它的循环、单步特性消除了随机取数时出现重大误差的可能,它的反射、自补特性使得求反非常方便。格雷码属于可靠性编码,是一种错误最小化的编码方式。但格雷码不是权重码,每一位码没有确定的大小,不能直接进行比较大小和算术运算,要经过一次码变换,变成自然二进制码,再由上位机读取。解码的方法是用…0?和采集来的4位格雷码的最高位(第4位)异或,结果保留到4位,再将异或的值和下一位(第3位)相异或,结果保留到3位,再将相异或的值和下一位(第2位)异或,结果保留到2位,依次异或,直到最低位,依次异或转换后的值(二进制数)就是格雷码转换后自然码的值。

20世纪60年代到20世纪70年代期间,人们越来越重视编码理论在实际系统中的应用研究,这个期间是信息编码的两个重要的发展期,很多性能优异的分组码结构被提出。BCH码就是这个时候被提出来的,它属于循环码中的一种。在这个时期,BCH码得到了很好的发展,并且编码增益性能也越来越凸显,在频带有效性不变的前提下,BCH 码比上个时期最优秀的Gray码有近2dB新的编码增益。在这个时期出现了很多译码方法,如迭代译码、门限译码等等,尤其是卷积码的最优译码算法——Viterbi译码方法。Viterbi译码方法能使卷积码的译码变得具有更高效率、更快的速度,从此信道编码的实用化有了更快的发展。

20世纪80年代之后,信道编码开始了它的第三个发展阶段。这个阶段出现的信道

编码方案的特点为:抗干扰能力更强,频带利用率更高,且其性能与香农极限更加靠近。

20世纪90年代到21世纪期间,信道编码研究极其活跃,具有历史意义的Turbo 码

就是这个时候被提出。1993年C .Berrou 在IEEE 国际通信会议上,发表《Near Shannon limiterror-correcting coding and decoding:Turbo code 》一文。此文讲述了Turbo 码结构,并证实利用Turbo 码作为信道编码,当信噪比不小于/>=0.7db 时(Shannon 限为/=0db ,其误码率510-≤BER 。具有如此优异性能的Turbo 码在当时引起了轰动,受到了广泛的关注。从此,Turbo 码成为信道编码领域的研究热点,并在这个时期得到了很好的发展。Turbo 码的提出具有非常深远的历史意义,其优异的性能标志着信道编码理论与技术进入全新的研究阶段,以往利用信道截止速率作为实际容量的时期将不复存在。

LDPC 码(低密度奇偶校验码,Low Density Parity Check Code ,LDPC ),最早是1963

由麻省理工学院Robert G .Gallager 博士提出。LDPC 码的性能非常优秀,几乎逼近香农限,且任何信道都能适用。但是,其译码算法却非常复杂,且当时的研究技术条件有限,在LDPC 码被提出后并没有收到广大学者的关注。直到1993年Berrou 等人发现了Turbo 码,在此基础上,1995年前后MacKay 和Neal 等人对LDPC 码重新进行了研究,并提出广为大众接受的译码算法,更进一步证实了该码优异的性能。接下来的十多年里,研究人员对LDPC 码的研究有了突破性的进展,使得LDPC 码的性能更加接近香农限,而且对它的编译码理论描述变得简单,实际应用也变得可行。到现在,对LDPC 码的研究已经非常成熟,并进入了无线通信等相关领域的标准。

1.3 信道编码技术的应用

信道编码技术在提高数据传输效率,降低误比特率方面起到很大的作用,其应用领

域也非常宽广,包括卫星通信、移动通信、光纤通信等。

(1)卫星通信

卫星通信必须通过卫星来实现,在通信的过程中,由于受到卫星本身放大器件、天

线尺寸、遥远通信路径以及宇宙中其它星体等因素的影响,卫星通信信道有着功率受限、通信链路远、时延大、易受周围环境干扰等特点。信道编码技术作为保证信息有效、可靠传输的有效手段而被广泛应用于各种卫星通信系统,通过信道编码能在带宽有限、信噪比较低的条件下实现信息的有效、可靠传送,以达到节省发射机功率、提高频谱利用

效率的目的[6]。

(2)移动通信

移动通信方式可以提供相对于固定电话来说灵活、高效的通信方式,但是移动通信系统的研究、开发与实现也会复杂很多。移动通信主要是以无线电波的方式传输信号,因此在远距离传输时,损耗、衰落都会影响通信质量。为应对这些技术难题,数字移动通信系统问世后,包含信道编码在内的各种数字信号处理技术得到了很大的发展。

(3)光纤通信

系统性能因受到信道自身物理特性及外界的影响而大大下降。前向纠错编码技术(Forward Error Correction,FEC)是应用在光纤通信中的一个重要信道编码方案,通过信道编码达到降低系统误比特率的目的。

1.4 Matlab概述

计算机对科学技术的几乎一切领域产成了极其深远的影响。熟练掌握并利用计算机进行科学计算研究及工程应用已是广大科研设计人员所必备的基本技能之一。从事科学研究和工程应用时候所遇到的最大的困扰大抵是我们在计算涉及矩阵运算或画图时,采用Fortran、C及C++等计算机语言进行程序设计是一项十分麻烦的工作,不仅需要对所利用的有关算法有深刻的了解,还需要掌握所用语言的语法及编程技巧。

Matlab软件由美国Math Works 公司于1984 年推出,历经十几年的发展和竞争,现已成为通用科技计算和图视交互系统的程序语言,是(IEEE) 国际公认的最优秀的科技应用软件之一。它的指令表达与数学、工程中常用的习惯形式十分相似,从而使许多用C 或Fortran 实现起来十分复杂和费时的问题用Matlab就可以轻松地解决。Matlab的典型应用包括:数学计算、算法研究、数据分析和计算结果可视化、建模与仿真等[21]。

Matlab作为一种数值计算和与图形处理工具软件,其特点是语法结构简明、数值计算高效、图形处理完备、易学易用,它在矩阵代数数值计算、数字信号处理、震动理论、神经网络控制、动态仿真等领域都有广泛的应用。与C、C++、Fortran等高级语言相比,Matlab不但在数学语言的表达与解释方面表现出人机交互的高度一致,而且具有优秀高技术计算环境所不可缺少的如下特征:

(1)高质量、高可靠的数值计算能力;

(2)基于向量、数组和矩阵的高维设计语言;

(3)高级图形和可视化数据处理的能力;

(4)广泛解决各学科各专业领域内复杂问题的能力;(5)拥有一个强大的非线性系统仿真工具箱——Simulink;(6)支持科学和工程计算标准的开放式、可交互结构;(7)跨平台兼容。

2 信道编码

2.1 信道编码简介

1948年,信息论的奠基人C.E.Shannon在他的开创性论文“通信的数学理论”中,提出了著名的有噪信道编码定理。即对任何信道,只要信息传输速率R不大于信道容量C,就一定存在这样的编码方法:在采用最大似然译码时,其误码率可以任意小。该定理在理论上给出了对给定信道通过编码所能达到的编码增益的上限,并指出了为达到理论极限应采用的译码方法。在信道编码定理中,香农提出了实现最佳编码的三个基本条件:a 采用随机编译码方式;b编码长度∞

L,即分组的码组长度无限;c译码采用最佳的

最大似然译码算法。

由于受到传输媒质不定性以及噪声、干扰等的影响,在信道上传输信号时,接收端所接收到的信号极可能存在一些偏差。为了能在信噪比的值已知的情况下,提高传输质量,使通信系统达到一定的误比特率的标准,首先应合理设计由信源端发送出来的信号、并对这些信号设计有效的调制与解调的方式,还可以利用光纤传输,以达到实际传输时尽可能的降低误码率值的目的。

在实际通信过程中,接收端接收到的信号由于受到衰减、失真、信道本身特性、环境干扰等的影响一般都会出现误码率。但是,现代各种用途的通信系统都要求能接收到完全准确的信息,亦即将误比特率降低到被允许的程度以下。经上述处理方法后,若误比特率仍不能满足通信系统的要求,则可以按照某种既定规律往发送端发出的信息序列中添加新的码元,以使相互无关的信息序列各码元之间建立起某种联系,并利用这些新的码元进行差错控制,实现将误比特率进一步降低的目的,这种处理方法称为信道编码。信道编码的另一种名称为差错控制编码。进行信道编码前的信息序列承载着所有的有用信息,它们被称为消息码元,新添加的码元不承载任何消息,也不作为最终接收数据传送给用户,它们完全是为了使得消息码元之间产生联系而存在的码元,只是通信系统在信道传输的过程中为了达到系统性能要求、保证通信质量而采用的某种处理过程,接收端对信道传输来的信息利用这些监督码元作相应的信道解码处理后,监督码元便完成了它们的所有任务,它们被称为冗余码元(监督码元)。

信道编码方法的基本思路:在发送端,在被传输的信息码元里按照某种既定规则添加一些冗余码元;在接收端,根据该规则分析消息码元与冗余码元的相互制约关系。当

传输中有错误存在的时候,消息码元与冗余码元之间原有的这种制约关系便被改变,接收端利用这一点能够进行检错、纠错。如果信道的传输速率一定,因为冗余码元的存在,势必会降低用户输入的信息速率,新加入的冗余码元越多,消息码元与冗余码元之间的联系就更紧密,信号的检错能力与纠错能力就会更强,但同时也导致信道传输消息时相同时间内传输承载有用信息的码元越少,也就导致了编码效率变小。所以,通信系统传输信息的可靠性与信道传输速率两者是此消彼长的。

信道编码的性能指标:

(1)编码效率:设信息码元有k 位,经过信道编码后添加了r k n =-位冗余码元,编码效率n k =η。

(2)编码增益:即在误比特率一定的条件下,经过信道编码后传输的信噪比与未

经信道编码的情况下传输的信噪比的差值,称为编码增益。

(3)编码延时。

(4) 编码器与译码器的复杂度。

2.2 信道编码的基本原理

设编码后的码字码长为n ,其中有k 位信息码元,则编码效率n k =η。编码效率η

表示码字中有用码元(信息码元)所占的比例,η的值越大表示码字中有用的信息越多,码字中用来承载有用信息的码元就越多,数据传输就具有更高的效率。

为了提高通信系统的可靠性,较少误比特率,信道容量C 为公式(2.1)。

C=Blog 2(1+S/N)=Blog 2(1+S/n 0b)(bit/s) (2.1)

其中,C 表示信道容量,B 表示信道有效带宽,S 表示信号的功率,N S /表示信噪

比,0n 表示噪声单边功率谱密度()HZ W ,B n 0表示噪声功率。上式表明,信道容量、带宽与信噪比在一定情况下可以相互补偿。

某种编码方法的性能是好还是差,有很多参数可以用来衡量,编码效率就是其中一

个。若将码字中信息码元数用k 表示,冗余码元数用r 表示,则编码效率计算公式为:

)/(r k k +=η (2.2)

上式说明,当k 值一定时,η的值越大时,r 的值越小,单位时间内信道传送的信

息码元的有效性就越高。

从编码的角度来看,编码后的码字长度和信道上被传信息的传输速率R 与误比特率

P 均有关,这两者的函数关系为:

()[

]R E N P r *e x p -= (2.3) 其中,()R E r 是一个认为设置的函数,与信道有关,称之为可靠性函数,其参变量

为信息的传输速率R 。在数字通信系统中,误比特率的值越小,通信的可靠性越高。根据式3.2-3可知,增大码长N 或者使可靠性函数()R E r 增大,均可使误比特率P 减少。又根据式3.2-1可知,当传输速率R 的值不变时,信道容量C 的值越大,()R E r 的值也越大;当信道容量C 的值不变时,信息的传输速率R 越小,()R E r 的值也越大。综上所述,降低信息传输速率R 和增大信道容量C 均可增大可靠性函数()R E r 。

综合上述分析,为了降低误比特率,可以采取以下措施:

(1)增大信道容量C 。信道容量C 不仅与带宽B 和信号平均功率S 密切相关,还与

噪声谱密度也关系紧密。根据Shannon 第二定理,在其他条件都相同时,增大信道容量肯定可以提高通信的可靠性,减少误比特率。为此,可以采取如下措施:

(2)扩展带宽B 。其主要手段是不断开发新的频段以利用带宽应用,有线通信使

用的传输媒质包括明线、电缆和光纤等,占用的频带从几十赫兹到数百赫兹;无线通信则从声波到毫米波、微米波。

(3)加大功率。例如,提高发送功率,使用高增益天线,应用分集接收技术,根

据智能天线将无方向的漫射改为方向性强的波束或点波束等。

(4)降低噪声。例如,可以采用噪声比较低的器件、进行滤波处理等等方法。

(5)采取一定的措施尽可能的消除信号各个码元波形之间的干扰,减少误比特率。

(6)选用优良的信号设计和适当的调制与解调以提高可靠性,减少误比特率。

(7)降低信息传输速率。当要传输的信息量不变的情况下,增加更多的冗余信息,

也就是在单位时间内传输的有用信息变少,因为更多冗余信息的存在而使得信道编译码的能力更加强大,从而提高了可靠性,但延长了传输时间。

假设在信道中当发生发送为“0”而接收为“1”,和发送为“1”而接收为“0”的情况的概

率都为p (1<

()()()i i n i i n n p i n i n p p C i P !

!!1-≈-=- (2.4)

在不作任何纠错处理时的误比特率:

()()∑∑==--==n i n

i i n i i n n n p p C i P P 111 (2.5)

纠错能力为t 位的误比特率:

()()∑∑+=+=--==

n t i n t i i n i i n n n p p C i P P 111 (2.6)

综上所述,利用信道编码方法后,即使只能纠正(或者检测)码字中很少甚至1个

或者2个错误,依然能使误比特率下降几个数量级。这表明,即使是简单的信道编码也具有较大的实用价值。当然,如果在突发信道中传输,由于错误是成串集中出现的,所以上述只能纠正码字中1或2个错误的编码,其效用就不像在随机信道中那样明显了,需要采用更为有效的纠错编码。

2.3 信道编码系统模型

信道的组成如图(2.1)所示。

图2.1 信道的一般组成

通信信道其实是物理媒介,它主要是起到一种桥梁的作用,将发送机输出的信号传

输给接收机。

调制信道包括三部分,分别是发转换器装置、媒质和收转换器装置。调制信道主要

用于研究和分析调制与解调的问题,例如调制器输入端的信号与噪声之间的特性以及输出的信号形式。

编码信道由调制器、调制信道以及解调器三个部分构成。编码与译码问题是编码信

道的主要研究问题。在数字通信系统中,采用编码信道能够使分析问题相对变得简单。编码信道的主要作用是对输入信号序列按照一定规则,加入冗余码,使其输出信号序列相对于输入信号序列发生改变。用概率来描述,用()y x P 表示发送端发送“y ”码,接收端接收到为“x ”码的概率。对于二进制数字通信系统,其信道模型如图(2.2)所示。

11

()0P ()1P

11P

图2.2 二进制编码信道模型

()0P 、()1P 表示发送“0”与“1”的先验概率,()00P 、()11P 表示正确转移的概率,

()01P 、()10P 表示不正确的转移概率。外界干扰、噪声越多,传输发生的错误就会越

多,即()01P 与()10P 的值就越大。

()()1100P P -= (2.7)

()()10111P P -= (2.8)

输出错误率:

()()()()101010P P P P P e += (2.9)

转移概率取决于编码信道的特性,如果信道一定,那么它的转移概率也一定。

由于物理媒质的不定性,无线信道发生时变冲击响应。因此无线信道的数学模型具

有时变、多径的特点,且每条路径的衰落因子也是时变的,也就是在通信时信号会通过多条路径传输,接收端接收到的信号会不同步

3 几种常见的信道编码

在实际应用中,为了最大限度的减少接收信号与大宋信号之间存在的失真,在消息

序列进入信道之前进行了信道编码。本章主要介绍了几种常见信道编码的编码和译码原理。并列出相应的编码和译码程序。

3.1 线性分组码

3.1.1 线性分组码简介

长度为n 的二进制序列有n 2种,从中选出k 2(n k <)个不同的序列即可构成一个

()k n ,分组码,将这k 2个码字记为k

c c c 221,, 。每个k 比特长的信息序列可以映射得到一个长度为n 的码字,n k R =称为码率。

线性分组码是最常用的一类分组码,一个()k n ,的线性分组码是n 维线性空间上的一

个k 维线性子空间,假设它的一组基为{}k g g g 21,,因此()k n ,线性分组码的任何一个码字都可以表示为基中元素的线性组合:

k k g u g u g u c ?+?+?= 2211 (3.1)

上式可以看成是线性分组码的编码过程,其中[]k u u u u ,,21=可以表示成长度为k

的信息序列,c 表示编码得到的码字。若将基序列写成一个矩阵的形式

?????

???????=????????????=n k k k n n k g g g g g g g g g g g g G ,2,1,,22,21,2,12,11,121 (3.2) 这样得到的n k ?维的矩阵G 成为生成矩阵,它可以用来定义一个线性分组码。在线

性分组码的编码过程可以利用信息序列u 与G 的乘积来进行:

G u c ?= (3.3)

一个线性分组码也可以由校验矩阵定义。校验矩阵H 是一个()n k n ?-维矩阵,生

成矩阵G 的行空间中的任意向量都与H 的行正交,也即有如下关系:

0=?T H G

(3.4)

由式3.3与3.4可知,所有码字c 与校验矩阵H 均有如下关系:

0=T cH (3.5)

这正是校验矩阵的由来。如果某个n 元矢量c 满足式4.1.1-5给出的教研关系,那么

c 极为分组码的一个码字。

如果分组码的生成矩阵具有下列形式:

[]P I G k

= (3.6) 其中,k I 代表k k ?的单位矩阵,P 代表()k n k -?的矩阵,那么,称G 具有系统形式,对应的校验矩阵为:

[]

k n T I P H -= (3.7) 利用系统形式生成的矩阵通过式3.1.1-3编码可以得到系统形式的码字,及码字c 的

前k 个比特是信息序列u 本身,而剩下的k n -的比特为奇偶校验比特,他们是信息比特的线性组合,如图(3.1)所示。

k 位信息位n-k 位校验位

图3.1 码字的系统形式

3.1.2 线性分组码的编码与译码原理

()k n ,线性码的编码就是根据线性码的校验矩阵和生成矩阵将长为k 的信息组变换

成长为()k n n >的码字,即先求出信息元和码元之间的关系,再利用此关系构造编码电路。若由校验矩阵和生成矩阵求出的信息元和码元之间关系的结果是一致的,则编码电路也相同。

因为信息序列在传输过程中产生了不同程度的差错,接收端接收的序列y 与发送端

发送的序列c 不完全相同:

e c y += (3.8)

其中,e 为信道的错误图样。

令y 的伴随式(校正因子)为:

T H y s ?= (3.9)

则有()T T T T T H e H e H c H e c H y s ?=?+?=?+=?=。

0≠s 时,译码器的主要任务就是从s 中求出e ,并经过译码计算得到发送端发送的

是何种码字。

线性分组码的译码器的结果如图(3.2)所示。

图3.2 线性分组码译码器的结构图3.1.3 线性分组码的编码程序及仿真图

1、线性分组码的编码程序

function bitcoded=channelcoding(sym,G,k) %编码函数

A=vec2mat(sym,k);%将向量转换为矩阵

U=A*G;%进行线性运算实现编码

U=mod(U,2);%进行模运算,使矩阵中的每个元素都为1或0 bitcoded=reshape(U',1,[]);%将矩阵转换为向量

function y=xxfzm()% 主函数

sym=randint(1,9);

G=[1 0 1 1 1 0 0;

1 0 1 0 0 1 0; %选用(7,3)码

0 1 1 0 0 0 1;] ;

k=3;

y= channelcoding(sym,G,k);

subplot(211)

stairs(1:length(sym),sym);

axis([1 length(sym) -0.2 1.2]);

title('随进产生的二进制序列');

subplot(212)

stairs(1:1:length(y),y);

axis([1 length(y) -0.2 1.2]);

title('进行编码后的序列')

2、线性分组码的编码仿真图

首先随机产生一段二进制序列,其仿真图形如图(3.3)所示:

12345

6789-0.20

0.2

0.4

0.60.8

1

随进产生的二进制序列

采样点对应采样点的取值

图3.3随机产生的二进制序列

接着对二进制序列进行线性编码,其编码图如图(3.4)所示

24681012

14161820-0.20

0.2

0.4

0.60.8

1

进行编码后的序列

采样点对应采样点的取值

图3.4线性分组码编码序列

3.1.4 线性分组码的译码程序及仿真图

1、线性分组码的译码程序

function bitdecoded=channeldecoding(recode,Etab,Smatrix,H,n,k)

% 前向纠错函数,实现纠错功能

% bidecoded 为纠错后返回的比特流

% recode 为输入的比特流

% E 为错误图样表,S 为对应的伴随式表

% H 为监督矩阵,n,k 为码的类型,如(7,4)码,n=7,k=4

row=length(recode)/n; %行数

E=zeros(row,n); %错误图样

RM=zeros(row,n); %纠错之后的矩阵

R=vec2mat(recode,n);

卷积码的编解码Matlab仿真

卷积码的编解码Matlab仿真摘要 卷积码是一种性能优越的信道编码。它的编码器和译码器都比较容易实现,同时它具有较强的纠错能力D随着纠错编码理论研究的不断深入,卷积码的实际应用越来越广泛。本文简明地介绍了卷积码的编码原理和译码原理o并在SIMULINK模块设计中,完成了对卷积码的编码和译码以及误比特统计整个过程的模块仿真。最后,通过在仿真过程中分别改变卷积码的重要参数来加深理解卷积码的这些参数对卷积码的误码性能的影响。经过仿真和实测,并对测试结果作了分析。得出了以下三个结论z (1)当改变卷积码的码率时,系统的误码性能也将随之发生变化。 (2)对于码率一定的卷积码,当约束长度N发生变化时,系统的误码性能也会随之发生变化。 (3)回溯长度也会不同程度上地影响误码性能。 关键词:卷积码:码率:约束长度:回溯长度

Simulation and Research on Encoding and Decoding of Convolution Code Abstract Convolution code has a superior performance of the channel code. It is easy to coding and decoding.An d it has a strong ability to correct e盯ors. As correcting coding theory has a long development,the practice of convolution code is more and more extensive.In由1S由esis,the principle of convolution coding and decoding is introduced simply白rstly. Then由e whole simulation module process of encoding,decoding and the Error Rate Calculation is completed in由is design. Finally,in order to understand 由eir performances of error rate,many changes in parameters of convolution code are calculated in the simulation process.Af ter simulation and me皿UTe,an analysis of test results is presented.Th e following由ree conclusions are draw: (l)Wh en the rate of convolution Code ch皿ges,HER performance of the systemwill change. (2) For a certain rate of convolution code,when由ere is a change in the constraint length of N,BER perfonnance of由e system will change. (3) Re位ospec咀ve length will affect BE R. Key words: convolution code; rate; cons缸aint leng由; retrospective length;

基于MATLAB的卷积码的分析与应用

基于MATLAB的卷积码的分析与应用

毕业设计(论文)任务书

基于MATLAB的卷积码的分析与应用 摘要 随着现代通信的发展,特别是在未来4G通信网络中,高速信息传输和高可靠性传输成为信息传输的两个主要方面,而可靠性尤其重要。因为信道状况的恶劣,信号不可避免会受到干扰而出错。为实现可靠性通信,主要有两种途径:一种是增加发送信号的功率,提高接收端的信号噪声比;另一种是采用编码的方法对信道差错进行控制。前者常常受条件限制,不是所有情况都能采用。因此差错控制编码得到了广泛应用。 介绍了多种信道编码方式,着重介绍了卷积码的编码方法和解码方式。介绍了MATLAB的使用方法、编程方法、语句、变量、函数、矩阵等。介绍了TD-SCDMA通信系统和该系统下的卷积码,搭建了系统通信模型。编写卷积码的编码和解码程序。用MATLAB仿真软件对TD-SCDMA系统的卷积码编解码进行仿真。对其纠正错码性能进行验证,并且对误码率进行仿真和分析。卷积码的编码解码方式有很多,重点仿真Viterbi算法。Viterbi算法就是利用卷积码编码器的格图来计算路径度量,选择从起始时刻到终止时刻的惟一幸存路径作为最大似然路径。沿着最大似然路径回溯到开始时刻,所走过的路径对应的编码输出就是最大似然译码输出序列。它是一种最大似然译码方法,当编码约束长度不大、或者误码率要求不是很高的情况下,Viterbi译码器设备比较简单,计算速度快,因而Viterbi译码器被广泛应用于各种领域。 关键词:卷积码;信道编码;TD-SCDMA;MATLAB

目录 毕业设计(论文)任务书 ............................................................................................I 摘要........................................................................................................................... II Abstract......................................................................................... 错误!未定义书签。第1章绪论 . (1) 1.1课题研究的背景和来源 (1) 1.2主要内容 (2) 第2章相关理论介绍 (3) 2.1信道编码 (3) 2.1.1 信道编码的分类 (3) 2.1.2 编码效率 (3) 2.2线性分组码 (3) 2.3循环码 (5) 2.4卷积码 (6) 2.4.1 卷积码简介 (7) 2.4.2 卷积码的编码 (7) 2.4.3 卷积码的解码 (13) 第3章MATLAB应用 (21) 3.1数和算术的表示方法 (21) 3.2向量与矩阵运算 (21) 3.2.1 通过语句和函数产生 (21) 3.2.2 矩阵操作 (22) 3.3矩阵的基本运算 (22) 3.3.1 矩阵乘法 (22) 3.3.2 矩阵除法 (23) 3.4MATLAB编程 (23) 3.4.1 关系运算 (23) 3.4.2 控制流 (25) 第4章卷积码的设计与仿真 (27) 4.1TD-SCDMA系统 (27) 4.1.1 系统简介 (27) 4.1.2 仿真通信系统模型 (27)

基于MATLAB的LDPC信道编码的研究及实现

本科毕业设计任务书 题目:基于MATLAB的LDPC信道编码的研究及实现

一、毕业设计内容及要求 1、课题说明: 随着无线通信技术的发展和各种传输方式对可靠性要求的不断提高,信道编码作为抗干扰技术的重要手段之一,在数字通信技术领域和数字传输领域显示出越来越重要的作用。近年来,基于中继的协作通信技术通过有效利用空间分集,显著改善通信系统的性能。协作通信技术还可以利用纠错码以进一步提高系统性能。Turbo码和LDPC码作为一种能够逼近香农限的优异差错编码技术,在现代通信中起着举足轻重的作用。LDPC码的种种优点使其成为下一代移动通信(4G)的强有力竞争者,因此LDPC码已经成为信道编码领域的研究热点之一。 本选题的基本任务:在了解LDPC码字的重要作用的基础之上,通过对LDPC码的编译码算法的深入研究,利用MATLAB对LDPC码进行模拟仿真,建立仿真分析模型,分析编码过程中码长、列重、围长等参数的影响,译码时采用不同的译码算法并做出比较。 2、毕业设计的主要内容: (1)了解信道编码在通信系统中的重要作用; (2)掌握LDPC信道编码工作的基本原理; (3)熟悉并掌握LDPC码的编译码算法; (4)利用MATLAB建立LDPC信道编码的仿真模型; (5)对系统进行优化并比较分析码长、列重等参数的影响; (6)比较分析不同的译码算法的影响。 3、毕业设计的基本要求: (1)了解课题的相关知识; (2)调研,比较国内外相关方面的课题; (3)设计方案要进行技术分析,以选择较为合理的方案; (4)实验要求有实验方法和实验数据以及数据分析; (5)设计说明书应包括与有关的叙述说明和计算,内容完整、计算正确; (6)书写工整。计算公式和引用数据要正确,并说明其来源; (7)设计说明书应包括中英文摘要、目录、前言、正文、小结、参考文献; (8)设计说明书图纸应能较好地表达意图,图面布局合理,符合国家制图标准和有关规范。 4、毕业设计工作量: (1)写开题报告,要求不少于2000字;

Matlab中卷积码译码器的误码率分析

长沙理工大学 《通信原理》课程设计报告 郭林 学院计算机与通信工程专业通信工程 班级540802 学号11 学生姓名郭林指导教师龙敏 课程成绩完成日期2008年1月11日

基于Matlab的卷积码译码器的 设计与仿真 学生姓名:郭林指导老师:** 摘要本课程设计主要解决对一个卷积码序列进行维特比(Viterbi)译码输出, 并通过Matlab软件进行设计与仿真,并进行误码率分析。在课程设计中,系统开发平台为Windows Vista Ultimate,程序设计与仿真均采用Matlab R2007a(7.4),最后仿真详单与理论分析一致。 关键词课程设计;卷积码译码器;Matlab;Simulink;设计与仿真 1引言 本课程设计主要解决对一个卷积码序列进行维特比(Viterbi)译码输出,并通 过Matlab软件进行设计与仿真。卷积码的译码有两种方法——软判决和硬判决,此课程设计采用硬判决的维特比译码。 1.1课程设计目的 卷积码是一种向前纠错控制编码。它将连续的信息比特序列映射为连续的编码器输出符号。这种映射是高度结构化的,使得卷积码的译码方法与分组码译码所采用的方法完全不同。可以验证的是在同样复杂度情况下,卷积码的编码增益要大于分组码的编码增益。对于某个特定的应用,采用分组编码还是采用卷积编码哪一种更好则取决于这一应用的具体情况和进行比较时可用的技术[1]。 本课程设计便是通过Matlab设计一个硬判决维特比译码输出的完整电路,并进行误码率分析。

1.2 课程设计的原理 卷积码,又称连环码,是由伊莱亚斯(P.elias)于1955年提出来的一种非分组码。 卷积编码的最佳译码准则为:在给定已知编码结构、信道特性和接收序列的情况下,译码器将把与已经发送的序列最相似的序列作为传送的码字序列的估值。对于二进制对称信道,最相似传送序列就是在汉明距离上与接收序列最近的序列。 卷积码的译码方法有两大类:一类是大数逻辑译码,又称门限译码(硬判决,编者注);另一种是概率译码(软判决,编者注),概率译码又分为维特比译码和序列译码两种。门限译码方法是以分组码理论为基础的,其译码设备简单,速度快,但其误码性能要比概率译码法差[2]。 当卷积码的约束长度不太大时,与序列译码相比,维特比译码器比较简单,计算速度快。维特比译码算法是1967年由Viterbi提出,近年来有大的发展。目前在数字通信的前向纠错系统中用的较多,而且在卫星深空通信中应用更多,该算法在卫星通信中已被采用作为标准技术。 2维特比译码原理 采用概率译码的基本思想是:把已接收序列与所有可能的发送序列做比较,选择其中码距最小的一个序列作为发送序列。如果发送L组信息比特,那么对于(n,k)卷积码来说,可能发送的序列有2kL个,计算机或译码器需存储这些序列并进行比较,以找到码距最小的那个序列。当传信率和信息组数L较大时,使得译码器难以实现。维特比算法则对上述概率译码做了简化,以至成为了一种实用化的概率算法。它并不是在网格图上一次比较所有可能的2kL条路径(序列),而是接收一段,计算和比较一段,选择一段最大似然可能的码段,从而达到整个码序列是一个最大似然值得序列。 下面以图2.1的(2,1,3)卷积码编码器所编出的码为例,来说明维特比解码的方法和运作过程。为了能说明解码过程,这里给出该码的状态图,如图2.2所

数字通信系统matlab仿真

课程设计报告 题目:基于MATLAB的通信系统仿真 ———信道编码对通信系统性能的影响 专业:通信工程 姓名:XXX 学号:0730xxxx

基于MATLAB 的通信系统仿真 ———信道编码对通信系统性能的影响 摘要:简述信道编码理论,详细说明分组码的编译原理、实现方法及检错纠错能力,用MATLAB 仿真有无信道编码条件下对通信系统性能的影响及信道编码在不同信道下对通信系统性能的影响,如AWGN 信道和深衰落信道。 关键词:信道编码、分组码、MATLAB 仿真、性能 一、引言 提高信息传输的有效性和可靠性始终是通信技术所追求的目标,而信道编码能够显著的提升信息传输的可靠性。1948年,信息论的奠基人C.E.Shannon 在他的开创性论文“通信的数学理论”中,提出了著名的有噪信道编码定理.他指出:对任何信道,只要信息传输速率R 不大于信道容量C, 就一定存在这样的编码方法:在采用最大似然译码时,其误码率可以任意小.该定理在理论上给出了对给定信道通过编码所能达到的编码增益的上限,并指出了为达到理论极限应采用的译码方法.在信道编码定理中,香农提出了实现最佳编码的三个基本条件 :(1 )采用随机编译码方式 ; (2 )编码长度L→∞ , 即分组的码组长度无限 ; (3)译码采用最佳的最大似然译码算法。【1】 二、信道编码理论 1、信道编码的目的 在数字通信系统中由于信道内存在加性噪声及信道传输特性不理想等容易造成码间串扰同时多用户干扰、多径传播和功率限制等也导致错误译码。为了确保系统的误比特率指标通常采用信道编码。信道编码是为了保证信息传输的可靠性、提高传输质量而设计的一种编码。它是在信息码中增加一定数量的多余码元,使码字具有一定的抗干扰能力。 2、信道编码的实质 信道编码的实质就是在信息码中增加一定数量的多余码元(称为监督码元),使它们满足一定的约束关系,这样由信息码元和监督码元共同组成一个由信道传输的码字。举例而言,欲传输k 位信息,经过编码得到长为n(n>k)的码字,则增加了 n - k = r 位多余码元,我们定义 R = k / n 为编码效率。【2】 3、 信道编码公式 令信息速率为f b ,经过编码以后的速率为f t ,定义:R =f b /f t 为编码率。则对于任何一个信道,总存在一个截止速率R 0,只要R

Matlab的卷积码译码器的仿真要点

基于Matlab的卷积码译码器的 设计与仿真 学生姓名:指导老师:** 摘要本课程设计主要解决对一个卷积码序列进行维特比(Viterbi)译码输出, 并通过Matlab软件进行设计与仿真,并进行误码率分析。在课程设计中,系统开发平台为Windows Vista Ultimate,程序设计与仿真均采用Matlab R2007a(7.4),最后仿真详单与理论分析一致。 关键词课程设计;卷积码译码器;Matlab;Simulink;设计与仿真 1引言 本课程设计主要解决对一个卷积码序列进行维特比(Viterbi)译码输出,并通 过Matlab软件进行设计与仿真。卷积码的译码有两种方法——软判决和硬判决,此课程设计采用硬判决的维特比译码。 1.1课程设计目的 卷积码是一种向前纠错控制编码。它将连续的信息比特序列映射为连续的编码器输出符号。这种映射是高度结构化的,使得卷积码的译码方法与分组码译码所采用的方法完全不同。可以验证的是在同样复杂度情况下,卷积码的编码增益要大于分组码的编码增益。对于某个特定的应用,采用分组编码还是采用卷积编码哪一种更好则取决于这一应用的具体情况和进行比较时可用的技术[1]。 本课程设计便是通过Matlab设计一个硬判决维特比译码输出的完整电路,并进行误码率分析。

1.2 课程设计的原理 卷积码,又称连环码,是由伊莱亚斯(P.elias)于1955年提出来的一种非分组码。 卷积编码的最佳译码准则为:在给定已知编码结构、信道特性和接收序列的情况下,译码器将把与已经发送的序列最相似的序列作为传送的码字序列的估值。对于二进制对称信道,最相似传送序列就是在汉明距离上与接收序列最近的序列。 卷积码的译码方法有两大类:一类是大数逻辑译码,又称门限译码(硬判决,编者注);另一种是概率译码(软判决,编者注),概率译码又分为维特比译码和序列译码两种。门限译码方法是以分组码理论为基础的,其译码设备简单,速度快,但其误码性能要比概率译码法差[2]。 当卷积码的约束长度不太大时,与序列译码相比,维特比译码器比较简单,计算速度快。维特比译码算法是1967年由Viterbi提出,近年来有大的发展。目前在数字通信的前向纠错系统中用的较多,而且在卫星深空通信中应用更多,该算法在卫星通信中已被采用作为标准技术。 2维特比译码原理 采用概率译码的基本思想是:把已接收序列与所有可能的发送序列做比较,选择其中码距最小的一个序列作为发送序列。如果发送L组信息比特,那么对于(n,k)卷积码来说,可能发送的序列有2kL个,计算机或译码器需存储这些序列并进行比较,以找到码距最小的那个序列。当传信率和信息组数L较大时,使得译码器难以实现。维特比算法则对上述概率译码做了简化,以至成为了一种实用化的概率算法。它并不是在网格图上一次比较所有可能的2kL条路径(序列),而是接收一段,计算和比较一段,选择一段最大似然可能的码段,从而达到整个码序列是一个最大似然值得序列。 下面以图2.1的(2,1,3)卷积码编码器所编出的码为例,来说明维特比解码的方法和运作过程。为了能说明解码过程,这里给出该码的状态图,如图2.2所

卷积码matlab程序

卷积编码程序: function [output, len_tal] = cnv_encd(secrettext, encodetext) g = [0 0 1 0 0 1 0 0; 0 0 0 0 0 0 0 1; 1 0 0 0 0 0 0 1; 0 1 0 0 1 1 0 1]; k0 = 1; % 读入文本文件并计算文件长度 frr = fopen(secrettext, 'r'); [msg, len] = fread(frr, 'ubit1'); msg = msg'; % check to see if extra zero padding is necessary if rem(length(msg), k0) > 0 msg = [msg, zeros(size(1:k0-rem(length(msg),k0)))]; end n = length(msg)/k0; % 把输入比特按k0分组,n为所得的组数。 % check the size of matrix g if rem(size(g, 2), k0) > 0 error('Error, g is not of the right size.'); end % determine L and n0 L = size(g, 2)/k0; n0 = size(g, 1); % add extra zeros,以保证编码器是从全0开始,并回到全0状态。 u = [zeros(size(1:(L-1)*k0)), msg, zeros(size(1:(L-1)*k0))]; % generate uu, a matrix whose columns are the contents of conv. encoder at % various clock cycles. u1 = u(L*k0: -1 :1); for i = 1:n+L-2 u1 = [u1, u((i+L)*k0:-1:i*k0+1)]; end uu = reshape(u1, L*k0, n+L-1); % determine the output output = reshape(rem(g*uu, 2), 1, n0*(L+n-1)); len_tal = n0*(L + n - 1);

基于matlab的turbo码编码的结题报告 彭锦程

基于matlab的turbo码编码的结题报告 姓名:彭锦程 学号:10021230 同组人:李世斌 学号:10021229 指导老师:徐小平

一:引言 自从香农的信道编码定理提出之后,人们对设计出好的信道码的探索与研究就从未间断。1993 年,在国际通信会议上法国学者C Berrou 等人首次提出了Turbo 码。在加性高斯白噪声的环境下,采用编码效率R=1/2、交织长度为65536 的Turbo 码,经过18 次迭代译码后,在Eb/N0=0.7dB 时,其误码率已低于10-5,与香农极限只相差0.7dB。Turbo 码以其优异的性能引起各国研究学者的强烈关注,成为研究的热点课题。在第3 代移动通信系统的建议中,无论是UMTS(WCDMA)还是IS2000(CDMA2000),都已将Turbo 码作为高速率、高质量数据传输中信道编码方案的标准。虽然至今Turbo 码在数学上的机理还没有定论,但是,Turbo 码的优越性能及其迭代译码算法的思想,很大程度上已经被人们所理解。 Shannon 编码定理指出:如果采用足够长的随机编码,就能逼近Shannon 信道容量。而Turbo 码以其接近Shannon 理论极限的译码性能,已被采纳为3G移动通信系统的信道编码标准之一。Turbo 码巧妙地将两个简单分量码通过伪随机交织器并行级联来构造具有伪随机特性的长码,并通过在两个软输入/ 软输出(SISO) 译码器之间进行多次迭代实现了伪随机译码。采用迭代译码的方法来提高通信系统的译码性能是Turbo 码的最大特点。 Turbo 码的编码器、译码器结构繁琐,是一种非常复杂的信道编码方案,这使得对Turbo 码的理论分析十分困难,且只能对运算复杂度作宏观分析,对Turbo码的具体实现并没有一个清楚的度量。因此,使用计算机对Turbo 码进行仿真分析是十分必要的。考虑到Turbo 码系统编译码的数据处理量很大,利用生成矩阵对信息序列进行编码、译码时的迭代计算等等,都涉及了矩阵运算,故采用Matlab/ Simulink 来进行建模仿真,同时分析了迭代次数、交织长度及不同译码算法对Turbo 码性能的影响。 二:Turbo 码的编码器和译码器原理 Turbo 码编码器组成 Turbo 码的编码器的基本结构如图1 所示。 图1 Turbo 码的编码器结构图 Turbo 码编码器主要由两个递归系统卷积编码器(RSC) 、一个交织器与一个删余和复用单元组成。递归系统卷积编码器是指带有反馈的系统卷积编码器,其码率可设为R = k/ n ;交织器用来改变信息序列的排列顺序,获得与原始信息序列内容相同,但排列不同的信息序列;删余和复用单元的作用是从总体上改善Turbo码码率,因此通过删余和复用单元, Turbo 码可以获得不同码率的码字。编码器的码字通过信道输出到译码器内。 Turbo 码译码器原理

基于matlab的2-3卷积码编码译码设计与仿真

西南科技大学 方向设计报告 课程名称:通信工程方向设计 设计名称:2/3卷积码编译码器仿真与性能分析 姓名: 学号: 班级: 指导教师: 起止日期:2011.12.12-2012.1.6 西南科技大学信息工程学院制

方向设计任务书 学生班级:学生姓名:学号: 设计名称:2/3卷积码编译码器仿真与性能分析 起止日期:2011.12.12-2012.1.6指导教师: 设计要求: (1)分析2/3卷积码编码器结构; (2)分析2/3卷积码译码的Viterbi算法; (3)基于SIMULINK进行2/3卷积码的纠错性能仿真; 方向设计学生日志 时间设计内容 12.15-12.17 查看题目及设计要求。 12.18-12.23 查阅相关资料,设计方案。 12.23-12.27 编写报告及调试程序。 12.28-12.29 完善修改课程设计报告。 12.30-12.31 答辩。

方向设计考勤表 周星期一星期二星期三星期四星期五 方向设计评语表 指导教师评语: 成绩:指导教师: 年月日

2/3卷积码编译码器仿真与性能分析 摘要: 卷积码是一种性能优越的信道编码。它的编码器和译码器都比较容易实现,同时它具有较强的纠错能力。随着纠错编码理论研究的不断深入,卷积码的实际应用越来越广泛。本文简明地介绍了卷积码的编码原理和Viterbi译码原理。并在SIMULINK模块设计中,完成了对卷积码的编码和译码以及误比特统计整个过程的模块仿真。最后,通过在仿真过程中分别改变卷积码的重要参数来加深理解卷积码的这些参数对卷积码的误码性能的影响。经过仿真和实测,并对测试结果作了分析。 关键词: 卷积码编码器、viterbi译码器、SIMULINK

基于MATLAB对卷积码的性能分析

基于MATLAB对卷积码的性能分析 【摘要】本文对比了在加性高斯白噪声(AWGN)信道下经BPSK调制后的数据不编码与添加卷积编码后接收到的信道输出的误码性能,并通过对比对卷积码性能进行分析。采用MATLAB自编函数对[2,1,8]卷积码以及维特比译码进行仿真,且对其性能进行分析。由于卷积码有性能floor,编码增益随信噪比降低而体现不明显。仿真结果表明:当信噪比等于-1dB时,一个序列通过加性高斯白噪声信道后接收到的信道输出误比特率大于10-1,且该序列运用[2,1,8]卷积码编码,维特比译码(硬判决)后所得的序列误比特率升高。当信噪比为2dB时,一个序列通过加性高斯白噪声信道后接收到的信道输出误比特率约为4*10-2,且该序列运用[2,1,8]卷积码编码,维特比译码后所得的序列误比特率小于10-3,误码率远低于不编码时的误码率。因此卷积码适用于信道输出误码率比较低时候。 【关键词】维特比译码;卷积码;误比特率;马尔科夫性 1.引言 卷积码的编码器是由一个有k位输入、n位输出,且具有m位移位寄存器构成的有限状态的有记忆系统,通常称它为时序网络。[1]编码器的整体约束长度为v,是所有k个移位寄存器的长度之和。具有这样的编码器的卷积码称作[n,k,v]卷积码。对于一个(n,1,v)编码器,约束长度v等于存储级数m。卷积码是由k个信息比特编码成n(n>k)比特的码组,编码出的n比特码组值不仅与当前码字中的k个信息比特值有关,而且与其前面v个码组中的v*k个信息比特值有关。 卷积码有三种译码方式:序列译码、门限译码和概率译码。其中,概率译码根据最大似然译码原理在所有可能路径中求取与接收路径最相似的一条路径,具有最佳的纠错性能,[2]维特比译码是概率译码中极重要的一种方式。 序列译码和门限译码则不一定能找出与接收路径最相似的一条路径。不同于维特比译码,门限译码与序列译码所需的计算量是可变的且对于给定信息分组的最终判决仅仅基于(m+1)个接收分组,而不是基于整个接收序列。[3]与维特比译码所使用的对数似然量度不同,序列译码所使用的量度为Fano量度。在接收序列受扰严重的情况下,序列译码的计算量大于维特比译码所需的固定计算量,虽然序列译码要求的平均计算次数通常小于维特比译码。在采用并行处理的情况下,维特比译码的速度会优于序列译码。在同样码率和存储级数的条件下,门限译码的性能比维特比译码低大约3dB。 维特比译码的数据输出方式有硬判决及软判决两种方式,本文选取生成多项式为561,753的(2,1,8)卷积码对硬判决的性能进行分析,并依据维特比译码的原理以及卷积码的特性,对卷积码编码和维特比译码过程在加性高斯白噪声(AWGN)信道下进行仿真,并且根据仿真结果对维特比译码(硬判决)的结果

MATLAB OFDM卷积编码程序及代码

%bin22deci.m function y=bin22deci(x) %将二进制数转化为十进制数 t=size(x,2); y=(t-1:-1:0); y=2.^y; y=x*y'; %************************end of file*********************************** %comb.m %AWGN加噪声程序 function[iout,qout]=comb(idata,qdata,attn) %******************variables************************* %idata:输入I信道数据 %qdata:输入Q信道数据 %iout输出I信道数据 %qout输出Q信道数据 %attn:由信噪比导致的衰减系数 %****************************************************** iout=randn(1,length(idata)).*attn; qout=randn(1,length(qdata)).*attn; iout=iout+idata(1:length(idata)); qout=qout+qdata(1:length(qdata)); %************************end of file*********************************** %crdemapping.m %数据逆映射载波程序 function[iout,qout]=crdemapping(idata,qdata,fftlen,nd); %******************variables************************* %idata:输入I信道的数据 %qdata:输入Q信道的数据 %iout:输出I信道的数据 %qout:输出Q信道的数据 %fftlen:FFT的长度 %nd:OFDM符号数 %***************************************************** iout(1:26,:)=idata(2:27,:); qout(1:26,:)=qdata(2:27,:); iout(27:52,:)=idata(39:64,:); qout(27:52,:)=qdata(39:64,:); %********************end of file*************************** %crmapping.m

基于matlab的通信系统仿真要点

创新实践报告 报告题目:基于matlab的通信系统仿真学院名称:信息工程学院 姓名: 班级学号: 指导老师: 二O一四年十月十五日

一、引言 现代社会发展要求通信系统功能越来越强,性能越来越高,构成越来越复杂;另一方面,要求通信系统技术研究和产品开发缩短周期,降低成本,提高水平。这样尖锐对立的两个方面的要求,只有通过使用强大的计算机辅助分析设计技术和工具才能实现。在这种迫切的需求之下,MATLAB应运而生。它使得通信系统仿真的设计和分析过程变得相对直观和便捷,由此也使得通信系统仿真技术得到了更快的发展。通信系统仿真贯穿着通信系统工程设计的全过程,对通信系统的发展起着举足轻重的作用。通信系统仿真具有广泛的适应性和极好的灵活性,有助于我们更好地研究通信系统性能。通信系统仿真的基本步骤如下图所示:

二、仿真分析与测试 (1)随机信号的生成 利用Matlab 中自带的函数randsrc 来产生0、1等概分布的随机信号。源代码如下所示: global N N=300; global p p=0.5; source=randsrc(1,N,[1,0;p,1-p]); (2)信道编译码 1、卷积码的原理 卷积码(convolutional code)是由伊利亚斯(p.Elias)发明的一种非分组码。在前向纠错系统中,卷积码在实际应用中的性能优于分组码,并且运算较简单。 卷积码在编码时将k 比特的信息段编成n 个比特的码组,监督码元不仅和当前的k 比特信息段有关,而且还同前面m=(N-1)个信息段有关。 通常将N 称为编码约束长度,将nN 称为编码约束长度。一般来说,卷积码中k 和n 的值是比较小的整数。将卷积码记作(n,k,N)。卷积码的编码流程如下所示。 可以看出:输出的数据位V1,V2和寄存器D0,D1,D2,D3之间的关系。根据模2 D0D2D1D3 + + M V1 V2 OUT 02 1V D D =⊕0123 2V D D D D =⊕⊕⊕

基于MATLAB的调制解调与信道编译码仿真

基于MATLAB 的调制解调与信道编译码仿真 摘要:随着信息时代的步伐,通信技术得到了全面的发展,信息技术已成为了21世纪最强大的国际化动力。在通信技术中,信息的调制、解调和误码纠错都占有重要的地位。MATLAB 作为一款功能强大的数学工具软件,在通信领域中得到了很广泛的应用。本文基于MATLAB 对信号进行模拟仿真设计,实现对二进制相移键控、循环码的纠错仿真、BPSK 的调制解调等进行仿真设计。 关键字:MATLAB 、调制解调、2PSK 、BPSK 、重复码。 一 、二进制和四进制相移键控调制仿真设计 1.1 二进制相移键控(2PSK )原理 相移键控是利用载波的相位变化来传递数字信息的,而振幅和频率保持不变。在2PSK 中常用0和π分别表示二进制“0”和“1”,2PSK 的信号时域表达式为: 2t )e c p s k n w t ?+()=Acos( n ?表示为第n 个符号的绝对相位,因此上式可改写为: 2Acosw t -Acosw t 1-P P e {psk c c t ()=概为概率为率 由于表示信号的两种码形完全相同,极性相反,故2PSK 信号一般表示一个双极性全占空矩形脉冲序列与一个正弦载波相乘。 2p ()sk e t =s(t)cosw c t 其中: s(t)=∑n a g(t-nTs); 这里,g(t)为脉宽Ts 的单个矩形脉冲;n a 的统计特征为 n a = 概率为 概率为 即发送二进制“0”时(a 1n =+),2p ()sk t e 取0相位;发送二进制符号“1”时(a 1n =+),2p ()s k t e 取π相位。这种以载波的不同相位直接法去表示相应二进制数字信号的调

MATLAB实现卷积码编译码-

本科生毕业论文(设计) 题目:MATLAB实现卷积码编译码 专业代码: 作者姓名: 学号: 单位: 指导教师: 年月日

目录 前言----------------------------------------------------- 1 1. 纠错码基本理论---------------------------------------- 2 1.1纠错码基本理论 ----------------------------------------------- 2 1.1.1纠错码概念 ------------------------------------------------- 2 1.1.2基本原理和性能参数 ----------------------------------------- 2 1.2几种常用的纠错码 --------------------------------------------- 6 2. 卷积码的基本理论-------------------------------------- 8 2.1卷积码介绍 --------------------------------------------------- 8 2.1.1卷积码的差错控制原理----------------------------------- 8 2.2卷积码编码原理 ---------------------------------------------- 10 2.2.1卷积码解析表示法-------------------------------------- 10 2.2.2卷积码图形表示法-------------------------------------- 11 2.3卷积码译码原理---------------------------------------------- 15 2.3.1卷积码三种译码方式------------------------------------ 15 2.3.2V ITERBI译码原理---------------------------------------- 16 3. 卷积码编译码及MATLAB仿真---------------------------- 18 3.1M ATLAB概述-------------------------------------------------- 18 3.1.1M ATLAB的特点------------------------------------------ 19 3.1.2M ATLAB工具箱和内容------------------------------------ 19 3.2卷积码编码及仿真 -------------------------------------------- 20 3.2.1编码程序 ---------------------------------------------- 20 3.3信道传输过程仿真-------------------------------------------- 21 3.4维特比译码程序及仿真 ---------------------------------------- 22 3.4.1维特比译码算法解析------------------------------------ 23 3.4.2V ITERBI译码程序--------------------------------------- 25 3.4.3 VITERBI译码MATLAB仿真----------------------------------- 28 3.4.4信噪比对卷积码译码性能的影响 -------------------------- 28

基于MATLAB的信道编码分析

题目:基于MATLAB的通信系统仿真 ———信道编码对通信系统性能的影响 专业:通信工程 姓名:崔校通 学号:201300484316 日期: 2016.12.22

目录 一、引言 (2) 二、信道编码理论 (2) 2.1、信道编码的目的 (2) 2.2、信道编码的实质 (3) 2.3、信道编码公式 (3) 三、线性分组码的编译码原理 (3) 3.1、线性分组码的基本概念 (3) 3.2、生成矩阵和校验矩阵 (4) 四、MATLAB仿真 (5) 4.1仿真 (5) 4.1.1原理说明 (5) 4.1.2各子函数说明 (5) 4.2仿真源程序 (5) 4.2.1信道编码 (5) 4.2.2信道解码 (6) 4.2.3交织 (6) 4.2.4解交织 (7) 4.2.5信道衰落 (7) 六程序及仿真图 (8) 1、file1:信道编码对通信系统性能的影响,有无信道编码的影响 (8) 2、file2:在周期性深衰落的信道条件下,交织对通信系统性能的影响 (10) 3、file3:在交织条件下,不同时长的周期性深衰落对系统性能影响的比较 (13)

基于MATLAB的通信系统仿真 ———信道编码对通信系统性能的影响摘要:简述信道编码理论,详细说明分组码的编译原理、实现方法及检错纠错能力,用MATLAB仿真有无信道编码条件下对通信系统性能的影响及信道编码在不同信道下对通信系统性能的影响,如AWGN信道和深衰落信道。 关键词:信道编码、分组码、MATLAB仿真、性能 一、引言 提高信息传输的有效性和可靠性始终是通信技术所追求的目标,而信道编码能够显著的提升信息传输的可靠性。1948年,信息论的奠基人C.E.Shannon在他的开创性论文“通信的数学理论”中,提出了著名的有噪信道编码定理.他指出:对任何信道,只要信息传输速率R不大于信道容量C, 就一定存在这样的编码方法:在采用最大似然译码时,其误码率可以任意小.该定理在理论上给出了对给定信道通过编码所能达到的编码增益的上限,并指出了为达到理论极限应采用的译码方法.在信道编码定理中,香农提出了实现最佳编码的三个基本条件:(1 )采用随机编译码方式; (2 )编码长度L→∞ , 即分组的码组长度无限; (3)译码采用最佳的最大似然译码算法。 二、信道编码理论 2.1、信道编码的目的 在数字通信系统中由于信道内存在加性噪声及信道传输特性不理想等容易造成码间串扰同时多用户干扰、多径传播和功率限制等也导致错误译码。为了确保系统的误比特率指标通常采用信道编码。信道编码是为了保证信息传输的可靠性、提高传输质量而设计的一种编码。它是在信息码中增加一定数量的多余码元,使码字具有一定的抗干扰能力。

卷积码的编解码Matlab仿真

卷积码的编解码Matlab仿真

卷积码的编解码Matlab仿真 摘要 卷积码是一种性能优越的信道编码。它的编码器和译码器都比较容易实现,同时它具有较强的纠错能力。随着纠错编码理论研究的不断深入,卷积码的实际应用越来越广泛。本文简明地介绍了卷积码的编码原理和译码原理。并在SIMULINK模块设计中,完成了对卷积码的编码和译码以及误比特统计整个过程的模块仿真。最后,通过在仿真过程中分别改变卷积码的重要参数来加深理解卷积码的这些参数对卷积码的误码性能的影响。经过仿真和实测,并对测试结果作了分析。得出了以下三个结论: (1)当改变卷积码的码率时,系统的误码性能也将随之发生变化。 (2)对于码率一定的卷积码,当约束长度N 发生变化时,系统的误码性能也会随之发生变化。 (3)回溯长度也会不同程度上地影响误码性能。 关键词:卷积码;码率;约束长度;回溯长度

Simulation and Research on Encoding and Decoding of Convolution Code Abstract Convolution code has a superior performance of the channel code. It is easy to coding and decoding. And it has a strong ability to correct errors. As correcting coding theory has a long development, the practice of convolution code is more and more extensive. In this thesis, the principle of convolution coding and decoding is introduced simply firstly. Then the whole simulation module process of encoding, decoding and the Error Rate Calculation is completed in this design. Finally, in order to understand their performances of error rate, many changes in parameters of convolution code are calculated in the simulation process. After simulation and measure, an analysis of test results is presented. The following three conclusions are draw: (1) When the rate of convolution Code changes, BER performance of the system will change. (2) For a certain rate of convolution code, when there is a change in the constraint length of N, BER performance of the system will change. (3) Retrospective length will affect BER. Key words:convolution code; rate; constraint length; retrospective length;

相关主题
文本预览
相关文档 最新文档