用于通信系统中错误检测的方法及设备的制作方法

文档序号:7914354阅读:260来源:国知局
专利名称:用于通信系统中错误检测的方法及设备的制作方法
技术领域
本发明涉及在基于包的通信系统中检测发射相关的错误。
背景技术
本章节引入可帮助读者获得对本发明的各种方面的更好理解的各种发面且不应理解为包含现有技术或非现有技术中的陈述内容。通信系统的ー个目的是确保由既定接收方接收的消息为所发 射的消息的未更改的副本。为此原因,通信系统通常使用使接收方能够在发射期间确定所接收的消息是否被更改的错误检测技木。一种用于检测信道引发的消息错误的技术是基于循环冗余校验(CRC)码。CRC码通常将数字数据符号的序列(举例来说,表示数据消息)变换以产生数字校验符号的序列。所述数字校验符号的序列伴随着数字数据符号的序列一起发射,且接收方使用数字校验符号的序列来评估所接收的数字数据符号的序列是否为最初所发射的同一序列。ー些系统产生此种数字校验符号的序列及通过使用反馈移位寄存器来检测数字校验符号的发射序列的发射错误。举例来说,ニ进制CRC码可由移位寄存器来实施,所述移位寄存器经由异或(XOR)逻辑通过反馈来控制。所述移位寄存器的存储器元件的内容通常对应于通过将数字数据符号序列除以固定生成多项式所产生的余项序列。所述余项序列通常附加到数字数据符号序列的末端以发射至数据包的接收方。在此种系统中,所述余项序列通常是在数据包的发射之前连续地逐位计算。

发明内容
一个实施例为处理位于不相连原始区段的第一序列中的数据包的第一方法。所述第一区段的每ー原始区段具有相同的长度。所述第一方法包含通过修改其中ー个或ー个以上符号来修改第一序列的原始区段中的第一者。数据包的开始是位于原始区段中的第一者中且位于其中的第一数字数据符号之后。第一方法还包括通过修改其中的ー个或ー个以上数字数据符号来修改第一序列的原始区段中的最后ー者。数据包的结束位于原始区段中的最后ー者中且位于其中的最后数字数据符号之前。第一方法还包含通过对源自第一序列的不相连区段的第二序列有效地执行多项式除法来确定余项序列。所述第二序列的每一区段对应于且源自于所述第一序列的原始区段中的一者。所述第二序列的区段具有所述第一序列的原始区段的长度。所述第二序列的衍生区段中的第一者是所述原始区段中的所述经修改的第一者。所述第二序列的所述衍生区段中的最后ー者源自于所述原始区段中的所述经修改的最后ー者。在所述第一方法的一些实施例中,不包含数据包的开始或末端的每ー衍生区段可等同于所述原始区段中的对应ー者。在所述第一方法的任何实施例中,修改步骤可包含掩蔽原始区段的在数据包外的部分以使得所述部分将以预定量有助于由多项式除法确定的余项。
在所述第一方法的任何实施例中,修改所述原始区段中的第一者可包含修改在数据包的开始处的符号。在一些此种实施例中,所述修改步骤可包含掩蔽原始区段的在数据包外的部分以使得所述经掩蔽部分将以预定量有助于由所述多项式除法确定的余项。在所述第一方法的任何实施例中,所述原始区段中的最后ー者的修改可修改在所述数据包的结束处的符号。在一些此种实施例中,所述修改步骤可包含掩蔽原始区段的在数据包外的部分以使得当所述数据包的循环冗余校验归零时所述经掩蔽部分将不会有助于由多项式除法确定的余项。在所述第一方法的任何实施例中,所述第一方法可进ー步包含通过执行从第一序列的符号序列的逐符号减法而产生第三序列以使得位于第三序列中的数据包变为基于多项式除法的错误控制码的有效码字。在ー些上述方法的此种实施例中,可从通过对第二序列执行多项式除法所确定的余项中发现符号的序列。在所述第一方法的任何实施例中,所述第一方法可进ー步包含响应于数据包的结 束是在所述第一序列的区段中的特定一者中而将数据包的循环冗余校验的评估值写入第一序列的区段中的所述特定一者中。在一些此种实施例中,所述修改可进ー步包含接收指示包的结束在所述第一序列的区段中的所述特定一者中的位置的数字。所述写入可包含基于所述接收的数字而确定将写入评估值的位置。第二方法的一个实施例涉及处理相等长度的不相连数据区段的序列。所述序列包含特定数据包。所述第二方法包含掩蔽所述数据区段中的一者的一部分。所述特定数据包的一部分是在所述数据区段中的所述ー者中且在经掩蔽部分外。所述第二方法包含修改所述特定数据包的开始及/或末端且基于所述经掩蔽区段及所述经修改的特定数据包来计算所述特定数据包的循环冗余校验。在所述第二方法的一些实施例中,所述第二方法可包含将计算出的循环冗余校验与零作比较。在所述第二方法的任何实施例中,所述计算循环冗余校验可包含至少部分地基于与数据包一起发射的另一循环冗余校验来计算校验序列值。
在所述第二方法的任何实施例中,所述第二方法可包含识别数据区段中的所述特定ー者内的包结束。在所述第二方法的任何实施例中,所述第二方法可包含倒转所述数据包的开始处的ー个或ー个以上符号。在所述第二方法的任何实施例中,所述第二方法可包含倒转所述数据包的结束处的ー个或ー个以上符号。另ー个实施例为ー种用于处理位于不相连原始区段的第一序列中的数据包的系统。所述第一序列的每ー原始区段具有相同的长度。所述系统包含掩蔽単元,其经配置以修改所述第一序列的原始区段中的第一者中的ー个或ー个以上符号,其中所述数据包的开始是在所述原始区段中的所述第一者中且在其中的第一符号之后。所述掩蔽单元经配置以修改在所述第一序列的原始区段中的最后ー者中的ー个或ー个以上符号,其中所述数据包的结束位于所述原始区段中的所述最后一者中且在其中的最后符号之前。所述系统包含循环冗余校验计算単元,其经配置以通过对不相连连续区段的第二序列执行多项式除法来确定余项。所述第二序列的每一区段对应于且源自于所述原始区段中的一者。所述第二序列的区段具有所述原始区段的长度。所述第二序列的衍生区段中的第一者是所述原始区段中的所述经修改的第一者。所述第二序列的衍生区段中的最后ー者是所述原始区段中的所述经修改的最后ー者。在所述系统的一些实施例中,掩蔽単元可经配置以掩蔽原始区段的在数据包外的部分以使得当数据包的循环冗余校验归零时所述部分将不会有助于由多项式除法确定的余项。在所述系统的上述实施例中的任一者中,所述掩蔽単元可经配置以通过修改数据包的开始处的符号而修改所述原始区段中的第一者以及通过修改数据包的结束处的符号而修改所述原始区段中的最后ー者。


