用于使用群环中的零因子和单位生成纠错和检错码的方法和设备的制作方法

文档序号:7540040阅读:404来源:国知局

专利名称::用于使用群环中的零因子和单位生成纠错和检错码的方法和设备的制作方法
技术领域
:本发明涉及编码,具体地涉及包括纠错和检错码的码的生成。
背景技术
:编码理论,尤其纠错和检错码的使用是除了源编码、调制和加密以外现代电信系统的核心组成部分之一。纠错和检错码的使用是通信系统的基本工具。纠错码被用来在空间和时间上的通信期间保护数据。这些码可被用来在空间通过"嘈杂的"信道安全地传送数据,诸如无线通信信道、光纤或以太网链路、数字电缆或数字用户线路(DSL)、卫星通信信道或深空间通信信道。信道的嘈杂意味着在传输期间数据有被损坏或破坏的可能性。纠错码也被用来在时间上保护数据通信,例如通过保证在诸如标准硬盘、盘、CD、DVD和计算机存储器那样的数据存储介质上的数据不会随时间损坏。用于差错控制的编码的最基本的形式之一是把奇偶校验位加到二进制数据串上。这可以检测何时发生一个差错。然而,如果发生两个差错,则接收者将不知道出现差错。通常,由码提供的更大量的差错控制位导致更好的检错/纠错能力,但导致每次传输较少的信息内容。所以,希望生成在差错处理能力与信息内容之间提供平衡的码。正在使用的大多数现有的码是循环码。循环码有时被称为多项式码,原来是循环群的零因子(zero-divisor)群环码。群环(groupring)通常是一种代数结构,其中对于给定的群G和给定的环R,群环RG由范式Z"(g)g的所有元素组成,其中ot(g)eR,并且仅仅有限数目的a(g)是非零的。当G={gl,g2,...,gn}是有限的时,则RG由所有的|>,&组成,其中otieR。群环RG因此可被认为是R上的模,基底由G的元素组成,相乘关系由G的元素的巻积型乘法连同分配率来确定。任何模的子模是该模的非空子集,其自身也是一个模。当R是一个域时,RG常常被称为群代数。大家知道,群环可被看作为矩阵的环。群G在环R上的群环RG是某些被称为RG矩阵的矩阵在R上的环。在代数上或更精确地,如果G是n阶的群,R是环,则存在单射小RG—Rnxn,把群环RG映射到在R上的nxn矩阵的环的子环;这个R,的子环是RG矩阵的集合。如果ueRG,则用U表示(j)(u),即,用相应的大写字母表示在())下的u的象。如果U也是RG矩阵,则它在())下的逆象用相应的小写字母u表示。重要的是注意,假如RG矩阵的第一行(或列)是已知的,则整个矩阵是已知的。因此,给定群环的元素u和群乘法后,可以确定相应的矩阵U。循环码包括诸如BCH、Reed-Solomon、Golay与Hamming码等重要的码。许多现有的码一般是由从循环群环的零因子而来的矩阵而4皮生成的。现有的码也是交换码,本发明的目的是提供非交换码。现有的方法,尤其在码是随机生成的情况下,常常在检验矩阵方面给出码,并且提供生成器矩阵在计算上是不可能的。本发明的另一个目的是代数地并且同时地提供检验矩阵和生成器矩阵。本发明的再一个目的是提供用于生成许多更新的、有用的和感兴趣的码,包括低密度奇偶校验(LDPC)码、自对偶(self-dual)型码和正交码。
发明内容因此,本发明提供生成具有特定于其预期用途的属性的码的方法,该方法包括以下步骤a)从群的集合中选择一个群;b)从环的集合中选择一个环;c)由所述选择的群和选择的环形成群环;d)从所述群环选择生成器u元素,其中所述选择是基于要生成的码的所需属性;以及e)把所述选择的生成器元素u输入到码生成过程,得到相应的检验元素。要生成的码可以是非循环群的零因子码,其中选择生成器元素的步骤包括选择零因子元素。替换地,要生成的码可以是单位(unit)码,其中选择生成器元素的步骤包括选择单位(unit)元素。要生成的码可以是低密度奇偶校验(LDPC)码,其中选择生成器元素的步骤包括选择与群的大小相比具有少量非零系数的元素。码属性可包括码距离和/或码长度和/或码率。所述方法还可包括以下步骤f)把所述生成器元素和所述检验元素映射到对应的一对编码和译码矩阵。希望地,该方法还可包括以下步骤g)使用编码和译码矩阵对生成的码进行估计。除了计算码率以外,估计可包括计算码距离和/或码周长。希望地,该方法还可包括以下步骤h)在执行步骤a)和b)时使用估计的结果作为反馈,重复步骤a)到e)。附加地或替换地,步骤a)和b)可包括使用在选择过程中打算使用生成的码的系统的特性。附加地或替换地,步骤a)和b)包括在它们的选择过程中使用预定的选择准则。步骤d)还可包括以下步骤确定所述选择的生成器元素u是否为零因子。步骤d)还可包括以下步骤如果所述选择的生成器元素U是零因子元素,则确定群环的匹配元素v满足uv-O,或如果所述生成器元素u是一个单位(unit),则确定群环的匹配元素V满足uv=l。步骤e)还可包括以下步骤把所述匹配元素v输入到所述生成过程。本发明还提供用于生成具有特定于其预期用途的属性的码的设备,该i殳备包括用于从群的集合中选择一个组的装置;用于从环的集合中选择一个环的装置;用于由所述选择的群和选择的环形成群环的装置;用于从所述的群环中选择生成器元素u的装置,其中所述选择是基于要生成的码的所需属性;以及码生成器,被配置为接收所述选择的生成器元素u以及生成相应的检验元素。根据本发明的一方面,要生成的码可以从非循环群的零因子码得出,以及用于选择生成器元素u的装置可以被配置为选择零因子元素。根据本发明的一方面,要生成的码可以从单位码得出,以及用于选择生成器元素u的装置可以被配置为选择单位元素。根据再一个方面,要生成的码可以是低密度奇偶校验(LDPC)码,以及用于选择生成器元素的装置可以被配置为选择与群的大小相比具有小数目的非零系数的元素。码属性可包括码距离和/或码长度和/或码率。所述设备还可包括用于把所述生成器元素和所述检验元素映射到相应的一对编码和译码矩阵的装置。希望地,该设备还包括用于使用编码和译码矩阵对生成的码进行估计的生成码分析器。生成码分析器可被配置为计算码率。替换地,或除了计算码率以外,生成码分析器可以被配置为计算码周长和/或码距离。根据一个方面,用于选择群的装置和用于选择环的装置可以被配置为使用生成码分析器的结果作为反馈。用于选择群的装置和用于选择环的所述装置可以被配置为使用打算使用该生成的码的系统的特性。用于选择群的装置和用于选择环的所述装置可以被配置为在它们的选择过程中使用用户输入。希望地,用于从所述群环中选择生成器元素的装置还包括用于确定所述选择的生成器元素U是否为零因子元素的装置。优选地,用于从所述群环中选择生成器元素的装置被配置为如果所述选择的生成器元素u是零因子元素,则确定群环的匹配元素V满足UV:0,或如果所述生成器元素u是一个单位,则确定群环的匹配元素v满足uv=l。优选地,码生成器被配置为接收所述匹配元素v并且在它的码生成过程中使用所述匹配元素。将会看到,通过本发明的方法生成的码可被用来编码数据,用于在通信系统中在通信信道上传输。还将会看到,通过本发明的方法生成的码可被用来编码数据,用于在数据存储介质上存储。在一个这样的使用中,数据可以是数字数据。还将会看到,通过本发明的方法生成的码可被用来编码加密的消息,所述加密的消息通过使用公钥密码术被加密,其中所述生成器u用作公钥,所述检验元素用作私钥。将会看到,本发明的方法对于新生成的码允许生成器和检验矩阵可被容易地得到。这是可实现的,因为许多群环码可以通过使用在群环与某些矩阵之间的已得出的关系以矩阵的形式被给出。以本发明的方式使用群环码也能得到新的自对偶码和新的低密度奇偶校验(LDFC)码。这允许用该方法代数地构建在本发明以前不存在的这些类型的新码。能够生成"定购"的码的优点是没有限制的。例如,根据本发明,有可能从所述群环中选择生成器元素,以保证生成的码例如将是研究表明具有良好距离的码。一种这样的码可以是通过使用少量群环元素得出的LDPC码。在另一个例子中,有可能从所述群环中选择生成器元素,以保证所生成的码将具有需要的码率,例如如果为了改进速度而需要大码率的话。同样地,对于码距离,优选地可以具有大距离的码,以使得码校正时间最小化。将会看到,本发明的方法不限于从群环矩阵生成码。方法可以使用于任何可逆矩阵。因此,本发明还提供生成具有特定于其预期用途的属性的码的方法,该方法包括以下步骤i)从非奇异矩阵选择生成器元素,其中所述选择是基于要生成的码的所需属性;以及j)把所述选择的生成器元素输入到码生成过程,得出生成器和检验矩阵。本领域技术人员将会看到,本发明可被具体实施为方法、数据处理系统或计算机程序产品。因此,本发明可以采用完全硬件的实施方式、完全软件的实施方式或者组合软件和硬件方面的实施方式。而且,本发明可以采用在计算机可读存储介质上的计算机程序产品的形式,在介质上包含计算机可读程序码装置。现在参照显示本发明的实施方案的附图来举例描述本发明。然而,本发明可以以许多不同的形式体现,而不应当看作限于这里阐述的实施方案;提供这些实施方案是为了使本公开内容充分完整,并将本发明的范围充分表达给本领域的技术人员。图l是代表根据本发明的一方面的码生成方法的流程图。图2显示图1所示的方法的元素选择和码生成过程。具体实施例方式本发明提供用于开发和部署码的新方法和系统。要生成的码的一个可能的应用可以是在数字通信和存储系统中用于纠错或检错。通过本发明的方法生成的新类型的码是在被称为群环的代数结构中的零因子和单位。在群环中这些单位和零因子被用来得到矩阵。这些矩阵是在编码过程中使用的生成器矩阵和在译码过程中使用的奇偶校验矩阵。群环码令RG是群G在环R上的群环。R经常被称为域,但不限于此。如果R是域,则RG常常被称为群代数。群环RG被说成是在R上的模。子模是一个非空子集,本身也是一个模。令G={gl,g2v..,gn}。这个集合是在环R上的模RG的基底。令ueRG。图1显示根据本发明的一方面的码生成方法的步骤。该方法包括群选择过程120和环选择过程124,它允许对于群环形成步骤127确定群和环的适当的组合。选择过程可以包含用户输入110,111、预定的选择准则112,113或反馈准则114,115,以帮助确定用于码生成的适合的群和环组合。一旦确定群和环的适当的组合,它们就被输入到群环形成过程127。一旦群环被形成,接着就需要按照某些准则从所述群环128中选择特定的元素。所选择的元素被称为生成器元素,接着被输入到产生相应的检验元素的码生成过程130。然后,根据本发明,所述生成器和检验元素可被映射到相互对应的一对编码132和译码136矩阵,作为编码矩阵132和允"^午相应的检验或译码矩阵136,皮生成。这个码生成步骤130代表这里描述的主要的发明。在某些情形下,所述编码和译码矩阵132、136可以被码分析器140用来允许测试和经验估计生成的码,包括计算它们的属性,诸如码率、周长和距离。这些数据可以经由反馈准则114被提供到下一个码生成周期,因此允许在某些实施例中选择地改进码生成过程。在替换实施例中,反馈可以从利用基于码的纠错和/或加密的工作的通信链路或数据接口得出。在这样的实施例中,反馈准则114、115还可以依赖于通信链路或数据接口的特性。因此,公开的本发明可以被配置为允许响应于链路/接口条件的改变动态地生成码。一旦确定具有满意的属性的最后的码组,就可以输出这些码在现有技术通信和加密系统中使用。下面参照图2详细地描述元素选择128和码生成130步骤。首先,我们注意到,形成群环的步骤127也将确定群环的元素。以后将包括数学细节。应当指出,在其中利用复杂的群环结构的本发明的某些实施例中,在步骤127后可能需要附加处理步骤,用来在主要元素选择过程128之前消除某些元素。然而,在本发明的大多数有用的实施例中,对于已知的应用,群环通常生成相对较小的元素集合,从群和环确定的特定的属性被用作为步骤120和124的输入。图2显示对于其中群环是群代数的情形的元素选择和码生成过程。这个实施例对于其中利用数字数据的现代通信或数字信息处理系统是特别有用的。典型地,所利用的环将是具有最广泛的应用的Z2,虽然其它领域对于某些专门的通信或信息处理系统也是贴切的。元素选择过程128包括从在步骤127形成的群环的元素集合中选择生成器元素128-2的附加子步骤。这个元素u然后被测试,以确定它是否零因子元素128-4;在是这样的情形下,可以确定群环的匹配元素v,以使得uv-O,128-6。这些元素和元素u是零因子的事实然后被输入到下一个码生成的步骤130。如果选择的元素不是零因子元素,则在给定我们将描迷其中群环限于群代数的实施例后,它必须是单位元素。在这种情形下,我们确定群环的匹配元素v,以使得uv-l。在128-8,这些元素替换地将被输入到码生成步骤130。我们注意到,在某些实施例中,可能希望限制元素为零因子或单位,取决于应用。在许多情形下,这将根据在步骤120和124期间选择的群和环自然地发生。接着将描述码生成步骤130。这个步骤主要依赖于通过单射(J)把群环元素uv映射到相应的群环矩阵130-2:RG~>Rnxn。实施方案的几个实际例子在后面给出。实际上,这个单射或映射的形式由在步骤120选择的群的属性被预先确定,但它必须在步骤130-1下被计算地实现。在本发明的实施例所限于的情形下,比如说,单个群族,诸如阶数n的二面体群,这个单射可被实现为具有单个输入参数n的简单的计算机脚本。然而,在更复杂的实施例中,可能必须通过使用符号处理程序,诸如MATEMATICA,MAPLE或GAP,或通过独立的计算机程序和二者的组合而实施这个单射,正如本领域技术人员已知的。在步骤130-2后,码生成器需要输出对应于群环元素u的矩阵作为编码矩阵130-4和对应于群环元素v的矩阵作为译码元素130-5。这些输出132和136以及生成的码(零因子或单位)134的范式形成码生成过程130的输出。本发明的方法的实施方案的例子使用阶数8的二面体群的零因子码的例子阶数8的二面体群Ds是非交换的。它的元素是U,y,yy、x,xb,xb2,xb3},其中y4-l,x、l,yx-xy—1。这个群G的RG矩阵具有卩^的形式,其中A,B具有以下的形式。(A是循环型,B是Hankel型)/1-对于系数,有许多选择。例如假设我们选择元素u=b2+a+ab+ab2和v=l+b+b3+ab3。则在R=Z2_L,uv=0。这对应于在A中令p=0=q=s,r=l和在B中令a=l=b=c,d=0。这给出对应于u的RG矩阵为如下<formula>formulaseeoriginaldocumentpage15</formula>"010111000111011000101101000I11111000101101000110I11000、0工11010o.p是零因子,它显然也J〈11010001、111000100111000101000100000010111001000111、1000101I乂"IT我们因此具有编码R4—R8:令x-o^g一a2g2+a3g3+(X4g4和x^xu。如果且仅仅如果cv-O,则c是一个码字。在矩阵形式下,可以看到,P的顶部部分W可被看作是生成器矩阵和Q的第二部分的转置,IT1是检验矩阵。这个码具有距离d-3,长度8和维数4。二面体群的群环的结构也可以使用计算机代数包被具体实施,正如更一般地在以下的例子中描述。使用双环单位的LPDC码的二面体例子取阶数2n的二面体群D2n-〈a,b:a2,b^l,ab-b"a^应当指出,n可以是如我们喜欢的那样大。通过如上所述地取a,b,我们得到双环单位l+(l-a)M,在这种情形下是来自关系式的u-l-b+b^+ab-abn-1,在这个单位中只有5个元素。它的逆是ir^l+b-b"-ab+ab"。我们可以在计算机代数包GAP中构建这个群的群环为如下#这个GAP程序构成阶数n的二面体群的群环。#n首先被选择并且必须为偶。我们也可以选择它,使得对于质数p具有n=2p#的形式,但这通常不是必要的。井这里的域是F,我们必须首先定义它。这里,我们取弁F-GF(2)二个元素的二元域,但是也存在其他可能性。弁元素f被选择,因为我们知道它的逆存在,因为它是双环单位。F:=GF(2);#确保n已经被定义。bjDN:-DihedralGroup(n);RDM:=FreeMagmaRing(F,DW)jemb:=Embedding(DN,RDM)"gens:-List(GeneratorsOfGroup(DN〉,x_>x""e迈b〉"'y:=gens[2];one:-Identity加M);u:=one-y十y一(n/2-l)+x*y-x*y:(n/2-l)#从理论可知u的逆具有以下形式uinverse:-one+y-y""(n/2-l)_x*y+x*y""(n/2_l)j#只检查uinverse是否为u的逆u*uinverse;#答案应当为"1"。弁如果不知道u是否有逆,也可以通过以下命令寻找u的逆。uinverse:=Inverse(u)j#一旦有了u和它的逆,就可以如上所迷地构建单位码生成器矩阵和检验。通过应用[1中的结果,u的矩阵U直接被给出为如下:<table>tableseeoriginaldocumentpage17</column></row><table>考虑从如前所述的这个单位得到的(2n,n)码C。这个码的生成器矩阵是(A,B),即U的顶部部分,以及是nx2n矩阵。它自动具有秩n。u"的矩阵是<formula>formulaseeoriginaldocumentpage18</formula>码C的检验矩阵是(Dt,Ct),它是以上的垂直线的右面的矩阵的转置。这些矩阵是"稀疏的"。以上的所有的部分对于任何环R成立。具体地,考虑R=Z2=GF(2),二进制域。这里,应当指出,u"-u,以及A-C和B-D。如果我们把这个看作为编码Rn—R2n,则我们具有(2n,n)码,其中生成器和检验矩阵分别是(A,B)和(Bt,At)的转置。这是LDPC码,它也是自检验。使用群环结构的单位得出的循环码的结构的例子以下的MAPLE程序构建循环LDPC单位得出的码。生成器矩阵从A得出,检验矩阵从B得出。并输入n;确保11>12。如果n不是"2,则fh的公式应当改变。#为了保证得到逆,对于质数p,取n-2p。n;并检查n是否被输入,nK=trunc((iO/2):f:=g、-1;;t+g,+g-5+g—(ra)+g一(边+4〉;Gcdex(fh,f,g,)s1,边od2,'id:-rem(fh*fhinver3e,:f,g);wlth(LlneaxAlgebra);井读取"circ—poly.map,,;这个函数在下面给出。circ—polyproc(f,description"formacirculantmatrixfromthepolynomialinz2";locali,j,M,term;M:=Matrix(n+l,n十l);forifrom0tondoforjfrom0toiidoM[j+i,1+((i+j〉mod(n+1))]:=coeff(f'g,i);od;returnendproc)circ—poly(fb,g'n-1)B:=circ一poly(fliiirverse,g,ii-l);#生成器矩阵从A取得,检验矩阵从B取得。#码的比率根据我们使用A的哪个部分来判断-参考单位群码的描述。弁下面我们使用并比率-m/n,当n是偶数时,它是1/2;当n是奇数时,它是l/2-l/2n。#矩阵在被使用时应当被转换为模2矩阵。CheckCodel:-B[l.(m+艾).』];ChedcCode:=Transpose(ChedcCodel),'使用交替型单位得到LPDC码良好的LDPC码的另一个源可以从循环群环的交替单位得到。见用于交替单位的完整说明的[3。这些是在阶数2的循环群中的以下形式的单位c一l-计=1-工+-2-…+(-l广v陽i其中2〈c〈n,n是奇数以及(c,2n"l(所以,c也必须是奇数)。这里当c是小的时,ge(x),与n相比较,只具有小数目的非零系数,以及ge(X)"具有大数目的系数。对应于ge(X)的矩阵然后在每个行和列中将具有小数目元素,以及对应于ge(x)"的矩阵通常在每个行和列中将具有n/2的阶数的元素。我们因此从单位gc(X)"适当地取我们的生成器矩阵和从ge(X)取我们的检验矩阵。交替的单位的逆可以通过使用欧几里得算法得到,因此对于给定的交替的单位(它可被选择为具有小的加权),可以非常快速地构建逆。以下的程序产生从其得出码的单位交替元素#该程序构建循环群环的交替单位,找到它的逆,并且求出产生生成矩阵和#检验矩阵的相应RG矩阵。n是循环群的阶数,c是满足2<c<n并且(c,2n)=l的数。#对于域没有限制,并且它可被认为是基于整数的码。算法是非常快的并且可以井使用大的数字。n;弁确保n已被输入c;^确保c已被输入g:=8咖((-x广i,i-0...c-l)jf:=x一n-1:j-=gcdex(g,f,x,,s,,,tJ)jgiiwerse:-id:-rem(g*ginverse,f,x);A:=circ—poly(g,x,n-l);B:=circ—poly(ginverse,x,n-l);#在这种情况下,A给出了检验矩阵,B给出了生成矩阵,#如果c与n相比较小,则我们得到LDPC码。例如,如果n-17,c-3,贝'J"(a;)-1=a;+a:2——-6+xT+I8—I10-工"+3+:但";然后,检验矩阵在每个行和列中只具有3个元素。其它LDPC码例子我们可以通过考虑其它单位和零因子同样地构建其它LDPS码。以下是感兴趣的情形。LDPC码具有大的周长,至少大于或等于6,是有用的。然后考虑由x生成的阶数m的循环码Cm,以及形成直接乘积G-CmXC2,其中C2由y生成。形成在三个元素的域上G的群环GF(3)G。元素f(x)=l+x2-x*y+x2*y具有在这个群环中的逆。它被这样地构建,以使得相应的矩阵的维数是大的。对应于f(x)的矩阵是稀疏的,虽然它的逆不是稀疏的--该逆在每个行和列中具有大于m/2个元素。我们形成如上所述的维数m的码,用于形成单位群环码,使用逆得到生成的矩阵和使用f(x)得到检验矩阵。以下的程序产生群环、相关的单位和它的逆。#这是一个GAP程序,用于构建阶数n的循环群C一n和阶数2的循环群C_2弁在域F上的直积的群环。在这种情况下,我们取F为GF(2),两个元素之上的#二元域。所需的大小n必须首先被输入和存储。在群环中的元素f被选择和弁验证是否为一个单位——这是命令'finverse:-Inverse(f);,。如果逆存在,则它#被发现,然后继续在其他地方所描述的单位群环码。根据这些考虑,所构建的#f的逆下面一直存在。F:-GF(3);C一n:=CyclicGroup(n);C一2:-CyclicGroup(2);DP:=DirectProduct(C—n,C_2)jRM:-FreeMagmaRing(F,DP)je迈b:-Embedding(DP,RM),'gens:=Li3t(GeneratorsOfGroup(DP),x->x-emb);s:-Size(gens);x:=g咖U〕;y:=gens[sj;one:=Identity(RM);f:aone+x一2-+x""4r丰y)finverse:=Inverse(f);对于这个群环的RG矩阵具有形式5、其中A,B是循环形矩阵(对应于循环群环的RG矩阵).查看对于f的群环形式,我们看到,A是具有第一行(1,0,1,0,…,0)的循环矩阵和B是具有第一行(O,l,O,-l,O,...,O)的循环矩阵。因为f是'稀疏的,,我们取f给出检验矩阵和取它的逆给出(2n,n)码,比如说C,的生成器矩阵。在这种情形下,f的逆不是稀疏的,以及具有n个非零系数的阶。因此,码C的检验矩阵是(BtlAt)。这个检验矩阵在每个行和列中具有至多四个非零项;码是LDPC码。验证的维数。虽然这里描述了优选实施例,但有可能有许多变例,仍旧是在本发明的概念、范围和精神内,以及这些变化在本领域技术人员研读后变为明显的。数学说明群环码的定义令W是群环RG的子模。W的群环编码是从W映射到RG,其中X4xw或x4wx,对于xeW,以及在把u固定在RG中。如果X4WX,则它是左群环编码,而如果xh^xw,则它是右群环编石马。群环码是群环编码的象。因此,群环码是(ux:VxeW,u(fixed)eRG)或(xu:VxeW,u(fixed)eRG}。通常,和xh^wx是不同的。i口果对于戶斤有的x,xu=ux,则我们说,码(xu)(或iux))是可交换的;否则,码被说成是不可交换的。当u是零因子时我们说码是零因子(RG)码,以及当u是单位时我们说码是单位(RG)码。我们考虑非循环群的群环的零因子码,以及单位码。当R是一个域时,在RG中的每个群环码是或者零因子码或否则是单位码。考虑其中W具有小于n的维数的情形,在许多情形下,W是由ghg2,…,gr生成的模,对于某些r〈n。然而,其中W是由gil,gi2,...,git生成的模的情形,其中l<t<n{11,12,...山}是{1,2,...,11}的子集,是有用的。应当指出,W是子模,并且不是理想的。与以前已知的码的联系。这些新的码将出现在表面上,比起以前已知的码花费更长的时间实施,但这不是这种情形。正如已指出的,一旦矩阵的第一行是已知的,RG矩阵就是已知的,这用来大大地减小这些码的时间实施。以前的码使用映射j3:R1"—Rn,其中r^n。在群环码的矩阵形式中,我们具有由a:X—XU给出的映射Fnxn~>Fnxn。现在X是具有项目0的RG矩阵,对于第一行的最后的n-r项的每个项,以及X由它的第一行确定。当X也是RG矩阵时,它由它的第一行确定。因此,映射P和a需要相同的数目的计算和相同的时间来实施。.由这个群环方法生成新的低密度奇偶校验(LDPC)检验码也是容易的。.自对偶码具有如在群环中的元素那样的简易的解译,因此容易由本方法生成。这些具体的码具有重要的应用,并且至今为止很难生成。群环零因子码假设在RG中uv-0,其中u*0和v#0。假设G的元素是(gi,g2,...,gn}以及令W是由gi,g2,…,gr生成的模。其中W是由g",gi2,…,gu生成的模的情形是类似的,并在下面进一步处理。然后零因子群环码由wu或w~>uw给出,对于wgW。在给定元素(od,(X2,…,ar)的向量后,其中otieR和i^n,我们通过令x-力a,g,编码这个向量,然后编码由x4xu给出。如果c是码字,则显然cv-0。因此v是检验元素和V是检验矩阵。我们可以假设rl秩U。其中f秩U的情形是特别有利的以及导致全秩的生成器和检验矩阵。现在假设U具有秩r以及V具有秩n-r。如果和仅仅如果Vy-O,则y是码字。如果V具有小于n-r的秩,则存在有RG矩阵V^V,Vi,V2,…,Vt,其中t<n-r,这样,如果和仅仅如果V;y-O,对于i-0,l,…,t,则y是码字。在许多情形下,我们可以找到秩n-r的V,其中t=0。这是从矩阵的已知的特性和这些RG矩阵U,V的结构得出的。作为零因子码的一般的例子的二面码使用阶数8的二面体群的零因子码的例子在举例的这一节中给出。长度2n和维数n的一般的二面码的结构为如下。阶数2n的二面体群G=D2n的元素可以列出为(l,b,b2,…,1)^1,a,.."ab"}。然后在设置u-l+a+ab+…+ab"和v=b+b2+...+bn-1+abn1后,验证uv=0。阶数2n的二面体群G=D2n的具有RG矩阵P-^"],其中A是循环形,B是Hankel型。我们取A=In和B为如下的形式:<formula>formulaseeoriginaldocumentpage25</formula>容易看到,秩P是n。矩阵P是对应于群环元素u的RG矩阵。考虑P作为Z2上的矩阵。从v找到矩阵Q,因此PQ-0—应当指出,在这种情形下得到Q使得用1替换P中的每个0和用O替换P中的每个1。这给出/<formula>formulaseeoriginaldocumentpage25</formula>=(幸)Q是对应于群环元素v的矩阵。然后,PQ-O和Q给出检验矩阵。应当指出,Q也具有秩n,因此具有全部可能的秩。现在考虑由P给出的编码a:Z211—Z22n。生成器矩阵(A,B)是nxn,以及检验矩阵是E、也是nxn。这个码具有长度2n和维数n,比率是n/(2n)=l/2。还参阅下一节,其中考虑自对偶二面体码。自对偶型码假设u-力a,g,是在群环中的元素,以及U是相应的RG矩阵。定,=1义^=|,,其中a,i是U的转置Ut的第一行的按次序的元素。如果''=1U是对称的,则显然u^u,以及在这种情形下,我们说u是对称的。容易看到,如果和仅仅如果g的系数等于在u中的g",对于群G的所有的元素g。这是容易达到的条件,没有大的限制。自对偶群环码是通过编码XBXW或Xh^wx给出的码,其中u满足uu"0。如果u是对称的,则对于自对偶群环码的条件是112=0。如果和仅仅如果u、0。,则由u给出的群环码是自检验的。现在容易产生新的自对偶码。考虑一个群环元素,它具有形式的RG矩阵,其中A,B是nxn矩阵。这可以是对于阶数n的循环群的直接乘积的情形,在这种情形下A,B是循环形矩阵,或是对于阶数2n的二面体群的情形,其中A是循环形和B是HankeI型。如果我们取A-In和B满足B2=I,则在Z2上<formula>formulaseeoriginaldocumentpage26</formula>然后码可被看作为维数n和长度2n的码,具有生成器矩阵(A,B),以及也具有检验矩阵(A,B)t,因为P^0。如果B也是对称的,则这个码是自对偶的。在&上nxn循环对称矩阵B的例子,其中n是偶数和82=1,是以下形式之一<formula>formulaseeoriginaldocumentpage26</formula>当n-4时,这给出Hamming码。Hankel型矩阵的例子,其中n是偶数和B2=I,是以下形式之-/]…io人ii...oi\oi…ii/Hankel型矩阵是自动对称的。应当指出,如果P、0,则在Z2上,(P+I)(P+I)=I;这使得我们能够通过在P的公式中用P+I替换B(和用2nx2n单位矩阵替换A)而构建自对偶码。我们因此可以从一个这样的码开始进行产生这样的码的无限的序列。考虑B为具有序列l,O,l,l,O,O,l,l,l,O,O,O,...的矩P车,其中它的第一行以零结束。我们取B为循环形矩阵或Hankel型矩阵。假设B的尺寸是2n=m(m-l),以及我们工作在乙2上。然后B2n=I和矩阵其中A-hn和C-Bn满足P、0。当被看作为映射Z^—Z4np=^cCJ时,这给出子检验码。例如,当m-3时,我们得到(12,6,4码)。对于m的其它数值,我们得到具有良好的距离特性的新的码。群环单位码我们通过查看在群环中的单位而得到新的和有用的码。这是用于构建码的完全新的方法。以前的方法在大多数情形下是零因子循环码。当同时需要加密和编码时,这种类型的编码是特别有用的。假设u是在群环RG中的单位,其中lG卜n~G={gl,g2,...,gn}。首先考虑W是由ghg2,…,gr生成的模,其中r〈n,这样,在W中的元素具有形式"=|>《,。其中W^gu,gi2,…,giJ的情形是类似的,并在下面进一步处理。我们通过w4ww或ww进行编码;这给出从W到RG的映射,从而是从R""到R"的映射。假设编码由ww给出。VV4ww的情形是类似的。如果和仅仅如果C"-S",g,,即,如果和仅仅如果在C"中的g出,…,gn的系数都是零,则c是码字。把这些称为单位群环码。我们现在描述如何得到生成器和检验矩阵。如果w,u"分别被看作为RG矩阵(Wij)和(Uij),则查看gr+1,...,gn的系数,我们具有条件<formula>formulaseeoriginaldocumentpage27</formula>这是检验矩阵条件。有n-r个条件。将会看到,有更多的检验条件,减小矩阵和选出零,但这些是以上的结果。应当指出,这些码也具有优点,乘以倒数给出原先的数据作为头r个项,以及其它n-r个项给出检验矩阵。群环单位码也可以以矩阵形式被考虑为如下。假设在群环中uv=l,以及令U,V分别是相应的RG矩阵,比如说是nxn。假设u-f兰),其中a是rxn,以及V-(cId),其中c是nxr以及D是nx(n-r)。然后UV-I是暗示AD-O。我们看到,A是生成器矩阵和W是对于精确地对应于以上阐述的群环单位码的检验矩阵。为了查看Dt是检验矩阵,首先指出,如果x-uA,则显然xD-0。另一方面,假设xD-0,则我们显示如下x-uA,对于某些lxr向量u。<formula>formulaseeoriginaldocumentpage28</formula>现在xC-u是lxr,以及x-xVU-uA,正如需要的。因此,D(是如通常描述的检验矩阵如果和仅仅如果D、t-0,即,如果和仅仅如果xD-0,则x是码字。应当指出,从这个单位群环产生的检验矩阵Dt具有完全的可允许的秩,这意味着如果A,生成器矩阵,具有秩r,则Dt(和D)具有秩n-"将会看到,这里的、从对应于群环中的单位的非奇异矩阵构建码和生成器和检验矩阵的方法作用到任何非奇异(可逆的)矩阵,不是仅仅用于RG矩阵。这实际上是用于从非奇异矩阵产生码的新的发明。因此我们可以构建群环单位码如下。令RG是在环R上的群G的群环-通常R是域,但并不是必须是域。找出RG的单位u,和元素v,这样,uv-l。选择整数r和取W^ghg2,…,gJ(或W={gil,gi2v..,git}见下面)。然后单位码是以上描述的,以及生成器和检验矩阵可以从U和V得到。在一个域上,已经知道,在RG中的每个元素或者是零因子或者是单位,存在有用于决定特定的元素是单位还是零因子的算法。还应当指出,我们可以这样构建在整数z上也是有用的码。我们所需要的是在ZG上的单位,以及用于构建这些单位的方法是已知的。其它子模现在假设W是由元素gkl,gk2,...,gkt生成的模,其中Kk卜k2<...<kr5n,这样W是所有的|>4,^的群。然后通过映射W4WU(或wh>uw),对于weW,定义码。u是单位的情形现在假设u是单位,以及uv-l和UV=1。我们考虑由whww给出的码。我们得到生成器和检验矩阵如下。令A是包含U的ki,k2,...,kr行的rxn矩阵。令D是删除V的kj,k2,.."kr列的(n-r)xn矩阵。然后A是生成器矩阵和Dt是检验矩阵。对于码w4ww,我们类似地从V和U得到生成器矩阵与检验矩阵。如果ki-i,对于每个i,则我们具有头r行和U;U是U的头r行以及D是V的最后的n-r列,这对应于以上的第一种情形。将会看到,这个产生码和生成器和检验矩阵的方法作用到任何非奇异(可逆的)矩阵,不是仅仅用于RG矩阵。这实际上是用于从非奇异矩阵产生码的新的发明。将会看到,这个产生作用于对应于群环元素的非奇异矩阵的码和生成器和检验矩阵的方法作用到任何非奇异矩阵,不是仅仅用于对应于单位群环元素的非奇异矩阵。u是零因子现在假设u是零因子这里我们具有uv-O和UV=0,其中我们取U具有秩r和V具有秩n-r。假设编码是wH>ww;情形w4"w是类似的。我们知道,有U的r行是线性无关的。现在假设U的khk2,…,ks是线性无关的,其中S2。然后,我们可以选择行R,^、,k2,...,ks,W^…,Wr-J是线性无关的。令R是其中在R,中的行按从U取的次序被放置的矩阵(Wi不一定跟随在kj行后面)。把它们正好适配于正确的次序。令Ur是从R形成的矩阵,具有按次序的行。然后,Ur具有秩r和尺寸nxr。存在有nxr。矩阵C,以使得UrC-Ir。从U的行k^k2,…,ks形成矩阵,并把它称为Uk。我们的生成器矩阵A然后是这个Uk。为了得到检验矩阵,我们删除C的kl5k2,...,ks列,得到nx(r-s)矩阵,我们称它为Cw。我们现在把这个C^矩阵加到V,得到我们称为D的矩阵。这个D是nx(n-s)矩阵。它也具有秩n-s和满足UrD-0。事实上,如果和仅仅如果Dy-O,则y是码字。因此,我们的检验矩阵是D、因此,我们的生成器矩阵是Uk,和我们的检验矩阵是D、它是通过把来自C的某些r-s列加到矩阵而得到的。优点这里的优点在于,在给定uv-l和UV=I后,我们选择U的行,给予我们需要的码类型,或具有需要的距离的码。一旦行被选择,生成器和检验矩阵就立即得到。码类型虽然决不限制本发明的范围,读者可以指出,以下的码类型尤其具有理论和实际的重要性.低密度奇偶校验(LDPC)码..自对偶型码.正交码通过查看群环方法,容易找到新的和有用的自对偶码;自对偶码具有容易解译为群环码。LDPC码具有它们自己的重要性,通过查看特别类型的的群环码,容易找到新的和有用的LPDC码。编码与加密相组合单位群环码对于在一个系统中组合群环公钥密码和码是特别有用的。假设u是单位,它比如说是Alice的公钥,这样,它的逆iT1只有Alice是知道的。加密的消息也经由这个映射图被编码,这样,只有Alice知道从u"得到的译码矩阵。纠错和加密可以在一个操作中被组合。这在减小芯片设计的复杂性、节省成本方面以及从便宜的(和可靠的)通信获益的应用的数目上具有很大的潜力。正交单位码假设11=|^)是正交矩阵,这样UU"I。由于Ut-(AtlBt),我们从上面可以看到,由这个单位以块的形式生成的码具有生成器矩阵A(U的顶部部分)和检验矩阵B(U的底部部分)。我们把这个码称为正交单位码。它对应于在组合中找到一个单位u,以使得uut-l。如果在u中g和g^的系数对于所有的geG,都是相同的,则ut-u,以及条件是u、1。对于U内的A的尺寸没有限制。低密度奇偶校验码.新的低密度奇偶校验(LDPC)码容易从群环码得到。在检验元素是短的场合下或等价地在检验矩阵在每个行和列中,比起矩阵的尺寸具有更少的非零元素的场合下需要找到零因子码或单位码。稀疏的或LDPC组合码是通过找出单位元素ueRG以使得u和u"与群的大小相比只具有小数目的非零系数而得到的。现在容易从群环给出整个系列这样的码。在非交换的群环中存在有被称为双环单位的单位,它具有良好的特性和相当容易构建的。它们存在于大多数非互换的群环中。假设a在一个群中具有阶数m,并且定义"g",。则(卜咖=0。令b是在群中的、不与"交换的任何元素。则《=(1-")M满足a、0,以及u-l+a是一个单位。作为b的u-l不与a交换。另外iT^l-a。这些是双环单位。。的阶数m与由。、6生成的群的阶数相比较不一定是大的,这样,最终得到的检验矩阵(和生成器矩阵)是稀疏的,因为u"和u是短的。参阅使用在二面体群中双环单位的LDPC的"实施方案的例子,,下的以上的例子。在例子中构建的是使用从具有优越的距离特性的两个循环群的直接乘积形成的单位群环的LDPC码。许多其它的群也可以被用来这样地生成新的LDPC码。LDPC码的周长对于译码是重要的,以及新的码可被构建具有良好的周长。单词"包括,,和单词"具有/包括,,当对于本发明在这里使用时被用来规定所阐述的特性、整体、步骤或部件,但不排除一个或多个其它特性、整体、步骤、部件或它们的组的存在或添加。将会看到,本发明的某些特性-为了清晰起见,在分开的实施例的上下文中描述的-也可以在单个实施例中组合地被提供。相反,本发明的各种实施例-为了简略,在单个实施例的上下文中描述的-也可以分开地或以任何适当的子组合被提供。权利要求1.一种生成具有特定于其预期用途的属性的码的方法,该方法包括以下步骤a)从群的集合中选择一个群;b)从环的集合中选择一个环;c)由所述选择的群和选择的环形成群环;d)从所述群环选择生成器u元素,其中所述选择是基于要生成的码的所需属性;以及e)把所述选择的生成器u元素输入到码生成过程,得到相应的检验元素。2.权利要求l的方法,其中要生成的码是非循环群的零因子码,以及选择生成器元素的步骤包括选择零因子元素。3.权利要求l的方法,其中要生成的码是单位码,以及选择生成器元素的步骤包括选择单位元素。4.权利要求1的方法,其中要生成的码是低密度奇偶校验(LDPC)码,以及选择生成器元素u的步骤包括选择与群的大小相比具有少量非零系数的元素。5.任何前述权利要求的方法,其中所述码属性包括码距离。6.任何前述权利要求的方法,其中所述码属性包括码长度。7.任何前述权利要求的方法,其中所述码属性包括码率。8.任何前述权利要求的方法,还包括以下步骤f)把所述生成器u元素和所述检验元素映射到相互对应的一对编码和译码矩阵。9.权利要求8的方法,还包括以下步骤g)使用所述编码和译码矩阵对生成的码进行估计。10.权利要求9的方法,其中所述估计包括计算码率。11.权利要求9或权利要求10的方法,其中所述估计包括计算码周长。12.权利要求9到11的任一项的方法,其中所述估计包括计算码距离。13.权利要求9到12的任一项的方法,还包括以下步骤h)在执行步骤a)和b)时使用估计的结果作为反馈,重复步骤a)到e)。14.权利要求9到12的任一项的方法,其中步骤a)和b)包括使用在选择过程中打算使用生成的码的系统的特性。15.权利要求9到12的任一项的方法,其中步骤a)和b)包括在它们的选择过程中使用用户的输入。16.权利要求9到12的任一项的方法,其中步骤a)和b)包括在它们的选择过程中使用预定的选择准则。17.任何前述权利要求的方法,其中步骤d)还包括以下步骤i)确定所述选择的生成器元素u是否为零因子元素。18.权利要求17的方法,其中步骤d)还包括以下步骤ii)如果所述选择的生成器元素u是零因子元素,确定所述群环的匹配元素v满足uv-0,或iii)如果所述生成器元素u是单位元素,确定所述群环的匹配元素V满足uv=l。19.权利要求18的方法,其中步骤e)还包括以下步骤把所述匹配元素v输入到所述码生成过程。20.—种用于生成具有特定于其预期用途的属性的码的设备,该设备包括a)用于从群的集合中选择一个群的装置;b)用于从环的集合中选择一个环的装置;c)用于由所述选择的群和选择的环形成群环的装置;d)用于从所述群环中选择生成器元素u的装置,其中所述选择是基于要生成的码的所需属性;以及e)用于接收所述选择的生成器元素u以及生成相应的检验元素的码生成器。21.权利要求20的设备,其中要生成的码是非循环群的零因子码,以及用于选择生成器元素u的装置被配置为选择零因子元素。22.权利要求20的设备,其中要生成的码是单位码,以及用于选择生成器元素的装置被配置为选择单位元素。23.权利要求20的设备,其中要生成的码是低密度奇偶校验(LDPC)码,以及用于选择生成器元素的装置被配置为选择与群的大小相比具有少量非零系数的元素。24.任何前述权利要求的设备,其中所述码属性包括码距离。25.任何前述权利要求的设备,其中所述码属性包括码长度。26.任何前述权利要求的设备,其中所述码属性包括码率。27.任何前述权利要求的设备,还包括f)用于把所述生成器元素u和所述检验元素映射到相互对应的一对编码和译码矩阵的装置。28.权利要求27的设备,还包括g)生成码分析器,用于使用所述编码和译码矩阵来估计生成的码。29.权利要求28的设备,其中所述生成码分析器被配置为计算码率。30.权利要求28或权利要求29的设备,其中所述生成码分析器被配置为计算码周长。31.权利要求28到30的任一项的设备,其中所述生成码分析器被配置为计算码距离。32.权利要求28到31的任一项的设备,其中用于选择群的装置和用于选择环的所述装置被配置为使用所述生成码分析器的结果作为反馈。33.权利要求28到31的任一项的设备,其中用于选择群的装置和用于选择环的所述装置被配置为使用打算使用生成的码的系统的特性。34.权利要求28到31的任一项的设备,其中用于选择群的所述装置和用于选择环的所述装置被配置为在它们的选择过程中使用用户输入。35.权利要求28到31的任一项的设备,其中用于选择群的所述装置和用于选择环的所述装置被配置为在它们的选择过程中使用预定的选择准则。36.任何前述权利要求的设备,其中用于从所述群环中选择生成器元素的所述装置还包括用于确定所述选择的生成器元素u是否为零因子元素的装置。37.权利要求36的设备,其中用于从所述群环中选择生成器元素的所述装置被配置为如果所述选择的生成器元素u是零因子元素,则确定群环的匹配元素v满足uv-O,或如果所述选择的生成器元素u是单位元素,则确定群环的匹配元素V满足uv=l。38.权利要求37的设备,其中所述码生成器被配置为接收所述匹配元素v并且在它的码生成过程中^f吏用所述匹配元素。39.通过权利要求1到14的任一项的方法生成的码的一种用途,生成的码被用于编码数据以在通信系统中的通信信道上传输。40.通过权利要求1到14的任一项的方法生成的码的一种用途,生成的码被用于编码数据以在数据存储介质上存储。41.如在权利要求29或权利要求30中所述的用途,其中数据是数字数据。42.通过权利要求1到14的任一项的方法生成的码的一种用途,生成的码被用于编码加密的消息,所述加密的消息通过使用公钥密码术被加密,其中所述生成的元素u用作公钥,所述检验元素用作私钥。43.—种生成具有特定于其预期用途的属性的码的方法,该方法包括以下步骤a)从非奇异矩阵中选择生成器元素,其中所述选择是基于要生成的码的所需属性;以及b)把所述选择的生成器元素输入到码生成过程,得到相应的检验元素。44.权利要求43的方法,还包括以下步骤c)把所述生成器元素和所述检验元素映射到相互对应的一对编码和译码矩阵。45.—种基本上如这里参照附图描述的以及如附图显示的生成码的方法。46.基本上如这里描述的在权利要求29到31的任一项中所述的用途。全文摘要用于生成具有特定于其预期用途的属性的码的方法和设备,该方法包括以下步骤从群的集合中选择一个群;从环的集合中选择一个环;由所述选择的群和选择的环形成群环;从所述的群环选择生成器元素,其中所述选择是基于要生成的码的所需属性;以及把所述选择的生成器元素输入到码生成过程,得到相应的检验元素。文档编号H03M13/11GK101194427SQ200680020834公开日2008年6月4日申请日期2006年5月4日优先权日2005年5月4日发明者泰德·胡尔雷申请人:高尔韦爱尔兰国立大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1