高性能低复杂性分组乘积码tpc的译码方法

文档序号:7521487阅读:296来源:国知局

专利名称::高性能低复杂性分组乘积码tpc的译码方法
技术领域
:本发明涉及数据编译码系统及其实施方法,特别是涉及用于卫星通信系统和空间通信系统的分组乘积码TPC的编译码系统及其实施方法。
背景技术
:分组乘积码,简写为TPC,即TurboProductCode,是与Turbo码,LDPC码并列的三种高性能信道编码技术之一。TPC在卫星通信和空间通信系统已经获得了成功应用。其性能也与其它两种技术不相上下,也具有某些独特优势,例如迭代次数少,仅仅4-6次即可收敛,完全没有误码率曲线平层效应,适应可变长度数据帧的纠错保护,等等。对于TPC的译码,已经出现过多项技术,例如本项后文引用的参考文献(3)和(4)涉及的基于Chase-II的方法,参考文献(6)涉及的PML方法,以及参考文献(7)涉及的FBA方法等,都分别有过集成电路ASIC(ApplicationSpecificIntegratedCircuit)实现和实际应用。然而,已知的译码器要么性能好,但是结构复杂性高,如参考文献(7)所述;要么复杂性可接受,然而性能与最优性能相比损失较大,如参考文献(4)和(6)所述。参考文献(I)涉及的C.Berrou等人提出的Turbo码,即并行级联卷积码由于其优越的纠错性能得到了密切的关注并被广泛应用到深空通信和移动通信领域。并行级联卷积码的软输入软输出迭代MAP译码算法及其简化算法是一种双向算法需进行大量的运算处理,因此,译码器结构较复杂,使得其不仅成本过高而且译码器的处理速度也受到限制。参考文献(2)中提出了一种基于格状图、汉明码作为并行级连子码的迭代译码方案,这种方法对于分组长度稍长的块码译码非常复杂。参考文献(3)和(4)涉及Pyndiah提出的一种基于Chase译码算法的乘积码软输入软输出译码算法,该方法对于纠错能力较强的子码,其译码较复杂,性能也不尽理想。如参考文献(6)所述,AHA公司提出的PML算法用于乘积码的迭代译码,该算法仅局限于以扩展汉明码位子码的乘积码,限制了其它纠错能力强的好码的应用。Turbo码已经在3G等标准和实际系统中大量应用,但是TPC技术在使用优化的译码器后的性能超过Turbo码,在高码率和短码长情况下优于Turbo码。TPC技术已经为多种国际通信系统,例如IEEE802.16系列,和HiperLAN等标准所采纳。国际著名的芯片和IP核供应商,例如Comtech-AHA[6],Xilinx,和Altera等,都提供TPC编码和译码器的IP核女口广叩o现有的TPC译码技术中的分量码的软输入-软输出译码器大多数是准最优的。目前存在的TPC译码器,包括各种芯片产品和IP核产品,都存在性能无法达到最优的缺点。如果改善分量码软输入软输出译码器的性能,则整个TPC译码器的性能也将大大改善。TPC码可以采用最优的BCJR方法译码,但是该方法的复杂性过高,以至于无法实现。在BCJR方法基础上,也发展了Iog-MAP方法,但是其复杂性仍然居高不下,使之仅仅适用于短码。另一方面,基于Chase算法,以及其它简化算法的TPC译码器,虽然较好地解决了复杂性问题,却存在较大的性能损失。尽管如此,TPC译码器芯片产品仍然在实际应用中取得了成功,特别是在卫星通信系统中,显示出大大高于传统的级联码(Reed-Solomon外码加卷积码的Viterbi软判决译码器)的性能,以及高得多的频谱效率。参考文献(7)所述FBA方法基于对接受符号的可靠性信息的处理,对接受符号安装其可靠性信息先进行一次排序,然后对排序后的码字计算其等效系统码的校验矩阵。如果信息位符号全部正确,进行一次编码运算就纠正了全部差错。由于排序的作用,低可行性符号以较大概率被置换到校验位置上,信息位置的差错概率大大降低,所以只需要对信息位中的少数几个最不可靠位进行试错-编码运算,就以较高的概率纠正全部差错。如参考文献(11),FBA的原始版方法中提出了一个最佳停止准则。如果完全按照FBA的原始版方法来实现译码器,从理论上可以保证达到最优性能,但是其处理时间成为动态而不确定。处理时间与信道状态有密切关系.信道状态好,则处理时间短;反则反之。如参考文献(7),FBA译码器的实用型提出将随机搜索修改为固定搜索,限制搜索码字的个数,同时充分利用搜索过的码字表来生成软输出信息。但是,FBA译码器中对排序后的码字计算其等效系统码的校验矩阵这个部分仍然需要较大的硬件复杂性,其计算量与码长的三次方成正比,在长码情况下,仍然需要进一步改进。因此,在实用性方面考虑,仍然需要寻找性能接近最优,同时大大降低复杂性的分组乘积码的译码方法。从TPC技术本身来看,其性能仍然存在改进的余地。尤其是,近年来集成电路的进展已经提供了高于5年前数十倍的处理能力,同时达到功耗为其1/2到1/5的水平,所以大幅度提高TPC技术水平的条件已经成熟。参考文献(7)提出的译码方法可提供接近最优的性能,在各种情况下可与Turbo码相比,甚至略优。所以,恰如参考文献(10)指出的那样,TPC技术在性能方面的潜力并没有被完全发挥出来,也未曾被通信工业界所完全认识。如果能够找出性能/复杂性比更高的方案,具有极大的实用价值。本发明涉及参考文献如下(1)BerrouC.,GlavieuxA.,andThitimajshimaP.,‘NearShannonlimiterror-correctingcodinganddecoding:Turbo-codes(1),’IEEEInt.Conf.onCommunicationsICC,93,Geneve,Switzerland,vol.2/3,pp.1064-1071,May1993;(2)H.Nickl,J.Hagenauer,andF.Burkert,“ApproachingShannon’sCapacityLimitby0.27dBusingSimpleHammingCodes,”IEEECommunicationsLetters,vol.CL-I,pp.130-132,September1997;(3)R.Pyndiah,“Near-OptimumDecodingofProductCodes:BlockTurboCodes,”IEEETrans.OnCommunications,vol.46,pp.1003-1010,Aug.1998;(4)D.Chase,“Aclassofalgorithmsfordecodingblockcodeswithchannelmeasurementinformation,”IEEETrans.Inform.Theory,vol.IT-18,pp.170-182,Jan.1972;(5)J.SnydersandY.Be’ery,“MaximumLikelihoodSoftDecodingofBinaryBlockCodesandDecodersfortheGloayCodes,”IEEETrans.Infor.Theory,vol.35,pp.963-975,Sep.1989;(6)AHAcompany,‘AHA4501Astro36Mbits/SecTurboProductCodeEncoder/Decoder,,inhttp://www.aha.com/technology;(7)J.Fang,F.BudaandE.Lemois,“TurboProductCode:AWellSuitableSolutionToWirelessPacketTransmissionForVeryLowErrorRates,”Proc.On2ndInt.Symp.OnTurboCodes&RelatedTopics,pp.101-111,BrestFrance,Sep.2000;(8)CoryPeichel,‘IntegersoutofsortsProgramanFPGAtoputtheminorder,’August15,1997,EDNMagazine,EDNAccess;(9)S.LeGoffjA.Glavieux,andC.Berrou,“TurboCodesandHighSpectralEfficiencyModulation,”Proceed.OfIEEEICC’94,pp.645-649,NewOrleans,USA,Mayl-5,1994;(10)A.Giulietti,B.Bougard,andLVanderPerre,“TurboCodesDesirableandDesignable”,KluwerAcademicPublishers,2004;(11)J.Fang,“SoftDecisionDecodingofLinearBlockCodesandSomeTopicsinComplexity,,,ENSTPh.D.Dissertation,87003,March1987,Paris,France;(12)方军、俞槐铨,“信息论与编码”,1994年9月,出版社电子工业出版社;(13)王新梅“纠错码与差错控制”,人民邮电出版社,1982。
发明内容本发明要解决的技术问题在于避免现有技术的不足之处而提出复杂性大大降低,性能也接近最优的分组乘积码TPC的译码方法。本发明解决所述技术问题可以通过釆用以下技术方案来实现实施一种高性能低复杂性分组乘积码TPC的译码方法,基于包括比特对数似然比计算模块、同步字检测模块、解对角交织模块和软输入软输出迭代译码模块的分组乘积码译码器;尤其是,所述方法包括如下步骤A.接收信道码字r;B.计算比特对数似然比X=LLR(10和硬判决4=hd(r),对d的信息部分进行系统编码,得到系统编码器生成的码字£;对I进行升序排序,并记录顺序下标矢量I,记前k个信息位部分符号为4,后n—k个校验位部分符号为,记录最不可靠符号集合MURS,包括I到k个信息符号位子集I一MURS和I到n—k个校验符号位子集P-MURS;C.如果I一MURS是空集,进行步骤D;如果I一MURS不是空集,进行步骤E;D.对d+1,…,d+y,y个MURS进行系统性搜索,从I一MURS的y个后续MURS出发生成码字表,进行步骤F;E.对I一MURS进行系统性搜索,从I一MURS出发生成一个码字表;F.从生成的码字表,计算软输出信息;G.输出软信息和最优码字。具体地,步骤D和步骤E的所述系统性搜索是指对MURS集合采用子集生成算法,包括如下步骤,DEl.对需要进行系统性搜索的MURS集合进行升序排序,形成第一行子集行;DE2.找出各行行首子集元素中最小的子集元素,删去该子集元素中最小的子集,同时,将所述子集元素中最小的子集分别与步骤DEl所述第一行子集行的各子集元素合并,形成一行新子集行;DE3.判断步骤DE2所述的各行行首子集元素中最小的子集元素是否是MURS本身,如果是,执行步骤DE5;如果不是,执行步骤DE4;DE4.判断是否生成了足够的子集,如果生成了足够的子集,执行步骤DE5;如果生成的子集不够,执行步骤DE2;DE5.停止子集生成算法,完成系统性搜索。所述步骤F还包括如下分步骤,Fl.从步骤D或者步骤E中生成的码字表中获得两个码字,一个码字是步骤B中所述码字£以及与其相应的最小重量的位置集合Lm;另一个码字是“j-竞争码字”,该“j-竞争码字”是与£相对的码字,对于第j个符号软输出的计算,要求这个码字的第j个符号与£的第j个符号不同;F2.如果存在一个以上的“j_竞争码字”,执行步骤F3;如果不存在所述“j-竞争码字”,执行步骤F4;F3.取相应位置集合L」重量最小的码字,记作£°pp以及与其相应的最小重量的位置集合U,那么软输出计算如下,(s°)j=HcwIfnjc/I(*-i\=rf/^Xf-Ii-iJ條1吨)卜Uwlj-[SN^)I-2Z叫丨咖)Ij卜=(We-Wm)cJ-(10)F4.软输出计算如下,(hO》=Cr(^j)+A^是一个常数,或者是在译码过程中动态修正而得。另外,在所述步骤B和步骤C之间插入如下步骤,预先计算系统编码矩阵,存储在所述分组乘积码译码器中备用。还可以在所述步骤B和步骤C之间插入如下步骤,预先计算好系统搜索中的尝试差错模式序列TentativeErrorPatternsSuite,存储在所述分组乘积码译码器的存储器中备用。同现有技术相比较,本发明“高性能低复杂性分组乘积码TPC的译码方法”的技术效果在于目前在全世界范围内,对TPC译码技术的研发一直在不断进行,已经出现了多种方案和IP核产品,以及芯片,各种应用也在不断出现,特别是卫星通信系统发明,TPC几乎完全替代第二代信道编码技术,而且可预期在不久的未来,TPC技术还可能在无线宽带通信等其它各种应用中获得实用。由于编码部分,即乘积编码方法,属于多年以来为人熟知的技术,TPC技术的核心部分主要是软输入-软输出SISO:Soft-Input-Soft-Output译码器技术,而且其性能好坏对实际应用起着极其重要的作用。所有这些TPC译码器技术分成了两类第一类简单可行,但性能离最优相差较大,如参考文献(3)至参考文献(6)所涉及技术;第二类性能接近最优,但复杂性高,而且结构也复杂,如参考文献(7)和参考文献(11)所涉及技术。本发明在性能接近最优的第二类基础上进行了根本性的简化。彻底避免了对置换后的系统编码矩阵进行对角化计算的步骤.这个计算的计算复杂性与码长的三次方成正比,即0(n3),而且如果需要高速度处理,硬件结构复杂性也相当可观。本发明提出的系统搜索方法,由于考虑了全部的最不可靠符号MURS集合中的符号,甚至在MURS集合外的符号也在搜索范围内,所以在功能上与参考文献(7)和参考文献(11)中描述的FBA方法中的系统搜索法完全等效,所以本发明在性能上也与参考文献(7)和参考文献(11)涉及的FBA—样,可接近最优。然而,本发明在计算结构和计算复杂性两方面都得到了大大简化。本发明中提出的适用于TPC的译码器方法和装置可分别以软件形式,硬件形式,和软件一硬件结合的形式,按照实际应用的需求实现。图I是本发明“高性能低复杂性分组乘积码TPC的译码方法”优选实施例TPC编码译码器的硬件原理示意图2是本发明优选实施例的流程示意图3是本发明优选实施例乘积码子译码器的硬件原理示意图4是本发明优选实施例宏水平流水线处理架构示意图。具体实施例方式以下结合附图所示优选实施例作进一步详述。本发明采用创新性的组合覆盖方法,简化了参考文献(7)提出的FBA译码器结构中的矩阵处理计算结构,提供近最优性能,而且在译码器结构和计算量两方面都降低复杂性。本发明基于一个全新的结构。比较其它方法,或大大简化而保持相同甚至更好的性能,或在基本同等复杂性条件下大大改进性能。本发明可导致更高速率,更低功耗,更高性能的芯片或IP核产品。在无线通信和有线通信系统中可能获得大量实际应用。在无线市场预计在芯片中采用后可大大提高系统传输质量和距离,同时降低发送功率。TPC技术的关键是译码器部分,特别是其分量码的软输入-软输出子系统的性能,在总体性能上起着决定性作用。本发明提出新译码器结构,针对目前的译码器结构提高性能,而与性能最优的译码器相比时,较大程度地降低复杂性。本发明中的译码器采用的是包括对接收符号进行按照可靠度信息排序,系统性搜索,以及软输出计算三部分组成的结构。三部分可以采用流水线方式同时工作,所以本发明提出的译码器的数据吞吐率仅仅受到这三部分电路中时延最长的那个部分所限制。可证明,第一个运算在接收符号为量化信息时,对n个接收符号按照可靠度信息排序的操作的复杂性为nlogn,即与码长n和Iogn的乘积成正比。具体步骤是设立一个长度为n的表,对每个接收符号的值贴上一个标记,然后按照标记找到其位置。第二部分是系统性搜索,也可证明,其计算复杂性与搜索空间的大小成正比,而且可以并行或可实现并行度与处理速度的折中。第三部分的复杂性与与搜索空间的大小成正比。考虑长度为n的系统线性分组码。众所周知,对于线性分组码,系统码和与之等效的非系统码的性能完全一致,而且可以通过基本矩阵变换从非系统码的生成矩阵计算出系统生成矩阵。对于系统码,其信息位部分,即k个信息位,唯一确定其n-k个效验位。进一步分析可证明,每个系统码的形式并非唯一,与之等效的系统码可以有很多个。而且每个系统分组码的等效系统码的计数,仍然是一个尚未解决的组合数学问题。本发明基于系统分组码的等效码的性质,可简化参考文献(7)涉及的TPC译码器FBA的复杂性,而获得与之几乎一致的性能。本发明的系统性搜索方法是基于以下的性质当接收码字的符号按照可靠度信息排序之后,由于可能出错的符号对应于比较低的可靠度,而高可靠度的符号出错概率比较小,所以对低可靠度符号进行处理可能有效地纠正差错。当信道为无记忆时,每个符号出错的概率相等。当信息部分的符号完全都是正确符号时,进行一次编码运算就可全部纠正所有差错。如果当信息部分的符号大多数都是正确符号时,对信息位部分的差错图样进行搜索,进行数次试探性编码运算也可以较高的概率全部纠正所有差错。而且这个差错图样搜索过程也被利用来计算软输出.由于在这个过程中产生一个试探码字表,它实际上包含了各符号的可靠性信息,所以利用码字表,计算对于某个符号的两个码字之间的距离,就获得了关于该符号的可靠性信息,也就获得了该符号的软输出值。如果对整个接收字排序,就打乱了符号的原有次序。这时为了实施编码运算,就需要计算原码的等效码的系统码校验矩阵。这个运算涉及类似于高斯消去法。如果仅仅对信息位排序,那么在校验位部分可能存在高可靠性符号,信息位部分的低可靠性符号数目相对于对整个接收码字排序而言有所增加。所以,对信息位部分的差错图样进行搜索的工作量也相应增加。如果对信息位部分的差错图样进行搜索不能增加到一定程度,译码器性能就会受到影响。对置换后的系统编码矩阵进行对角化计算的复杂性与计算其行列式,逆矩阵的复杂性相等。本发明提出的新的系统性搜索方法不再需要对置换后的系统编码矩阵进行对角化计算。这个计算的计算复杂性与码长的三次方成正比,即0(n3),而且如果需要高速度处理,硬件结构复杂性也相当可观。本发明提出一个大大简化的FBA型译码方法,其复杂性大大降低,性能也接近最优。本发明中,不再需要对排序后的码字计算其等效系统码的校验矩阵,而是将一个系统编码矩阵预先计算出来,存储在译码器内部,从而大大降低了译码器的复杂性,也大大提高译码处理速度。本发明特别适合于宽带系统的高速率应用,具有很高的实用价值。本发明旨在提出一种新型的译码器架构,在保持接近最优性能的同时,较好地解决算法复杂性问题。本发明提出一种高性能低复杂性分组乘积码TPC的译码方法,基于包括比特对数似然比计算模块、同步字检测模块、解对角交织模块和软输入软输出迭代译码模块的分组乘积码译码器;尤其是,所述方法包括如下步骤A.接收信道码字r;B.计算比特对数似然比I=LLR(r)和硬判决i=hd(r),对d的信息部分进行系统编码,得到系统编码器生成的码字£;对I进行升序排序,并记录顺序下标矢量I,记前k个信息位部分符号为4,后η—k个校验位部分符号为<+1,记录最不可靠符号集合MURS,包括I到k个信息符号位子集I一MURS和I到η—k个校验符号位子集P—MURS;C.如果I一MURS是空集,进行步骤D;如果I一MURS不是空集,进行步骤E;D.对d+Ι,…,d+y,y个MURS进行系统性搜索,从I一MURS的y个后续MURS出发生成码字表,进行步骤F;E.对I一MURS进行系统性搜索,从I一MURS出发生成一个码字表;F.从生成的码字表,计算软输出信息;G.输出软信息和最优码字。如图I所示,本发明优选实施例采用TCP编码译码器,包括TCP编码器和TCP译码器。所述TCP编码器是ー个ニ维的分组码编码器.数字信息以行和列形式组成ー个ニ维矩阵写入编码器。编码器首先进行行或者行列编码,相应地,然后进行列或者行行编码,行和列编码的次序可以交换,产生的结果完全等效。然后进行对角交织,此项功能属于可选项,可以按照实际需要使用或跳过去。第三个功能是同步字的插入。此项功能也可用作ー个外部的循环校验码(CRC)的校验位的插入,如果采用,需要在外部完成,也是可选功能。最后是调制星座映射功能模块,可支持QPSK,8PSK,M-QAM,M=16,32,64,128,1024,等等。也可用有外部输入的用户自行定义的格式。可由硬件实现的參数来选择,通过硬件系统的微处理器,以及控制欲状态寄存器来实现。所述TCP译码器部分由4个功能模块组成,分别是比特对数似然比计算,同步字检测,解对角交织,和软输入软输出(Siso)迭代译码器组成。比特对数似然比计算功能模块将接收到的信道信息映射为比特对数似然比值。同步字检测功能模块检测出ー个编码数据块的起始位置,保证译码运算施加于正确的数据上。解对角交织模块将发送端对角交织后的数据还原为原来的次序。本发明的内容主要集中在软输入软输出(SISO)迭代译码器模块。其功能在后文中说明。以下是本发明的TPC译码器,包括其中的系统性搜索方法的一个详细描述。首先定义和陈述若干必要的概念和预备知识。最不可靠符号MURS是指MostUnReliableSymbol。一个MURS是一个接收码字中可靠性最低的符号。差错符号以最大概率出现在MURS中。为描述简单起见,本文件后续部分将最不可靠符号写为MURS。如果考虑d个MURS,是指d个最不可靠符号,其可靠性可由低到高进行排序。一个系统编码器产生的码字可描述为信息部分和校验部分。系统编码的特点是码字中直接包含信息矢量,符号描述如下c=mG=m[P|Ik]=[mP|m],其中m是信息矢量,c是系统编码器产生的码字,G是系统编码器编码矩阵,Ik是k阶单位阵.定义系统校验矩阵为H=[In_k|PT],Pt为P的转置。可验证GHt=LQ为零矩阵。如果£是ー个码字,则成立£HT=Q。如果是ー个接收字,则成立nHT=^,S称为伴随式,显然eHT=s,与£无关。以下是本发明的详细描述·[I].预备计算对接收码字中的所有符号按照其可靠性由低到高进行排序。然后对MURS进行分段定位。考虑η个符号中的d个MURS,d是码的最小Hamming距离。考虑d个MURS,它们中处于信息位,即I到k个信息符号位的子集的称为I-MURS,它们中处于校验位,即从I到n-k个校验符号位的子集的称为P-MURS。[II].系统性搜索:按照MURS定位情况,进行系统性搜索。[IIa].如果I-MURS=空集,表明大多数MURS都在P-MURS中,所有大多数差错处于P-位中的概率比较高。如果全部差错都处于P-位中,进行一次系统编码运算,即可纠正全部差错。但是实际上,无法知道这个情况是否实际发生。所以对d+Ι,…,d+y等,y个MURS进行进行系统搜索,Y可取为ー个较小的正整数(关于I的取法在后续部分还将说明),以较高的概率与实际的处于I-位中的实际差错找到匹配,从而纠正全部差错。在系统搜索过程中,从I-MURS的j个后续MURS出发,生成一个码字表。[lib]·如果I-MURS关空集,对I-MURS进行系统搜索。如果记x=|I-MURS|,即I-MURS中元素的个数,系统搜索将对这X个MURS进行。每次都对搜索中产生的尝试差错模式与接收码字信息位的差值(ニ进制是为模ニ和),即尝试正确信息矢量,进行系统编码。如果尝试正确信息矢量的确正确,所有差错就被全部纠正了。从I-MURS出发,生成ー个码字表。「1111.软输出信息的牛成从[II]过程中生成的码字表生成每个符号的软输出信息。具体过程如下在乘积码的迭代译码过程中计算软输出方法是依据參考文献(7),计算某个符号的软输出需要两个码字,都从[II]中生成的码字表中获得。在[II]中,已经求出了其中的ー个码字,记作£以及与其相应的最小重量的位置集合Lm。£应用于所有码字符号软输出的计算。如果对硬判序列h中位置相应于其它位置集合Lj中的所有元素的ニ进制数取反,可以求出一系列码字,它们在软输出计算中是有用的。在符号的软输出计算中,还需要求出另ー个与£相对的码字,对于第j个符号软输出的计算,要求这个码字的第j个符号与£的第j个符号不同,称其为“j_竞争码字”。如果在上节的译码算法中存在多个“j-竞争码字”,则取相应位置集合Lj重量最小的码字,记作£°pp以及与其相应的最小重量的位置集合U。软输出计算如下=j(|h-cw|f-Ih-cIfjc/=去ムX-BJ=备KH4Ku,)丨I-(ΣΚ^)Ι-2ZietaKwI)ト=Cr0-F-)り.(ο)如果在上节的译码算法中不存在“j-竞争码字”,则可认为译码输出的可靠度较大,软输出可近似为(SO)j=U(Uj)+β,(11)β可以是ー个常数,也可以在译码过程中动态修正。如果子码译码失败,软输出设为{SO'·)广σμ》(12)外部信息的计算如下Wj=(SO)f-U(Uj).(13)因此,可以求出下一次迭代译码的软输入如下(SI)j=a(Uj")+aw(14)α是ー个加权因子,它是考虑到u和w样本所具有的不同标准方差而作出的修正。子译码器如图3所示,将用于乘积码行译码和列译码的単元译码器交替级连起来可以构造任意迭代次数的迭代译码器。图3中W(m)是外信息,SICm)是软输入,[u]是信道输入信息。子译码器框图表示了输入,外信息,软信息在迭代过程中的变化规律。[IV].系统搜索系统搜索是算法中的主要组成部分,基干“子集生成算法”,其描述如下。“子集生成算法”以MURS集合为输入,按照其子集的可靠性的升序逐个生成MURS的子集,即差错图样。具体的算法实现过程及其最优性证明见參考文献(7),这里简单举个例子以说明。假设目前有MURS={I.4,3,5,10},这4个MURS元素对应共16种不同的差错图样,包括空集。相对于穷举法,可以有效减小开销。算法可以用实例用以下实例说明。假设MURS={I.4,3,5,10},那么,生成子集如下H35SO1.4U31.4U5LWlO3U5HJlO5U10L4U3U5i.4U3U10i.4U5tJlO3U5U10L4U3U5U10其中“xUy”表示元素X与y的Union。可观察到整个表的行和列都是排序的。而且,表中包含了全部子集。基于这个数据结构,所设计的算法就可以按照升序逐个生成子集(I).首先将MURS排序,放在第一行。然后,第一行第一个兀素就是第一个子集,{I.4},输出ο(2).生成第二行,是已经输出的第一个子集,{1.4},与其它元素的Union。已经输出的第一个子集{2}被删除。(3).每行最左的元素称为“行首”。比较每行的行首,取其中測度最小的作为下一个输出子集。(4).生成下一行,是刚刚输出的子集与第一行的剩下的其它元素的Union。刚刚输出的子集被删除。(5).测试是否已经生成了足够的子集。如果是,停止;否则到(3),继续。如果刚刚输出的子集就是MURS本身,表明全部子集已经按升序输出,停止。那么,前述步骤D和步骤E的所述系统性捜索是指对MURS集合采用子集生成算法,包括如下步骤,DEl.对需要进行系统性搜索的MURS集合进行升序排序,形成第一行子集行;DE2.找出各行行首子集元素中最小的子集元素,删去该子集元素中最小的子集,同吋,将所述子集元素中最小的子集分别与步骤DEl所述第一行子集行的各子集元素合井,形成一行新子集行;DE3.判断步骤DE2所述的各行行首子集元素中最小的子集元素是否是MURS本身,如果是,执行步骤DE5;如果不是,执行步骤DE4;DE4.判断是否生成了足够的子集,如果生成了足够的子集,执行步骤DE5;如果生成的子集不够,执行步骤DE2;DE5.停止子集生成算法,完成系统性搜索。更为具体的描述子集生成算法,(1)按升序排列所述MURS中的各段频谱,形成第一行子集行,那么第一行子集行就是1.43510(2)由于只有一行子集行,因此各行行首子集元素中最小的子集元素是I.4;(3)删去该子集元素中最小的子集,同吋,将所述子集元素中最小的子集分别与所述第一行子集行的各子集元素合并,形成一行新子集行,即如下—4:4—351014TO14U5imW(4)在两行子集行的行首频谱中,各行行首子集元素中最小的子集元素是3,删去该子集元素中最小的子集,同吋,将所述子集元素中最小的子集分别与所述第一行子集行的各子集元素合井,形成一行新子集行,即如下~51014U31.4U514U103U531T10(5)在三行子集行的行首频谱中,各行行首子集元素中最小的子集元素是I.4U3,删去该子集元素中最小的子集,同吋,将所述子集元素中最小的子集分别与所述第一行子集行的各子集元素合并,形成一行新子集行,即如下-M-...................................1......................................51.04-4Pi...........1.4U5IAmO3TI53U101.4U3U5L4TJ3U10(6)在四行子集行的行首频谱中,各行行首子集元素中最小的子集元素是5,删去该子集元素中最小的子集,同吋,将所述子集元素中最小的子集分别与所述第一行子集行的各子集元素合井,形成一行新子集行,即如下权利要求1.一种高性能低复杂性分组乘积码TPC的译码方法,基于包括比特对数似然比计算模块、同步字检测模块、解对角交织模块和软输入软输出迭代译码模块的分组乘积码译码器;其特征在于所述方法包括如下步骤A.接收信道码字r;B.计算比特对数似然比I=LLR(10和硬判决^=hd(r),对d的信息部分进行系统编码,得到系统编码器生成的码字S;对I进行升序排序,并记录顺序下标矢量I,记前k个信息位部分符号为4,后n—k个校验位部分符号为4+1,记录最不可靠符号集合MURS,包括I到k个信息符号位子集I一MURS和I到n—k个校验符号位子集P-MURS;C.如果I一MURS是空集,进行步骤D;如果I一MURS不是空集,进行步骤E;D.对d+1,…,d+y,y个MURS进行系统性搜索,从I一MURS的y个后续MURS出发生成码字表,进行步骤F;E.对I一MURS进行系统性搜索,从I一MURS出发生成一个码字表;F.从生成的码字表,计算软输出信息;G.输出软信息和最优码字。2.根据权利要求I所述的高性能低复杂性分组乘积码TPC的译码方法,其特征在于步骤D和步骤E的所述系统性搜索是指对MURS集合采用子集生成算法,包括如下步骤,DEl.对需要进行系统性搜索的MURS集合进行升序排序,形成第一行子集行;DE2.找出各行行首子集元素中最小的子集元素,删去该子集元素中最小的子集,同时,将所述子集元素中最小的子集分别与步骤DEl所述第一行子集行的各子集元素合并,形成一行新子集行;DE3.判断步骤DE2所述的各行行首子集元素中最小的子集元素是否是MURS本身,如果是,执行步骤DE5;如果不是,执行步骤DE4;DE4.判断是否生成了足够的子集,如果生成了足够的子集,执行步骤DE5;如果生成的子集不够,执行步骤DE2;DE5.停止子集生成算法,完成系统性搜索。3.根据权利要求I所述的高性能低复杂性分组乘积码TPC的译码方法,其特征在于所述步骤F还包括如下分步骤,Fl.从步骤D或者步骤E中生成的码字表中获得两个码字,一个码字是步骤B中所述码字£以及与其相应的最小重量的位置集合Lm;另一个码字是“j-竞争码字”,该“j-竞争码字”是与£相对的码字,对于第j个符号软输出的计算,要求这个码字的第j个符号与£的第j个符号不同;F2.如果存在一个以上的“j_竞争码字”,执行步骤F3;如果不存在所述“j-竞争码字”,执行步骤F4;F3.取相应位置集合L^重量最小的码字,记作£°pp以及与其相应的最小重量的位置集合Lci,那么软输出计算如下,4.根据权利要求I所述的高性能低复杂性分组乘积码TPC的译码方法,其特征在于在所述步骤B和步骤C之间插入如下步骤,预先计算系统编码矩阵,存储在所述分组乘积码译码器中备用。5.根据权利要求I所述的高性能低复杂性分组乘积码TPC的译码方法,其特征在于在所述步骤B和步骤C之间插入如下步骤,预先计算好系统搜索中的尝试差错模式序列TentativeErrorPatternsSuite,存储在所述分组乘积码译码器的存储器中备用。全文摘要一种高性能低复杂性分组乘积码TPC的译码方法,基于包括比特对数似然比计算模块、同步字检测模块、解对角交织模块和软输入软输出迭代译码模块的分组乘积码译码器。本发明中的译码方法采用的是包括对接收符号进行按照可靠度信息排序,系统性搜索,以及软输出计算三部分组成的结构。本发明较其它方法,或大大简化而保持相同甚至更好的性能,或在基本同等复杂性条件下大大改进性能;本发明可导致更高速率,更低功耗,更高性能的芯片或IP核产品。在无线通信和有线通信系统中可能获得大量实际应用;本发明针对目前的译码器结构提高性能,而与性能最优的译码器相比时,较大程度地降低复杂性。文档编号H03M13/29GK102751996SQ201110098158公开日2012年10月24日申请日期2011年4月19日优先权日2011年4月19日发明者方军申请人:深圳清华大学研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1