CN1232323A - 交错码,编码,译码设备和方法,置换方法及其*** - Google Patents
交错码,编码,译码设备和方法,置换方法及其*** Download PDFInfo
- Publication number
- CN1232323A CN1232323A CN98125950A CN98125950A CN1232323A CN 1232323 A CN1232323 A CN 1232323A CN 98125950 A CN98125950 A CN 98125950A CN 98125950 A CN98125950 A CN 98125950A CN 1232323 A CN1232323 A CN 1232323A
- Authority
- CN
- China
- Prior art keywords
- sequence
- multinomial
- displacement
- binary data
- expression
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2957—Turbo codes and decoding
- H03M13/2993—Implementing the return to a predetermined state, i.e. trellis termination
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/27—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
- H03M13/2703—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques the interleaver involving at least two directions
- H03M13/271—Row-column interleaver with permutations, e.g. block interleaving with inter-row, inter-column, intra-row or intra-column permutations
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/27—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
- H03M13/2771—Internal interleaver for turbo codes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
本发明的编码方法考虑到:一个预定的,大于或等于2的整数M1,k个表示一个物理量的二进制序列ai(i=1,…,k),其中k大于或等于1,其中每个序列ai均有一个多项式表达ai(x),ai(x)为预定多项式gi(x)的倍数,和多个二进制数据,其个数等于任一个整数M和整数N0的乘积,N0为使得多项式xN0+1可被每个多项式gi(x)整除的最小整数。并且包括一个用于生成K*M1个称为“置换后”序列的第一操作,其中置换后的每个序列均保持可被多项式gi(x)整除的性质。
Description
本发明涉及编码设备,编码方法,译码设备和译码方法及实现它们的***。
本发明可应用于对表示一个物理量的数据进行编码,对以可调制一个物理量的代码形式的数据进行编码,对调制信号数据进行译码,并对表示一个物理量的数据进行译码。这些数据例如可表示图象,声音,计算机数据,电子量或存储数据。
本发明可应用于卷积编码的领域。当使用后者来实现迭代译码时,则当编码器包括一个置换设备时就会大大地提高编码质量。在这种情况下,这些编码一般称为“涡轮代码(turbocodes)”,相应的迭代译码器一般称为“涡轮译码器(turbodecoder)”。
在这里,作为参考文献的文件,一方面例如是发表在会议报告“ICC’93”,1993,pages 1064 to 1070中的由Messrs.C.BERROU,A.GLAVIEUX和P.THITIMAJSHIMA所著的名为“Near Shannon limit error-correcting coding anddeeoding:turbocodes”的论文,另一方面例如由IEEE Transactions onCommunication,Volume COM-44,pages 1261 to 1271,in October 1996出版的由Messrs.C.BERROU和A.GLAVIEUX所著的名为“NearOptimum error-correcting coding and decoding:trubo-codes”的论文中。
然而,还远远没有掌握有关置换设备的结构。置换设备一般使用方阵或矩阵,其中矩阵是逐行写,逐列读取的。这些矩阵一般都非常大,例如可为256×256的矩阵。
根据另一种方法,其中该方法在由Jet Propulsion Laboratory出版的名为“TDA Progress Report”,number 42122,of 15 August 1995的论文中,Messrs.DOLINAR和DIVSALAR认为置换是通过对0到k-1间的k个信息位进行编号,从而把放置在i位置上的二进制信息放置在位置ei+f上,其中e和f是“慎重选择出”的值。
在论文中它们只给出了一个例子,在例子中k为2的幂。另外,它们并没有对选择置换设备和基本卷积编码器(2,1)间可能存在的相互影响进行论述,其中基本卷积编码器用于生成编码后的序列,其中序列是由涡轮编码器(turbocoder)(3,1)产生的。
对于相应涡轮代码的评估包括在具有不同信噪比的传送通道上模拟它的使用,和计算比值的最小值,其中最小值为达到预定的二进制值的出错率时的最小信噪比。
然而,采用模拟作为一种评估方法将引起几个问题。
例如,如果选择了上述具有k=65536=256×256的置换设备,并选择了值等于10-5的预定出错率,以模拟使用这一设备的涡轮代码的性能。结果是,每块256×256二进制值的平均出错率接近于1,但是并不知道是否每个二进制信息项均有相同的出错率。对于位于置换设备的“不幸运”位置上的二进制值来讲出错率可能相当高,对于位于置换设备的“幸运”位置上的二进制值来讲出错率则可能会低的多。
一种用于改变这一状况的方法是对置换设备和两个卷积编码器进行协调并相结合的设计,把出错率作为置换设备中的二进制信息的位置的函数,以确保译码后的二进制值的出错率是合理的且唯一的。
另一个问题涉及缺乏用来确定置换设备的算术工具。如果有一个用于确定选择置换设备的方法则是很有用的,其中该方法具有可代表所有置换设备的性能。
本发明主要涉及由二进制符号的序列所表示的信息的转换:其中u=(u0,u1,…,uk-1)指将被编码成二进制序列的三元组v=(a,b,c)的“信息序列”,其中每个序列a,b,和c本身表示序列u。
在本描述的其它部分,为了表示序列u,u=(u0,u1,…,uk-1)总是同相关多项式u(x)=u0x0+u1x1+…+uk-1Xk-1一起使用。
等号将用于序列a,b和c。使用第二表示,以确定三元组v=(a,b,c),:
-选择a(x)=u(x);
-选择b(x)=u(x).h1(x)/g(x),
其中g(x)是一个多项式,例如根据序列中的表示,相应于序列(1,1,0,1),g(x)=1+x+x3;并且h1(x)也是一个多项式,例如相应于序列(1,1,1,1),h1(x)=1+x+x2+x3;和
-通过调用a*来选择c(x)=a*(x).h2(x)/g(x),其中a*为通过对序列a中的二进制数据进行置换后生成的,其中h2(x)为一个多项式,例如相应于序列(1,0,1,1),h2(x)=(1+x2+x3)。
任何一个对于多项式g(x),h1(x),h2(x)和置换的选择,都将确定一个称为“涡轮编码器”的编码器,其中所选择的置换确定了把序列a与置换后的序列a*联系起来的交错器。指定涡轮编码器所产生的所有序列均称为“涡轮代码”。
在本描述的其它部分中,术语“第一编码器”将指生成序列b的基本递归卷积编码器,
“第二编码器”将指生成序列c的基本递归卷积编码器。
所使用的多项式除法为包括根据升幂原则的除法类型,这一点对于本领域技术人员是熟知的。他们使用模2运算。序列a,b和c为二进制序列,且一般情况下定义b和c的除法都有一余数。
这种编码方法有一个优点,即可有助于高性能,相对简单且耗费低的迭代译码。
为实现这种方法,提出了几个问题。
1/如何选择多项式g(x),h1(x)和h2(x)?
2/如何选择可生成序列a*的序列a的置换?为了生成序列a*,下面给出了在所提议的众多选择中的三个交错器的例子,即对序列a进行置换以生成序列a*的操作的三个例子:
A)在第一例子中,在顺序地逐行且在各行中从左向右地把a的各项放置在一个矩形表中后,通过从表中顺序地逐列并在每列中从上到下地提取出表中的各项,从而生成了a*。例如,在序列有六项且表为两行三列的情况下,交错器可把序列a=(a0,a1,a2,a3,a4,a5)转换成序列a*=(a0,a1,a2,a3,a4,a5)。
B)在第二个例子中,选择序列a*的第i项ai *(i=0,1,2,…),把ai *作为序列a的项aj,其中j=s.i+t,通过对j进行模序列a的项的数目运算而得到的,其中s和t为整数。例如,如果序列a的项的数目为6并且s=5,t=3,则交错器就会把序列a=(a0,a1,a2,a3,a4,a5)转换成序列a*=((a3,a2,a1,a0,a5,a4)。
C)在第三个例子中,置换的选择是随机的。
3)如何避免定义b(x)的除法没有余数的情况?
4)如何避免定义c(x)的除法有余数的情况?
对最后两个问题的回答也就是要解决在涡轮代码领域中不断提及的问题,即定义b和c的基本卷积编码器的“返回0状态”的问题。由于涡轮编码器有两个基本递归编码器,其中第二个基本递归编码器使用了一个对序列a进行置换以生成a*的置换,因此想要确保表示信息序列u(x)的多项式a(x)和a*(x)可同时被g(x)整除。由于通过使用与g(x)的幂次相等数目的填充符号来增补u(x)可容易地由u(x)构造a(x),并且这一增补功能只在于保证在由a(x)生成b(x)的除法中不会产生余数,因此要确保a(x)的可除性是很简单的。
然而,另一方面,要选择一个确保a*(x)可被g(x)整除并确保所指定的涡轮代码具有良好纠错性能的置换是比较困难的,其中置换通过对a(x)进行置换以生成a*(x)。
这一问题将增加对构成u(x)的不同位进行译码后出错率间的差异。
出现在volume 31 No 1 of the journal"Electronics Letters"of 5January 1995的文章中,Messrs.BARBULESCU和PIETROBON指出可把交错器描述为顺序地,循环地把序列a的各项放置在多个序列中,其中序列的数目等于多项式g(x)的幂次加1,在这种情况下,所生成的各个序列内部的置换提高了定义序列b的除法和定义序列c的除法的余数之间的相同性。
然而,与文章中相反的是,这种描述只有在多项式g(x)为∑i=0到mxi的形式时才是正确的。
在由the Institute of technology of Lund(Sweden)(Department ofApplied Electronics)in August 1996所出版的学术报告"Turbo Coding"中名为"Turbo-block-codes"的论文中,Messrs C.BERROU,S.EVANO和G.BATAAIL指出,通过把序列U的各项循环地放置在多个列中,所生成的各个列的内部的置换使得定义序列b和定义序列c的除法的余数之和为0,从而使得序列的排列可被g整除,其中列的数目等于具有最低严格正幂次的可被g(x)整除的类型为xn-1的N0次多项式的倍数。
这个论文,如上述其它论文一样,把对于交错器的选择限制在特殊的类型上,其中特殊类型指通过使用内部置换,独立地工作在序列a的子集上的交错器类型。然而,并不保证a(x)和a*(x)均可被g(x)整除。只保证表示排列(a,a*)的多项式可被g(x)整除,其中排列指把两个序列a和a*头尾相连。
由于译码器并不知道有关编码器在表示计算b的末尾和计算c的开头时的状态,因此可能造成译码器性能的降低。
所引用的论文都没有提及一种对交错器的有效的选择。
本发明着重于解决这些缺陷,本发明一方面提供在序列b返回0时,确保在序列c的末尾返回到0的交错器系列,另一方面提供比上述文章中所提及的选择面更宽的对于交错器的选择。
最后,根据第一方面,本发明涉及一种编码方法,其特征在于:
1/考虑到:
-一个预定的,大于或等于2的整数M1,
-k个表示一个物理量的二进制序列ai(i=1,…,k),其中k大于或等于1,其中每个序列ai均有:
一个多项式表示ai(x),其中ai(x)为预定多项式gi(x)的倍数,和
多个二进制数据,其中二进制数据的个数等于任一个整数M和整数N0的乘积,其中N0为使得多项式xN0+1可被每个多项式gi(x)整除的最小整数。
2/包括一个生成K*M1个称为“置换后”序列aij *,(i=1,….,K;j=1,…,M1)的第一操作,其中每个序列aij *是通过对相应序列ai进行置换后得到的,在每个序列的二进制数据被逐行写到在一个N0列M行的表中的表示中,所述置换是所有称为基本置换的结果,其中每个基本置换结果:
或者具有把长度为N0并有生成器多项式gi(x)的循环代码转换成等价的具有生成器多项式gij(x)的循环代码的属性,并通过在表示ai的表的N0列上进行置换来实现这一点,其中gij(x)可与gi(x)相同,
或者是对上述表的列的符号进行的任一置换;并且,结果是有一个等于多项式乘积cij(x)gij(x)的多项式表示aij *(x),其中至少有一个置换后的序列aij *不同于相应的序列ai。
3/包括生成M1个冗余序列的第二操作,其中冗余序列的多项式表达与∑fil(x)cij(x)相等,对于j=1,…,M1,每个多项式fil(x)均是具有最大等于有相同下标i和j的多项式gij(x)的幂次的多项式。
前面已介绍过,在序列a的二进制数据被放置在N0列M行的表中的表达中,置换序列来自所有的置换,其中所有的置换包括,一方面,长度为N0并有生成器多项式g(x)的二进制循环代码的自同构,即至少对表的N0列中的两列进行相互置换,另一方面包括只作用于同一列中的数据的置换,即至少对两个所述数据进行相互置换。
发明人发现有且只有所有置换的序列,可确保对于任一个除g(x)后余数为0的多项式a(x),置换后的多项式a*(x)具有同样的属性。
为了研究控制GIJ的选择的条件,读者可参考由North-Holland in1977(并且第七版印刷于1992年)所出版的由MrsF.J.MACWILLIAMS和MrN.J.A.SLOANE所著的名为“the theory oferror-correcting codes"的page 234。
本发明中所描述的所有选择均包括上述两篇文章中所提到的交错器。因此,可提高由错误率表达的性能,而不会增加涡轮编码器或涡轮译码器的复杂性,其中错误率作为信/噪比的函数。
根据第二方面,本发明涉及一种编码方法,其特征在于:
1/考虑到:
-一个预定的,大于或等于2的整数M1,
-k个表示一个物理量的二进制序列ai(i=1,…,k),其中k大于或等于1,其中每个序列ai均有:
一个多项式表达ai(x),其中ai(x)为预定多项式gi(x)的倍数,并且ai(x)没有多重多项式因子,和
多个二进制数据,其中二进制数据的个数等于任一个整数M和整数N0的乘积,其中N0为使得多项式xN0+1可被每个多项式gi(x)整除的最小整数。
2/包括一个生成K*M1个称为“置换后”的序列aij *,(i=1,….,K;j=1,…,M1)的第一操作,其中每个序列aij *均有一个与aij *(x)=ai *(xeij)模(xn+1)相等的多项式表达,其中
-n为数字M和整数N0的乘积,
-eij为n的互质数,
-cij为aij *(x)除以gij(x)的商
-多项式gij(x)为长度为N0且包括多项式gi(xeij)模(xN0+1)的最小循环代码的生成器多项式,其中至少一个置换后的序列aij *不同于相应的序列ai;
3/包括生成M1个冗余序列的第二操作,其中对于j=1,…,M1,冗余序列的多项式表达与∑fij(x)cij(x)相等,其中每个多项式fij(x)均是一个具有至少等于有相同下标i和j的多项式gij(x)的幂次的预定多项式。
这里应指出的是,下面所描述的e属于2的循环模M.NO。
由于这些规定,一方面表中的大多数列可通过置换被移动,另一方面,在受限的选择中,可比较容易地分析涡轮代码的最小距离,还可对最小距离进行优化。
本发明的第二方面具有与第一方面相同的优点。
发明人注意到,在上述本发明的每个方面实现本发明的方法,还具有一个优点,即由相应的译码器所执行的错误估计可以合并在一起。因此错误估计不能合并在一起的情况被排除在本发明的实现之外。
根据具体特点,在第一生成操作中,所有具有相同索引值j的指数eij的值是相同的。
由于这些规定,本发明所涉及的编码方法使得有可能用相同的方法对确定的j执行所有的交错。因此,实现起来是简单的。
根据具体特点,在第一生成操作中,所有指数eij的值均等于2的幂。
由于这些规定,多项式gij是相同的。
根据具体特点,本发明所涉及的编码方法,如上面所简要描述的编码方法,一方面包括对序列ai的传送操作,一方面包括对其它序列的数据子集的传送操作。
由于这些规定,可提高编码方法的性能。
根据第三方面,本发明涉及一种编码设备,其特征在于这种设备包括一个处理装置:
1/考虑到:
-一个预定的,大于或等于2的整数MI,
-k个表示一个物理量的二进制序列ai(i=1,…,k),其中k大于或等于1,其中每个序列ai均有:
一个多项式表达ai(x),其中ai(x)为预定多项式gi(x)的倍数,和
多个二进制数据,其中二进制数据的个数等于任一个整数M和整数N0的乘积,其中N0为使得多项式xN0+1可被每个多项式gi(x)整除的最小整数。
2/生成K*M1个称为“置换后”的序列aij *,(i=1,….,K;j=1,…,M1),其中每个序列aij *是通过对相应序列ai进行置换后得到的,在每个序列的二进制数据被逐行到在一个N0列M行的表中的表示中,所述置换是所有称为基本置换的结果,其中每个基本置换结果:
或者具有把长度为N0并有生成器多项式gi(x)的循环代码转换成等价的具有生成器多项式gij(x)的循环代码的属性,并通过在表示ai的表的N0列上进行置换来实现这一点,其中gij(x)可与gi(x)相同,
或者是对上述表的列的符号进行的任一置换;并且,结果是有一个等于多项式乘积cij(x)gij(x)的多项式表达aij *(x),其中至少有一个置换后的序列aij *不同于相应的序列ai。
3/生成M1个冗余序列,其中冗余序列的多项式表达与∑fij(x)cij(x)相等,对于j=1,…,M1,每个多项式fij(x)均是具有最大等于有相同下标i和j的多项式gij(x)的幂次的多项式。
根据第四方面,本发明涉及一种编码设备,其特点在于这种编码设备有一个处理装置:
1/考虑到:
-一个预定的,大于或等于2的整数M1,
-k个表示一个物理量的二进制序列ai(i=1,…,k),其中k大于或等于1,其中每个序列ai均有:
一个多项式表达ai(x),其中ai(x)为预定多项式gi(x)的倍数,并且ai(x)没有多重多项式因子,和
多个二进制数据,其中二进制数据的个数等于任一个奇数M和整数N0的乘积,其中N0为使得多项式xN0+1可被每个多项式gi(x)整除的最小整数。
2/生成K*M1个称为“置换后”的序列aij *,(i=1,….,K;j=1,…,M1),其中每个序列aij *均有一个与gij *(x)=ai *(xeij)模(Xn+1)相等的多项式表达,其中
-n为数字M和整数N0的乘积,
-eij为n的互质数,
-cij为aij *(x)除以gij(x)的商
-多项式gij(x)为长度为N0且包括多项式gi(xeij))模(xN0+1)的最小循环代码的生成器多项式,其中至少一个置换后的序列aij *不同于相应的序列ai;
3/生成M1个冗余序列,其中对于j=1,…,M1,冗余序列的多项式表达与∑fij(x)cij(x)相等,其中每个多项式fij(x)均是一个具有至少等于有相同下标i和j的多项式gij(x)的幂次的预定多项式。
根据第五方面,本发明涉及一种译码方法,其特征在于:
1/考虑到:
-一个预定的,大于或等于2的整数M1,
-k个表示一个物理量的二进制序列aI(I=1,…,k),其中k大于或等于1,其中每个序列ai均有:
一个多项式表示ai(x),其中ai(x)为预定多项式gi(x)的倍数,和
多个二进制数据,其中二进制数据的个数等于任一个整数M和整数N0的乘积,其中N0为使得多项式xN0+1可被每个多项式gi(x)整除的最小整数。
2/包括一个使用因子多项式gij对K个符号序列进行并行涡轮译码的操作。
3/对每个ai包括M1个置换操作,这M1个操作中至少有一个操作不同于别的操作,其中在每个序列的二进制数据被逐行写到一个N0列M行的表中的表示中,每个置换均为称为基本置换的结果,其中每个基本置换结果:
或者具有把长度为N0并有生成器多项式gi(x)的循环代码转换成等价的具有生成器多项式gij(x)的循环代码的属性,并通过在表示ai的表的N0列上进行置换来实现这一点,其中gij(x)可与gi(x)相同,
或者是对上述表的列的符号进行的任一置换。
根据第六方面,本发明涉及一种译码方法,其特征在于:
1/考虑到:
-一个预定的,大于或等于2的整数M1,
-k个表示一个物理量的二进制序列ai(i=1,…,k),其中k大于或等于1,其中每个序列ai均有:
一个多项式表达ai(x),其中ai(x)为预定多项式gi(x)的倍数,并且ai(x)没有多重多项式因子,和
多个二进制数据,其中二进制数据的个数等于任一个奇数M和整数N0的乘积,其中N0为使得多项式xN0+1可被每个多项式gi(x)整除的最小整数。
2/包括一个使用除多项式gij对K个符号序列进行并行涡轮译码的操作。
3/所述并行涡轮译码操作包括一个置换操作,其中置换操作生成称为“置换后”的序列aij *,(i=1,….,K;j=1,…,M1),其中每个置换后的序列aij *均有一个与aij *(x)=ai *(xeij)模(xn+1)相等的多项式表达,其中
-n为数字M和整数N0的乘积,
-eij为n的互质数,
-cij为aij *(x)除以gij(x)的商
-多项式gij(x)为长度为N0且包括多项式gi(xeij))模(xN0+1)的最小循环代码的生成器多项式,其中至少一个置换后的序列aij *不同于相应的序列ai;
根据第七方面,本发明涉及一种译码设备,其特征在于该设备包括一个处理装置:
1)考虑到:
-一个预定的,大于或等于2的整数M1,
-k个表示一个物理量的二进制序列aI(I=1,…,k),其中k大于或等于1,其中每个序列ai均有:
一个多项式表达ai(x),其中ai(x)为预定多项式gi(x)的倍数,和
多个二进制数据,其中二进制数据的个数等于任一个整数M和整数N0的乘积,其中N0为使得多项式xN0+1可被每个多项式gi(x)整除的最小整数。
2执行使用除多项式gij对K个符号序列进行并行涡轮译码的操作。
3/对每个ai执行M1个置换操作,这M1个操作中至少有一个操作不同于别的操作,其中在每个序列的二进制数据被逐行写到一个N0列M行的表中的表示中,每个置换均为称为基本置换的结果,其中每个基本置换结果:
或者具有把长度为N0并有生成器多项式gi(x)的循环代码转换成等价的具有生成器多项式gij(x)的循环代码的属性,并通过在表示ai的表的N0列上进行置换来实现这一点,其中gij(x)可与gi(x)相同,
或者是对上述表的列的符号进行的任一置换。
根据第八方面,本发明涉及一种译码设备,其特点在于该设备有一个处理设备:
1/考虑到:
-一个预定的,大于或等于2的整数M1,
-k个表示一个物理量的二进制序列ai(i=1,…,k),其中k大于或等于1,其中每个序列ai均有:
一个多项式表示ai(x),其中ai(x)为预定多项式gi(x)的倍数,并且ai(x)没有多重多项式因子,和
多个二进制数据,其中二进制数据的个数等于任一个奇数M和整数N0的乘积,其中N0为使得多项式XN0+1可被每个多项式gi(x)整除的最小整数。
2/执行一个使用除多项式gij对K个符号序列进行并行涡轮译码的操作。
3/执行生成称为“置换后”的序列aij *,(i=1,….,K;j=1,…,M1)的置换操作,其中每个置换后的序列aij *均有一个与aij *(x)=ai *(xeij)模(xn+1)相等的多项式表达,其中
-n为数字M和整数N0的乘积,
-eij为n的互质数,
-cij为aij *(x)除以gij(x)的商
-多项式gij(x)为长度为N0且包括多项式gi(xeij))模(xN0+1)的最小循环代码的生成器多项式,其中至少一个置换后的序列aij *不同于相应的序列ai;
本发明还涉及:
-存储计算机程序的指令的信息存储设备,其中信息存储设备可由计算机或微处理器读取,其特征在于能够使前面所简要描述的方法得以实现,和
-存储计算机程序的指令的信息存储设备,其中信息存储装置是部分或完全可活动的,并且可由计算机或微处理器读取。
本发明还涉及:
-用于处理表示语音的信号的设备,其中设备中包括前面已简要描述过的设备,
-具有发送器的数据传送设备,以实现包传送协议,其中数据传送设备中有前面所简要描述的设备,
-具有发送器的数据传送设备,以实现ATM(异步传送模式)包传送协议,其中数据传送设备中有前面所简要描述的设备,
-具有发送器的数据传送设备,以在ETHERNET(注册商标)类型的网络上实现包传送协议,
-一个网络工作站,其中网络工站中有上面所简要描述的设备,
-一个具有发送器的数据传送设备,以在非电缆通道上进行传送,其中数据传送设备中有上面所简要描述的设备,和
-一个用于处理最多表示一千个二进制数据的信号序列的设备,其中设备中有上面所简要描述的设备。
这些编码和译码设备,编码和译码方法,及信号处理,数据传送和序列处理设备和网络具有与上面所简要描述的编码方法相同的特点和优点,因此这里将不再赘述这些特点和优点。
通过参考附图的本发明的描述,可更清楚地理解本发明,其中:
图1描述了一个具体根据本发明的第一实施例的编码器的电子设备;
图2描述了图1所示的根据本发明的第一实施例的编码器的操作流程图;
图3描述了图1中所示设备中所使用的交错器的确定步骤的流程图;
图4描述了根据本发明的第二实施例的编码器;
图5描述了作用于将被编码的几个符号序列上的交错器的一般形式;
图6描述了根据本发明的第二实施例的方法和设备的一个特例的性能曲线;
图7描述了一个具体根据本发明的第二实施例的编码器的电子设备;
图8描述了如图7所示的根据本发明的第二实施例的编码器的操作流程图;和
图9描述了本发明所涉及的译码设备。
虽然本发明可扩展到一般的情况,但在下面的描述中,第一控制序列将总是从非-交错信息序列中获取。
在下文中,本发明的实施例的描述将被分成两个部分,分别对应于对单一符号序列进行编码和同时对两个符号序列进行编码的情况。
第一实施例
以下描述中,术语“数据”指表示信息的符号和附加或冗余符号。
在开始描述特定实施例之前,下面将给出其实现的数学基础。
在本发明中,g(x),h1(x)和h2(x)是预定的,并且希望分别由b(x)=a(x).h1(x)/g(x)和c(x)=a*(x).h2(x)/g(x)所定义的b和c没有余数。
最后,g(x)=1+∑I=1到m-1 gi.xi+xm为具有预定的m次多项式,所找到的N0为使g(x)可整除xN0-1的最小数。我们知道存在这样的一个最小数。例如g(x)=1+x+x3,则N0=7。
然后,选择任意一个数M,并选择一个长度为M.N0的序列a,也即可确定包括在序列a中的序列u的长度(即二进制数据的个数)等于M.N0减去g(x)的幂次。
因此,为了构造序列a,把由将被转换的k个二进制数据ui所构成的序列u与多个附加的二进制数据合并,其中附加数据的数目等于多项式g(x)的幂次,附加数据确保a(x)除以g(x)的除法没有余数。
再次指出,这里所执行的除法是通过对a(x)的升幂系数进行模2运算来实现的。
例如,如果序列u为序列(1,0,0,1,0,0)并且
也可以记作:(1,0,0,1,0,0,0,0,0)=(1,1,0,1)×(1,1,1,1,0,1)+(0,0,0,0,0,0,0,0,1),
也即,(1,0,0,1,0,0,0,0,1)=(1,1,0,1)×(1,1,1,1,0,1)
通过把余数(0,0,0,0,0,0,0,0,1)逐项地与序列u的各项相加,从而得到(1,0,0,1,0,0,0,0,1),其中序列u的前几项由m个0加以增补。
因此,通过用a=(1,0,0,1,0,0,0,0,1)来替代序列(1,0,0,1,0,0),可保证多项式a(x)可被与序列g=(1,1,0,1)相关的g(x)整除,其中a=(1,0,0,1,0,0,0,0,1)是通过上述加法而生成的,并且它的二进制数据的前几项均是序列u中的二进制数据,并且还可保证a(x).h1(x)可被g(x)整除,而不必考虑与序列h1相关的多项式h1(x),其中h1(x)用于由b(x)=a(x).h1(x)/g(x)所表示的序列b的定义中。
为确定序列a*(x),选择一个交错器,其中序列a*(x)在置换之后有与序列a相同但顺序不同的二进制数据,对于所选择的交错器可描述如下:序列a的二进制数据被放置在N0列M行的表中,对这些数据至少执行一个置换集中的置换,其中置换集中一方面包括长度为N0并具有生成器多项式g(x)的二进制循环代码的自同构,自同构中至少对表的N0列中的两列进行相互置换,另一方面包括只对同一列中的数据进行置换的置换,在这种置换中至少对上述两个数据项进行相互置换,并且只使用置换集中的一个或多个置换。
这是由于发明人已发现只有这样表示的置换才可保证,对于任何一个多项式a(x),如果a(x)可被g(x)整除,则置换后的多项式a*(x)也可被g(x)整除。
在这一置换序列中,例如令N0=7且令g(x)=1+x+x3,则可依次看到:
-第一列二进制数据的置换,
-第三列二进制数据的置换,
-用第四列来替代第二列,用第二列来替代第四列,用第六列来替代第五列并用第五列来替代第六列。
关于自同构,称长度为N0并具有生成器多项式g(x)的二进制循环代码为Cg,也即考虑到了g(x)的所有倍数模XN0-1,并考虑到代码的坐标位置的置换,其中代码的坐标位置的置换指把代码中的任何字转换成代码中的其它字。具有这种属性的坐标位置的置换集具有组结构并称其为Cg自同构组。
要想了解其它的细节,读者可参考由North-Holland in 1997出版的由Mrs F.J.MACWILLIAMS和Mr N.J.A.SLOANE所著的"The theory oferror-correcting codes"。
在所有的置换中,发明人选择了下述置换,其中所选择的置换具有只包括一小族置换的优点,可对所选择的一小族置换进行测试以选择最有效的一个置换。
如上所述,所选择的M为奇数,并且所选择的g(x)也是为了使得相应的N0为奇数。通过顺序地写出2的幂模M.N0,可得到2的循环模M.N0。在这一循环中,通过选择e的值,可实现下述置换:多项式a(x),置换后得到多项式a*(x),后者由a*(x)=a(xe)定义,因此,如果a=(a0,a1,a2,…,aM.N0-1),则a*的第一个二进制数据项将为a0,第二项为af,第三项为a2f,…,其中f为e模M.N0的逆,并且f的倍数也是通过模M.NO计算得到的。
例如,再次令g(x)=1+x+x3,则NO=7,并选择M=5,则M.NO=35。则2的循环可记作:
[1,2,4,8,16,32,29,11,22,9,18]。
例如,令e=28=11,则f将等于16且序列a*的头几项将为:a0,a16,a32,a13,a29,a10,等…
上述可由a*(x)=a(xe)表示的置换构成了一小族置换,其中e为2的循环模M.N0中的一个值,并且a(xe)被模xM.N0-1,所构成一小族置换均可以被测试,以选择最有效的一个置换。
选择逻辑如下:首先选择一个幂次为m且不可以被完全平方式整除的多项式g(x)。这一选择确定N0的值为使得g(x)可整除xM.N0-1的最小整数。另外,多项式g(x))不能被完全平方式整除表示N0为一奇数。然后任选两个多项式,但h1(x)和h2(x)的幂次最好是不大于g(x)的幂次,这是由于g(x),h1(x)和h2(x)这三个多项式的幂次的最大值是译码器的复杂性的决定性因素。然后选择一个奇数M,并计算2的循环模M.N0。然后选择2的循环中的一个e值,以由a(x)来确定a*(x)=a(xe)模xM.N0-1,并在与上面所定义的交错器相关的涡轮代码上执行不同的测试操作。
例如,我们令g(x)=1+x+x3,这表示N0=7。仍令h1(x)=1+x+x2+x3,h2(x)=1+x+x3并选择M=21,则M.N0=147并可计算出2的循环模147,这一循环的值为{1,2,4,8,16,32,64,128,109,71,142,137,127,107,67,134,121,95,43,86,25,50,100,65,130,113,79,11,22,44,88,29,58,116,85,23,46,92,37,74}。
通过依次地对可被权值为2,3,4,和5的多项式g(x)整除的a(x)进行测试,可得出结论,选择e=25是比较理想的,这是由于权值为2的多项式a(x)相应于权值≥26的编码后的序列v=(a,b,c),权值为3的多项式a(x)相应于权值≥24的编码后的序列v=(a,b,c),权值为4的多项式a(x)相应于权值≥26的编码后的序列v=(a,b,c),权值为5的多项式a(x)相应于权值≥30的编码后的序列v=(a,b,c)。
这表示最小距离等于24,其中24为根据上述方法在N0=7,M=21和具有上述g(x),h1(x)和h2(x)的情况下所能得到的最理想的值。
另一种可能的选择是g(x)=1+x+x4即N0=15。仍令h1(x)=1+x+x2+x4,h2(x)=1+x3+x4并选择M=27。则M.N0=405,且可计算出2的循环模405,这一循环的值为{1,2,4,8,16,…,304,203}。其中循环中有108个数。
通过依次排除,可得出结论,选择e=151,e=362,e=233是比较理想的。
尤其是,对于e=151的情况,发明人已测试到可被g(x)整除并且权值依次等于2,3,4,5,6,7的多项式a(x),如果权值大于或等于5时,则a(x)的权值,记作W(a(x))等于a(x)模x15+1的权值。
当a(x)的权值为W(a(x))时,则相应的W(v)的最小权值表示如下:
W(ax)) W(v)≥
2 54
3 42
4 44
5 48
6 54
7 54
用同样的方法并且在同样的条件下,对于e=362的情况,当a(x)的权值为W(a(x))时,则相应的W(V)的最小权值表示如下:
W(a(x)) W(V)≥
2 54
3 42
4 42
5 50
6 56
7 54
根据本发明,尤其是可以使用模N0不同余1的数e。
下面将结合附图1到3来继续描述本发明的一个具体的实施例。
图1以框图的方式表示了网络工作站或计算机编码工作站的构造。工作站有一键盘111,显示屏109,外部信息源110和一个无线发送器,其中无线发送器
被连接到处理卡101的输入/输出端口103。
通过地址和数据总线102连接起来的处理卡101具有:
-一个中央处理器件100;
-一个随机访问存储器RAM104;
-一个只读存储器ROM105;
-输入/输出端口103。
图1中所示的各组件对于熟悉微机***和传送***,更一般的讲为熟悉信息处理***的人来讲是熟知的。因此下面将不再对这些公共组件进行描述。然而,仍需注意:
-信息源110是,例如一个***接口,传感器,解调器,外部存储器或其它的信息处理***(图中未表示出),并且信息源110最好是可用于可以二进制数据序列的形式提供表示语音,服务信息或多媒体数据的信号序列。
-无线发送器106可用于在非电缆通道上实现包传送协议,并在这种通道上传送包。
应当指出的是,本描述中所用到的单词“寄存器”指,每个存储器104和105中的低容量(几个二进制数据)的存储区域和大容量(可存储整个程序)的存储区域。
本描述中,随机访问存储器104把数据,变量和中间处理结果存储在与它们所存储的数据有相同名称的存储器寄存器中。随机访问存储器104有:
-寄存器"primary_data",该寄存器中以数据到达总线102的顺序并以序列u的形式存储来自信息源110的二进制数据,然后对u进行增补以生成序列a。
-寄存器“N0_data”,该寄存器中存储相应于寄存器"binary_data"中的二进制数据n-m的个数的整数,
-寄存器"intermediate_remainder",该寄存器中顺序地存储除法的中间余数,以通过序列u来创建序列a,
-寄存器"final_remainder",该寄存器以序列的方式存储互补的二进制数据,
-寄存器"permuted_data",该寄存器以数据到达总线102的次序存储置换后的二进制数据,如图2中所示,其中置换后的二进制数据以序列a*的形式表示,
-寄存器"a,b,c",该寄存器以由中央部件100所决定的次序存储当前正处理的序列的二进制数据。
为方便起见,只读存储器105可用于把数据存储在与所存储的数据的名称相同的寄存器中,其中105中所存储的数据为:
-存储在寄存器"program"中的中央处理器100的操作程序,
-存储在寄存器"g"中序列g,
-存储在寄存器"degree"中的g(x)的幂次m,
-存储在寄存器"h1"中的序列h1,
-存储在寄存器"h2"中的序列h2,
-存储在寄存器"N0"中的N0的值,
-存储在寄存器"M"中的M的值,
-存储在寄存器"interlacer"中的用于定义交错器的表。
中央处理器100可用于实现图2中所述的流程图。
图2描述了图1中所示的编码器的操作,在图2中可以看到,在初始化操作300后,在操作301中,中央处理器100等待接收,并接收被传送的二进制数据项,然后把所接收到的数据项放在随机访问存储器104的寄存器"primary-data"中,并把计数值"N0_data"加1,其中在初始化操作300中,随机访问存储器104的寄存器被初始化(N0_data="0")。
下一步,在测试步骤302中,中央处理器100判定存储在寄存器"N0_data"中的整数是否与M.N0减去g(x)的幂次m的值相同,其中M,N0和g(x)的幂次M均为存储在只读存储器105中的值。
当测试步骤302的结果为负时,则重复执行操作301。当测试步骤302的结果为正时,则在操作303中,执行多项式u(x)除以多项式g(x)的操作,直到u(x)的最后一项(幂次最高的项),其中u(x)与存储在寄存器"primary-data"中的二进制数据序列相关,在操作303中使用了寄存器"intermediate_remainder",除法操作的余数被存储在寄存器"final_remainder"中。
下一步,在操作304中,存储在寄存器"final_remainder"中的二进制数据被增加到序列u的尾部,以生成序列a。序列a的二进制数据被存储在存储器的寄存器"a,b,c"中。
下一步,在操作305中,继续执行在步骤303中所执行的除法,即对在操作304中加入附加数据后所生成的a执行除法,并且把所生成的序列b存储在寄存器"a,b,c"中。
然后,在操作306中,以由存储在只读存储器105中的表"interlacer"所描述的顺序,从寄存器"a,b,c"中顺序读取序列a。所顺序读出的数据被存储在只读存储器104的寄存器"permuted_data"中。
下一步,在操作307中,执行多项式a*(x)除以多项式g(x)的除法,其中多项式a*(x)与存储在寄存器"permuted_data"中的置换后的二进制数据序列相关,在操作307中使用了寄存器"intermediate_remainder"。除法操作的结果被存储在寄存器"a,b,c"中,并且该除法操作的结果相应于序列c的二进制数据。
在操作308中,通过分别执行与序列b和c相关的多项式与相应的多项式h1(x)和h2(x)的乘积,来确定序列b和c,其中b和c存储在随机访问存储器104的寄存器"a,b,c"中。
可观察到,基于本发明,在与序列b或c相关的多项式与h1(x)或h2(x)相乘之前,通过先执行一个除以g(x)的除法操作,可保存存储项。
在操作309中,使用发送器106来发送序列a,b,和c,然后,存储器104的寄存器再次被初始化,尤其是,计数器"N0_data"被重置为"0",并重复操作301。
这里可观察到,作为一个变量,在操作309中,序列a作为一个整体被发送,然而只发送序列b和c的子集,例如只发送两项中的一项。熟悉技术的人都知道这一变量是作为击穿(puncturing)的。
关于译码,可观察到,熟悉技术的人在知道了多项式g(x),h1(x),h2(x)和交错器后,(其中交错器可通过序列a来提供置换后的序列a*),可知道如何生成用于译码的译码器,和使用上述交错器对会影响序列(a,b,c)的三元组的错误进行纠正,和相应的解交错器,而不会有任何技术障碍。
由于上述原因,可参考:
-在IEEE journal Transactions on Information Theory,in March1974中所出版的,由Messrs.L.R.BAHL,J.COCKE,F.JELINEK和J.RAVIV所著的名为"Optimal decoding of linear codes for minimizingsymbol error rate"的文章。
-在IEEE journal Transaction on Information Theory,in March 1996中出版的,由Messrs.J.HAGENAUER,E.OFFER和L.PAPKE著的名为“lterative decoding of binary block and convolutional codes”的文章。
-会议报告IEEE GLOBECOM,pages 1680-1686,in November1989中,由Messrs.J.HAGENAUER和P.HOEHER所著的名为"AViterbi algorithm with soft decision outputs and its applications"的文章。
-由the jorunal Informations technische Gesellschaft(ITG)Fachbericht,pages 21-29,October 1994,由Messrs.J.HAGENAUER,P.ROBERTSON和L.PAPKE所著的名为"Iterative(turbo)decoding of systematic convolutional codes with theMAP and SOVA algorithms"的文章。
-研究报告"Turbo Coding"organised by the Technology Institute ofLund(Sweden)(Department of Applied Electronics)in August 1996中,由Messrs.C.BERROU,S.EVANO和G.BATTAIL所著的名为"Turbo-block-codes"的文章。
图3描述了用于确定所使用的交错器的e值的算法步骤。这些步骤将由已知类型(未描述)的计算机来执行,其中寄存器"N0","M","interlacer","d","dmax","d"和"j"均位于随机访问存储器中。
在操作501中,g(x)=1+∑i=1到m-1gi.xi+xm为相应于序列g的m次的预定多项式,N0为使得存在可整除XN0-1的g(x)的最小严格正整数。已知存在这个数字。例如如果g(x)=1+x+x3,则NO=7。最后,依次执行多项式xi-1除以g(x)的除法,开始时i的值等于g(x)的幂次m然后每个步骤中i递增1,直到除法的余数模2后为0。当余数为0时,则i的值被放入寄存器N0中。再次需指出的是,这里所执行的操作是通过对xi-1的升幂的系数模2来实现的。
然后,在操作502中,选择一个奇数M,使乘积M.N0大于或等于二进制数据ui的个数加上g(x)的幂次m,从而选择一个长度等于M.N0的序列a,其中二进制数据ui必需在同一帧中传送,这一选择也即确定包括在序列a中的序列u的长度(即二进制数据的个数)等于M.N0减去g(x)的幂次m。
然后,在操作503到509中,中央处理器100判定是否需考虑与e相关的交错器,即对于低权值的序列v=(a,b,c),不存在低权值的序列a。
上述实施例中,对a*的确定包括用a*a=(a0,af,a2f,…)来替代a=(a0,a1,…),其中f的倍数是经过模M.N0计算得到的。当f等于不同于1的2的幂模M.N0时,置换实际上是所描述类型的置换。事实上,可由一个置换来描述,这一置换只对表的每列中的二进制数据进行置换,当f等于不同于1的2的幂模M.N0时,则置换还可由一个至少对两列中的二进制数据进行相互置换的置换来描述,后一种置换为长度为N0并具有生成器多项式g(x)的二进制循环码的自同构。当f模M.N0的值等于1时,则涉及列的置换是“平凡的”或“相同的”置换,即在该置换中保持各列在表中的列位置。
最后,在本发明的特定实施例中,在操作503中,中央处理器100确定2的幂模M.N0的各个值,以获得2的循环模M.N0,一旦有一个2的幂模M.N0的值等于1则就形成一个循环。循环的项j的数目被存储在寄存器"j"中。
然后,在操作504中,存储在寄存器"l"和"dmax"中的中间值l和dmax各自被初始化为值“1”和值“0”。
下一步,在操作505中,“l”的值被加1,并且对2的循环中的第1个值模M.N0。
然后,在操作506中,如果该值模M.N0后不等于1,则确定低权值序列a的权值为序列v=(a,b,c)的权值,其中置换由a*(x)=a(xe)来定义(因此,如果a=(a0,a1,a2,…,aM.N0-1),则a*的第一项二进制数据为a0,第二项数据为af,第三项为a2f,…,如上所述,其中索引是经过模M.N0计算得到的)。
最后,由于两个序列间的距离为序列的权值(即非0的二进制数据的个数),其中序列由这两个序列的同源二进制数据的差异构成,因此这一处理仅限于对具有0序列的序列间的距离进行分析,按照权值的升序把多项式a(x)列举出来,计算同一个三元组(a,b,c)中的序列的权值和,并对给定的e为低权值的序列a寻找最小权值,一旦为2的循环中的值e确定所有的最小权值,则e的值相应于最高权值。
然后距离被存储在随机访问存储器104的寄存器"d"中。下一步,如果在测试步骤507中,存储在寄存器"d"中的值大于存储在"dmax"中的值,则在操作508中修改寄存器"dmax"中的值,用d代替dmax,并把循环的第1个项的值存储在存储器的寄存器"e"中。
执行完操作508后或当测试507的结果为负时,如果在操作509中判定l的值小于j的值,则重复执行操作505。
表"interlacer"的形成过程如下:
a*(x)=a(xe),因此,如果a=(a0,a1,a2,…,aM.N0- 1),则a*的第一项二进制数据为a0,第二项数据为af,第三项为a2f,…,如上所述,其中索引是经过模M.N0计算得到的。
根据一个未表示出的变量,三元组(a,b,c)可构造如下:
-a(x)和如前面所定义的b(x)=a(x).h1(x)/g(x),
-给定一个所选择的多项式g2(x),选择一个置换P,其中所选择的多项式g2(x)为可使得N2与N0相等的多项式,其中N2为使g2(x)可整除XN2-1的最小整数,N0为使g2(x)可整除XN0-1的最小整数,其中所选择的置换是把长度为N0并具有生成多项式g(x)的二进制循环代码中的字转换成长度为N2并具有生成多项式g2(x)的二进制循环代码中的字。需指出的是,只有当多项式g2(x)生成等价于Cg的循环代码时才存在这种置换。这一验证对于熟悉技术的人来讲是熟知的,并且其有关参考文献在MrsF.J.MACWILLIAMS和Mr N.J.A.SLOANE所著的上述书的page 234中。
-根据本发明,置换可由序列a生成序列a**,其中序列a与可被多项式g(x)整除的多项式a(x)相关,序列a**与可被多项式g2(x)整除的多项式a**(x)相关,首先通过任一个置换操作由a(x)生成上述可被g(x)整除的a*(x),然后通过刚介绍过的置换P生成a**,其中置换P对有M行N0列的表中的列进行置换,其中所述表中首先包括所有的a然后包括所有的a*,以对这些列进行相互置换从而生成a**
本发明的范围并不仅限于所描述的实施例,本发明的范围可扩展到熟悉技术的人所能取得的任何改进领域。
尤其是,应用上述原则,通过添加一个或更多个附加的交错器,可达到四分之一或少一些的吞吐率,这对于每个交错器都是有效的。在所有的情况下,可使用击穿来提高编码的吞吐率。需指出的是击穿只包括传送一些检测符号。
另外,作为本发明的一个目的的设备是通过执行来实现的,以实现算术计算,多项式乘法,多项式除法,交错函数和基本译码函数,不包括处理器的专用电路(然而,处理器可用于控制这些设备的操作)。对专用电路的使用使得有可能达到更高的信息流速率。
应当指出的是,由于对于要被编码的n-m个符号的序列,存在有两个n个检测符的序列,因此第一实施例中,在没有击穿的情况下,吞吐率接近于三分之一。
第二实施例
在本发明的第二实施例中,考虑到不需通过击穿而获得大于1/3的吞吐率:对于要被编码的两个n-m符号的序列来讲,提供例如两个n检测符号的序列,即吞吐率接近于二分之一。
在描述第二实施例之前,给出其实现的数学基础。
为介绍第一实施例,描述了一系列与涡轮编码器一起使用的算术交错器,其中吞吐率接近于三分之一。这些交错器的主要优点在于确保信息多项式可被给定多项式g(x)整除,这刻划了编码器的特点。作为结果,每个编码后的信息位的错误率独立于信息位在信息序列中的位置。另一个优点在于,对于这些交错器的算术描述使得可以对它们进行列举和单独评估。另外,希望小交错器集的性能能代表所有交错器的性能。
然而,在许多情况下,例如,在无线传送的领域,需要更高的吞吐率。
第二实施例尤其涉及不使用击穿方法,而取得大于或接近于二分之一的吞吐率。
一种具有"x到xe"类型交错器的高-吞吐率涡轮代码。
下面将考虑***卷积编码器K×(K+2):
1 0 ... 0 h1/g f1/g
0 1 ... 0 h2/g f2/g
G= ...× ... ... ... ... ... (1)
0 0 ... 1 hk/g fk/g
其中hi,fi和g为具有二进制系数不定值x的多项式,其中x表示延迟操作符。
在传统的方法中,所传送的信息由一个具有二进制系数aij的多项式ai=∑j=0to n-1 aij.xj的k-元组a=(a1,…,ak)表示,并且信息被编码为v=aG中,其中v为不定值x的序列的(k+2)-元组,其中:
ν=[a1,...,ak,(∑t=1tokaihi)/g1(∑1=1tokaifi)/g]
应当指出的是,这里所写的是“序列”而不是“多项式”,这是由于和并不需要是g的倍数并且,如果和是g的倍数,则除以g的除法可使序列无限循环。
为了提高这类编码器的性能,可用(∑I=1tokai *fi)/g来替代v的最后一部分的(∑I=1tokaifi)/g,其中ai *表示通过对序列ai的系数进行置换后所获得的序列。称由每个序列ai转换成序列ai *的转换为“交错”(参看由IEEE Transactions on Communication,Volume COM-44,pages1261 to 1271,in October 1996,出版的,由Messrs.C.BERROU和A.GLAVIERX所著的名为“Near Optimum error-correcting coding anddecoding:trubo-codes”的文章)。
图4表示执行这一操作的编码器。在图4中,可看到,对于输入端口的K个符号序列,编码器在输出端口发送:
-K个相同符号的序列,
-一个检测符号的序列,其中检测符号是通过计算与信息序列ai相关的多项式与预定多项式hi的乘积的和,并用一个预定多项式g除所得到的和而得到的(编码器401)。
-一个检测符号的序列,其中检测符号是通过首先由交错器li(交错器402到405)对每个信息序列ai进行交错以生成ai *,然后计算与信息序列ai*相关的多项式与预定多项式fi的乘积的和,并用一个预定多项式g除以所得到的和而得到的(编码器406)。
应当指出的是,图4中所示的交错器li集402到406是对图5中所示的交错器201的一个限制,其中图5中每个序列ai *均可包括序列aj的符号,其中j不同于i。
根据本发明的一般特点,在一种表示中,其中在这一表示中每个序列ai的二进制数据被放在N0列M行的表中,每个交错器li包括:
-至少一个置换集中的置换,其中置换集一方面包括,长度为N0并具有一生成器多项式g(x)的二进制循环代码的自同构,自同构置换中至少对表的N0列中的两列进行相互置换,另一方面,只作用于同一列数据的置换,这一置换中至少对上述两个数据进行相互置换,和
-除了上述置换集外,没有其它的置换。
根据本发明的一个特点,为吞吐率为K/K+2的编码器提供交错,其中K为任意整数,所提供的交错为第一实施例中所描述的类型为“x到xe”的交错,并假设K=1。
下面将给出K≥2的情况下的描述(第二实施例):
令多项式g(x)=1+g1x+g2x2+…+gm-1xm-1+xm。
令N0为使得g(x)可整除xN0+1的最小N0。
最后,令n等于N0的一个奇数倍倍数:n=M.N0。
因此多项式g(x)为多项式Xn+1的因子。例如,令g(x)=1+x+x4,则n可为15,45,75,…,225,…,405,…中的一个值,其它的涉及这一可整除属性的细节可参看由MIT Press,Cambridge,Massachussets,1972所出版的,由W.W.PETERSON和E.J.WELDON所著的名为“Error-correcting codes”的报告。
信息由序列u=(u1,…,uk)表示,其中u中的每一项ui均由具有二进制系数的n-m-1次多项式ui(x)表示。给每个多项式ui(x)加一个长度为m的中止符项,∑j=n-m到n-1(ui)jxj,以使得多项式ai=ui+∑j=n-m到n-1(ui)jxj可被g(x)整除。
对结果K-元组a=(ai,…,ak)进行编码,以生成两个检测序列。
首先生成∑i=1到kai(x).hi(x)/g,由于g(x)可整除k个多项式ai,因此∑i=1到kai.hi/g是多项式。然后生成∑i=1到kai *.hi/g,把ai(x)交错成ai *(x)的公式为:
ai *(x)=ai(xe)模xn+1,
其中e等于2(e=21)的幂模n。在第一部分中描述了“x到xe”类型的置换,并假设K=1并在当ai可被g整除时,确保ai *可被g整除。
下面将给出几个K=2时的例子。
下面将考虑一个形式如(1)中所示的2×4涡轮编码器,并且令g(x)=1+x+x3;h1(x)=f2(x)=1+x2+x3;h2(x)=f1(x)=1+x+x2+x3且n=147。
当n的值为147时,有42个数e为2的幂模147的值。对于每个e值来说,对每位Eb能量和每赫兹噪音能量N(也称为噪音频谱密度)间不同的比值,相应的涡轮代码在一附加的白高斯噪音通道(熟悉技术的人知道AWGN”为“Additive White Gaussian Noise”的英语缩写)上进行模拟。
图6描述了N=147,K=2时,对于三个不同的e值:e=67=214,e=32=25和e=71=29,每位错误率(“BER”)的曲线的值,其中BER为信/噪比的函数。头两个值表示42个可能值之中e的理想值,最后一个e值表示“不太理想”的值:1,2,4,109,142和50。
对于同样的g(x),hi(x),fi(x),但是具有更高的n值的情况,其中i=1或2,可执行相同的模拟。选择n=413和n=917的情况,这是由于两者可提供大量的2的幂模n的值。当n=413时,有174个不同的值,当n=917时,则会有390个不同的值。
发明人注意到,当e是慎重选择出的时,则没有任何曲线符合本发明的实现,其中通过本发明译码,每位错误率可达10-5左右。也应当指出可对每个多项式ai(x)用不同的e值进行交错,以生成ai *(x)=ai(xe)模Xn+1,但所用的e值应等于2的幂的第1个值:e=21。最好是,对于所有的i值使用同一个交错器,以保持符号的K-元组的相同性。
确定K≥2的涡轮编码器
下面将考虑作为示例的3×5涡轮编码器:
1 0 0 h1/g f1/g
G= 0 1 0 h2/g f2/g
0 0 1 h3/g f3/g
其中g为一个具有二进制系数的不可规约的多项式,即g不能被一个完全平方式整除。矩阵G把信息三元组u=(u1,u2,u3)编码为:
v=[a1,a2,a3,(∑aihi)/g,(∑ai -fi)/g]
其中如第一实施例中所述,ai是由ui得到的,ai *是由ai得到的。
影响这种编码的最小距离的因素为5-元组v的非0部分的最小数目。
可确保涡轮代码的任一5-元组v=(v1,…,v5)至少包括三个非空序列vi。
为了说明这一点,把ai *记作ai(xe)(由模xn+1进行规约),且由“d”表示e模n的逆:
ed=1(n),等式中“(n)”表示“模n”。
应当指出的是,等式∑ai(xe).fi(x)=0模Xn+1等价于∑ai(x).fi(xd)=0模Xn+1。
由于e和d与n是互质数,因此使得对于每个幂次小于或等于n-1的b(x)来讲,通过对b(x)的系数进行置换后很容易得到b(xe)模Xn+1和b(xd)模xn+1,且如果多项式a(xe)模(xn+1)记作[a(x)]Π(e),则:
[a(x)f(x)]Π(e)=[a(x)]Π(e)[f(x)]Π(e)模(xn+1)
从称为“MDS”(表示“最大可分距离”)的编码的理论中可知,如果满足下述两个条件,则由G所生成的编码中的任意非0 v都至少包括三个非0部分:
-hi(x)和fi(x)模xN0+1后都不是0,其中N0为使得g(x)可整除xN0+1的最小整数,由于多项式g(x)不能被任何一个完全平方式整除,因此N0为奇数,且
-不存在形式如
hi(x) fi(xd)
hj(x) fj(xd)
的2×2矩阵,该矩阵有一个模xN0+1后为0的行列因子,并且i不同于j。
对于大小为K,长度为N1,并有M1=N1-K>2个冗余的涡轮代码的编码器来说相似属性是正确的。在后一种情况中,编码器类似于:
1 0 ... 0 h1,1/g h1,2/g ... h1,N1-K/gG= 0 1 ... 0 h2,1/g h2,2/g ... h1,N1-K/g
...× ...× ... ... ... ... ... ...
0 0 ... 1 hk,1/g hk,2/g ... hk,N1-K/g
并且任一信息序列u=(u1,…,uk)首先被编码成序列a=(a1,…,ak),然后再编码成:
ν=[a1,...,ak,(∑aihi,1)/g,(∑ai(xe2)hi,2)/g,...,(∑ai(xeN0-K)hi,k)/g]
令dj为ej模n的逆:djej=1(n)。如果对于每个1≤r≤N1-K的整数r,从G的后N1-K列中所提取出的rxr子矩阵都有一个模xN0+1后为非0的行列因子,则由G所生成的编码中的每个非0v都至少包括N1-K+1个非0部分,其中所提取出的子矩阵中用hi,j(xdj)替代了hi,j(x)。
应当指出的是,已考虑了对于冗余涡轮代码N1-K>2的译码。例如可参考由D.DIVSALAR和F.POLLARA所著的名为“MultipleTurbocodes for Deep Space Communications”,TDA Progress Report42-121,of 15 May 1995的文章。
下面将描述一种用于选择理想侯选的方法,以获得大小为K,长度为N1并具有类型为“x到xe”的交错器的理想涡轮代码。
首先描述N1-K=2的情况。
选择一个GF(2)上的幂次m≥2以使得N0=2m-1≥N1的不可规约多项式g(x),并且把GF(2m)作为多项式模g(x)后的多项式余式集。选择n作为N0的奇数倍倍数。然后构造一个2行N1列的矩阵Γ:
α1 r α2 r …αN1 r
Γ= α1 s α2 s …αN1 s
其中ai,i,…,N1,是GF(2m)中的不同的非0项,并且r和s为模N0后不同的整数。选择例如s=r+1总是一个理想的选择。这表示矩阵Γ中的每一项都是非-奇异的。令Γ(1,2)为Γ的头两列的子矩阵,则[Γ(1,2)]-1Γ被记作:
1 0
[Γ(1,2)]-1Γ= ∧
0 1
其中∧为GF(2m)上的2×K矩阵。对于一个所选择的2的幂模n的值e来讲,∧中的第二行中的项将由其第e次幂替代,并且转置后的矩阵记作Δ。Δ的各项为未定值×的m-1次多项式,并且可被g(x)或其它xN0+1的因子的多项式整除,结果矩阵称为P(X)。
最后由
G=[IKP(X)]
来定义大小为K×(K+2)的矩阵G,其中IK为大小为K的等价矩阵。
对于每个e值来讲,编码器G可用作涡轮编码器。通过模拟,可选择最理想的e值。
可以相似的方法来对待N1-K>2的情况。在这种情况中,M1=N1-K,矩阵Γ为M1×N1类型的矩阵:
α1 r α2 r ... αN1 r
α1 r+1 α2 r+1 ... αN1 r+1
Γ= ... × ... ... ...
α1 r+M1-1 α2 r+M1-1 ... αN1 r+M1-1
其中Γ(1,M1)为Γ的头M1列的子矩阵,[Γ(1,M1)]-1Γ记作[IM1∧],或IM1为大小为M1的等价矩阵,并且∧为大小为M1×K的GF(2m)上的子矩阵。对于所选择的et=2it,其中t=2,…,M1,∧的第t行上的项被它们的第et次幂替代。
矩阵的转置矩阵记为Δ,Δ的各项为未定值×的m-1次多项式,并且可被g(x)多项式整除,大小为K×N-K的结果矩阵记作P(X)。
通过模拟的方法对对于不同的(M1-1)-元组(e2,…,eM1)值所获得的编码G=[IKP(X)]进行分析,并选择出最理想的一个。
本发明的第二实施例的实现的描述。
下面将结合附图7和8来继续描述本发明的第二实施例,其中K=M1=2。
图7以框图的形式图示了网络工作站或计算机编码工作站的构成。工作站有一键盘711,显示屏709,外部信息源710和一个无线发送器706,其中无线发送器被连接到处理卡701的输入/输出端口703。
通过地址和数据总线702连接起来的处理卡701有:
-一个中央处理器件700;
-一个随机访问存储器RAM704;
-一个只读存储器ROM705;
-输入/输出端口703。
图7中所示的各组件对于熟悉微机***和传送***,更一般的讲对于熟悉信息处理***的人来讲是熟知的。因此下面将不在对这些公共组件进行描述。然而,仍需注意的是:
-信息源710是,例如一个***接口,传感器,解调器,外部存储器或其它的信息处理***(图中未表示出),并且信息源710最好是用于以二进制数据序列的形式提供表示语音,服务信息或多媒体数据的信号序列。
-无线发送器706可用于在非电缆通道上实现包传送协议,并在这种通道上发送包。
应当指出的是,本描述中所用到的单词“寄存器”指,存储器704和705中的低容量(几个二进制数据)的存储区域和大容量(可存储整个程序)的存储区域。
本描述中,随机访问存储器704把数据,变量和中间处理结果存储在与它们所存储的数据有相同名称的存储器寄存器中。随机访问存储器704包括:
-寄存器"primary_data",该寄存器以数据到达总线702的顺序并以序列u1和u2的形式存储来自信息源710的二进制数据,并对u1和u2进行增补以生成序列a1和a2。
-寄存器“no_data”,该寄存器中存储相应于寄存器"binary_data"中的二进制数据n-m的个数的整数,
-寄存器"permuted_data",该寄存器以数据到达总线702的次序并以序列a1 *和a2 *的形式存储如图8中所示的置换后的二进制数据,
-寄存器"intermediate_remainder",该寄存器中顺序地存储除法的中间余数,以通过序列ui来创建序列ai,
-寄存器"final_remainder",该寄存器以两个序列的方式存储互补的二进制数据,和
-寄存器"a1,b1,c1"和"a2,b2,c2",该寄存器以中央部件700所决定的次序存储当前正处理的序列的二进制数据。
为方便起见,只读存储器705用于把数据存储在与所存储的数据的名称相同的寄存器中,其中705中所存储的数据为:
-存储在寄存器"program"中的中央处理器700的操作程序,
-存储在寄存器"g″中序列g,
-存储在寄存器"degree"中的g(x)的幂次m,
-存储在寄存器"h"中的序列h=h1=f2,
-存储在寄存器"f"中的序列f=f1=h2,
-存储在寄存器"N0"中的N0的值,
-存储在寄存器"N1"中的N1的值,
-存储在寄存器"M1"中的M1的值,
-存储在寄存器"M"中的M的值,
-存储在寄存器"interlacer1"中的表,其中表用于定义对序列a1进行操作的交错器。
-存储在寄存器"interlacer2"中的表,其中表用于定义对序列a2进行操作的交错器。
这里所考虑的交错器相应地为“x到xe1”和“x到xe2”类型。
中央处理器700用于实现图8中所述的流程图。
图8描述了图7中所示的编码器的操作,在图8中可以看到,在初始化操作800后,在操作801中中央处理器700等待接收,并接收被传送的二进制数据项,并把所接收到的数据项放在随机访问存储器704的寄存器"primary-data"中,并把计数值"N0_data"加1,其中在初始化操作800中随机访问存储器704的寄存器被初始化(N0_data="0")。
下一步,在测试步骤802中,中央处理器00判定存储在寄存器"N0_data"中的整数是否与M.N0减去g(x)的幂次m的值相同,其中M,N0和g(x)的幂次m均为存储在只读存储器705中的值。
当测试步骤802的结果为负时,则重复执行操作801。当测试步骤802的结果为正时,则在操作803中,分别执行多项式u1(x)和u2(x)除以多项式g(x)的操作,直到u1(x)和u2(x)的最后一项(幂次最高的项),其中u1(x)和u2(x)分别与存储在寄存器"primary-data"中的二进制数据序列u1和u2相关,在操作803中使用了寄存器"intermediate_remainder",除法操作的余数被存储在寄存器"final_remainder"中。除法操作的结果提供了序列b1=a1/g和b2=a2/g的第一项。
下一步,在操作804中,存储在寄存器"final remainder"中的二进制数据被增加到序列u1和u2的尾部,以生成序列a1和a2。序列a1和a2的二进制数据被存储在存储器的寄存器"a1,b1,c1"和"a2,b2,c2"中。
下一步,在操作805中,继续执行在步骤803中所执行的除法,即对在操作804中加入附加数据后所生成的a1和a2执行除法,并且把所生成的序列b1和b2存储在寄存器"a1,b1,c1"和"a2,b2,c2"中。
然后,在操作806中,
-以由存储在只读存储器705中的表"interlacer1"所描述的顺序,从寄存器"a1,b1,c1"中顺序读取序列a1。
-以由存储在只读存储器705中的表"interlacer2"所描述的顺序,从寄存器"a2,b2,c2"中顺序读取序列a2。
把顺序读出的数据分别存储在只读存储器704的寄存器"permuted_data"中。
下一步,在操作807中,分别执行多项式a1 *(x)和a2 *(x)除以多项式g(x)的除法,其中多项式a1 *(x)和a2 *(x)分别与存储在寄存器"permuted data"中的置换后的二进制数据序列相关,在操作807中使用了寄存器"intermediate remainder"。除法操作的结果分别被存储在寄存器"a1,b1,c1"和"a2,b2,c2"中,并且该除法操作的结果相应于序列c1和c2的二进制数据。
在操作808中,确定两个称为“检测”或“冗余”的序列:
-通过分别执行与b1相关的多项式与多项式h(x)的乘法,和执行与b2相关的多项式与多项式f(x)的乘法,来确定序列bs,其中序列b1和b2分别存储在随机访问存储器704的寄存器"a1,b1,c1"和"a2,b2,c2"中。
-通过分别执行与c1相关的多项式与多项式h(x)的乘法,和执行与c2相关的多项式与多项式f(x)的乘法,来确定序列cs,其中序列c1和c2分别存储在随机访问存储器704的寄存器"a1,b1,c1"和"a2,b2,c2"中。
应当指出,根据本发明,在与h(x)或f(x)相乘之前,通过执行除以g(x)的操作,可保存存储器项。
在操作809中,使用发送器706来发送序列a1,a2,bs,和cs,下一步,存储器704的寄存器再次被初始化,尤其是,计数器"N0_data"被重置为"0",并重复操作801。
这里可观察到,作为一个变量,在操作809中,序列a1和a2作为一个整体被发送,然而只发送序列bs,和cs的子集,例如只发送两项中的一项。熟悉技术的人都知道这一变量是作为击穿的。
关于译码,可观察到,熟悉技术的人在知道了多项式g(x),h1(x),h2(x)和交错器G1和G2后,(其中交错器可通过序列a1和a2来提供置换后的序列a* 1和a* 2),可知道如何生成用于译码的译码器,和使用上述交错器对会影响序列(a1,a2,bs,cs)的四元组的错误进行纠正,和相应的解交错器,而不会有任何技术障碍。
图9中图示了用于对由图4到8中所图示的译码设备发送来的序列进行译码的译码设备,该设备主要包括:
-相应于编码器401的译码器901,其中译码器901接收对被传送序列v1到vk+1的估计和下面将描述的K个外部信息序列w1到wk,并为K个估计序列各提供一个后验w1到wk,
-K个与编码器中所用到的交错器402到405相同的交错器902,其中交错器902分别接收序列w1到wk,然后分别把所接收到的序列交错成w′1到w′k
-相应于编码器406的第二译码器903,该译码器接收序列w′1到w′k和序列vk+2,并一方面提供K个后验估计序列 w"1到w"k,另一方面提供一个估计序列a′,和
-k个解交错器904,这k个解交错器904为交错器402到405的逆,接收序列w"1到w"k并提供序列w1到w""k。
只有在执行了几个迭代之后,才考虑估计的序列a′(参看前面所引用的文章“Near Shannon limit error-correcting coding anddecoding:turbocodes”)。
根据本发明,每个用于译码的交错器和解交错器均具有与用于编码的交错器有相同的特征或均为类型“x到xe”。更可取的是,编码或译码时,对于相同的j,指数eij是相同的。最理想的是,编码或译码时,指数eij的值均为2的幂。
另外,在初始化译码器901和903时,需考虑到编码器401和406均有一初始状态和一最终的0状态。
关于译码,读者可参看:
-由the journal IEEE Transactions on Information Theory,inMarch 1974出版的,由Messrs L.R.BAHL,J.COCKE,F.JELINEK和J.RAVIV所著的名为“Optimal decoding of linear codes forminimizing symbol error rate”的文章;
-由the journal IEEE Transaction on Information Theory,inMarch 1996所出版的,由Messrs J.HAGENAUER,E.OFFER和L.PAPKE所著的名为“Iterative decoding of binary block andconvolutional codes”的文章;
-会议报告IEEE GLOBECOM,pages 1680-1686,in November1989中的由Messrs J.HAGENAUER和POEHER所著的名为“AViterbi algorithm with soft decision outputs and its applications”的文章;
-由the journal Informationstechnische Gesellschaft(ITG)Fachbericht,pages 21-29,October 1994所出版的,由MessrsJ.HAGENAUER,P.ROBERTSON和L.PAPKE所著的名为“Iterative(turbo)decoding of systematic convolutional codes with theMAP and SOVA algorithms”的文章;
-研究报告“Turbo Coding”,由Messrs C.BERROU,S.EVANO和G.BATTAIL所著的名为“Turbo-block-codes”的文章。
Claims (45)
1.编码方法,其特征在于:
1/考虑到:
一个预定的,大于或等于2的整数M1,
k个表示一个物理量的二进制序列ai(i=1,…,k),其中k大于或等于1,其中每个序列ai均有:
一个多项式表达ai(x),其中ai(x)为预定多项式gi(x)的倍数,和
多个二进制数据,其中二进制数据的个数等于任一个整数M和整数N0的乘积,其中N0为使得多项式xN0+1可被每个多项式gi(x)整除的最小整数。
2/包括一个生成K*M1个称为“置换后”序列aij *,(i=1,….,K;j=1,…,M1)的第一操作,其中每个序列aij *是通过对相应序列ai进行置换后得到的,在每个序列的二进制数据被逐行写到在一个N0列M行的表中的表示中,所述置换是所有称为基本置换的结果,其中每个基本置换结果:
或者具有把长度为N0并有生成器多项式gi(x)的循环代码转换成等价的具有生成器多项式gij(x)的循环代码的属性,并通过在表示ai的表的N0列上进行置换来实现这一点,其中gij(x)可与gi(x)相同,
或者是对上述表的列的符号进行的任一置换;并且,结果是有一个等于多项式乘积cij(x)gij(x)的多项式表达aij *(x),其中至少有一个置换后的序列aij *不同于相应的序列ai。
3/包括生成M1个冗余序列的第二操作,其中冗余序列的多项式表达与∑fij(x)cij(x)相等,对于j=1,…,M1,每个多项式fij(x)均是具有最大等于有相同下标i和j的多项式gij(x)的幂次的多项式。
2.编码方法,其特征在于:
1/考虑到:
一个预定的,大于或等于2的整数M1,
k个表示一个物理量的二进制序列ai(i=1,…,k),其中k大于或等于1,其中每个序列ai均有:
一个多项式表达ai(x),其中ai(x)为预定多项式gi(x)的倍数,并且ai(x)没有多重多项式因子,和
多个二进制数据,其中二进制数据的个数等于任一个整数M和整数N0的乘积,其中N0为使得多项式xN0+1可被每个多项式gi(x)整除的最小整数。
2/包括一个生成K*M1个称为“置换后”的序列aij *,(i=1,….,K;j=1,…,M1)的第一操作,其中每个序列aij *均有一个与aij *(x)=ai *(xeij)模(xn+1)相等的多项式表达,其中
n为数字M和整数N0的乘积,
eij为n的互质数,
cij为aij *(x)除以gij(x)的商
多项式gij(x)为长度为N0且包括多项式gi(xeij))模(xN0+1)的最小循环代码的生成器多项式,其中至少一个置换后的序列aij *不同于相应的序列ai;
3/包括生成M1个冗余序列的第二操作,其中对于j=1,…,M1,冗余序列的多项式表达与∑fij(x)cij(x)相等,其中每个多项式fij(x)均是一个预定多项式,其幂次至少等于有相同下标i和j的多项式gij(x)的幂次。
3.如权利要求2所述的编码方法,其特征在于,在第一生成操作中,所有具有相同的下标j值的指数eij值都相等。
4.如权利要求2或3所述的编码方法,其特征在于,在第一生成操作中,所有的指数eij的值都等于2的幂。
5.如权利要求1到4任一项所述的方法,其特征在于包括一个发送操作,一方面发送序列ai,另一方面发送其它序列的数据的子集。
6.编码设备,其特征在于,包括一个处理设备:
1/考虑到:
一个预定的,大于或等于2的整数M1,
k个表示一个物理量的二进制序列ai(i=1,…,k),其中k大于或等于1,其中每个序列ai均有:
一个多项式表达ai(x),其中ai(x)为预定多项式gi(x)的倍数,和
多个二进制数据,其中二进制数据的个数等于任一个整数M和整数N0的乘积,其中N0为使得多项式xN0+1可被每个多项式gi(x)整除的最小整数。
2/生成K*M1个称为“置换后”的序列aij *,(i=1,….,K;j=1,…,M1),其中每个序列aij *是通过对相应序列进行置换后得到的,在每个序列ai的二进制数据被逐行写到在一个N0列M行的表中的表示中,所述置换是所有称为基本置换的结果,其中每个基本置换结果:
或者具有把长度为N0并有生成器多项式gi(x)的循环代码转换成等价的具有生成器多项式gij(x)的循环代码的属性,并通过在表示ai的表的N0列上进行置换来实现这一点,其中gij(x)可与gi(x)相同,
或者是对上述表的列的符号进行的任一置换;并且,aij *是有一个等于多项式乘积cij(x)gij(x)的多项式表达aij *(x),其中至少有一个置换后的序列aij *不同于相应的序列ai。
3/生成M1个冗余序列,其中冗余序列的多项式表达与∑fij(x)cij(x)相等,对于j=1,…,M1,每个多项式fij(x)均为一个多项式,该多项式的幂次最大等于有相同下标i和j的多项式gij(x)的幂次。
7.编码设备,其特征在于,具有一个处理设备:
1/考虑到:
一个预定的,大于或等于2的整数M1,
k个表示一个物理量的二进制序列ai(i=1,…,k),其中k大于或等于1,其中每个序列ai均有:
一个多项式表达ai(x),其中ai(x)为预定多项式gi(x)的倍数,并且ai(x)没有多重多项式因子,和
多个二进制数据,其中二进制数据的个数等于任一个奇数M和整数N0的乘积,其中N0为使得多项式xN0+1可被每个多项式gi(x)整除的最小整数。
2/生成K*M1个称为“置换后”的序列aij *,(i=1,….,K;j=1,…,M1),其中每个序列aij *均有一个与aij *(x)=ai *(xeij)模(Xn+1)相等的多项式表达,其中
n为数字M和整数N0的乘积,
eij为n的互质数,
cij为aij *(x)除以gij(x)的商
多项式gij(x)为长度为N0且包括多项式gi(xeij))模(xN0+1)的最小循环代码的生成器多项式,其中至少一个置换后的序列aij *不同于相应的序列ai;
3/生成M1个冗余序列,其中对于j=1,…,M1,冗余序列的多项式表达与∑fij(x)cij(x)相等,其中每个多项式fij(x)均是一个多项式,该多项式的幂次至少等于有相同下标i和j的多项式gij(x)的幂次。
8.根据权利要求7的编码设备,其特征在于处理设备可使用在指数eij,其中eij当具有相同的下标j时,它们的值相同。
9.根据权利要求7或8的编码设备,其特征在于处理设备可使用在指数eij,其中每个eij均等于一个2的幂。
10.根据权利要求6到9任一项的编码设备,其特征在于编码设备有一个可用于发送的发送设备,一方面发送序列ai,另一方面发送其它序列的数据子集。
11.译码方法,其特征在于:
1/考虑到:
一个预定的,大于或等于2的整数M1,
k个表示一个物理量的二进制序列ai(i=1,…,k),其中k大于或等于1,其中每个序列ai均有:
一个多项式表达ai(x),其中ai(x)为预定多项式gi(x)的倍数,和
多个二进制数据,其中二进制数据的个数等于任一个整数M和整数N0的乘积,其中N0为使得多项式xN0+1可被每个多项式gi(x)整除的最小整数。
2/包括一个使用因子多项式gij(x)对K个符号序列进行并行涡轮译码的操作。
3/对每个ai包括M1个置换操作,这M1个操作中至少有一个操作不同于别的操作,其中在每个序列的二进制数据被逐行写到一个N0列M行的表中的表示中,每个置换均为称为基本置换的结果,其中每个基本置换结果:
或者具有把长度为N0并有生成器多项式gi(x)的循环代码转换成等价的具有生成器多项式gij(x)的循环代码的属性,并通过在表示ai的表的N0列上进行置换来实现这一点,其中gij(x)可与gi(x)相同,
或者是对所述表的列的符号进行的任一置换。
12.译码方法,其特征在于:
1/考虑到:
一个预定的,大于或等于2的整数M1,
k个表示一个物理量的二进制序列ai(i=1,…,k),其中k大于或等于1,其中每个序列ai均有:
一个多项式表达ai(x),其中ai(x)为预定多项式gi(x)的倍数,并且ai(x)没有多重多项式因子,和
多个二进制数据,其中二进制数据的个数等于任一个奇数M和整数N0的乘积,其中N0为使得多项式xN0+1可被每个多项式gi(x)整除的最小整数。
2/包括一个使用因子多项式gij(x)对K个符号序列进行并行涡轮译码的操作。
3/所述并行涡轮译码操作包括一个置换操作,其中置换操作生成称为“置换后”的序列aij *,(i=1,….,K;j=1,…,M1),其中每个置换后的序列aij *均有一个与aij *(x)=ai *(xeij)模(xn+1)相等的多项式表达,其中
n为数字M和整数N0的乘积,
eij为n的互质数,
cij为aij *(x)除以gij(x)的商
多项式gij(x)为长度为N0且包括多项式gi(xeij))模(xN0+1)的最小循环代码的生成器多项式,其中至少一个置换后的序列aij *不同于相应的序列ai;
13.根据权利要求12的译码方法,其特征在于,在置换操作中,所有有相同索引j的指数eij的值相等。
14.根据权利要求12或13的译码方法,其特征在于,在置换操作中,每个eij均等于一个2的幂。
15.根据权利要求11到14的译码方法,其特征在于该方法包括一个接收操作,一方面接收序列ai,另一方面接收作为对序列ai进行编码的结果的其它序列的数据子集。
16.交错器中的置换方法,其特征在于:
1/考虑到:
一个预定的,大于或等于2的整数M1,
k个表示一个物理量的二进制序列ai(I=1,…,k),其中k大于或等于1,其中每个序列ai均有:
一个多项式表达ai(x),其中ai(x)为预定多项式gi(x)的倍数,和
多个二进制数据,其中二进制数据的个数等于任一个整数M和整数N0的乘积,其中N0为使得多项式xN0+1可被每个多项式gi(x)整除的最小整数。
2/包括一个生成K*M1个称为“置换后”序列aij *,(i=1,….,K;j=1,…,M1)的第一操作,其中每个序列aij *是通过对相应序列ai进行置换后得到的,在每个序列的二进制数据被逐行写到在一个N0列M行的表中的表示中,所述置换是所有称为基本置换的结果,其中每个基本置换结果:
或者具有把长度为N0并有生成器多项式gi(x)的循环代码转换成等价的具有生成器多项式gij(x)的循环代码的属性,并通过在表示ai的表的N0列上进行置换来实现这一点,其中gij(x)可与gi(x)相同,
或者是对上述表的列的符号进行的任一置换;并且,结果是有一个等于多项式乘积cij(x)gij(x)的多项式表达aij *(x),其中至少有一个置换后的序列aij *不同于相应的序列ai。
17.一种置换方法,可由表示一个物理量的二进制数据序列a,生成一个置换序列a*,其中a与多项式a(x)相关,多项式a(x)可被因子多项式g(x)整除且其升序的系数为序列a的二进制数据,其中置换后的序列a*与多项式a*(x)相关,多项式a*(x)的升序的系数为序列a*的二进制数据,所述多项式a*(x)可被多项式g(x)整除,以生成二进制数据序列c,并且a有多个二进制数据,其中二进制数据的个数等于任一个整数M和整数N0的乘积,其中N0为使得多项式xN0-1可被多项式g(x)整除的最小整数,所述的置换方法的特征在于:在序列a的二进制数据被放置在N0列M行的表中的表示中,包括如下置换:
至少一个置换集中的置换(306),其中一方面包括长度为N0并具有生成器多项式g(x)的二进制循环代码的自同构,在自同构中至少对表的N0列中的两列进行相互置换,另一方面包括只对同一列中的数据进行置换的置换,在这种置换中至少对上述两个数据项进行相互置换,并且
除所述集外没有别的置换。
18.一种置换方法,可由表示一个物理量的二进制数据序列a,生成一个置换序列a*,其中a由一个可被多项式g(x)整除的多项式a(x)表示,其中置换后的序列a*由多项式a*(x)表示,所述多项式a*(x)可被多项式g(x)整除,以生成二进制数据序列c,所述的置换方法的特征在于:在序列a的二进制数据被放置在N0列M行的表中的表示中,置换方法包括如下置换:
至少一个置换集中的置换(306),其中一方面包括长度为N0并具有生成器多项式g(x)的二进制循环代码的自同构,在自同构中至少对表的N0列中的两列进行相互置换,另一方面包括只对同一列中的数据进行置换的置换,在这种置换中至少对上述两个数据项进行相互置换,并且
除所述集外没有别的置换。
19.一种置换方法,可由表示一个物理量的二进制数据序列a,生成一个置换序列a*,其中a由一个可被因子多项式g(x)整除的多项式a(x)表示,其中置换后的序列a*由多项式a*(x)表示,
所述多项式a*(x)可被多项式g(x)整除,以生成二进制数据序列c,
并且a有多个二进制数据,其中二进制数据的个数等于任一个整数M和整数N0的乘积,其中N0为使得多项式XN0-1可被多项式g(x)整除的最小整数。
20.一种置换方法,可由表示一个物理量的二进制数据序列a,生成一个置换序列a**,其中a与多项式a(x)相关,多项式a(x)可被因子多项式g(x)整除且其升序的系数为序列a的二进制数据,其中置换后的序列a**与多项式a**(x)相关,多项式a**(x)的升序的系数为序列a**的二进制数据,所述多项式a**(x)可被多项式g2(x)整除,以生成二进制数据序列c,并且a有多个二进制数据,其中二进制数据的个数等于任一个整数M和整数N0的乘积,其中N0为使得多项式xN0-1可被多项式g(x)整除的最小整数,
所述的置换方法的特征在于:在序列a的二进制数据被放置在N0列M行的表中的表示中,置换方法包括:
至少一个置换集中的置换(306),其中一方面包括长度为N0并具有生成器多项式g(x)的二进制循环代码的自同构,在自同构中至少对表的N0列中的两列进行相互置换,另一方面包括只对同一列中的数据进行置换的置换,在这种置换中至少对上述两个数据项进行相互置换,以生成序列a*(x),和
所述表的列的置换,该置换把多项式a*(x)转换成可被多项式g2(x)整除的多项式a**(x)。
21.根据权利要求17到20的任一项所述的置换方法,其特征在于至少包括一个置换操作(306),其中操作(306)只作用在所述列的一个上的二进制数据上。
22.根据权利要求17到21的任一项所述的置换方法,其特征在于所述置换操作(306)执行如下:
a*(x)=a(xe)模xM.N0-1,
其中e为等于2的幂模M.N0的整数,且M为一奇数。
23.根据权利要求17到22的任一项所述的置换方法,其特征在于所述置换方法还包括一个确定操作,以通过使用根据权利要求17到20的任何一个权利要求中所述的方法对二进制数据序列a进行置换,至少生成一个置换后的第二序列。
24.根据权利要求17到23的任一项所述的置换方法,其特征在于所述置换方法还包括一个发送操作(309),其中发送操作一方面传送序列a,另一方面发送其它序列的子数据集。
25.译码设备,其特征在于包括一个处理设备:
1/考虑到:
一个预定的,大于或等于2的整数M1,
k个表示一个物理量的二进制序列ai(i=1,…,k),其中k大于或等于1,其中每个序列ai均有:
一个多项式表达ai(x),其中ai(x)为预定多项式gi(x)的倍数,和
多个二进制数据,其中二进制数据的个数等于任一个整数M和整数N0的乘积,其中N0为使得多项式xN0+1可被每个多项式gi(x)整除的最小整数。
2/执行使用因子多项式gij(x)对K个符号序列进行并行涡轮译码码的操作。
3/对每个ai执行M1个置换操作,这M1个操作中至少有一个操作不同于别的操作,其中在每个序列的二进制数据被逐行写到一个N0列M行的表中的表示中,每个置换均为称为基本置换的结果,其中每个基本置换结果:
或者具有把长度为N0并有生成器多项式gi(x)的循环代码转换成等价的具有生成器多项式gij(x)的循环代码的属性,并通过在表示ai的表的N0列上进行置换来实现这一点,其中gij(x)可与gi(x)相同,
或者是对上述表的列的符号进行的任一置换。
26.译码设备,其特征在于包括一个处理设备:
1/考虑到:
一个预定的,大于或等于2的整数M1,
k个表示一个物理量的二进制序列ai(i=1,…,k),其中k大于或等于1,其中每个序列ai均有:
一个多项式表达ai(x),其中ai(x)为预定多项式gi(x)的倍数,并且ai(x)没有多重多项式因子,和
多个二进制数据,其中二进制数据的个数等于任一个奇数M和整数N0的乘积,其中N0为使得多项式xN0+1可被每个多项式gi(x)整除的最小整数。
2/执行一个使用因子多项式gij(x)对K个符号序列进行并行涡轮译码的操作。
3/执行生成称为“置换后”的序列aij *,(i=1,….,K;j=1,…,M1)的置换操作,其中每个置换后的序列aij *均有一个与aij *(x)=ai *(Xeij)模(xn+1)相等的多项式表达,其中
n为数字M和整数N0的乘积,
eij为n的互质数,
cij为aij *(x)除以gij(x)的商
多项式gij(x)为长度为N0且包括多项式gi(xeij))模(xN0+1)的最小循环代码的生成器多项式,其中至少一个置换后的序列aij *不同于相应的序列ai;
27.根据权利要求26的译码设备,其特征在于,处理设备可使用指数eij值,其中当所述指数具有相同的索引j时其值相等。
28.根据权利要求26或27任一项所述的译码设备,其特征在于,处理设备可使用指数eij值,其中每个eij均等于一个2的幂。
29.根据权利要求25到28任一项所述的译码设备,其特征在于该设备包括一个接收设备,该接收设备一方面接收序列ai,另一方面接收作为对序列ai进行编码的结果的其它序列的数据子集。
30.交错器,其特征在于包括一个处理设备,其中处理设备:
1/考虑到:
一个预定的,大于或等于2的整数M1,
k个表示一个物理量的二进制序列ai(i=1,…,k),其中k大于或等于1,其中每个序列ai均有:
一个多项式表达ai(x),其中ai(x)为预定多项式gi(x)的倍数,和
多个二进制数据,其中二进制数据的个数等于任一个整数M和整数N0的乘积,其中N0为使得多项式xN0+1可被每个多项式gi(x)整除的最小整数。
2/生成K*M1个称为“置换后”的序列aij *,(i=1,….,K;j=1,…,M1),其中每个序列aij *是通过对相应序列ai进行置换后得到的,在每个序列ai的二进制数据被逐行写到在一个N0列M行的表中的表示中,所述置换是所有称为基本置换的结果,其中每个基本置换结果:
或者具有把长度为N0并有生成器多项式gi(x)的循环代码转换成等价的具有生成器多项式gij(x)的循环代码的属性,并通过在表示ai的表的N0列上进行置换来实现这一点,其中gij(x)可与gi(x)相同,
或者是对上述表的列的符号进行的任一置换;并且
有一个等于多项式乘积cij(x)gij(x)的多项式表示aij *(x),
其中至少有一个置换后的序列aij *不同于相应的序列ai。
31.交错器(101),用于由表示一个物理量的二进制数据序列a,生成一个置换序列a*,其中a与多项式a(x)相关,多项式a(x)可被因子多项式g(x)整除且其升序的系数为序列a的二进制数据,其中置换后的序列a*与多项式a*(x)相关,多项式a*(x)的升序的系数为序列a*的二进制数据,所述多项式a*(x)可被多项式g(x)整除,以生成二进制数据序列c,并且a有多个二进制数据,其中二进制数据的个数等于任一个整数M和整数N0的乘积,其中N0为使得多项式xN0-1可被多项式g(x)整除的最小整数,所述的置换方法的特征在于:在序列a的二进制数据被放置在N0列M行的表中的表示中,包括如下置换:
至少一个置换集中的置换(306),其中置换集一方面包括长度为N0并具有生成器多项式g(x)的二进制循环代码的自同构,在自同构中至少对表的N0列中的两列进行相互置换,另一方面包括只对同一列中的数据进行置换的置换,在这种置换中至少对上述两个数据项进行相互置换,和
除所述集外没有别的置换。
32.交错器(101),用于由表示一个物理量的二进制数据序列a,生成一个置换序列a*,其中a由一个可被多项式g(x)整除的多项式a(x)表示,其中置换后的序列a*由多项式a*(x)表示,所述多项式a*(x)可被多项式g(x)整除,以生成二进制数据序列c,
所述的置换方法的特征在于:在序列a的二进制数据被放置在N0列M行的表中的表示中,所述交错器使用如下置换:
至少一个置换集中的置换(306),其中一方面包括长度为N0并具有生成器多项式g(x)的二进制循环代码的自同构,在自同构中至少对表的N0列中的两列进行相互置换,另一方面包括只对同一列中的数据进行置换的置换,在这种置换中至少对上述数据项的两个进行相互置换,和
除所述集外没有别的置换。
33.交错器(101),用于由表示一个物理量的二进制数据序列a,生成一个置换后的序列a*,其中a由一个可被因子多项式g(x)整除的多项式a(x)表示,其中置换后的序列a*由多项式a*(x)表示,
所述多项式a*(x)可被多项式g(x)整除,以生成二进制数据序列c,
并且a有多个二进制数据,其中二进制数据的个数等于任一个整数M和整数N0的乘积,其中N0为使得多项式XN0-1可被多项式g(x)整除的最小整数。
34.交错器(101),用于由表示一个物理量的二进制数据序列a,生成一个置换后的序列a**,其中a与多项式a(x)相关,多项式a(x)可被因子多项式g(x)整除且其升序的系数为序列a的二进制数据,其中置换后的序列a**与多项式a**(x)相关,多项式a**(x)的升序的系数为序列a**的二进制数据,所述多项式a**(x)可被多项式g2(x)整除,以生成二进制数据序列c,并且a有多个二进制数据,其中二进制数据的个数等于任一个整数M和整数N0的乘积,其中N0为使得多项式xN0-1可被多项式g(x)整除的最小整数,
所述的交错器的特征在于:在序列a的二进制数据被放置在N0列M行的表中的表示中,交错器可实现:
至少一个置换集中的置换(306),其中一方面包括长度为N0并具有生成器多项式g(x)的二进制循环代码的自同构,在自同构中至少对表的N0列中的两列进行相互置换,另一方面包括只对同一列中的数据进行置换的置换,在这种置换中至少应该对上述两个数据项进行相互置换,以生成序列a*(x),和
所述表的列的置换,该置换把多项式a*(x)转换成可被多项式g2(x)整除的多项式a**(x)。
35.根据权利要求30到34的任一项所述的交错器,其特征在于所述置换(306)至少包括一个只作用在所述列的一列上的二进制数据上的置换操作。
36.根据权利要求30到35的任一项所述的交错器,其特征在于所述交错器(101)可如下执行所述置换:
a*(x)=a(xe)模xM.N0-1,
其中e为等于2的幂模M.N0的整数,且M为一奇数。
37.根据权利要求30到36的任一项所述的交错器,其特征在于所述交错器至少还包括一个根据权利要求10或11的第二交错器,其中每个新的交错器可由二进制数据序列a,生成一个新的置换后的序列。
38.根据权利要求30到37的任一项所述的交错器(101),其特征在于所述置换方法还包括一个传送设备(106),其中传送设备一方面传送序列a,另一方面传送其它序列的子数据集。
39.用于处理表示语音的信号的设备,其特征在于包括一个根据权利要求6到10中任一项的编码设备或包括一个根据权利要求25到29中的任一项的译码设备或根据权利要求30到38的任一项的交错器。
40.有一个用于实现包传送协议的传送器的数据传送设备,其特征在于包括一个根据权利要求6到10中的一个权利要求的编码设备,或包括一个根据权利要求25到29中的一个权利要求的译码设备,或包括一个根据权利要求39的用于对表示语音的信号进行处理的设备或根据权利要求30到38的任一项的交错器。
41.根据权利要求40的数据传送设备,其特征在于所述协议为非同步传送模式协议ATM(“Asynchronous Transfer Mode”的缩写)。
42.根据权利要求22的数据传送设备,其特征在于所述协议为ETHERNET类型的协议。
43.具有一个传送器以在非电缆通道上进行传送的数据传送设备,其特征在于包括一个根据权利要求6到10中的一个权利要求的编码设备或包括一个根据权利要求25到29中的一个权利要求的译码设备或根据权利要求30到38的任一项的交错器。
44.用于对至多表示一千个二进制数据的信号序列进行处理的设备,其特征在于包括一个根据权利要求6到10中的一个权利要求的编码设备或包括一个根据权利要求25到29中的一个权利要求的译码设备或根据权利要求30到38的任一项的交错器。
45.网络工作站,其特征在于具有一个根据权利要求6到10中的一个权利要求的编码设备或一个根据权利要求25到29中的一个权利要求的译码设备或根据权利要求30到38的任一项的交错器。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR9716669A FR2773287A1 (fr) | 1997-12-30 | 1997-12-30 | Entrelaceur, dispositif de codage, procede de permutation, procede de codage, dispositif et procede de decodage et systemes les mettant en oeuvre |
FR9716669 | 1997-12-30 | ||
FR9814084A FR2785742A1 (fr) | 1998-11-09 | 1998-11-09 | Entrelaceur, dispositif de codage, procede de permutation, procede de codage, dispositif et procede de decodage et systemes les mettant en oeuvre |
FR9814084 | 1998-11-09 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1232323A true CN1232323A (zh) | 1999-10-20 |
CN1213541C CN1213541C (zh) | 2005-08-03 |
Family
ID=26234037
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB981259502A Expired - Fee Related CN1213541C (zh) | 1997-12-30 | 1998-12-30 | 交错器,编码、译码设备和方法,置换方法及其*** |
Country Status (6)
Country | Link |
---|---|
US (1) | US6370670B1 (zh) |
EP (1) | EP0928071B8 (zh) |
JP (1) | JP4124893B2 (zh) |
KR (1) | KR100341266B1 (zh) |
CN (1) | CN1213541C (zh) |
DE (1) | DE69837077T2 (zh) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6427214B1 (en) | 1998-09-29 | 2002-07-30 | Nortel Networks Limited | Interleaver using co-set partitioning |
FR2785741B1 (fr) * | 1998-11-09 | 2001-01-26 | Canon Kk | Dispositif et procede de codage et d'entrelacement pour des turbocodes series ou hybrides |
FR2785743A1 (fr) * | 1998-11-09 | 2000-05-12 | Canon Kk | Dispositif et procede d'adaptation des turbocodeurs et des decodeurs associes a des sequences de longueur variable |
US6625234B1 (en) * | 1998-12-10 | 2003-09-23 | Nortel Networks Limited | Efficient implementations of proposed turbo code interleavers for third generation code division multiple access |
DE69943198D1 (de) | 1998-12-30 | 2011-03-31 | Canon Kk | Kodierungsvorrichtung und Verfahren, Dekodierungsvorrichtung und Verfahren und dazugehörige Systeme |
FR2790621B1 (fr) | 1999-03-05 | 2001-12-21 | Canon Kk | Dispositif et procede d'entrelacement pour turbocodage et turbodecodage |
US6536001B1 (en) * | 1999-03-11 | 2003-03-18 | Globespanvirata, Inc. | Circuit and method for convolutional interleaving using a single modulo operation |
FR2792476B1 (fr) * | 1999-04-13 | 2001-06-08 | Canon Kk | Procede de type arq pour procede de transmission utilisant des turbo-codes, et dispositif associe |
DE60045630D1 (de) | 1999-11-04 | 2011-03-31 | Canon Kk | Verschachtelungsverfahren für Datenturbokodierung |
FR2805103A1 (fr) * | 2000-02-10 | 2001-08-17 | Canon Kk | Procede de permutation pour turbo-codage convolutif de donnees |
FR2800950A1 (fr) * | 1999-11-04 | 2001-05-11 | Canon Kk | Procede d'entrelacement pour turbo-codage convolutif de donnees |
FR2801446B1 (fr) * | 1999-11-18 | 2002-04-19 | Canon Kk | Procede et dispositif de codage, procede et dispositif de decodage, et systemes les mettant en oeuvre |
FR2802735B1 (fr) | 1999-12-20 | 2002-03-29 | Canon Kk | Procede et dispositif de codage, procede et dispositif de decodage, et systemes les mettant en oeuvre |
FR2804806B1 (fr) * | 2000-02-08 | 2002-05-03 | Canon Kk | Procede et dispositif d'entrelacement, procedes et dispositifs de codage et de decodage et systemes les mettant en oeuvre |
FR2807895B1 (fr) | 2000-04-18 | 2002-06-07 | Canon Kk | Procedes et dispositifs de codage et de decodage et systemes les mettant en oeuvre |
FR2813723B1 (fr) * | 2000-09-04 | 2002-11-08 | Canon Kk | Procedes de turbocodage circulaire de haut rendement, et systemes pour leur mise en oeuvre |
FR2815199B1 (fr) * | 2000-10-10 | 2003-01-17 | Canon Kk | Procedes de turbocodage circulaire de grande distance minimale, et systemes pour leur mise en oeuvre |
FR2819955B1 (fr) * | 2001-01-23 | 2003-05-16 | Canon Kk | Procedes de turbocodage et turbodecodage (4,2), et systemes pour leur mise en oeuvre |
JP4507443B2 (ja) * | 2001-04-19 | 2010-07-21 | 日本電気株式会社 | インターリーブ方法及びインターリーブ装置 |
FR2829329B1 (fr) * | 2001-09-05 | 2003-11-28 | Canon Kk | Procedes de turbocodage a entrelaceurs verrous, et systemes pour leur mise en oeuvre |
FR2860360B1 (fr) * | 2003-09-29 | 2005-12-09 | Canon Kk | Dispositif de codage /decodage utilisant un codeur/decodeur de reed-solomon |
US7240236B2 (en) * | 2004-03-23 | 2007-07-03 | Archivas, Inc. | Fixed content distributed data storage using permutation ring encoding |
US8478865B2 (en) * | 2007-10-09 | 2013-07-02 | Cleversafe, Inc. | Systems, methods, and apparatus for matching a connection request with a network interface adapted for use with a dispersed data storage network |
CN109036440B (zh) * | 2017-06-08 | 2022-04-01 | 腾讯科技(深圳)有限公司 | 多人会话的方法及*** |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1500132A (en) * | 1974-03-07 | 1978-02-08 | Standard Telephones Cables Ltd | Multi-level data scramblers and descramblers |
US4488302A (en) * | 1983-02-11 | 1984-12-11 | At&T Bell Laboratories | Burst error correction using cyclic block codes |
US4567594A (en) * | 1983-06-07 | 1986-01-28 | Burroughs Corporation | Reed-Solomon error detecting and correcting system employing pipelined processors |
US4907233A (en) * | 1988-05-18 | 1990-03-06 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | VLSI single-chip (255,223) Reed-Solomon encoder with interleaver |
US5438590A (en) * | 1993-05-24 | 1995-08-01 | Comstream Corporation | Transmitting and receiving apparatus and method including punctured convolutional encoding and decoding |
US5844989A (en) * | 1995-06-05 | 1998-12-01 | Matsushita Electric Industrial Co., Ltd. | Data scrambling method, data scrambling apparatus, data descrambling method, and data descrambling apparatus |
US5966447A (en) * | 1996-06-04 | 1999-10-12 | Matsushita Electric Industrial Co., Ltd. | Data scrambling method, data scrambling apparatus, data descrambling method, and data descrambling apparatus |
US6034996A (en) * | 1997-06-19 | 2000-03-07 | Globespan, Inc. | System and method for concatenating reed-solomon and trellis codes |
US6151296A (en) * | 1997-06-19 | 2000-11-21 | Qualcomm Incorporated | Bit interleaving for orthogonal frequency division multiplexing in the transmission of digital signals |
-
1998
- 1998-12-23 DE DE69837077T patent/DE69837077T2/de not_active Expired - Lifetime
- 1998-12-23 EP EP98403283A patent/EP0928071B8/en not_active Expired - Lifetime
- 1998-12-30 KR KR1019980062589A patent/KR100341266B1/ko not_active IP Right Cessation
- 1998-12-30 CN CNB981259502A patent/CN1213541C/zh not_active Expired - Fee Related
- 1998-12-30 US US09/222,849 patent/US6370670B1/en not_active Expired - Fee Related
-
1999
- 1999-01-04 JP JP00024199A patent/JP4124893B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
KR19990063573A (ko) | 1999-07-26 |
US6370670B1 (en) | 2002-04-09 |
KR100341266B1 (ko) | 2002-09-18 |
JPH11298339A (ja) | 1999-10-29 |
DE69837077T2 (de) | 2007-06-21 |
DE69837077D1 (de) | 2007-03-29 |
CN1213541C (zh) | 2005-08-03 |
JP4124893B2 (ja) | 2008-07-23 |
EP0928071B1 (en) | 2007-02-14 |
EP0928071A1 (en) | 1999-07-07 |
EP0928071B8 (en) | 2007-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1213541C (zh) | 交错器,编码、译码设备和方法,置换方法及其*** | |
CN1235343C (zh) | 交织方法、交织装置以及存储交织模式产生程序的媒体 | |
CN1172474C (zh) | 公用密钥密码***方法及设备 | |
CN1866751A (zh) | 一种低密度奇偶校验码的构造方法及装置 | |
CN1855731A (zh) | 解码装置及解码方法 | |
CN1294540C (zh) | 编解码坐标内插符关键字数据和关键值数据的装置 | |
CN1295884C (zh) | 信息发送装置、信息发送方法、信息接收装置和信息接收方法 | |
CN1186714C (zh) | 高基除法器及方法 | |
CN1208920C (zh) | 数据传输方法,数据传输***,发射装置和接收装置 | |
CN101047390A (zh) | 解码设备、控制方法及程序 | |
CN1960190A (zh) | Ldpc码校验矩阵构造方法及利用该方法的编码解码装置 | |
CN1751516A (zh) | 用于发送和接收映象数据的强势*** | |
CN1956368A (zh) | 基于单位阵及其循环移位阵的ldpc码向量译码装置和方法 | |
CN1582578A (zh) | 用于多种数据类型的传输和接收的映射*** | |
CN101069356A (zh) | 解码装置以及通信装置 | |
CN1640142A (zh) | 对小波变换系数进行编码的方法和设备 | |
CN1543076A (zh) | 用于在有连续最小距离长度限制的情况下进行调制/解调的设备与方法 | |
CN1650561A (zh) | 音频数据编码转换发送方法以及编码转换接收方法、设备、***和程序 | |
CN1262072C (zh) | 码分多址移动通信***中的编码/解码设备和方法 | |
CN1692557A (zh) | 编码设备、编码方法、编码程序、解码设备、解码方法、和解码程序 | |
CN1922643A (zh) | 加密***、加密装置、解密装置、程序和集成电路 | |
CN101040306A (zh) | 伪随机数生成装置 | |
CN1189019A (zh) | 包括结合多维调制的乘积码的数字传输***与方法 | |
CN1199177C (zh) | 可抑制电路规模能进行高速纠错的纠错装置和解码装置 | |
CN1201494C (zh) | 最大后验概率译码方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20050803 Termination date: 20131230 |