一种获取交织表的方法技术

技术编号:3421962 阅读:171 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种获取交织表的方法,应用于使用涡轮码(Turbo码)编码器或Turbo码译码器的系统中,预先选取交织长度,并设置所选取的每个交织长度及其对应的交织表的对应关系;当获取交织表时,将本次Turbo编码或译码的数据块长度作为当前交织长度,判断所述对应关系中是否有当前交织长度,如果有,则根据所述对应关系获得当前交织长度对应的交织表,否则,根据交织表算法计算出当前交织长度对应的交织表。本发明专利技术提出的方法用有限的存储空间大大减少了获取交织表的时间,而周期更新交织表存储区则实现了根据实际业务情况灵活适应常用交织长度的改变。

【技术实现步骤摘要】

本专利技术涉及编码技术,特别是涉及。
技术介绍
涡轮码(Turbo code)是目前常用的一种信道编码方案,适于高速率但对时延要求不高的数据传输业务。Turbo码能够大大降低系统的发射功率并且增加系统的容量。同时,Turbo码能够达到绝佳的编码增益效果。比如,一个Turbo码可以达到约与香农(Shannon)极限只差0.2dB的编码增益,从而为系统提供了极佳的错误更正功能。因此,Turbo码在第三代通信系统以及深空通信、卫星通信,视频处理等领域都有重要的应用。在信道上,由于持续较长的深衰落谷点会影响到相继一串的比特,所以比特差错经常是成串发生的。然而,信道编码和译码仅在检测和校正单个差错和较短的差错串时才有效。因此,在Turbo码编码和Turbo码译码操作中经常会出现成串的比特差错,从而造成较大的误码率。图1是Turbo码编码器的结构示意图,图2是Turbo码译码器的结构示意图。参见图1和图2,为了解决比特差错成串导致较大误码率的问题,在Turbo码编码器和Turbo码译码器中使用了交织器,通过交织器的交织技术将一条消息中的相继比特以非相继方式发送出去,那么在传输过程中即使发生了成串差错,恢复成一条相继比特串的消息时,差错也就变成了单个差错或长度很短的差错,这时再用信道编码纠错功能纠正差错,恢复原消息,则可大大降低误码率。在Turbo编码或译码中,交织技术的核心内容就是计算交织表。计算交织表就是根据交织长度n计算出从0到(n-1)之间所有整数值排列顺序的一个序列。交织长度的取值范围为(40~5114)。比如,交织长度为40,所得交织表为从0~39之间40个整数值的一个序列,如(2,0,31,......,39,6)。现有技术获取交织表的方法为方法一、实时计算法。根据当前交织长度和交织表算法进行实时计算,获取所需交织表。例如,进行Turbo编码或译码时的数据块长度为100,当获取交织表时,将数据块长度100作为当前交织长度,使用既定交织表算法后,得到的交织表为0~99之间100个整数值的一个序列,如交织表(2,5,81,......,16,99,89)。在获取该交织表时,交织表中每一位上的数值均需要根据既定交织表算法进行计算,因此需要进行100次计算。方法二、查找法。预先使用既定交织表算法分别计算出与所有交织长度对应的交织表,并保存各个交织长度和与其对应的交织表。在获取交织表时,直接查找系统中的保存记录。例如,进行Turbo编码或译码时的数据块长度为5100,当获取交织表时,将数据块长度5100作为当前交织长度,在获取交织表时,查找到系统中保存的与当前交织长度5100对应的交织表,如交织表(51,0,88,......,16,4302,5099)。系统预先存储与当前交织长度5100对应的交织表时,需要保存从0到5099之间5100个整数值。可见,现有技术存在以下缺点在方法一中,每次进行Turbo编码或译码时,都要根据交织长度和交织表算法计算交织表,所以当使用的交织长度很大时,需要进行大量的运算才能得出交织表中每一位上的数值,从而降低了获取交织表的速度,导致系统无法快速处理Turbo编码或译码业务。方法一对于每次使用的交织长度均需要进行计算才能获取与其对应的交织表,而各次使用的交织长度很可能相同,从而导致不必要的重复计算,浪费了系统的资源,降低了系统的性能。使用方法二时,预先存储所有交织长度及与其对应的交织表会占用大量的存储空间,系统处理器的片内空间往往无法满足其存储需求。如果利用处理器的片外空间存储,则会增加成本,而且在使用时也无法判断片外的存储空间是否已损坏,从而导致无法判断获取的交织表是否正确。同时,当交织长度范围更改时,则必须重新固化片外存储区,因而不利于Turbo编码或译码业务的发展。
技术实现思路
有鉴于此,本专利技术的目的在于提供,使其能用有限的存储空间快速获取交织表。为了达到上述目的,本专利技术的技术方案是这样实现的,应用于使用涡轮码Turbo码编码器或Turbo码译码器的系统中,该方法包括以下步骤A、预先选取交织长度,并设置所选取的每个交织长度及其对应的交织表的对应关系;B、当获取交织表时,将本次Turbo编码或译码的数据块长度作为当前交织长度,判断步骤A中所述对应关系中是否有当前交织长度,如果有,则根据所述对应关系获得当前交织长度对应的交织表,否则,根据交织表算法计算出当前交织长度对应的交织表。步骤A中所述设置为首次时,步骤A中所述每个交织长度所对应的交织表是通过交织表算法直接计算得出。步骤A中设置的每个交织长度及其对应的交织表的对应关系是按周期更新设置的。步骤A中所述周期更新设置包括A1、选取交织长度,判断步骤A中所述对应关系中是否有选取的任意一个交织长度,如果有,则跳出本流程,否则,执行步骤A2;A2、判断步骤A中所述对应关系中是否没有选取的任意一个交织长度,如果没有,则执行步骤A3,否则,执行步骤A4;A3、根据交织表算法计算出与选取的每个交织长度对应的交织表,并设置所选取的每个交织长度及其对应的交织表的对应关系,然后跳出本流程;A4、对于选取的在步骤A中所述对应关系中没有的交织长度,则根据交织表算法计算出与其对应的交织表,然后用该交织长度与交织表的对应关系更新步骤A中所述对应关系中与选取的交织长度不同的交织长度对应的对应关系。在每次执行步骤B时,记录当前交织长度的使用次数,当更新所述对应关系时,步骤A1中选取的交织长度是按照系统记录的所有交织长度的使用次数值从大到小的顺序选取的。在所述步骤A1之前包括判断是否需要对所设置的交织长度及其对应交织表的对应关系进行更新,如果需要,则执行步骤A1,否则,跳出本流程。预先设定次数阈值,并记录系统已获取交织表的次数,所述是否需要对设置的交织长度及其对应交织表的对应关系进行更新是通过系统记录的已获取交织表的次数与系统预先设定的次数阈值是否相等进行判断的;当对交织长度及其交织表的对应关系进行更新后,将记录系统已获取交织表的次数值置零。预先设定时间阈值,并记录系统运行的时间值,所述是否需要对设置的交织长度及其对应交织表的对应关系进行更新是通过系统记录的时间值与系统预先设定的时间阈值是否相等进行判断的;当对交织长度及其交织表的对应关系进行更新后,将记录系统运行的时间值置零。可见,本专利技术提出的方法具有以下优点1、因为在一定的时间内,常用交织长度不会有较大的变化,所以使用本专利技术提出的方法,直接在交织表存储区中查找当前交织长度及与其对应的交织表,则省去了计算交织表的过程,从而大大减少了获取交织表的时间。2、本专利技术提出的方法只存储常用交织长度及与其对应的交织表,从而最大限度的减少了对系统资源的占有。3、根据本专利技术提出的方法,定期更新交织表存储区中的交织长度及与其对应的交织表,从而实现了根据实际业务情况灵活适应常用交织长度的改变,进而满足了Turbo码业务发展和变化的需求。4、在本专利技术提出的方法中,保存有上次使用的交织长度及与其对应的交织表,在当前交织长度与保存的上次交织长度相同时直接输出与上次交织长度对应的交织表,从而大大节省了获取交织表的时间。附图说明图1是Turbo码编码器的结构示意图;图2是Turbo码译码器的结构示意图;图3是在实现本专利技术的实施例本文档来自技高网
...

【技术保护点】
一种获取交织表的方法,应用于使用涡轮码Turbo码编码器或Turbo码译码器的系统中,其特征在于,该方法包括以下步骤:A、预先选取交织长度,并设置所选取的每个交织长度及其对应的交织表的对应关系;B、当获取交织表时,将本次Tu rbo编码或译码的数据块长度作为当前交织长度,判断步骤A中所述对应关系中是否有当前交织长度,如果有,则根据所述对应关系获得当前交织长度对应的交织表,否则,根据交织表算法计算出当前交织长度对应的交织表。

【技术特征摘要】

【专利技术属性】
技术研发人员:孙强
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1