建立可变长度错误代码的方法和设备的利记博彩app

文档序号:7506005阅读:184来源:国知局
专利名称:建立可变长度错误代码的方法和设备的利记博彩app
技术领域
本发明涉及一种建立可变长度错误代码的方法,所述方法包括以下步骤(1)初始化所需要的参数码字的最小和最大长度分别为L1和Lmax、每个码字之间的自由距离dfree(所述距离dfree对于VLEC码C来说是在所有任意扩展码的集合中的最小汉明距离),所需的码字数量S;(2)产生长度为L1、最小距离为bmin的固定长度码C,bmin=min{bk;k=1,2,....,R},bk=与码C的码字长度Lk相关的距离并且被定义为在C中具有长度Lk的所有码字之间的最小汉明距离,R=C中不同码字长度的数量,所述产生步骤创建了n比特长的距离为d的字集W;(3)在集合W中列出和存储所有可能的与C的码字距离为dmin的L1元组(L1-tuples)(所述距离dmin对于VLEC码C来说是C的所有可能的不同长度码字对之间的所有发散(diverging)距离的最小值),并且,如果所述集合W不是空的,那么就通过在所有字的末端附加一个额外比特来加倍W中的字的数量,从而所述存储步骤将该集合W替换为新的集合,该新集合具有比前一个集合多两倍的字,并且这些字的每一个的长度是L1+1;(4)删除集合W中与C的所有码字不满足cmin距离的所有字,所述距离cmin是码C的最小收敛(converging)距离;(5)在没有发现字或者达到最大比特数量的情况下,减小距离约束以便找到更多的字;(6)控制集合W的所有字是距离为bmin的,然后将找到的字加到码C;(7)如果没有达到所需的码字数量,就重复步骤(1)到(6),直到该方法发现不可能继续或者已经找到了所需的码字数量;(8)如果C的码字数量大于S,基于VLEC码结构计算通过使用信源概率对每个码字长度加权而获得的平均长度AL,如果它低于ALmin,那么所述AL变成ALmin,其中ALmin=AL的最小值,并且相应的码结构被保留在存储器中。
背景技术
图1显示的经典通信链结构包括,对来自信源S的信号进行编码的信源编码器1(SCOD),接下来是信道编码器2(CCOD)和,在编码信号传送之后通过信道3获得编码信号,信道解码器4(CDEC)和信源解码器5(SDEC)。该解码信号将发送给接收机。由于其压缩能力,可变长度码(VLC)被传统地使用在信源编码中,并被应用到相关信道编码技术中从而与实际传送信道效果(诸如衰减、噪声等等)做斗争。然而,因为信源编码试图消除冗余而信道编码却试图重新引入冗余,所以研究如何有效地协调这些技术从而改善整个系统,同时将复杂度保持在可接受的水平。
在研究中提出的解决方案中,可变长度纠错(VLEC)码表现了可变长度的同时提供纠错能力的优点,但是对于短字母来说,建立这些码是相当费时的(并且对于更长的字母信源来说甚至是禁止的),结构复杂度也是一个缺点,以下将了解。
首先,必须回忆一些经典VLC的定义和特性。码C是S个码字的集合{c1,c2,c3,...,ci,...cs},对于其中的每一个定义了长度li=|ci|,其中l1≤l2≤l3≤...≤li≤...≤ls而没有任何一般性的损耗。码C中不同码字长度的数量被称为R,显然R≤S,这些长度表示为L1,L2,L3,...Li,...LR,其中L1<L2<L3<......LR。然后可变长度码或VLC,其结构表示为(s1@L1,s2@L2,s3@L3,.......,sR@LR),它对应于长度为L1的s1个码字、长度为L2的s2个码字、长度为L3的s3个码字、......长度为LR的sR个码字。当使用VLC时,对于给定的信源,其压缩效率与从所述信源传送符号所需的比特数量有关。用来估计有效性的度量标准通常是码的平均长度AL(即,传送一个字所需的比特数量的平均值),当每个符号ai映射到码字ci时,通过以下关系式(1)给出所述平均长度AL=Σi=1i=sli·P(ai)···(1)]]>该关系式等价于关系式(2)AL=Σi=1RLi·(Σj=r(i)+1j=r(i+1)P(ai))···(2)]]>
其中,对于数据源A,S个信源符号被表示为{a1,a2,a3,...,as},P(ai)是这些符号每一个相应的出现概率,其中∑P(ai)=1(从i=1到i=S)。如果ALmin表示平均长度AL的最小值,那么就很容易看出当达到ALmin时,符号就以下面的方法索引P(a1)≥P(a2)≥P(a3)≥...≥P(ai)≥...P(as)。为了对数据以接收机能够对编码信息解码的方式编码,那么VLC必须满足下面的性质非奇异的(所有的码字是独特的,即,没有多于一个信源符号被分配给一个码字)和唯一可解码的(即,可能将任何码字串准确无误地映射回正确的信源符号,而没有差错)。
在回顾VLC码的一些通常特性时介绍和描述有用的各种距离将有助于回忆起在VLEC编码理论中使用的纠错特性的概念(a)汉明加权和距离如果w是长度为n的字,其中w=(w1,w2,...wn),那么w的汉明加权,或简称为加权,就是w中非零符号的数量W(w)W(w)=Σi=1i=nwi||wi||···(3)]]>并且,如果w1和w2是具有相同长度n的字,其中wi=(wi1,wi2,...win),i=1或2,那么w1和w2之间的汉明距离(或简称为距离)是w1和w2不同的位置的数量(例如,对于二进制的情况,容易得出H(w1,w2)=W(w1+w2) (4)其中加法是模2运算)。然而,汉明距离的定义被限制在固定长度码,其他的定义将在考虑VLEC码之前定义。
(b)将fi=w1iw2i......wni成为VLEC码C的n个字的串联,然后集合FN={fi|fi|=N}被称为N阶的C的扩展码。
(c)最小块距离(block distance)和总最小块距离与VLEC码C的码字长度Lk相关的最小块距离bk被定义为C的具有相同长度为Lk的所有独特码字之间的最小汉明距离bk=min{H(ci,cj)ci,cj∈C,i≠j,|ci|=|cj|=Lk} k=1,...,R (5)并且,所述VLEC码C的总最小块距离bmin,即每个可能长度为Lk的最小块距离值,由下式定义bmin=min{bkk=1,...R}(6)(d)发散距离和最小发散距离VLEC码C的两个不同长度的码字ci=xi1xi2....xili]]>和cj=xj1xj2....xjl1]]>之间的发散距离,其中ci,cj∈C,li=|cj|和lj=|cj|,li>lj,由下式定义D(ci,cj)=H(xi1xi2...xili,xj1xj2....xjlj)···(7)]]>即,这也是lj长度码字和更长码字的lj长度前缀之间的汉明距离,所述VLEC码C的最小发散距离dmin是C的具有不相等长度的所有可能码字对之间的所有发散距离的最小值dmin=min{D(ci,cj)ci,cj∈C,|ci|≠|cj|}(8)(e)收敛距离和最小收敛距离VLEC码C的不同长度的两个码字ci=xi1xi2....xili]]>和cj=xj1xj2....xjli]]>之间的收敛距离,其中|ci|=li>|cj|=lj,由下式定义C(ci,cj)=H(xil1-lj+1xil1-lj+2....xil1,xj1xj2....xjlj)···(9)]]>即,这也是lj长度码字和更长码字的lj长度前缀之间的汉明距离,所述VLEC码C的最小收敛距离dmin是C的具有不相等长度的所有可能码字对之间的所有收敛距离的最小值cmin=min{C(ci,cj)ci,cj∈C,|ci|≠|cj|} (10)(f)自由距离码的自由距离dfree是从某些共同状态Si发散并再收敛到另一共同状态Sj的所有任意长度路径集合中的最小汉明距离,其中j>idfree=min{H(fi,fj)fi,fj∈FN,N=1,2,......,∞}(11)根据VLC所使用的结构模型,因此可以用下面符号来描述VLEC码C的结构S1@L1,b1;S2@L2,b2;......;SR@LR,bR;dmin,cmin(12)其中,有si个长度为Li具有最小块距离bi的码字,对于所有的i=1,2...R,(之前介绍过,R是不同码字长度的数量)并且具有最小发散和收敛距离dmin和cmin。VELC码最重要的参数是它的自由距离dfree,该自由距离大大影响了它在纠错能力方面的性能,VLEC码的自由距离由下式限制dfree>min(bmin,dmin+cmin) (13)回忆这些定义,将更容易说明VLEC码结构的现有技术。第一种类型VLEC码,称为α-激励码(prompt code),1974年引入,和该家族的扩展,称为αt1,t2,...,tR-激励码,都具有同样的重要特性如果一个表示为比其他任何码字cj更接近于ci的字集α(ci),其中j≠i,那么α(ci)中没有序列是另一个α(cj)中序列的前缀。这些码的构造非常简单,并且可由各个长度的码字的数目来调整该构造算法,这能够为给定的信源和给定的dfree找到最佳激励码。然而,该最佳码在压缩性能方面的表现很差。
最近的构造允许从固定长度线性分组码的生成矩阵构造VLEC码,在文件“Variable-length error-correcting codes”by V.Buttigieg,Ph.D.Thesis,University of Manchester,England,1995中提出来了。所谓的码-反码(code-anticode)构造,这种算法依赖于行组合和列置换在最右边一列形成反码。一旦获得码-反码生成矩阵,那么就简单地通过矩阵乘法获得VLEC码。
但是该技术有几个缺点。首先,没有明确的方法来找到所需的行组合和列置换以获得反码。另外,该构造没有考虑信源统计特性,从而就经常显示其自身的次最佳(可以通过在VLEC码上的后处理找到带有较小平均长度的码)。同样在该文件中,作者然后提出了一种改进的方法,被称为启发式方法(Heuristic method),该方法基于计算机搜索来建立VLEC码,从而为指定的信源和给定的对抗误码保护给出更好的已知压缩率,即,码C具有指定的总最小块、发散和收敛距离(也就是dfree的最小值)和与信源统计特性匹配的码字长度,从而为所选的自由距离和指定信源获得最小平均码字长(实际操作中,采用bmin=dmin+cmin=dfree,和dmin=[dfree/2])。
该启发式方法使用了以下参数码字的最小长度L1、码字的最大长度Lmax、每个码字之间的自由距离dfree、所需的码字数量S。以下将参考流程图2到4来描述该启发式方法主要的步骤。
为了开始计算机搜索(“开始”),那么首先必须指定所有所需的参数L1(最小码字长度,必须至少等于或大于所需的最小发散距离),Lmax(最大码字长度)、码字之间的各种不同距离(dfree、bmin、dmin、cmin),和S(给定信源所需的码字数量)、和当选择这些参数时设置的一些关系式Ll≥dminbmin=dfreedmin+cmin=dfree然后执行该算法的第一阶段,附图标记为11它包括产生长度为L1以及最小距离为bmin具有最大码字数量的固定长度码(最初放在C中)。该阶段实际上是初始化,例如使用以下方法执行图5所示的贪婪算法(GA)、图7所示的多数表决算法(majority votingalgorithm)(MVA),或新提出的表示为GAS(分步贪婪算法)的变型,包括上述两个方法的变型(GAS包括GAS所使用的搜索方法,其中不删除一半码字,只删除该组的最后一个码字)。这两个算法有助于创建长度为n比特且距离为d的集合W(实际上,应当注意,MVA比GA找到更多的字,但是它需要太多的时间而压缩能力却只有小小的改进,如图6和8的表格所示,分别与GA和MVA相比较,该集合W是使用图9表格定义的26个符号英文信源的不同的dfree值所得到的最佳编码结构。
该算法的第二个阶段,对应于图2中附图标记为21-24的单元(21+22=操作过程“A0”;23+24=操作过程“A2”),包括在称为W的集合中列出和存储所有可能的距C中码字距离为dmin的L1-元组。如果dmin≥bmin,那么W是空的。如果其中所有字对当前码来说满足最小发散距离的集合W不是空的(回复“否”到测试22|W|=0?),那么通过将字的长度增加1个比特,即先将一个“0”再将一个“1”附加到W中所有字的最右边位置,W中的字的数量被加倍(步骤24);除非超出比特数量的最大值(回复“是”到测试23)。在所述步骤24的输出端,该修改后的集合W具有了比之前W多两倍数量的字,每个字的长度是L1+1。
对应于单元31到35(即图2中的操作过程“A3”),该算法的第三阶段包括删除(步骤31)集合W中所有不与C所有的码字满足cmin距离(最小发散距离)的字(即,在新的W中仅保留和存储满足所述最小发散距离的字,其他的被丢弃)。在这一点上,新的集合W是由这样的字集成的集合当与C的码字相比,这些字与C的码字满足所需的最小发散和收敛距离(dmin和cmin距离)。如果该新集合W不空(回复“否”到测试32|W|=0?),在W中选择(步骤33)最大数量的字以满足最小块距离,从而保证集合W中具有相同长度的所有字具有至少等于bmin的最小距离。在步骤33的终点,使用GA或MVA实现的(注意到在这种情况下,GA或者MVA所使用的初始集合是当前W而不是n-元组集合),这样获得的字被加到(步骤34)已经存在于C中的码字。
如果在步骤21(回复“是”到测试22|W|=0?)的终点没有字被找到(即W是空的)或者如果达到或者超过最大比特数量(回复“是”到测试23),那么就进入该算法的第4阶段(图3所示的步骤41到46,并且在所述图中表示为操作过程“A1”),该阶段用来通过如下操作阻止该过程,即通过插入更多选择的自由,更具体而言是将额外的比特(同时几个比特)附加到W的所有字,这样新的集合包括比旧的集合更多的字。如果在最后的组中有足够的码字(连续测试41和42,用来验证在最后组中的码字的数量,如果有之前的组的话),它们中的一些被从所述组(上述的)中删除,该删除允许减少距离约束并且找到比以前更多的码字。事实上,上述经典的启发式方法开始于具有短长度的最大数量的码字,把它们映射为具有高概率的符号并试图获得好的压缩率,但有的时候,小长度集合的大小与所需的码字数量S不具可比性。在这一点上,少许码字容易提供更多的自由度并能满足这样的条件,即关于对码的距离和符号数量的初始要求。重复该删除过程直到它对每个长度都保持一个码字的最大值。如果在步骤31的终点W是空的(回复“是”到测试32|W|=0?),那么重复步骤23,24,31,32。如果没有达到所需的码字数量(回复“否”到在该第三阶段终点提供的测试35),那么必须重复步骤21到24和31到35,直到所述的步骤发现不可能找到字或者不可能达到所需的码字数量。
如果已经达到所需的码字数量,即,C的码字数量等于或大于S(回复“是”到测试35),这样获得的VLEC码的结构被使用在第五部分,包括步骤51到56(如图4所示,并且在所述图中用操作过程“A4”表示),从而计算平均长度AL。通过对每个码字的长度使用信源的概率加权,并且将其与当前最佳的一个相比来完成该部分。如果该VLEC码的所述平均长度AL低于AL的最小化值(=ALmin),该AL变成ALmin,并且该新的AL值和相应的码结构被保留在存储器(步骤51)中。在算法中,这些步骤51和接下来的(第5部分;操作过程“A4”)的步骤允许返回到前一组,而所述算法的其他阶段总是对当前组执行。该反馈操作的步长是一,即该反馈动作被认为是穷举性的。
为了继续该最佳VLEC码的搜索,需要避免保持相同的结构,这会导致算法中的循环。当前码的最后加入的组被删除(步骤52,53),较短长度码字的删除能够发现找到长度更长的码字(测试54组中的码字数量是否大于1?),前一组的一些码字(对于GVA是一半的数量;对于MVA是“最佳”的一个)被删除(步骤55),从而在步骤21的开始处循环(步骤56)该算法(参考图2),并找到不同的VLEC结构(被删除码字的数量依赖于使用的哪种方法选择字如果使用GA方法并且希望获得线性码,就需要删除一半的码字,而使用MVA方法只删除一个码字,即最佳的那个码字,即允许在下一组中发现更多码字的那个码字)。
然而,所描述的启发式方法经常考虑非常不太可能的码结构或者处理这样的情况(为了不错过任何东西)在所述方法的实现中有很高的复杂度,而且这相当费时,并且因此被禁止。
发明概述本发明的目的在于提出一种改进的构造方法,从而可能通过避免这些缺点而在复杂度上获益。
为此,本发明涉及一种建立可变长度错误代码的方法,如在本说明书第一段的描述中所定义的,所述建立方法在于至多一个比特被加到集合W的每个字的末尾。
本发明的另一个目的在于提供一种执行上述建立可变长度错误代码的方法的设备。


本发明将通过示例的方法并结合以下附图来描述-图1描述了传统的通信信道;-图2到4是显示被称为启发式方法的建立VLEC码的传统方法的主要步骤的一个流程图的3个部分;-图5显示了图2到4的方法的初始化所使用的算法(称为贪婪算法,或GA),图6是个表格,为使用图5的算法的启发式结构构造的信源给出的各种VLEC码;-图7显示了图2到4的方法的初始化所使用的另一种算法(称为多数表决算法,即MVA),图8是另一个表格,为使用图7的算法的启发式结构构造的信源给出的各种VLEC码;-图9是一个表格,为26个符号的英文信源给出信源符号及其概率之间的对应关系。
-图10和11根据本发明的单个流程图的两个部分,显示了图2-4所示的传统方法的改进方法的实现。
-图12是另一个表格,为在图6和8的表格所考虑的同样的26个符号的英文信源给出不同的VLEC码,并使用GAS;-图13是另一个表格,为在图12中的相同信源给出各种VLEC码,并使用前面提到的GAS和根据本发明的建立方法。
发明详述仿真显示,使用经典的启发式方法,几乎所获得的最佳代码中没有一个有洞(hole),即在其结构长度内的长度跳变。因此提出,根据本发明,考虑到最好的码不带有长度的跳变,从而相应地减少被检查VLEC码的集合(这也就减少了仿真时间和方法实现的复杂度,而不用对AL做太多的修改)。根据这个设想,根据本发明,通过避免在集合W的每个字的末端添加多于1个比特来修改该方法。
相应的实现(改进的启发式构造方法,具有无洞优化)显示在图10和11中,这两个图显示了与系统对应的流程图的两部分,该系统允许执行根据本发明的改进的方法(与图2到4中相同的单元被指定了相同的附图标记)。
与图2到4的流程图主要的不同在于以下各个方面(a)首先,就经典启发式技术来说,对于实现改进的方法无用的部分被取消了;(b)如果在步骤31的终点W是空的(回复“是”到测试32;|W|=0?),那么下一阶段现在(参考图10)不是步骤(23,24,31,32)的重复,而是建立(替换所述的重复)直接连接91到电路的输入端(图11中),执行操作过程55(在重复步骤21到24和31到35之前,删除一些码字,或者删除最佳码字),所述操作过程55因此,如前所述,其后跟随着操作过程21以及下述操作。
(c)该方法的第4阶段现在被简化为一个步骤,操作过程41(图11),即测试“最后组的码字数量=1?”。如果回复是“否”,那么考虑到执行所述操作过程55,与步骤55的输入端的直接链接101被建立,然后是操作21等等。如果回复是“是”,与操作过程52到54的集合的输入端的连接102被建立。
当使用GAS方法来选择码字时,对26个符号的英文信源使用该解决方案(被称为“无洞优化方法”)得到的结果显示在图12的表格中。可以看出,与图13所示的结果相比,虽然该结果对于dfree=3来说不是完全地最佳(该码结构在长度L=11处有个洞),但是当考虑到对于其他dfree值来说严格地没有衰退并且在2,5和4之间有时间增益时,AL增加实际上是可接受的。当将该解决方案与图7的解决方案相比,也可以使用该评论,其中MVA复杂性效应是清楚的。同样地,将无洞优化应用到GA方法用来选择码字,对于dfree=3来说用轻微的AL增加代价获得时间的增益。最后,图5在另一方面显示了当前解决方案提供可接受时间增益的更好的AL,无洞优化几乎完全补偿了由GAS引入的复杂度。
权利要求
1.一种建立可变长度错误代码的方法,所述方法包括以下步骤(1)初始化所需要的参数码字的最小和最大长度分别为L1和Lmax、每个码字之间的自由距离dfree(所述距离dfree对于VLEC码C来说是在所有任意扩展码集合中的最小汉明距离),所需的码字数量S;(2)产生(步骤11)固定长度码C,其长度为L1、最小距离为bmin,bmin=min{bk;k=1,2,...,R},bk=与码C的码字长度Lk相关的距离并且被定义为在C中具有长度Lk的所有码字之间的最小汉明距离,R=C中不同码字长度的数量,所述产生步骤11创建n比特长距离为d的字的集合W;(3)在集合W中列出和存储(步骤21)所有可能的与C的码字距离为dmin的L1-元组(所述距离dmin对于VLEC码C来说是C的所有可能的不同长度码字对之间的所有发散距离的最小值),并且,如果所述集合W不是空的,那么就通过在所有字的末端附加一个额外比特来加倍W中的字的数量,从而所述存储步骤将该集合W替换为新的集合,该新的集合具有比前一个集合多两倍的字,并且这些字的每一个的长度是L1+1;(4)删除(步骤31)集合W中不与C的所有码字满足cmin距离的所有字,所述距离cmin是码C的最小发散距离;(5)在没有发现字或者达到最大比特数量的情况下,减小(步骤41)距离的约束以便找到更多的字;(6)控制集合W的所有字是距离为bmin的,然后将找到的字加到码C(步骤34);(7)如果(步骤35)没有达到所需的码字数量,就重复步骤(1)到(6)(即步骤21到35),直到该方法发现不可能继续或者已经找到了所需的码字数量;(8)如果C的码字数量大于S,基于VLEC码结构计算(阶段A4)通过使用信源概率对每个码字长度加权而获得的平均长度AL,如果它低于ALmin,那么所述AL变成ALmin,其中ALmin=AL的最小值,相应的码结构被保留在存储器中;并且,所述建立方法使得至多一个比特被添加到集合W中每个字的末端。
2.一种设备,用来执行根据权利要求1的可变长度错误代码建立方法。
全文摘要
本发明涉及可变长度纠错(VLEC)码技术,其中主要步骤为定义所有需要的参数,产生具有固定长度L1的码,在集合W中存储这样获得的距离码字最小发散距离d[min]的所有可能的L1-元组(如果这样得到的新集合W不是空的,一个额外的比特被附加在所有字的末端),删除W中所有不与所有码字满足距离标准的字,并且验证最后集合W的所有字满足另一个距离标准。假设大多数好的码没有长度的跳变,根据本发明的方法能够减少已检查的VLEC码的集合。在这个假设之下,定义了一种新的构造方法,称为“无洞最优化”,其中避免了在集合W的每个字的末端增加多于一个比特。该新的算法没有考虑非常不太可能的码结构,从而允许在复杂度方面获益。
文档编号H03M13/03GK1706102SQ200380101881
公开日2005年12月7日 申请日期2003年10月14日 优先权日2002年10月23日
发明者C·拉米 申请人:皇家飞利浦电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1