足球比分直播

基于FPGA的信号差错控制分析与设计.pdf

返回
基于FPGA的信号差错控制分析与设计.pdf_第1页
第1页 / 共52页
基于FPGA的信号差错控制分析与设计.pdf_第2页
第2页 / 共52页
基于FPGA的信号差错控制分析与设计.pdf_第3页
第3页 / 共52页
基于FPGA的信号差错控制分析与设计.pdf_第4页
第4页 / 共52页
基于FPGA的信号差错控制分析与设计.pdf_第5页
第5页 / 共52页
点击查看更多>>
资源描述:
成都理工大学硕士学位论文解码时直接使用IP Core,在FPGA配置方面,使用主动同步串行数据总线SPI方式固化程序,程序放在flash,掉电后不丢失,可以永久保存,调试方案则采用JTAG。在系统测试中,我们首先用MATLAB仿真整个系统,主要以1000个字符和1500个字符在相同条件下的误码个数比较。然后在系统实际运行过程中,连续运行多个数据,用示波器测试发出的数据,借此分析了影响Turbo码的几个因素。通过完整的分析与测试,事实证明该系统已经完全实现其功能,使用FPGA来实现Turbo码的编码与解码工作是非常理想的方式。目前为止,绝大部分Turbo码的研究都限制于低速率的二进制来编码,其实Turbo码远不止于此,其还可以与TCM、多进制编码等技术相结合,这些方式应用于高效调制与传输等,并且也有类似的非常接近信道容量的性能。总之,正是因为Turbo码具有非常优越的性能,全球的研究者都在努力的将其实施于应用中,不仅在移动卫星通信系统领域、还在数字音视频广播、深空通信、深空网、UMTS/3GPP、CDMA等系统有着广泛的应用。关键词差错控制纠错码Turbo码FPGAⅡThe signal error control research and design using FPGAAbstractWith the technological development,the communication technology has gainedmore and more attentions by the governments in different countries.However,theprimary purpose of communication system is ination accuracy.Xiang Nongpointed out that this encoding way is called Channel Codingalso called ErrorCorrecting Code,which Can promote the reliability of channel transmission afterencoding the original ination.That is to say,nowadays the development ofchannel transmission is based on Xiang Nong Channel Coding Theorem and tends tobe more and more mature.In 1993,two French professors Berrou and Glavieux,withtheir Burmese doctor Thitimajshima,came up with the new ways of encoding TurboCodes,published on Near Shannon limit error-correcting coding and decodingTurbocodes in ICC conference.It skillfully used two simple component codes,parallellyintertwined together by the pseudo·random interleaver,to construct a long code withthe pseudorandom characteristics.And the pseudo-random decoding wasaccomplished through the multiple iterations of the two soR-in/soR-outsISOdecoder.When the simulation results canle out,its perance was much better thanthe other way of coding.Therefore,Turbo made great influences in this industry.This thesis is mainly about the coding and decoding of the data transmissionsaRer the system processing.We will apply Turbo coding scheme and the codes beforetransmission are required in the data.There are many s to realize the decoding,such as by IP Core and hardware description language,in which all the means areinvolved in this system.If combined the two together,it will give full display of thepotential ofFPGA.Since most ofthe technologies in Turbo Coding are combinations ofother codingtechnologies and mature,this thesis will firstly introduce the present frequently usedcoding technologies,especially about linear block codes as other coding technologiesare mostly a subset of it.On this basis,comes Turbo Coding.There was only onecoding structure,Parallel Cascade Convolution Codecalled PCCC,when TurboCoding Was firstly put forward.In order to simplify the system,we will apply theinitial coding structure.However,the author will only introduce the structure,but notits algorithm and the way of derivation,since we will apply the free IP Core to realizethe decoding.This essay will mainly focus on the code of Parallel CascadeConvolution Codecccand introduce specifically every small module in thestructure,especially interleaver.The author will not only make explanations about thedesign,but also the Turbo Code influence after Matlab simulations under the means ofHI成都理工大学硕士学位论文Verilog.Convolutional code is mainly adopted and We will explain its encodingmeans and derivation ula in detail.Verilog coding is mainly applied in Turbo with the help of IP Core.This essaylists part of key signal timing,and the whole system call work in all orderly way underthe control of the key signals.nlis is the first edition.which mainly realizes itsfunction SO there is no deleting tool and IP Core Call be used directly when decoding.In terms of the FPGA configuration,We will use the active synchronous serial databussPito solidify the program,which will be put in the flash.The program can bekept permanent and there is no loss after power off,with JTAG adjustment used.In system functional testing,we first apply MATLAB to stimulate the wholesystem,and compare the number ofthe error codes between 1000 characters and 1500characters under the same situation.Then in the piratical running system process,wewill run many a data in a row and test the sent data with oscilloscope.Through thecomplete analysis and test,it is proved that this system fully displays its function andit is the most ideal to use M0 codes to code and decode with FP·GA.So far,most researches about Turbo codes are restricted by the low rate of binarycoding while Turbo code is far more than this.As a matter of fact,it call be combinedwith TCM and multiband coding techniques,etc.,which are applied in the highefficient modulation and transmission and also have the similar functions withchannel capacity.All in all,It is because of the superior function of Turbo code that global researchersdevotes themselves to putting it into use,not only in the field of mobile satellitecommunication system,also in digital audio and video broadcast,deep spacecommunications,deep space network,UMTS/3 GPP,CDMA system,etc..KeywordsError control Error correction code Turbo code FPGAIV目录目录基于FPGA的信号差错控制研究与设计I第1章引言11.1选题背景..11.2研究内容21.3研究成果..3第2章常用纠错技术分析42.1编码技术的发展及其应用..42.2差错控制编码的基本原理。52.3现代常用编码技术..72.3.1线性分组码72.3。2循环冗余校验码。112.3-3 RS码132.3.4 turbo码..1S2.4本章小结17第3章Turbo码的设计与仿真.183.1总体编译码设计框图183.2编码器类型设计193.3译码器类型设计203.4交织器设计.213.5删余器的作用及设计.233.6卷积码243.6.1卷积码基本概念..243.6.2卷积码的编码.243.6.3卷积码的译码..273.6.4 MATLAB实现卷积码仿真293.7系统纠错能力293.8本章小结.31第4章Turbo码的实现.32V成都理工大学硕士学位论文4.1 Turbo码编码实现.324.1.1关键信号时序.324.1.2交织器的FPGA实现..324.1.3卷积编码器的FPGA实现.344.1.4使用IP Core实现译码364.2 FPGA配置与调试方案364.2.1 FPGA配置方案..364.2.2 FPGA调试方案。374.2.3 FPGA优势与选型..384.3本章小结.38第5章Turbo码译码结果.395.1 Matlab仿真结果分析395.2 FPGA仿真与实际结果分析.425.3影响Turbo码的几个因素445.4本章小结45结论..46致谢。47参考文献49攻读学位期间取得学术成果..51VI第1章引言1.1选置背景第1章引言随着社会的发展,通信技术在人们的生活中扮演了不可或缺的角色,人们越来越倚重科学技术,也就越来越离不开通信。Shannon编码定理指出如果采用足够长的随机编码,就能逼近Shannon信道容型引。但传统的编码都是加入了代数形式,其实都能找到某种规则,所以不能说是随机,又因为实际应用中开销的考虑,编码不能特别繁琐,因此传统编码无法发挥其全部功能,所以传统的编码性能与信道容量有一定差距。在实际应用中,信道容量仅作为一个理论极限而存在,在设计过程中并没有以此为依据。1993年两位法国教授Berrou、Glavicux和他们的缅甸籍博士生Thitimajshima在ICC会议上发表的’ Near Shannon limit error-correcting codingand decodingTurbo codes”,提出了一种全新的编码方式_T1lrbo码【11,它巧妙地将两个简单分量码通过伪随机交织器并行级联来构造具有伪随机特性的长码,并通过在两个软入/软gBstso译码器之间进行多次迭代实现了伪随机译码。仿真结果出来后,这种编码方式的性能比其他许多方式要好很多,因此,Turbo码一提出就在业界得到许多研究者的重视。Turbo码的距离特性对其性能具有至关重要的作用,线性码的距离分布与重量分布类似,若低重量的输入序列经编码后并无多大改善,结果依旧和原来一样,那么其距离特性就会变差【41。该特性虽然对块码并无影响,但是对于卷积码来说却非常重要,卷积码的距离特性对其误码率至关重要。Turbo码在刚刚问世的时候,各个国家的研究者都对其非常关注。但是却缺乏详细的理论数据和科学证明,所以,这就留下了大量的空间给其他科学家与学者来做研究与推导。从1997年开始,每隔三年国际上便会举办一次Turbo码及其相关主题的会议,会议上便会提出当时最新的理论与技术研究成果。现在国内外有许多的机构对Turbo码做详细的研究,在国内,许多机构都取得了非常显著的成绩【4】。最初很多人在分析Turbo码时从低密度校验码LDPC角度来看,认为Turbo码是一种比较特殊的低密度校验码,所以这引起了人们再次重视低密度校验码的风潮。但是到目前为止,对Turbo码的研究还未取得一个完全令人满意的结论。在Turbo码的性能分析方面。低信噪比时,通常采用计算机仿真的手段来对Turbo码性能进行评估;而在高信噪比时,一般使用联合界技术计算Turbo码的性能上界。在对Turbo码分析时,从距离谱的角度来看,其码字之间的距成都理工大学硕士学位论文离需要越大越好,有人将代数的理念加入到该码的研究中来,同样也得到了非常喜人的结果。在Turbo码的编码译码方面。Turbo码编码的主要思想是利用强约束短码构造伪随机长码,这样就能尽可能的达到香农极限。因为各种原因,Turbo码译码中用最大似然译码的难度比较大,目前为止技术条件有限,所以采用别的方法来实现译码,比如软判决迭代译码方法。很多年以前Bahl、Cocke、Jelinek、Raviv等人就一起提出了前向后向最大后验概率译码算法MAP 1,但是在Turbo码出现以前这种译码算法并未得到重视,直到Turbo码的出现;还有传统的维特比算法Witerbi经过科学家的修正处理,得到了维特比算法的软输出算法一SOVA。所以后来Turbo码的译码主要分为两大类MAP算法和SOVA算法。再后来,通过学者与科学家对MAP算法的改进,又形成了MAP算法的子方法,例如数域上的Log.MAP算法和Max.Log.MAP算法等。又有人提出以滑动窗的SW-MAP译码算法来减小译码延时。同时很多人对低复杂性、低延时的译码算法也进行了探求pJ。Turbo码能够有这样好的性能,其交织器的使用至关重要。但是正是因为交织器的引入,使Turbo码的性能分析越来越困难,所以,在设计高性能、低复杂性的交织器方面吸引了众多学者与科学家的广泛关注。目前广泛应用的交织器有分组交织器与随机交织器两大类。在其他方面的研究进行得如火如荼时,通过对交织器的设计规则研究来对随机交织器进行改进也是交织器设计的一个非常重要思路。1.2研究内容本课题提出了一种基于FPGA的信号传输过程中的信号差错控制系统,.该论文首先介绍了现今常用的多种信号差错控制方案,主要概述了线性分组码,以及其循环冗余差错控制校验码CRC和里所码,同时着重分析了Turbo码和其编译码算法。该文章主要是完成系统处理后数据传输时的编码与译码功能,我们采用Turbo码编码方式,数据需要传输前的编码,编码实现有多种方式,使用IP Core,使用原语实现,还可以自己通过硬件描述语言实现,该系统中我们对这些方式都有涉及,例如在调用异步FIFO和译码模块时,我们采用IP Core来实现,对一些简单的,没有固定IP Core的我们采用Verilog进行编码处理,这二者结合设计时,就能够充分的利用FPGA。由于课题来源于公司项目,对课题的整个设计方案的技术难点很明确,因此本课题的主要突破方面如下所示第1章引言1对各种纠错编码方式做深入的研究与对比,深入了解其原理。2对循环冗余校验码CRC与RS码做特别研究。3介绍卷积码并且通过MATLAB实现,研究其理论值,同时着重介绍Turbo码。4根据实际情况,对Turbo码进行简化与修改,同时仿真,并用FPGA实现。该文章通过对现有各种编码方式的研究,对应于实际应用情况,对Turbo码作出相应研究与修改,并用FPGA实现,完成实际项目中通信差错控制。在系统实际运行过程中,连续运行多个数据,用示波器测试发出的数据,借此分析了影响Turbo码的几个因素。通过完整的分析与测试,事实证明该系统已经完全实现其功能,使用FPGA来实现Turbo码的编码与解码工作是非常理想的方式。其实通过分析可以发现,Turbo码中所用到的技术都是已经成熟的,各个国家的学者已经研究熟了技术,虽然如此,可Turbo码仍然在很久之后才被提出,原因很简单,就是因为大家没有将这些技术如此的组合起来。总之,正是因为Turbo码具有非常优越的性能,全球的研究者都在努力的将其实施于应用中,不仅在移动卫星通信系统领域、还在数字音视频广播、深空通信、深空网、UMTS/3GPP、CDMA等系统有着广泛的应用。不仅如此,在信息隐藏方面也引进了Turbo码编码技术,例如加密和数字水印领域。同样,在分布式信源编码的研究以及信源信道联合编码技术中也引入了Turbo码的思想。成都理工大学硕士学位论文第2章常用纠错技术分析2.1编码技术的发展及其应用随着科技的发展,通信技术越来越受到各国重视,而所有通信系统努力的首要目标则是信息准确。传统的方法比如提高天线的增益、增大发射功率和增加信道带宽等来实现较高可靠性的传输任务一般难度比较大,甚至在有些情况下还不能实现所需的功能。香农曾指出对原始的信息做一些编码后也能够提高信道传输的可靠性,而这种编码的方式即称为信道编码也被称为纠错码。即使说现今的纠错技术都是以香农定理为指导思想发展起来的也不为过,所以香农定理有着非常重要的价值,1950年代提出的汉明码是纠错技术发展史上的一个小里程碑,它在线性分组码中不可或缺,随着汉明码的提出,各种线性代数也被许多学者青睐,将其与编码技术相融合,形成了一套代数编码理论。此后BHC也被提出来【511。循环码是由普兰奇在1957年所提出来的,从其提出后的十多个年头里,循环码成了纠错码理论研究的重点,并且获得了很多成果。因为循环码不仅具有非常优秀的性能、简单的编译码方式、很容易实现等等特点,因此,循环码基本上占据了绝大部分的实际应用中差错控制系统中的线性分组码份额。在误码率为lO。5时,以编码效率为112、码长选择n255的RS码作为外码、而内码则采用级联码,约束长度为7,并且内码采用维比特译码,这时所需要的信噪比仅仅为0.2dB,其性能非常好。其发展历程如下所示,埃莱亚斯在1955年提出了一种卷积码,这是与分组码不一样的码,然后沃曾克拉夫特又提出了序列译码。1967年维特比Viterbi提出了一种效率很高,同时速度很快,并且译码较简单的最大似然译码法,也是维特比译码,该译码方式是,这种方法到目前为止得到了非常广泛的应用14】。福尼Fomey在1966提出了另一种编码方式,这就是级联码,即使用多次编码的方式组合成较长的分组码,通过这样的编码方式就获得性能优良的码,并且其性能尽可能的接近了香农极限。在70年代初期,纠错编码技术开始应用到多个领域,一个非常经典的例子就是美国的“旅行者”号飞船,一系列的天文发现都是与该纠错技术的使用密不可分,所有研究者都为之信心大振。上个世纪80年代初期以来,戈帕等人将几何的思想引进到编码中,使代数与几何相融合,该方面的研究方面各国一直持续向前16]。上世纪80年代以来,各个领域都已经出现了纠错编码码技术的影子,而且在很多方面都取得了非常好的成就。第2章常用纠错技术分析在1993年的时候Turbo码出现了,其编码方式是对目标信息序列进行交织处理,然后产生至少一组以上的校验序列来形成整个目标码字,在迭代译码方式上排除了硬输入输出译码方式,而选择软入软出的方式。例如一个Turbo码在采用64500比特交织、18次的迭代,而码元速率等于I/2时,其性能距香农限仅仅只有O.7 dB的差距。Turbo码的发展非常迅速,随着Turbo码的应用,Mackey以及Neal在1995年发现了低密度奇偶校验码,在这个时候这一种码被提出来后才得到了非常广泛的关注【17】。目前这些接近香农限的各种编码技术已经在民用,军用等方面得到广泛应用,且影响不容小觑。一般来说,信道编码的实现过程实质就是将冗余码按规则加入到目标信息码序列中,这些加入到目标信息序列后的码元称为监督码,就是这种使前面的信息码和后面的监督码之间形成某种特定的关系,利用这种关系来完成信息的检测错误和纠正错误的功制引。以两种状态的数据信息a和b为例,当我们要发射这样一组信息时,在对该二进制数做编码处理之前首先需要找到其二进制数据,在这里我们只需要用1位二进制数即可。表2-1为相关编码表。在没有进行编码的情况下,数据的传输规则很简单,就是传输的是什么,接收到的就应该是什么,如下表所示,0代表A,l代表B,没有发生错误的前提下,就能够正确传输发送端的意图。但在实际的传输过程中不是理想的状态,原始信息会因为很多原因发生意料不到的错误,从而改变原来意图。表3-1中可以看出,无论哪一组的码一旦出现了错误,其要表达的意图都会发生变化。 因此,该编码不具有检错和纠错的能力。裹2-1编码表A B重复码 信息位 监督位 信息位 监督位 检错个数 纠错个数1,1码 0 l 0 02,1码 0 0 1 l 1 l3,1码 O 00 1 11 2 l4,1码 O 000 1 11l 3 l为了改变这种这种情况,我们增加一位监督码元,使用重复码2,1的方式,上述重复码中,码长2位,信息位1位。这样在信息的传输过程中,只要任何一位若发生了错误,那么其码字将会改变。所以接收方接收到发生错误后的信息时,就能够知道该信息不对,但是这样只能检错,并不能够纠正发生5
展开阅读全文
收藏
下载资源

加入会员免费下载





足球比分直播