通过阅读下面的具体实施方式
及參考附图可清楚各种实施例的优势,其中 图IA图解地说明使用CRC码来检验错误(举例来说,由在物理通信信道上发射数字数据包所产生的错误)的数字数据通信系统;图IB图解地说明例如在如图IA中说明的数据通信系统中处理数字数据符号的序列以产生用于CRC码字的最終序列的方法;图2是说明解码数字数据符号的序列(举例来说,如图IB中说明)以确定序列的发射是否引起错误的方法(举例来说,用于图IA中说明的接收器中的方法)的流程图;图3是说明编码数字数据符号的序列中的消息部分(举例来说,如图IB中说明)以对其附加CRC校验序列的方法(举例来说,用于图IA中说明的发射器中的方法)的流程图;图4A是说明例如用于图IA中说明的发射器的编码器的一个实施例的框图,其中所述编码器例如使用图IB及3中的方法将CRC校验序列附加到每ー待发射的数据包;图4B是说明例如用于图IA的接收器的解码器的一个实施例的框图,其中所述解码器例如使用图IB及2中说明的方法基于CRC校验序列来评估所接收的数据包是否有错误;图5说明例如在图4A中说明的编码器及/或图4B中说明的解码器中通过图1B、2及3的方法的ー个特殊实施例对实例数据包的处理;图6是说明例如在图4A至4B中说明的编码器及解码器的ー些特殊实施例中可使用的组合的掩蔽単元及部分余项附加単元的一个实施例的框图;图7是说明图6中说明的组合的掩蔽単元及部分余项附加単元的操作的状态图;及图8是说明可用于图4A中说明的编码器的一些实施例中的逆向计算单元的特殊实施例的框图。
具体实施例方式各种实施例涉及用于检测基于数字数据包的通信系统中的发射错误的系统的设备、系统及方法。图IA说明在数字数据包中发射信息的通信系统10的ー个实例。所述通信系统10包含发射器12、接收器14及将发射器12连接到接收器14的物理通信信道16。所述发射器12包含输入数据处理器18及编码器400A。所述数据处理器18接收用于发射的数据及从其产生数据数字包的流。每ー数字数据包可包含(举例来说)标头、消息部分及保留部分。所述编码器400A在将数据包发射至物理通信信道16之前将CRC校验序列插入到所述数据包中的一者或一者以上的保留部分中。所述接收器14包含解码器400B及输出数据处理器20。所述解码器400B校验所接收的数据包是否有发射错误,即基于其中的CRC校验序列来校验,且向输出数据处理器20指示经发现具有错误的数据包。输出数据处理器20可从由解码器400B发现无错误的数据包的消息部分提取数据。接收器14可经配置以发信号至发射器12以再发射由解码器400B发现具有发射错误的数据包。物理通信信道16支持在发射器12与接收器14之间的数据通信。物理通信信道16可包含ー个或ー个以上常规的光纤传输线、无线传输媒体、及/或有线传输媒体、或其混合物。通信系统10可经配置以提供数据包的额外封装及/或用于错误检测及/或纠正的其它方法的额外开销,举例来说,除了基于CRC校验序列方法以外的方法。图IB图解地说明处理在通信系统中的数字数据符号的流的方法,其使用ニ进制 CRC码来检测数据发射错误,例如,所述方法的步骤可在图IA的发射器12及/或接收器14中执行。所述方法包括对第一序列32操作,所述第一序列32包含总共(a+k+m+b)个数字数据符号。所述第一序列32由等长度的连续区段形成。所述第一序列32包含长度为(k+m)的序列34,其形成消息及所关注数据包的保留部分。所述消息部分由多项式U(t)如实地表示,且所述保留部分由多项式F(t)如实地表示。在所述第一序列中,所述消息部分的前面附加“a”个数据符号的序列,且所述保留部分的后面附加“b”个数据符号的序列。所述方法包含掩蔽所述第一序列32以产生由多项式V(t)如实地表示的第二序列36。在第一实施例中,所述掩蔽通过将第一序列32的并非位于所述消息中或所述数据包的保留部分中的那些位设定为零来产生第二序列36。在替代第二实施例中,所述掩蔽通过执行所述第一实施例的掩蔽步骤且还形成所述第一序列32中的所述消息部分的前“m”位及所述保留部分的“m”位的ー补码来产生第二序列36。在图IB中,通过展示在数据包的合适的位位置之下插入“+1 (t)”来图解地说明两个实施例,S卩,说明所述第二实施例的额外的掩蔽操作。所述方法包含计算通过将经掩蔽第二序列36除以对应于CRC生成多项式G (t)的序列所得的余项序列的值。所述余项为由多项式R(b)v(t)如实地表示的序列。在接收器处,所述余项序列的计算值指示所接收的数据包中不存在或存在某些类型的数据发射错误。在用于编码的实施例中,所述方法包含产生将从发射器发射至接收器的第三序列38。所述第三序列38是通过将数据包的保留部分40替换为CRC校验序列(在上面描述的第一实施例中)或此种CRC校验序列的ー补码(在上面描述的第一实施例中)来形成。此处,所述CRC校验序列或其一补码是由多项式“F(t)+D(t)”来表示,其中多项式F(t)如实地表示第一序列32中的保留部分的原始序列且D(t)表示调整序列,其促使34变为码字。下面更详细地描述图IB中说明的步骤及其中的符号。此处,数据包含有不相连消息及保留部分,其中所述部分两者由有限符号字母表A中的数字符号的有限序列形成。所述字母表A可为有限Galois域,举例来说,模2整数或具有固定预选择长度的I和O的串。所述消息部分是k个数字符号的流IV1UkyU1Utl,其如实地表示为如下形式的k次多项式U (t)U (t)在多项式U(t)中,“t”的幂决定了第一流中对应数字符号的临时位置。所述保留部分可紧接地位于(举例来说)所述消息部分之后。在编码之前,所述保留部分保持m个数字符号的流しし…もち,其如实地表示为如下形式的m次多项式F⑴F(t) = ^“+^パ+…+も七+ち。编码是用固定长度“m”的CRC校验序列部分或其一补码重写数据包的保留部分。所述CRC校验序列具有形式Cm_lCnivClC(l G Am,其以如下形式的CRC校验序列多项式如实地表示C (t) = c^t111 kcdt1112+…+C^t+Co。 在第一实施例中,举例来说,相对于图IB中所描绘,对应消息及CRC校验序列部分形成符号长度为n = k+m的码字,其如实地由多项式X(t)表示,其满足X (t) =U (t) tm+C (t)。在多项式X(t)中,较高阶“t”项对应于数字数据包自身的消息部分的数字数据符号,且较低阶“t”项对应于所述数字数据包的CRC校验序列部分的数字符号。此处,码字是指“t”的多项式,其可由预先选择及固定的“t”的CRC生成多项式完全地除尽,即所述多项式是可除尽的而没有非零余项。所述预先选择及固定的CRC生成多项式G(t)可写成G(t) = gn.f+g^f^ + g^t^2 + -** +g!t+g0, gnrfgm-2... g0 G A"*,g。关 0 且关 0。举例来说,可用的CRC生成多项式G(t)是特殊的CRC生成多项式G(t) = t32+t26+t23+t22+t16+t12+tn+t10+t8+t7+t5+t4+t2+t+l。 (I)等式(I)的所述特殊CRC生成多项式被称为CRC-32多项式且由若干标准指定,举例来说,IEEE 802. 3以太网标准。文中描述的方法及设备的各种实施例可经配置以使用CRC-32多项式或另ー多项式作为CRC生成多项式。在此种第一实施例中,选择CRC校验序列多项式C⑴使得U(t) *tm+C(t)可被CRC生成多项式G(t)除尽,即,使得U(t) *tm+C(t)是码字。特别地,U(t) 除以CRC生成多项式G(t)的余项R(t)被定义为
r U(f\. fm、R(t) = remainder -。(2)
lV ^(0 )这里,余项多项式R(t)对应于数字符号序列因此,所述CRC校验序列多项式可满足C(t) = _R(t),其中任一系数的负号是所述系数在代数A中的加性逆元。在ニ进制CRC码中,-R (t) = R(t),因为ニ进制CRC码的代数A是整数模2,且对于整数模2来说,1+1 = O。因此,所述CRC校验序列多项式针对此代数为R(t)。在使用这种CRC码的实施方案的数据通信系统中,发射器(例如,图IA中说明的发射器)发送数字数据符号的流。在流中,每ー发射的数字数据包包含一起对应于码字X(t)的単独消息部分及CRC校验序列部分。每ー数字数据包还可包含単独的包标头及/或包容器,其并非所述数据包的所述消息及CRC校验序列部分的部分。响应于对应于码字X(t)的数据包的发射,接收器接收到对应于多项式Y(t)的数字数据符号的序列,其中Y(t)= X(t)+E(t)。这里,E(t)是如实地表示所接收的数据包中的错误的位置及值的多项式。为了确定是否已发生发射错误,接收器(例如,图IA中说明的接收器14)评估Y(t)除以CRC生成多项式G(t)的多项式除法的余项。当无任何发射错误时,Y(t)除以CRC生成多项式G(t)的余项是具有零系数的多项式,即,Y(t)为码字。当存在ー个或ー个以上发射错误时,此除法的余项可能为非零,即,错误是可检测的,除非E(t)自身是码字。举例来说,对于特殊的m阶生成多项式,作为小于m次的多项式的循环移位的任何错误序列均产生并非码字的多项式E(t)。因此,在接收的数据包中,此种错误可经由确定对应的多项式Y(t)是否为码字来检测。在第二实施例中,举例来说,相对于图IB描述的第二实施例,编码包含用全一序列初始化将保持余项R(t)的“m”个存储器元件,及有效地评估多项式U(t) tm+I (t) * tk除以CRC生成多项式G(t)的多项式除法的余项R(t),其中I (t) = tm_1+tm_2+-+t+l0因此,多项式R(t)满足
权利要求
1.ー种处理位于不相连原始区段的第一序列中的数据包的方法,所述第一序列的每ー原始区段具有相同长度,所述方法包括 通过修改其中的ー个或ー个以上符号来修改所述第一序列的所述原始区段中的第一者,数据包的开始位于所述原始区段中的所述第一者中且在其中的第一符号之后; 通过修改其中的ー个或ー个以上符号来修改所述第一序列的所述原始区段中的最后一者,所述数据包的结束位于所述原始区段中的所述最后一者中且在其中的最后符号之前;及 通过对不相连导出区段的第二序列执行多项式除法来确定余项,所述第二序列的每ー区段对应于且从所述原始区段中的ー者导出,所述第二序列的所述区段具有所述原始区段的所述长度,所述第二序列的所述导出区段中的第一者是所述原始区段中的所述经修改的第一者,所述第二序列的所述导出区段中的最后ー者是所述原始区段中的所述经修改的最后一者。
2.根据权利要求I所述的方法,其中不包含所述数据包的所述开始或结束的每ー导出区段等同于所述原始区段中的对应ー者。
3.根据权利要求I或2所述的方法,其中所述修改步骤包含掩蔽所述原始区段的在所述数据包外的部分以使得所述经掩蔽部分将以预定的量有助于由所述多项式除法确定的所述余项。
4.根据权利要求1、2或3所述的方法,其中所述修改步骤包含掩蔽所述原始区段的在所述数据包外的部分以使得当所述数据包的循环冗余校验归零时所述经掩蔽部分将不会有助于由所述多项式除法确定的所述余项。
5.根据权利要求I所述的方法,其进ー步包括 响应于所述数据包的所述结束位于所述第一序列的所述区段中的特定一者中而将所述数据包的循环冗余校验的评估值写入到所述第一序列的所述区段中的所述特定一者中。
6.一种处理相等长度的不相连数据区段的序列的方法,所述序列包含特定数据包,所述方法包括 掩蔽所述数据区段中的一者的一部分,所述特定数据包的一部分位于所述数据区段中的所述ー者中且在所述经掩蔽部分外; 修改所述特定数据包的开始及/或结束 '及 基于所述经掩蔽区段及所述经修改的特定数据包而计算所述特定数据包的循环冗余校验。
7.根据权利要求6所述的方法,其包括将所述计算的循环冗余校验与零作比较;且其中所述计算循环冗余校验包括至少部分地基干与所述数据包一起发射的另ー循环冗余校验来计算校验序列值。
8.ー种用于处理位于不相连原始区段的第一序列中的数据包的系统,所述第一序列的每ー原始区段具有相同的长度,所述系统包括 掩蔽単元,其经配置以修改所述第一序列的所述原始区段中的第一者中的ー个或ー个以上符号,其中所述数据包的开始是在所述原始区段中的所述第一者中且在其中的第一符号之后,所述掩蔽单元经配置以修改所述第一序列的所述原始区段中的最后ー者中的ー个或ー个以上符号,其中所述数据包的结束位于所述原始区段中的所述最后一者中且在其中的最后符号之前 '及 循环冗余校验计算单元,其经配置以通过对不相连连续区段的第二序列执行多项式除法来确定余项,所述第二序列的每一区段对应于且从所述原始区段中的一者导出,所述第二序列的所述区段具有所述原始区段的所述长度,所述第二序列的所述导出区段中的第一者是所述原始区段中的所述经修改的第一者,所述第二序列的所述导出区段中的最后一者是所述原始区段中的所述经修改的最后一者。
9.根据权利要求8所述的系统,其中所述掩蔽单元经配置以掩蔽所述原始区段的在所述数据包外的部分以使得当所述数据包的循环冗余校验归零时所述部分将不会有助于由所述多项式除法确定的所述余项。
10.根据权利要求9所述的系统,其中所述掩蔽单元经配置以通过修改在所述数据包的所述开始处的符号来修改所述原始区段中的所述第一者且通过修改在所述数据包的所述结束处的符号来修改所述原始区段中的所述最后一者。
全文摘要
本发明揭示一种处理在相同长度的不相连原始区段的第一序列中的数据包的方法。所述方法包含通过修改其中的一个或一个以上符号而修改所述第一序列的所述原始区段中的第一者。所述数据包的开始位于所述原始区段中的所述第一者中且定位于其中的第一数字数据符号之后。所述方法还包含通过修改其中的一个或一个以上数字数据符号而修改所述第一序列的所述原始区段中的最后一者。所述数据包的结束位于所述原始区段中的所述最后一者中且位于其中的最后数字数据符号之前。所述方法还包含通过对从所述第一序列导出的不相连区段的第二序列有效地执行多项式除法而确定余项序列。所述第二序列的每一区段对应于且从所述第一序列的所述原始区段中的一者导出。所述第二序列的所述区段具有所述第一序列的所述原始区段的所述长度。所述第二序列的所述导出区段中的第一者是所述原始区段中的所述经修改的第一者。所述第二序列的所述导出区段中的最后一者是从所述原始区段中的所述经修改的最后一者导出的。
文档编号H04L1/16GK102771074SQ201080049570
公开日2012年11月7日 申请日期2010年11月4日 优先权日2009年11月4日
发明者安德烈亚斯·伯恩哈德·左特曼, 艾德连恩·J·德林德凡委金戈登 申请人:阿尔卡特朗讯
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1