已阅读5页,还剩82页未读, 继续免费阅读
[硕士论文精品]多重级联奇偶校验码的fpga实现.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中文摘要摘要自1948年香农提出并证明了著名的有扰信道编码定理以来,人们一直在努力寻找一个逼近香农理论极限的好码。1993年TURBO码的出现则为彻底地解决这一问题带来希望。最初提出的TURBO码是一类并行级联卷积码,虽然其理论和实际应用都发展的比较成熟,但由于它本身的一些缺点,例如码率较低,译码复杂度较高,使得其开发利用有了一定的局限。目前TURBO码的概念已经有了很大的拓展,其子码不仅可以是卷积码,而且也可以是分组码;级联形式不仅可以并联,也可以串联,甚至两者混合;由多个子码而形成的级联码称为多重级联码。并行级联分组码也已经显示出接近香农理论极限的卓越性能,而其译码采用的也是一种相对简单的迭代译码技术。本文所研究的多重级联奇偶校验码就是这种类型的具有很强纠错能力的差错控制编码。它是以非常简单的奇偶校验码作为子码来构造多重多维级联分组码。除了编码,译码简单外,多重级联奇偶码还具有很多优点较高的编码效率,相对较低的编码,译码复杂度,灵活可变的输入数据长度、码率等优点。这些优点都是原先TURBO码所不具备的,因此多重级联奇偶码特别具有理论研究和开发应用的价值。本文工作主要分为三部分第一本分主要介绍TURBO码和级联分组码编码技术,阐述了MAP最大后验概率译码译码方法和迭代译码思想;第二部分研究了多重级联奇偶校验码的编码和译码方法,深入探讨和分析了两种的编译码结构以及对应的MAP和MAXLOGMAP迭代译码算法;第三部分着重研究了多重级联奇偶校验码的FPGA实现,在前两部分理论研究的基础上,提出了适合FPGA实现的4PCSPC四维并行级联奇偶校验码的译码方案。完成该码的编码器和译码器的FPGA实现,并对该方案做了相应的验证。该编码器和译码器适合用于高速率的现代通信技术,特别是硬件资源较丰富的环境。关键词TURBO码;多重级联码;NAP译码;迭代译码;FPGA实现英文摘要THEFPGAIMPLEMENTOFMULTIDIMENSIONALCONCATENATEDSINGLEPARITYCHECKCODESABSTRACTSINCESHANNONPROPOSEDANDPROVEDFAMOUSCODINGTHEOREMIN1948,PEOPLEHAVEBEENMAKINGGREATEFFORTSTOLOOKFORAKINDOFGOODCODE,WHOSEPERFORMANCECOULDAPPROACHTOTHESHANNONSTHEORETICALLIMITIN1993,THEEMERGENCEOFTURBOCODEBROUGHTTHEHOPEFORTHOROUGHLYSOLVETHISPROBLEMINITIALLY,TURBOCODEISAKINDOFPARALLELCONCATENATEDCONVOLUTIONALCODES,ALTHOUGHITHAVEMATUREDEVELOPMENTOFTHEORETICALANDPRACTICALAPPLICATIONS,THEREARESTILLSOMESHORTCOMINGSOFITSOWN,SUCHASLOWCODINGRATEANDHIGHCOMPLEXITYOFDECODING,WHICHMAKETURBOCODEHASACERTAINLIMITATIONSONDEVELOPMENTATPRESENTTHECONCEPTOFTURBOCODEHAVEAGREATEXPANSION,ITSSONCODEISNOTONLYTHECONVOLUTIONALCODE,BUTALSOBLOCKCODE;THEFORMOFCONCATENATEDCANNOTONLYPARALLELBUTALSOSERIES,ANDEVENTHETWOMIXEDTHECONCATENATEDCODECOMPOSEDWITHMULTISONCODESISNAMEDASMULTIDIMENSIONALCONCATENATEDCODETHEPARALLELCONCATENATEDBLOCKCODEHASBEENSHOWNTOYIELDREMARKABLEPERFORMANCECLOSETOTHEORETICALLIMITS,YETADMITTINGARELATIVELYSIMPLEITERATIVEDECODINGTECHNIQUETHEMULTIPLECONCATENATEDPARITYCHECKCODESTUDIEDINTHISPAPERISTHISTYPEOFCODE,WHICHHASSTRONGERRORCORRECTINGABILITYITTAKESTHEVERYSIMPLEPARITYCHECKCODEASSONCODETOCONSTRUCTMULTIDIMENSIONALCONCATENATEDCODEINADDITIONTOSIMPLEENCODINGANDDECODING,MULTIPLECONCATENATEDPARITYCHECKCODEALSOHASMANYADVANTAGESHIGHCODINGRATE,RELATIVELYLOWENCODING,DECODINGCOMPLEXITY,FLEXIBLEVARIABLELENGTHOFTHEINPUTDATA,ANDCODERATEETCTHESEADVANTAGESWHICHTHEORIGINALTURBOCODESD0NOTHAVE,AREESPECIALLYMEANINGTOTHETHEORETICALSTUDYANDPRACTICALAPPLICATIONTHISPAPERMAINLYPRESENTSTHREEPARTSTHEFIRSTPARTINTRODUCESTURBOCODESANDCONCATENATEDBLOCKCODINGTECHNOLOGY,EXPATIATETHEMAPMAXIMUMAPOSTERIORIPROBABILITYDECODINGMETHODSANDITERATIVEDECODINGTHOUGHT;THESECONDPARTSTUDIESENCODINGANDDECODINGMETHODSOFTHEMULTIPLECONCATENATEDPARITYCHECKCODE,DEEPLYDISCUSSEDANDANALYZEDTWODIFFERENTCODEDECODESTRUCTUREANDMAP,MAXLOGMAPITERATIVEDECODINGALGORITHMRESPECTIVELY;THETHIRDPARTFOCUSESONTHE英文摘要IMPLEMENTOFMULTIPLECONCATENATEDPARITYCHECKCODESONFPGAONTHEBASISOFTHEORYSTUDIEDINTHEFORMERTWOPAAS,PROPOSEDTHESCHEMEFORTHE4PCSPC4一DIMENSIONALPARALLELCONCATENATEDPARITYCHECKCODEWHICHISSUITABLEFORTHEIMPLEMENTATIONONFPGA,COMPLETETHEENCODERANDDECODERSIMPLEMENTONFPGAANDMADETHECORRESPONDINGTESTONTHEPROGRAMPROPOSEDBEFORETHEENCODERANDDECODERISOPTIMIZEDFORHIGH。SPEEDMODEMCOMMUNICATIONSTECHNOLOGY,PARTICULARLYINTHEHIGHERHARDWARERESOURCESENVIRONMENTKEYWORDSTURBOCODES;MULTIDIMENSIONALCODES;MAPDECODEITERATIVEDECODE;FPGAIMPLEMENTATION大连海事大学学位论文原创性声明和使用授权说明原创性声明本人郑重声明本论文是在导师的指导下,独立进行研究工作所取得的成果,撰写成博士硕士学位论文垒重缝珐壹倡撞验旦的壁Q塞理。除论文中已经注明引用的内容外,对论文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本论文中不包含任何未加明确注明的其它个人或集体已经公开发表或未公开发表的成果。本声明的法律责任由本人承担。论文作者签名陬办1C,则不存在能够实现无差错传输的编泽码方式。近些年来,随着通信技术的发展和实际应用的不断增加,研究者们一直努力在寻找一种更能逼近香农理论极限的信道编码方式。最早出现的一种信道编码是一类纠单个错误的分组码HAMMING码,它是由HAMMING于1950年提出的,这种码的系统性能与香农极限之间差距很大。直到1959年,由BOSE,RAYCHAUDHURI,HOCQUENGHEM找到一大类可以纠正多个差错的码一BCH,以及由REED,SOLOMON找到的一类非二进制纠错码RS码,才丰富了信道编码理论。目前这些码类仍然处于应用之中。其后,卷积码的提出以及VITERBI译码算法实现,使得信道编码技术在实际中得到了极其广泛的应用。1993年,CBERROU等人提出的TURBO码,并给出如下的仿真结果用在AWGN信道下,当噪声比大于或等于07DB时,一个码率为12的TURBO码经过数次迭代后其误比特率小于或等于10,这一逼近香农极限的优异性能引起了信息与编码学的轰动。TURBO码的出现,给信道编码带来了革命性的突破。此后,信道编码技术同趋成熟,给通信等领域的发展带来了无限生机。近些年来,原先由GALLAGER提出的LDPC码重新被人们研究,发现其也具有逼近香农极限的卓越性能。在码率为12,码长为107BIT,在AWGN信道下对二元LDPC码进行性能仿真,发现其与香农极限只差001DB钔。至此,信道编码理论又有了重大进展。目前,TURBO码,LDPC码以及迭代译码已经成为了当今信道编码领域研究的重点。信道编码的发展已经经历了50多年的历史。在理论方面,它沿着香农编码定理的方向不断地发展和完善;尽管在实际应用方面还有些欠缺,但是随着数字通信技术的不断提高,它的应用也将越来越广泛。本文所讨论的多重级联奇偶校验码,它属于TURBO分组码的一种,译码方法也是采用当今流行的TURBO迭代译码思想,其性能跟TURBO码接近,具体的编码和译码方法将在后面章节晕详细介绍。多重级联奇偶校验码的FPGA实现15本文所做的工作和内容安排本文所研究的范围有TTURBO码以及级联分组码的研究,多重级联奇偶校验码编码和译码技术的研究以及其FPGA的实现。全文的内容具体安排如下第二章主要介绍了信道编码的基本知识,主要介绍信道编码的思想,分类,然后着重介绍了线性分组码的理论知识,最后给出了最大似然译码和最大后验概率译码的定义。第三章主要介绍了几种高性能的信道编码译码技术,包括TURBO卷积码,TURBO分组码,RA码。具体介绍了它们共同的迭代译码思想,此外还介绍了MAP算法在TURBO卷积码和TURBO分组码中的应用。第四章主要介绍了多重级联奇偶校验码的编码和译码方法。提出了两种编码和译码的结构和方法。第五章主要介绍了多重级联奇偶校验码的FPGA实现。主要提出了针对4PCSPC这一类型码的译码结构和方法,并将这种方法进行FPGA的实现。最后提出了一些需要改进的地方。第六章概括了全文了主要结论和研究的成果,并对未来的研究提出了一些个人的看法。第2章信道编码技术理论基础第2章信道编码技术理论基础21信道编码的基本思想和分类211信道编码的基本思想信道编码是为了保证通信系统的传输可靠性,克服信道中的噪声和干扰,而专门设计的一类抗干扰的技术和方法。它根据一定的规律在待发送的信息码元中加入一些必要的监督码元,在接收端利用这些监督码元与信息码元之间的规律,发现和纠正差错,以提高信息码元传输的可靠性。信道编码的目的是试图以最少的监督码元为代价,以换取最大程度的可靠性的提高。下面举例来说明信道编码的思想。用图11所示的模型来讨论二进制序列通过该系统时所发生的情况。假设从信源发送出字母A,它的二进制序列可表示为11000,以基带信号传输,经过发射机调制后,送往信道的已调信号如图21所示。OSTMT。人人7O图2111000发送的已调信号FI92JLMODULATEDSIGNAL“11000TRANSMITTEDST仆、T。一F7幽22接收端收到的失真信号波形FI922DISTORTIONSIGNALRECEIVED山于信道的干扰,接收端收到信道输出的信号产生了失真,如图22所示。这些失真信号由接收机进行判决时,第一,二,四,五个码元的波形失真都不太大,多重级联奇偶校验码的FPGA实现可以很容易的进行判决,得到1,L,O,O;但是第三个码元产生了严重的失真,判断很困难,这时有以下三种判决方法一是硬判决,直接判为O或1;另一种是对该码元不作判决,而输出一个未知的信号“X”,称其为删除符号;第三种方法是输出一种有关该码元的信息,例如关于0和1的后验概率或似然函数,这种判决方法称为软判决。当然软判决方法性能较好,但实现起来比较复杂。这里以重复编码来简单地阐述信道编码在相同的信噪比情况下为什么会获得更好的系统性能。设发送的信息0,1是等概率出现的,采用2PSK调制方式,由此得出最佳接收的系统比特误码率为只毛叫罔现在假设,10,如果将信息0编码成00,信息1编码成11,仍然采用上述系统,则在接收端可以做出如下判断如果发送的是00,而收到的是01或10,此时就知道发生了错误,要求发送端重新发送,直到传送正确的为止,只有接收到11,我们才错误地认为当前发送的是1。因此在这种情况下发生译码错误的概率是O5乎;同理,如果发送的是11,只有接收到OO时才可能发生错误译码,所以在这种情况下发生译码错误的概率也是O5乎。所以采用00,11编码的系统比特误码率为牙,系统的性能明显提高。如果在上例中,将0,1采用00000,11111编码,在接收端采用如下的译码方法,每收到5个比特译码一次,采用大数译码判决,即5个比特中0的个数大于1的个数译码成0,反之译码成1;不采用检错重发方式。那么,这种编码方式就成了纠错编码。由于传输错误,当接受端收到11000,10100,10010,10001,01010,01001,00L10,00101,00011中的任何一种时,都自动译码成00000。212信道编码的分类传输信道中常见的差错分为以下三种随机错误错误的出现是随机的,一般来说错误出现的位置是随机分布的,第2章信道编码技术理论基础也就是说各个码元是否发生错误是相互独立,但通常不是连续的出现错误。这种情况一般是由信道的加性随机噪声引起的。因此,将具有此特性的信道称为随机信道。突发错误错误的出现是一连串的,通常在一个突发出错持续时间内,开头和末尾的码元总是错误的,中间的某些码元可能错也可能对,但错误的码元相对比较多。这种错误通常发生在移动通信中信号在某一段时问内发生衰落;汽车发动时电火花干扰;光盘上的条划痕等情况下,这种信道称之为突发信道。混合错误也就是既有突发错误又有随机错误的情况,这种信道称为混合信、厶追。数字通信系统中,利用纠错码或者检错码进行差错控制的方法有以下几种检错重发ARQ在接收端根据编码规则进行检查,如果发现规则被破坏,则通过反向信道通知发送端重新发送,直到正确接受为止。采用这种差错控制方法需要具有双向信道,优点是只要少量的多余码元就能获得极低的输出误码率,检错码基本上与信道的差错统计特性无关,成本和复杂度比较低。缺点是需要反馈信道,效率低。ARQ有不同的重发机制可以等待重发,X25协议的滑动窗口选择重发。前向纠错FEC接收端不仅能在收到的信号中发现有错码,而且还能够纠错。对于二进制系统来说,如果能够确定错码的位置,就能够纠正它。这种方法不需要反馈信道,也不存在由于反复重发而延误时间,实时性好,但随着纠错能力的提高,编码和译码设备相对复杂。混合纠错方式HEC发送端发送的码不仅能够检测出错误,而且还具有一定的纠错能力。接收端接收到信号后,首先进行检测错误,如果在纠错能力的范围之内,则自动进行纠错;如果错误超过了纠错能力,但能检测出来,那么就通过反馈信道,要求重新传送出错部分的信息。这种差错控制方式在一定程度上克服了前两种方式的缺点,并且能够达到较低的误码率,因此在实际应用中越来越广。根据差错控制编码的不同功能可以分为纠错码,检错码和纠错检错码。根多匝级联奇偶校验码的FPGA实现据信息位和校验位的关系可分为线性码和非线性码。根据信息码元和监督码元的关系可分为分组码和卷积码。还有其他的分类方法,这罩就不一一介绍。22线性分组码221分组码差错控制编码的码型按照对信息码元处理方法的不同,可以分为分组码和卷积码两大类。分组码是把信息源输出的信息序列,以K个码元划分为一组,通过编码器把这K个信息元按照一定的规律产生厂个监督码元,最后输出长为以K,的一个码组,所以每一个码组总的监督码元仅仅与本组的信息码元相关,与其他码组无关。通常将上述的分组码表示为N,K,刀表示码长,K表示信息位,码率表示为R七N。分组码对每段长度为七的信息处理,得到一个分组码,然后再由这些分组码组成长度为以的序列厶1厶一2,CO,这个序列就叫做码字。对于一个刀长的序列来说,可能的排列总共有2一中,而玎,七分组码的码字集合只有2七种。因此,分组码的编码就规定从种排列中选取矿个码字,被选取的为许用码组,否则称为禁用码组。222汉明距离一个码字C中非零码元的个数,称为该码字的汉明重量,用C表示;两个码字Z,Y之间,对应位置墩值不同的个数,称为这两个码字的汉明距离,用DX,Y表示。在一组分组码中,任意两个码字之间的距离最小值,称为该分组码的最小汉明距离,用表示。汉明距离是分组码的一个非常重要的参数,汉明距离越人,同组码字之间的差别也就越大,码的抗干扰能力就越强,在相同的译码方法F,错误概率也就越小。根据上面所讲的,码率JR和最小汉明距离DO是分组码最重要的两个参数。其第2章信道编码技术理论基础基本编码思想就是构造出一定码率R,而使DO尽可能大的码类;或者是DO一定,构造出使JR尽可能高的码类。分组码依据其最小汉明距离,具有以下的定理1如果码的最小距离DO乏E1,则该码可以检测出所有不多于E个错误;2如果码的最小距离DO之2T1,则该码可以纠J下所有不多于F个错误;3如果码的最小距离如已“LPF,则该码可以纠正所有不多于F个错误,并能检测出T1到E个错误;223分组码的生成矩阵和校验矩阵对于【咒,七分组码的编码方法就是在刀维线性空间K中,找出满足一定要求的,由2个向量组成的七维线性子空间。一个分组码亭中有2个信息组,表示为U“O,甜1一,一1,还有与之对应的2七个码组,表示为C一CO,C1,一1。因为分组码是一个K维的子空间,就一定存在K个线性独立的向量GO,GL一,G七一L能够生成该分组码亭。U和C对应的映射关系很明显地可以表示为C置UOGO“LGLL七一LG七一121表示成矩阵形式为C;UG,其中GGOLIGLLILLGJ七跏这里的G就是分组码的生成矩阵。GFL中各个向量是线性独立的,所以G的秩为七。对G进行行变换和列变换后,G就可以变成如下的形式G,LE多重级联奇偶校验码的FPGA实现其中I是单位阵。子空间亭具有厅一七维的零空问手,可以由以下刀一七个线性独立的向量生成JILO,啊,一七一L。对于属于手的任一个,都有C吩O,VIEO,NK一1,于是得到CHRO,CCE22其中H这罩的日就是分组码的监督矩阵。刭帅啊L七一LIF。一IIX。对于一个万,K的线性分组码亭来说,假设发送的码字为CICO,CL,厶一1,信道产生的错误图样为E;,Q,一1,那么接收到的码组为YCOE,如果HYR日COPRHCRO舰R023得到发送的码字C。现在定义一个向量SR协RHER即SEHR,由此可以看出,向量S与C无关,仅与E有关,这反映了信道干扰的情况。如果能够从S中得到P,利用CYE就可以恢复原先发送的码字。因此,译码的任务就转化为对向量S的研究。这罩我们把S叫做Y的校币子或伴随式。46,3系统的分组码,其典型的校验矩阵为日2三季三三;】第2章信道编码技术理论基础可以看出该码的最小汉明距离DO一3,可以纠讵一个错误或者是检出2个错误。接收机在接收到码组Y后,计算Y的伴随式SZYHR。若没有发生错误,则显然SO。若发生1个错误,则S与HR的一个行向量相同。如果S与日R的第F个行向量相同,则说明Y中第I个码兀错误。若发生1位错误或者2个错误,则S必然不为0,如此接收端根据伴随式进行判断译码。23最大后验概率译码和最大似然译码信息在信道的传输过程中由于受到噪声和干扰的影响,会发生错误。错误概率与信道的统计特性,译码过程以及译码方法有关。假设信道输入的码字集合为UU【F】,I1,2,K,编码后输出的序列为CCJ,JJ,2,如果对应每一个输入序列UF】都有唯一确定的函数F,使得C,与U钼存在着一一对应关系,即FC巾一UF,I12,K;J;1,2,24那么就称这样的函数为该编码的译码规则。确定译码规则之后,如果编码信道输出C歹】,则一定可以译码为UF,如果信道输入刚好就是“叼,那么译码就正确;否则就是错误的。因此在译码器接收到CJ的情况下,J下确译码的条件概率为PFCICPUC25错误译码条件概率为PEIC一1一PFC圳C;1一PUFLC巾26利用统计学的方法得到平均错误概率为PEEPE吣】童PC】访P吣C27多重级联奇偶校验码的FPGA实现选择译码规则的目的就是使得译码的错误概率最小,即以最小。要使PE达到最小,只要使得上式右边和的每一项最小,由于PC巾与译码的规则没有关系,所以只要使PPLCJ】最小,再根据式26OT知,只要使PFC_LC,达到最大就可以了,所以下面给出最大后验概率MAPMAXIMUMAPOSTERIORI译码的定义。选择译码规则FC功UJ,使之满足条件PU小2PUC巾28那么就称之为最大后验概率译码。最大后验概率译码是一种最佳译码策略,使用这种译码方法可以使译码性能达到最优,但译码的复杂度也会达到最耐141。但通常来说后验概率很难确定,应用因此也不方便,于是利用贝叶斯公式,将28式改为销2一汜9,PC巾夕C巾。于是可得PCIU,PU,苫PC门IUFPUF210这样就得到了最大似然MLMAXIMUMLIKELIHOOD译码。当信道输入为等概率分布时,有PU,一PU棚,则可将210式化为PC啪U乏PC“F211该式中的条件概率就是信道转移概率矩阵中的元素,通常都用该式进行译码,如果信道输入为非等概率分布,那么就只能用210式进行译码。24信道编码定理1948年香农在他丌创性论文通信的数学理论中,首次给出了著名的信道编码定理,从而奠定了信道编F;I5的基础。下面给出信道编码定理的具体内容。对于一个给定的有扰离散信道,假设其信道容量为C,待传送码字的码率为第2章信道编码技术理论基础尺,如果RP3求FLC工哆,然后计算嘭胁一FF,I一12,行;4重复步骤2和3直到达到规定迭代的次数停止迭代运算,最后计算A;LCY联46O将此软信息送入硬判决器进行硬判决,得到译码数据。现在具体举例来说明一下这种译码结构,为了作对比,相应地也画出了其编码结构,如图45所示。图45A中,编码得到的数据结构为【D,日,最,B。其中毋,D,最,丌。D,互,P3FND,弓,足47假设经过信道传输后,接收到的序列为R“工,M,Y2,Y3】48式中,X与信息序列D对应,YL,Y2,均分别与校验向量毋,B,弓对应。图45B中为对应的译码结构,图中省略了交织器和解交织器部分。对于一个序列A,用二表示其经过一个交织器或一个解交织器后得到的序列,用二表示其经过两个交织或解交织器后得到的序列,依次类推。则图中IXY,夕2,Y3,多重级联奇偶校验码的FPGA实现I,兜,Y,VOX,Y。】。DB图45A3SCSPC编码器结构;B3一SCSPC译码器结构FI酽5ATHEENCODERSTRUCTUREOF3SCSPCCODEFI945BTHEDECODERSTRUCTUREOF3SCSPCCODE432MSPC码的MAXLOGMAP软输入软输出译码算法本小节将介绍一种译码复杂度比较低的译码算法,这种算法与前面所讲的MAP算法相比,把MAP算法中大量的乘法运算化为加法运算和比较运算,这就大大降低了运算的复杂度。下面首先介绍以下软输入软输出MAP算法。考虑一个取值范围为一1,1的二进制码C,传送的码字用U;“F表示,经过信道传输后接收到的信息为XX【F一UN,这罩的N一珂F表示一个服从均值为0,方差为仃2的独立随机的高斯分布的矢量。构造一个矢量,它是先验信第4章多重级联奇偶校验码编译方法研究息,表示为F暑LOGLOG;一2XI49假设C中所有的码字是相互独立的而且是等概率出现的。那么MAP软输入软输出译码就可以表示为F】LOG三CXPQIF1VEXPC融1一410这里的是C和L的内积。为了降低运算复杂度,我们可以通过主要条件把上式中的每项和近似,从而得到所谓的MAXLOGMAP译码I112CM卜卜AX。一CMP卜AX一。411下面将上面的算法应用到MSPC译码算法中。假设下面所考虑的SPC码LBIT的数目是偶数,定义一个矢量SSI,其中SL】一S研陋F1,很显然有一一一堕三芋兰业2多重级联奇偶校验码的FPGA实现CMMAX【F】I一221IL1I11L工【IM君,I;,IM414如果P是奇数,则有CMLA,XL,【一22【L己【IM君二I415,C腧,】C,如,如一ELLF|所有的F根据式311,合并式314和式315得LIS嘲ILLISTILIL三钏S州陆I1I吐Z衅FIIL,I式416就是最终得到的判决准则。P是EVEN,I乒P是EVEN,IT416P是ODD,I年P是ODD,IAF面介绍根据这种方法所设计的译码器结构。图46就是MSPC的迭代原理图。图46A中全局解码器包含有个译码小模块,每个模块的具体结构如图46B所示,模块E包含有交织器,MAXLOGMAP解码器也可以是MAP译码器和解交织器。它输入矢量的先验概率在第小次迭代中被分解成两部分,分别用P和窿表示。E表示第疗维的奇偶校验比特,它在每次迭代过程中都保持不变;窿是信息比特,在每次迭代后都会更新。后验概率矢量啦是由FL作用于信息比特后所产生的,并且作为输入传送给下个解码器模块。图中外部信息矢量定义为留O孟豇爱417第4章多重级联奇偶校验码编译方法研究AD译静5器LH一一泽誓器NL茁一营D啦。E。一争如。9_。暂E_一矗,LIT一坩啡IF一FIJ叫MAPRRI。图46MSPC译码器结构A整个译码器结构;B译码器N的结构示意图;CE的结构示意图FIG46THEDECODERSTRUCTUREOFTHEMSPCATHEGLOBALDECODER;BTHEDETAILSTRUCTUREOFTHEDECODERN;CYHESTRUCTUREOFE为了阻止本详码器的外部信恩反馈到自身的译码器,所以在图46中的解码器中,通过减去本译码器模块E的延时值,然后再进行MAXLOGMAP译码,具体表达式如下喀噬WIID418综合式417和式418,就得出了解码器模块的一个基本的输入输出关系掣噬。畦畦D删D_IF趋M0删ONL2,N心上式可以看成是一个差分方程,其一般表现形式为掣。畦畦D420图46描绘了一种连续更新的过程,也就是说N个译码器模块FNI,L1,2,N以连续的方式依次被激活,这样的译码形式跟串行编码的方式相恻一K泽,噬靴K踟出多重级联奇偶校验码的FPGA实现类似,虽然在泽码过程中,收敛性比较好,但是可以看出该全局译码器结构不仅包含外部循环,而且每个译码器的内部还有循环,所以在FPGA实现的时候时序的要求比较高,这样外信息的传输很容易发生错误,从而导致译码错误。所以本次译码器的FPGA实现部分并没有采用这种译码结构,而是采用了跟其很类似的形式,这在第五章中详细介绍。44本章小结本章主要介绍了本次要FPGA实现的码类一多重级联奇偶校验码MSPC码,通过这种码的编码结构的介绍,了解了其具有高性能,灵活可变输入码率和信息比特长度的原因;然后详细介绍了MSPC码的两种相似的译码算法和译码结构,说它们相似,因为它们都采用了TUBRO迭代译码的形式,而且其译码算法基本上属于同一种类型的算法,但同时它们之间也有区别,例如译码复杂度,内部译码器结构有所不同。本次FPGA实现的译码器部分综合了上述两种的译码方法,并对该方法的可行性做了研究,这将在下一章中阐述。第5章MSPC码的FPGA实现第5章MSPC码的FPGA实现本章在前一章理论研究的基础上,对MSPC码的FPGA实现做了一些研究。本次硬件实现主要是考虑FPGA功能的实现,因此将首先介绍FPGA设计的平台及语言,然后在此基础上对MSPC码的FPGA硬件实现作介绍。51MSPC码的设计平台简介511硬件描述语言VHDL,VERIIOGHDL在硬件的实现过程中采用计算机辅助设计CAD是到了80年代才开始普及和应用的,随着社会科技的发展和进步,越来越多的,越来越复杂的大规模集成电路ASIC的开发和研制成了硬件实现的主流,传统的用原理图设计的方法虽然具有直观性的优点,但是在大规模集成电路中,设计就受到了限制,而且这种方法的通用性和可移植性也比较弱,因此为了提高开发的效率,增加已有开发成果的可继承性以及缩短开发时间,各个ASIC厂商都相继丌发了用于各自目的的硬件开发语言。其中最具代表性的是美国国防部开发的VHDLVHSICHARDWAREDESCRIPTIONLANGUAGE语言,在1987年,由IEEE将VHDL语言定为标准。本次设计中所采用的并非是VHDL语言,而是VERLIOGHDL语言。这种语言最初是于1982年由GATEWAYDESIGNAUTOMATION公司为其模拟器产品开发的硬件建模语言,那时它只是一种专用语言。由于他们的模拟仿真器产品的广泛使用,VERLIOGHDL语言作为一种便于使用且实用的语言逐渐为众多设计者所接受,并于1995年成为IEEE标准,称为IEEESTD13641995。后来又推出了IEEESTD1364200L,它在前者的基础上对VERLIOGHDL语言做了若干改进和扩充,使其功能更强,使用更方便。从语法结构上来讲,VERLIOGHDL语言与C语言有很多的相似之处,并且继承和借鉴了C语言的多种操作符和语言结构。它可以用于从算法级,门级到开关级的多种抽象设计层次的数字系统建摸。被建摸的数字系统对象的复杂性可以介于简译的门和完整的电子数字系统之间。数字系统能够按层次描述,并且可在相同多重级联奇偶校验码的FPGA实现描述中显式地进行时序建摸。VERLIOGHDL语言具有以下的描述能力设计的行为特性,设计的数据流特性,设计的结构责成以及包含响应监控和设计验证方面的时延和波形产生机制。所有这些都使用同一种建摸语言。此外,VERLIOGHDL语言提供了编程语言接口,通过该接口可以在模拟,验证期间重新设计外部访问设计,包括模拟的具体控制和运行。512FPGACPLD简介早期的可编程逻辑器件只有可编程读存贮器PROM,紫外线可擦除只读存贮器EPROM和电可擦除只读存贮器EEPROM三种。由于结构的限制,它们只能完成简单的数字逻辑功能。随着数字电路的发展,其后又出现了一类结构上比较复杂的可编程器件芯片,即可编程逻辑器件PLD,它能够完成各种数字逻辑功能。产品主要有可编程阵列逻辑W岫和通用阵列逻辑GAL。这些早期的可编程逻辑器件一个共同的特点是町以实现速度特性比较好的逻辑功能,但因为其结构简单,不能够实现大规模集成电路的功能,而只能实现规模较小的电路,所以其使用有局限性。为了弥补这一缺陷,20世纪80年代。ALTERA和XILINX公司分别推出了类似于PAL结构的扩展型CPLDCOMPLEXPROGRAMMABLELOGICDEVICE和与标准门阵列类似的FPAGFIELDPROGRAMMABLEGATEARRAY,他们都具有体系结构,逻辑单元灵活,集成度高以及使用范围广泛的特点。这两种器件兼容了PLD和通用门阵列的优点,可以实现较大规模的电路,编程也比较灵活。与门阵列等其他ASIC相比,它们又具有设计开发周期短,设计制造成本低,开发工具先进,标准产品无需测试,质量稳定以及可实时在线检验等优点,因此被广泛应用于产品的原型设计和产品生产之中。现在,为了满足更高要求的数字电路的设计,这个两大公司都在不断地推出更高系列的产品,提供给用户使用。对于用户而言,CPLD与FPGA的内部结构稍微有点不同,但用法都是一样的,所以多数情况,两者可以不加区别。CPLD和FPGA概括起来是有三大部分1一个二维的逻辑块阵列,构成了PLD器件的逻辑组成核心;2输入输出模块,它是与逻辑块的互连资源第5章MSPC码的FPGA实现3连线资源,它是由各种长度的连线线段组成,其中也有一些可编程的连接开关,他们用于逻辑模块之间,逻辑模块与输入输出模块之间的连接。513基于FPGA的开发流程本次设计就是基于FPGA设计,完整地了解利用FPGA技术进行设计开发的流程对于正确地选择和使用设计软件,优化设计项目,提高设计效率是十分必要和有益的。可编程逻辑器件的设计是指利用开发软件和编程工具对器件进行开发的工程。高密度可编程逻辑器件的设计流程图如图51所示,在此简单介绍一下各个部分的功能特点。一设计准备图51基丁FPGA的开发设计流程F逾51DEVELOPMENTOFTHEDESIGNPROCESSBASEDONFPGA多重级联奇偶校验码的FPGA实现在对可编程逻辑器件的芯片进行设计之前,首先要进行方案的论证,系统设计和器件选择等设计准备工作。设计者首先要根据任务要求,如系统所要实现的功能和复杂程度,对工作速度和器件本身资源和成本之间的选择等方面进行一下权衡,然后选择合适的方案和合适的器件系列来进行设计。二设计输入设计者将所设计的系统或电路以开发软件的某中要求形式送入计算机的过程叫做设计输入。常见的设计输入有三种方式,即原理图,硬件描述语言,波形输入。原理图输入类似于传统的电子设计方法的原理图编辑输入方式,即在歼发软件的原理图编辑界面绘制能完成一定功能的电路原理图。原理图编辑绘制完成后,进行排错后,编译成适用于逻辑综合的网表文件。波形输入方法则是将待设计的电路看成是一个黑盒,只需告诉丌发软件该盒子电路的输入和输出的时序波形图,开发软件就能够根据图形完成电路的设计。硬件描述语言输入与传统的计算机语言编辑输入样,它使用某种硬件描述语言如VHDL或VERLIOGHDL来描述某个电路的功能,然后将其作为电路设计文本进行编辑输入。从总体上来看,纯粹的HDL文本输入仍然是最基本,最有效和最通用的设计输入方法。本次设计采用的就是这种设计输入方法,设计语言为VERLIOGHDL语言。三设计处理这是整个设计过程中的中心环节。在设计处理过程中,编译软件将对设计输入的文件进行逻辑简化,综合优化,并且适当地用一片或多片器件自动地进行适配,最后产生编程用的编程文件。设计处理应当包括以下五个部分语法检查和设计规则检查,逻辑优化和综合,适配和分割,布局布线,生成编程数据文件。编译后通过工具选项就能观察所设计的电阻晶体管逻辑电路RESISTORTRANSISTORLOGIC,简称RTL,通过该电路也可以对所设计的电路进行检查和纠IF。综合过程是把软件设计的HDL描述与硬件结构相联系,是将软件化为硬件的关键步骤,是文字描述与硬件实现的一座桥梁。综合就是将电路的高级语吉。转换第5章MSPC码的FPGA实现成低级的,可与FPGA的基本结构相映射的网表文件或程序。适配器的功能就是将有综合产生的网表文件配置于指定的目标器件中,使之产生最终的下载文件。四器件编程编程是将编程数据放到可编程器件中去。器件编程要满足一定的条件,如编程电压,编程时序和算法等等。器件编程完成之后,可以用编译时产生的文件进行检验,加密等工作。五设计校验设计校验包括功能仿真和时序仿真,这两项工作是在设计处理过程中同时进行的。功能仿真是在设计输入完成之后,选择具体的器件进行的编译之前的逻辑功能验证,因此又称为IJ仿真。功能仿真没有时延信息,对于系统的初步功能检验非常方便。仿真前首先要利用波形编辑器或者是硬件描述语言建立测试向量,仿真结果以报告或波形的形式输出,从中可以看出各个节点的错误。如果有错误,则返回设计输入部分进行修改,系统前仿真的结果直接决定着系统后仿真的正确性,因此该步骤非常重要。时序仿真是在选择了具体器件并完成布局布线之后进行的时序关系仿真。由于不同器件的内部结构不一样,不同的布局,布线方案都会造成不同的延时影响,因此在设计处理之后,对系统和各个模块进行时序仿真,分析其时序关系,估计设计的性能并检查和消除。由于该仿真文件中包含了器件的硬件特性参数,所以仿真精度高。六下载测试经过配置后生成的配置文件,通过下载线下载到FPGA芯片中进行配置,然后将含有FPGA芯片的整个硬件系统进行统一测试,以便最终验证设计项目在系统的实际工作情况,从而排除错误,改进设计,最后设计完成。52MSPC码的编码器的设计多重级联奇偶校验码的FPGA实现521MSPC码的编码器总体方案前面已经很详细地介绍了MSPC编码的结构,本次设计采用的是4PCSPC这种编码方式,子码为17,16,2】,码率为45,信息比特为256BIT,采用16X16的矩阵模块输入,交织模块采用的是循环移位交织器,交织长度为256,交织系数为别为37,77,177。522交织器结构的确定在MSPC码中,交织器是很重要的一部分,如果没有交织器的作用,那么根本就不能够产生MSPC码。交织器本身的作用就是改善信道,将一个有记忆的突发信道改造成为一个随机独立的差错信道,因此最优交织就是使记忆长度最小化。要达到这个目的,可以通过增加交织器长度和输入序列尽可能地随机化来实现。但是考虑到FPGA实现的时候,增加交织长度将会大大地增加硬件的资源和计算的复杂度;而如果采用随机交织,这在硬件实现中实现很困难。因此选择适当的交织器比较麻烦。这里设计所采用的是循环移位交织,这种交织方法在硬件中比较好实现,而且通过仿真可以看出这种交织方法应用在本次编译码设计中,所达到的性能也是相当的不错。下面就主要介绍一下这种交织器的方法。循环移位交织器按照如下循环移位映射来实现交织LI口,IMODN其中口是步长,也就是前面讲的交织系数,它必须为交织长度N互素的正整数,它决定了原始序列中相邻比特经过交织后在交织序列中的距离。本次设计中的参数如下口F37,77,177,N256。523编码器的FPGA实现II面虽然介绍了编码器的结构,但为了使读者更加容易理解,所以这哩又重新给出了所设计的编码器原理图,如图52所示。图中不仅给出了编码的结构,而且还给出了输入的信息比特的长度,以及校验向量的长度。由上图也可以看出,每次输入16BIT数据,得到一个校验位,共输第5章MSPC码的FPGA实现图524一PCSPC编码原理图FIG52THEENCODERSTRUCTUREOF4PCSPCCODE入16次,因此输入部分需要16个时钟周期完成,然后得到日,最,P3,只这四个校验向量;最后输出信息比特和校验向量,IIPD,耳,罡,忍,只。显然,输出部分要多出4个校验向量,刚好校验向量也是16BIT,因此输出部分需要20个时钟,才能将编码后的数据全部输出。由此,得到流程图如53所示。根据流程图设计出来的编码器的硬件结构如图54所示。图中管脚说明如表51所示。另外,图54中交织模块部分,我没有单独地进行例化成一个模块,而是在输入存储器与SPC编码器之间加了缓冲存储区问,完成交织的功能,这样做的话,不仅减少了硬件资源的使用,而且交织部分所要花费的时I自J就给省略了,从而提高了编码器的编码速度。后面的译码器部分也是采用的这种原理,由于译码器中包含了更多的交织器和解交织器,所以译码器部分节省的时间更多,硬件资源也省去了很多。所以图中的交织模块部分只是便于读者理解其原理而添加上去的。多重级联奇偶校验码的FPGA实现图53编码流程图FIG53THEFLOWCHARTOFTHEENCODER表51编码器管脚说明TAB51PINDESCRIPTIONOFTHEENCODER管脚管脚说明CLK系统时钟。EN使能输入端。低电平,输入信息比特;高电乎输ILJ编码后数据。DATAIN150数据输入端口。采HJ16BIT并行输入。DATAOUT150数据输出端口。采川16BIT并行输出。51第5章MSPC码的FPGA实现R一一一一一一一一AM,一一企竺竺一一一一一一一一R。O。图54编码器的硬件结构图FIG54THEHARDWARESTRUCTUREOFTHEENCODER对编码器部分的设计采用了VERLIOGHDL设计语言对每个模块进行了编程,仿真,最后对整个模块进行仿真,得到的功能仿真图形如图55所示。从该图中可以看出使能端在低电平时,输入端输入数据,此时输出端输出的是无效值,而且此值一直保持不变。经过16个时钟周期后,使能端变成高电平,输出端输出数据,输入端此时即使输入数据,也不会被读入。又经过20个时钟后,数据完全输出,使能端变成低电平,进行下次数据的输入。依次重复,得到编码后的数据。L从图55只能看出输入端,输出端和使能,时钟之问的时序关系,看不清数据结构方面的关系,因此这里从上图中截取了两个主要区域进行放大,得到的图形如56所示。IIII多重级联奇偶校验码的FPGA实现堕ZILGAIT曩靠扣。JHT扣1_T,H“TKI,IS擎“L山D岳日子。孵FCOOER一习搿够够移嚣眵发瘟备8椭”M峨喊“蛔国一胁刚岫阳HLAH柏TREEBL100W型P嘶31922M州968WSI_TO珥EFIT舢箦氐口譬LO卫PD妒_乙强田1_一日I够N哇多D曲DT争O瞄DT嘎爹D七聋D。D口_吃多D咆多D瞄DL曲T,LO_畦1一PT200PNT400PAS6PAS800P1QLHI_L,ASIU一几几NNN门几几几几几几几广口口口口口N几N几几几几几N门NRL口口口口口C。一FAREA1AREA2L国画匝题蜒璜萸D回题烂瑚D回匝炮磁色涎雪叵避劂舢XO她匿匝爆驰戮蛩画趣焚联卿虱旦还砸戮蜮LJLJLJIIL_JLJLJJLJINN广1N广一厂广1I广I厂广一II厂广NNNNN门NNNNN广图55编码器功能仿真图F
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 浅析《双城记》中的人物形象
- 物流成本控制论文摘要范文
- 七年级英语下册-Unit-3-How-do-you-get-to-school-Section-B1
- 毕业论文文献选题指南如何选择适合的研究方向
- 企业成本管理工作论文
- 2025mba论说文领导的艺术范文
- 毕业格式基本要求
- 实习周记评语怎么写(共4)
- 浅析万全“育婴四法”与优生优育
- 对策的可行性分析
- 高一英语语法综合复习资料包
- (新教材)2025年秋期部编人教版一年级上册语文 第3课 雪地里的小画家 课件
- 蛋糕店食品安全管理规章制度
- 养老院年度工作总结报告
- (2025年)保健食品试题(附答案)
- 医学糖尿病基本知识医学专题课件
- 重症医学科体温管理措施培训
- 骨科骨折复位技术操作规范
- 北师大版五年级数学上册期中测试卷(带答案)
- 科研项目基础条件与保障材料撰写
- 水下混凝土浇筑导管水密试验方案
评论
0/150
提交评论