CN100442671C - 用于获得消息的循环冗余码的方法和装置 - Google Patents
用于获得消息的循环冗余码的方法和装置 Download PDFInfo
- Publication number
- CN100442671C CN100442671C CNB038039613A CN03803961A CN100442671C CN 100442671 C CN100442671 C CN 100442671C CN B038039613 A CNB038039613 A CN B038039613A CN 03803961 A CN03803961 A CN 03803961A CN 100442671 C CN100442671 C CN 100442671C
- Authority
- CN
- China
- Prior art keywords
- fragment
- message
- remainder
- generator polynomial
- delivery
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
- H03M13/091—Parallel or block-wise CRC computation
-
- 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
- H03M13/093—CRC update after modification of the information word
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Error Detection And Correction (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Detection And Correction Of Errors (AREA)
- Vessels, Lead-In Wires, Accessory Apparatuses For Cathode-Ray Tubes (AREA)
- Details Of Television Scanning (AREA)
Abstract
获得循环冗余码来验证发送器和接收器之间传输的消息的完整性。一种用于获得循环冗余码的方法包括将消息分成片段。基于生成多项式获得这些片段的余项。这些片段的余项乘以片段常数以获得每个片段的片段余项。片段余项被累加成累加余项。通过生成多项式将累加余项取模计算以获得累加余项的余项。该累加余项的余项就是消息的循环冗余码。
Description
技术领域
本申请涉及验证数据传输的完整性,尤其涉及使用循环冗余码验证数字数据传输的完整性。
背景技术
数据传输10(图1)涉及发送器12和接收器14之间通常称作数据的信息的传输。通常,数据传输10包括作为1和0的数字位发送的信息,这里由mn-1到m0表示,并被称为消息M。
在理想环境中,消息M发送无差错。不幸地,常通过媒体16引入差错,其中消息M通过媒体16从发送器12传递到接收器14(例如,媒体16可以是线路、电缆、光纤、空气或链路层装置的任何组合)。一种用于检测消息M中存在差错的方法采用循环冗余码。
循环冗余码将类似消息M的数字位的分组处理成多项式,其中分组中的每个位表示多项式Xn-1+Xn-2+X0中的系数。例如,8个位11001101的一个组可以由多项式X7+X6+X3+X2+1表示(即,1*X7+1*X6+0*X5+0*X4+1*X3+1*X2+0*X1+1*X0)。
这些多项式形成具有以Z/p为系数的被称为可换环的代数对象,其中Z是整数而p是质数,这里是2,也被称作以2为模的{0,1}。如果(R+)是可交换群,(R*)是半群组且遵守分配律(即,a*(b+c)=a*b+a*b),则非空集R与两个二进制运算{+*}一起被称作一环。
在多项式环中,不存在将一个系数进位或借位到下一个。在算术模2的情况下,加法和减法是一致的并可以用异或实现。例如:
10111011 10110011 11110000
00010101
+11001110 +11000101 -00100110 -
10101111
01110101 01110110 11010110
10111010
由位的组表示的多项式的除法是以与二进制除法类似的方式完成的,区别在于以模2进行减法。如果被除数多项式与除数多项式的次数相同,则除数将‘进入’被除数(即,除数和被除数分享至少相同的最高位)。
可以通过计算消息M除以生成多项式P的余项来获得循环冗余码。该余项被称作循环冗余码(“CRC”)。
为了获得消息M的CRC,除以生成多项式P的位组可以包括附加的零位17。零位17在数量上等于生成多项式P的次数。因此,基于次数3的生成多项式P=X3+1=1001(即X3是多项式P的最高位)的具有三个附加零位17的消息M=10111000的CRC可以如下计算:
示作CRC18的最终余项可以被附加到消息M上,取代零位17,以便产生消息M′。发送器12将经由媒体16将消息M′发送到接收器14作为数据传输10。
在接收时,接收器14将消息M′除以相同的生成多项式P以获得M′的CRC,并检查数据传输10的正确性。如果得出的余项是零(即,CRC=M′(modulo)P=0),则确认数据传输10的完整性。例如,
如果消息M′除以多项式P的余项不是零(即,CRC=M′(modulo)P≠0),则数据传输10包含一个或多个差错。例如:
发明内容
本发明提供一种用于获得消息的循环冗余码的方法,包括:将消息分成多个片段;通过生成多项式将每个片段取模计算以获得所述多个片段中的每一个的余项;将每个片段的余项乘以片段常数以获得多个片段余项,其中所述片段常数是基于生成多项式而计算出的;将片段余项累加以获得累加余项;以及通过生成多项式将累加余项取模计算以获得消息的循环冗余码。
本发明还提供一种用于获得消息的循环冗余码的装置,该消息被分成多个片段,包括:取模计算单元,通过生成多项式将所述消息的每个片段取模计算以获得所述多个片段中的每一个的余项;乘法器,将每个片段的余项乘以片段常数以获得多个片段余项,其中所述片段常数是基于生成多项式而计算出的;以及累加器,它累加片段余项以获得累加余项;其中,所述取模计算单元还通过生成多项式将累加余项取模计算以获得消息的循环冗余码。
本发明又提供一种用于确定循环冗余码的方法,包括:将消息分成多个片段;当片段的次数小于生成多项式的次数时,将每个片段乘以片段常数以获得多个片段余项,其中所述片段常数是基于生成多项式而计算出的;将片段余项累加以获得累加余项;以及通过生成多项式将累加余项取模计算以获得消息的循环冗余码。
附图说明
图1示出采用循环冗余码的数据传输的现有技术的框图。
图2示出用于获得CRC的过程,其中消息M被分成多个片段。
图3示出根据图2过程获得消息的CRC的CRC生成器。
图4示出被分成四个片段的图3的CRC生成器。
图5示出根据图2过程获得消息M的CRC的CRC生成器。
图6示出使用生成多项式的倒数近似的获得消息的余项的取模计算单元。
图7示出使用图6所示取模计算单元的图3中的CRC生成器。
图8示出用于更新消息M的CRC的CRC生成器,其中已调整了部分消息M。
图9示出在消息M的被调整片段上操作的图8所示的CRC生成器。
图10是用于实现本发明实施例的计算机硬件的示图。
在各图中相同的标号表示相同的元件。
具体实施方式
过程20(图2)获得基于发生多项式P的消息M的CRC。
过程20包括将消息M分成多个消息片段Ms(201);如需要,通过生成多项式P对消息片段取模计算(以下限定)(203),以便获得每个片段的余项R;将每个片段的余项R乘以合适的片段常数C,以获得每个片段Ms的片段余项SR(205);累加每个片段Ms的片段余项SR,以获得消息M的累加余项AR(207);以及如需要,由生成多项式P对累加余项取模计算(209),以获得消息M的CRC。
将消息M分成多个消息片段Ms(201)包括分解消息M,从而:
M=Ms-1*Xn*(s-1)+Ms-2*Xn*(s-2)…+M1*Xn(1)+M0*Xn(0);
其中s是消息M被分成的片段的数量,n是每个片段中位的数量,X是消息M中每个片段的位置,而Ms是消息M的单个片段。如果位的数量是n,则X是X=[1000…0]的形式,其中有n个零,n+1个元素且X是n次。M乘以X将把消息向左移动n位。M乘以X2将把消息移动2n位(等等)。
如果片段Ms的最高位的次数等于或大于多项式P的最高位的次数,取模计算(203)包括通过将片段Ms除以生成多项式P来获得每个消息片段Ms的余项R。如果片段Ms的次数小于多项式P的次数(即Ms的最高位小于多项式P的最高位),则由于消息片段Ms的余项等于片段Ms自身,所以不需要取模计算(203)。在可选实施例中,可以通过将消息片段Ms乘以多项式P的倒数近似来实现取模计算(203),而不是将片段Ms除以多项式P,以获得消息片段Ms的余项R。下面结合图6讨论乘倒数近似来获得余数R的操作。
乘法步骤(205)包括获得每个消息片段Ms的片段常数C(以下限定)并将每个片段常数C乘以其余项R以获得每个消息片段的片段余项SR。可以根据以生成多项式P或P的域扩展(field extension)为模的消息M中消息片段Ms的位置X获得片段常数C。
累加(207)包括将每个消息片段Ms的片段余项SR相加以获得消息M的累加余项AR。
取模计算(209)包括将累加余项AR除以生成多项式P,或者将AR乘以生成多项式P的倒数近似,以获得消息M的CRC。但是,如果累加余项AR的次数小于多项式P的次数,则由于消息M的余项(即,CRC)是累加余项AR,所以无需取模计算(209)。
图3示出根据生成多项式P计算消息M的CRC的过程20的实现。例如:
如果M=10111000,(消息10111加3个附加的零位)
且
s=2,
n=4,以及
P=1001=(Deg(P)=3);
则M可以被分成
Ms-1=M1=1011=片段33,
Xn*(s-1)=X4=10000,
Ms-2=M0=1000=片段35,
Xn*(s-2)=X0=00001;
其中
M=1011*10000+1000*00001=
10111000
CRC生成器30根据生成多项式P获得消息M的CRC,其中消息M的CRC是消息M除以P的余项(即,CRC=M(modulo)P=MOD(M,P)。
通常,因为是不可约的(即它们没有因子),所以选择生成多项式P。已知的生成多项式的几个实例包括:
LRCC8 =X8+1
=100000001;
CRC16 =x16+x15+X2+1
=11000000000000101;
SDLC =x16+x12+X5+1
=10001000000100001;
LRCC =x16+1
=10000000000000001;
CRC12 =x12+x11+X3+X2+X+1
=1100000001111;以及
ETHERNET=x32+x26+X23+X22+x16+
x11+X10+X8+x7+X5+X4+
X2+X+1
=100000100110000010000110110110111;
其中LRCC代表最后定位控制通道(Last Registration Control Channel)。
CRC生成器30包括取模计算单元32、乘法器34、累加器36和取模计算单元38。这里,取模计算单元32具有在硬件中实现的取模计算单元32a和32b。
取模计算单元32a将消息片段33除以生成多项式P以获得余项Ri+1(即Ri+1=Ms-1(modulo)P=MOD(Ms-1,P))。取模计算单元32b将消息片段35除以生成多项式P以获得余项Ri(即Ri=Ms-2(modulo)P=MOD(Ms-2,P))。例如,
如果
M=10111000,
Ms-1=M1=1011=片段33,
Ms-2=M0=1000=片段35,且
P=1001;
随后
Ri+1=R1=Ms-1(modulo)P=MOD(Ms-1,P)
=1011(modulo)1001=010,且
Ri =R0=Ms-2(modulo)P=MOD(Ms-2,P)
=1000(modulo)1001=001;
乘法器34将余项Ri+1和Ri乘以片段常数Ci+1和Ci以获得片段余项SRi+1和SRi。这里,通过生成多项式P将消息M中的片段33和35的位置X取模计算来获得片段常数Ci+1和Ci(即,Ci+1=xn*(i+1)(modulo)P和Ci=xn*i(modulo)P)。例如
如果
M=10111000,
P=1001,
s=2,且
n=4;
随后
SRi+1=SR1
Ci+1=C1=X4*1(modulo)P
=10000(modulo)1001=010,且
SRi =SR0
Ci =C0=X4*0(modulo)P
=0001(modulo)1001=001;
根据消息M的已知片段可以预先获得片段常数Ci+1和Ci,且它们可以被存储在存储单元39中,并可由CRC生成器30访问。在其它实施例中,可以在接收到消息M时在CRC生成器30内‘即时(on the fly)’获得片段常数Ci+1和Ci。
乘法器34包括乘法器34a和34b。乘法器34a将余项Ri+1乘以片段常数Ci+1以获得片段余项SRi+1。乘法器34b将余项Ri乘以片段常数Ci以获得片段余项SRi。例如:
如果
Ri+1=010,Ci+1=010且(从上)
Ri =001,Ci =001;
随后
SRi+1=Ri+1*Ci+1=010*010=00100,且
SRi =Ri*Ci =001*001=00001;
其中
累加器36将片段余项SRi+1和SRi相加以获得累加余项AR。例如:
如果
SRi+1=SR1=D0100,(从上)
SRi =SR0=00001;
随后
AR =00100+00001=00101,
其中
取模计算单元38通过由生成多项式P将累加余项AR取模计算来获得消息M的CRC(即,CRC=AR(modulo)P=MOD(AR,P))。例如:
如果
AR=00101,且(从上)
P =1001;
随后
CRC=AR(modulo)P=MOD(AR,P)
=00101(modulo)1001=101,
其中
因此,CRC生成器30上实现的过程20获得消息M的相同CRC,这里是10111000。在该实例中,由于AR的次数小于P的次数,因此不需要通过多项式P将AR取模计算。
CRC生成器30可以被扩展成包括足够的分量来获得被分成N个片段的消息M的CRC。图4示出能对被分成四个(4)片段43、45、47和49的消息M进行操作的CRC生成器40。例如:
如果M=M,=10111101,(例如,以上图3中的实例中的
消息M将获得的CRC附加其上)
s=4,
n=2,且
p=2;
则M可以被分成
Ms-1 =M3=10=片段43,
Xn*(s-1)=X6=1000000,
Ms-2 =M2=11=片段45,
Xn*(s-2)=X4=10000,
Ms-3 =M1=11=片段47,
Xn*(s-3)=X2=100,
Ms-4 =M0=01=片段49,
Xn*(s-4)=X0=001;
其中
M=10*1000000+11*10000+
11*100+01*001=10111101
CRC生成器40包括取模计算单元42、乘法器44、累加器46和取模计算单元48。取模计算单元42包括取模计算单元42a、42b、42c和42d。取模计算单元42a、42b、42c和42d的每一个都用于将消息片段43、45、47和49除以生成多项式P以获得余项R3、R2、R1和R0。例如:
如果
M=10111101=M′,(从上)
Ms-1=M3=10=segment 43,
Ms-2=M2=11=segment 45,
Ms-3=M1=11=segment 47,
Ms-4=M0=01=segment 49,
P =1001;
随后
Ri+3=R3=Ms-1(modulo)P=
10(modulo)1001
=10,
Ri+2=R2=Ms-2(modulo)P=
11(modulo)1001
=11,
Ri+1=R1=Ms-3(modulo)P=
11(modulo)1001
=11,且
Ri =R0=Ms-4(modulo)P=
01(modulo)1001
=01
乘法器44将余项R3到R0乘以片段常数C3到C0以获得片段余项SR3到SR0。片段常数C3到C0对应于每个特定片段43、45、47和49并可以通过由多项式P对消息M中的片段的位置取模计算来获得。(即,C3=Xn*(3)(modulo)P,C2=Xn*2(modulo)P,C1=Xn*1(modulo)P,C0=Xn*0(modulo)P)。例如:
如果
M=10111101,(从上)
P=1001,
s=4,且
n=2;
随后
SR3=SRi+3
C3 =Ci+3=X2*3(modulo)P
=1000000(modulo)1001=001;
SR2=SR0
C2 =Ci+2=X2*2(modulo)P
=10000(modulo)1001=010;
SR1=SR1
C1 =Ci+1=X2*1(modulo)P
=100(modulo)1001=100;且
SR0=SRi
C0 =Ci+0=X4*0(modulo)P
=001(modulo)1001=001.
可以根据消息M的分段预先获得片段常数C3到C0,并将其存储在可由CRC生成器40访问的存储单元39中(图3)。在其它实施例中,可以在接收到消息M时在CRC生成器40内即时(即,实时)获得C3到C0。
乘法器44将R3乘以C3,R2乘以C2,R1乘以C1,且R0乘以C0以获得片段余项SR3到SR0。例如,
如果
Ri+3=R3=10,Ci+3=C3=001;(从上)
Ri+2=R2=11,Ci+2=C2=010;
Ri+1=R1=11,Ci+1=C1=100;且
Ri =R0=01,Ci =Ci0=001;
随后
SR3=R3*C3=10*001=0010;
SR2=R2*C2=11*010=0110;
SR1=Ri*C1=11*100=1100;且
SR0=R0*C0=01*001=0001
累加器46将片段余项SR3到SR0相加以获得累加余项AR。这里,累加器46包括累加器46a、46b和46c,其中累加器46a和46b计算临时累加T1和T0而累加器46c组合临时累加T1和T0以获得累加余项AR。例如
如果
SRi+3=SR3=0010,(从上)
SRi+2=SR2=0110,
SRi+1=SR1=1100,且
SRi =SR0=0001;
随后
T1=0010+0110=0100,
T0=1100+0001=1101,且
AR=0100+1101=1001.
最终,取模计算单元48获得消息M的CRC,这里,通过由多项式P将累加余项AR取模计算,消息M’具有如上图3所示获得的CRC(即,CRC=AR(modulo)P=MOD(AR,P))。例如,
如果
AR=1001,且(从上)
P=1001;
随后
CRC=AR(modulo)P=
1001(modulo)1001
=0
其中
因此,CRC生成器40通过图3中的实例验证消息M的完整性,其中附加消息M的CRC以形成M′并将其发送到接收器14,它用CRC生成器40(图4)确认该传输。
根据过程20,在消息片段Ms的次数小于生成多项式P的次数的情况下(即,Deg(Ms)<Deg(P)),可以进一步地简化CRC生成器30和40。如以上图4的实例所示,当Ms的次数小于P的次数时,Ms(modulo)P的余项R等于Ms。因此,CRC生成器50(图5)不需要用于获得消息片段Ms的余项Ri的初始取模计算单元(例如,32或42),其中消息片段Ms的次数小于生成多项式P的次数。对于片段次数等于P的次数的情况(即,Deg(Ms)=Deg(P)),取模计算单元32或42可以由异或(xor)代替,因为Ms(modulo)P等于Ms-P。
这里,CRC生成器50包括乘法器54、累加器56和取模计算单元58,它们用于获得被分成次数小于生成多项式P的次数(即,Deg(Ms)<Deg(P))的四个片段53、55、57和59的消息M的CRC。例如:
如果
M=10111000,(如同以上的图3,M包括三个附加的零位)
s=4,
n=2,且
P=1001;
随后
MS-1 =M3=10=片段53,
Xn*(s-1)=X6=1000000,
Ms-2 =M2=11=片段55,
Xn*(s-2)=X4=10000,
Ms-3 =M1=10=片段57,
Xn*(s-3)=X2=100,
Ms-4 =M0=00=片段59,
Xn*(s-4)=X0=001;
且
M=10*1000000+11*10000+
10*100+00*001=10111000
乘法器54将片段53到59乘以片段常数C3到C0以获得片段余项SR3到SR0。可以如上所述地预先获得或者‘即时’计算片段常数C3到C0。例如:
如果
M=10111000,(从上)
P=1001,
s=4,且
n=2;
随后
SR3=SRi+3
C3 =Ci+3=X2*3(modulo)P
=1000000(modulo)1001=001;
SR2=SRi+2
C2 =Ci+2=X2*2(modulo)P
=10000(modulo)1001=010;
SR1=SRi+1
C1 =Ci+1=X2*1(modulo)P
=100(modulo)1001=100;且
SR0=SRi
C0 =Ci+0=X4*0(modulo)P
=001(modulo)1001=001
由于每个消息片段Ms等于其余项R,乘法器54将M3乘以C3,M2乘以C2,M1乘以C1,且M0乘以C0以获得片段余项SR3到SR0。例如:
如果
Ms-1=M3=10,Ci+3=C3=001,
Ms-2=M2=11,Ci+2=C2=010,
Ms-3=M1=10,Ci+1=C1=100,且
Ms-4=M0=00,Ci =Ci0=001;
随后
SR3=M3*C3=10*001=0010,
SR2=M2*C2=11*010=0110,
SR1=M1*C1=10*100=1000,且
SR0=M0*C0=00*001=0000.
累加器56将片段余项SR3到SR0相加以获得累加余项AR。这里,累加器56包括累加器56a、56b和56c,其中累加器56a和56b计算临时累加T1和T0而累加器56c组合临时累加T1和T0以获得累加余项AR。例如
如果
SRi+3=SR3=0010,(从上)
SRi+2=SR2=0110,
SRi+1=SR1=1000,
SRi =SRD=0000;
随后
T1=0010+0110=0100;
T0=1000+0000=1000;且
AR=0100+1000=1100.
最终,取模计算单元58通过由多项式P将累加余项AR取模计算而获得消息M的CRC。例如,
如果
AR=1100,且(从上)
P =1001;
随后
CRC=AR(modulo)P=
1100(modulo)1001
=101;
其中
因此,CRC生成器50获得与以上图3实例中所计算的相同的消息M的CRC,而不需要图3和4的取模计算单元32或42。
还可以通过将消息M(或消息片段Ms)乘以生成多项式P的倒数近似D并将该结果从消息M(或消息片段Ms)中减去来获得余项R来进行取模计算(例如,(203)和(209))。根据以下关系可以获得通过乘以倒数近似项RA进行的取模计算:
RA=XP+d/P;
M/P=M*RA*1/Xp+ra(对于0<=Deg(M)<=p+ra);
M=(M/P)*P+M(modulo)P;
R=M(modulo)P=M-(M/P)*P;
R=M(modulo)P=M-(M*D/Xp+ra)*P
其中Xp+ra是具有次数为p+ra的最高位的多项式(即,Deg(XP+ra)=p+ra);p是生成多项式P的次数(即,Deg(P)=p);ra是倒数近似项RA的次数(即,Deg(RA)=ra);以及余项R所需的消息M的次数大于零且小于或等于p+ra(即,0<Deg(M)<=p+ra)。例如:
如果
M=10111000(即,Deg(M)=7)
且
P=1001(即,Deg(P)=3)
随后,倒数近似项RA将具有至少四(4)的次数以使p+ra大于或等于M的次数,这里是(7)因此:
如果
M=10111000(即,Deg(M)=7)
P=1001(即,Deg(P)=3)
且
ra=4;
随后
Xp+ra=10000000(i.e.,Deg(Xp+ra)=7),且
D=Xp+ra/P=X3+4/1001
=10000000/1001=10010;
其中
取模计算单元60可以在接收到消息M之前计算倒数近似项RA并将RA存储在存储器69中,因为在接收消息M之前生成多项式P和消息M的次数是已知的。在另一个实施例中,倒数近似项RA可以包含在取模单元60中,或者可以在接收到消息M后通过取模计算单元60构建或“即时”获得。一旦多项式的形式被固定,就可以显著地简化相应硬件的实现。
为了获得消息M的余项R,取模计算单元60包括乘法单元62、舍位单元64、乘法单元66和减法单元68,其中:
T0=M*RA由单元62执行,
T1=T0/Xp+ra由单元64执行,
T2=T1*P由单元66执行,以及
R=M-T2由单元68执行。
乘法单元62接收消息M并将M乘以倒数近似项RA以获得临时结果T0。例如:
如果
M=10111000,(从以上的图3)
P=1001,且
RA=10010;
随后
T0=M*RA=10111000*10010
=101011110000;
其中
乘法单元62将临时结果T0提供给舍位单元64,它将T0除以Xp+ra,这里是10000000,以获得舍位后的结果T1。在其它实施例中,舍位单元64可以除去临时结果T0的p+ra个最低位而不除以Xp+ra以便获得被舍位的结果T1。例如:
如果
p =3,
ra=4,且
T0=101011110000;
随后
p+ra=7,且
T1=10101
因此,对于p+ra等于七(7)的情况,从T0中除去七(7)个最低位(这里是1110000)以获得T1。
舍位单元64将被舍位的结果T1提供给乘法单元66,它将T1乘以生成多项式P以获得临时结果T2。例如:
如果
P =1001,
T1=10101;
随后
T2=T1*P=10101*1001
=10111101
其中
乘法单元66将临时结果T2提供给减法单元68,它使消息M减去T2以获得余项R。例如:
如果
M=10111000,且(从上)
随后
T2=10111101;
其中
R=M-T2=101
因此,取模计算单元60利用与倒数近似相乘来获得消息M的余项R。因此,取模计算单元60可以独自计算整个消息M的CRC,或者可以被结合入CRC发生器30和40以获得消息片段Ms的余项R。
例如,图7示出采用图6的取模计算单元60的图3CRC发生器的实例。这里,取模计算单元60示作MH(M,RA,P)。例如:
如果
M=10111000,(与以上图3-样)
s=2,
n=4,且
P=1001;
则M可以被分为
Ms-1 =M1=1011=片段73
Xn*(s-1)=X4=10000,
Ms-2 =M0=1000=片段75
Xn*(s-2)=X0=00001;
其中
M=1011*10000+1000*00001=
10111000.
CRC发生器70基于生成多项式P获得消息M的CRC,其中消息M的CRC是消息M除以多项式P的余项。
CRC发生器70包括取模计算单元72、乘法器74、累加器76和取模计算单元78。这里,取模计算单元72包括取模计算单元72a和72b,它们将消息片段73和75乘以生成多项式P的倒数近似项以获得余项Ri+1和Ri。
取模计算单元72a将消息片段73乘以生成多项式P的倒数近似项RA以获得如图6所示的余项R。例如:
如果
M =10111000,
Ms-1=M1=1011=片段73,
Ms-2=M0=1000=片段75,
Deg(Ms-1)=3
Deg(Ms-2)=3
P=1001,
RA=Xp+ra/P=X3+1/P,从而p+ra大于或等于每个消息片段Ms-1和Ms-2的次数;
则
RA=X3+1/P=10000/1001=10;
其中
且
T0(i+1)=Ms-1*RA=1011*10=10110,
T0(i) =Ms-2*RA=1000*10=10000,
T1(i+1)=T0(i+1)/X3+1=10110/10000=1,
T1(i) =TD(i)/X3+1 =10000/10000=1,
T2(i+1)=T1(i+1)*P=1*1001=1001,
T2(i) =T1(i)*P =1*1001=1001,
Ri+1 =Ms-1-T2(i+1)=1011-1001=010
Ri =Ms-2-T2(i) =1000-1001=001.
因此,取模计算单元72a和72b获得与以上图3所示的取模计算单元32a和32b相同的余项Ri+1和Ri。
乘法器34将Ri+1和Ri乘以片段常数Ci+1和Ci以获得片段余项SRi+1和SRi。这里,使用图6所示的取模计算单元60通过生成多项式P对消息M中片段33和35的位置X取模计算来‘即时’获得片段常数Ci+1和Ci(即,Ci+1=Xn*(i+1)(modulo)P以及Ci=Xn*i(modulo)P)。例如:
如果
Xn*(i+1)=X4*(1)=M1=10000,
Xn*i=X4*(0)=M0=00001,
Deg(X4*(1))=4,
Deg(X4*(0))=0,
P=1001,
RA=Xp+ra/P=X3+1/P,从而p+ra大于或等于每个消息片段X4*(1)和X4*(0)的次数;
随后
RA=10000/1001=10;
且
T0(i+1)=M1*RA=10000*10=100000,
T0(i) =M0*RA=00001*10=000010,
T1(i+1)=T0(i+1)/X3+1=100000/10000=10,
T1(i) =T0(i)/X3+1 =000010/10000=0,
T2(i+1)=T1(i+1)*P=10*1001=10010,
T2(i)=T1(i)*P =0*1001=00000,
Ci+1=M1-T2(i+1)=10000-10010=010,
Ci =M0-T2(i)=00001-00000=001.
在其它实施例中,可以预先获得片段常数Ci+1和Ci并将其存储在存储单元(例如39)中。
乘法器74包括乘法器74a和74b。乘法器74a将余项Ri+1乘以片段常数Ci+1以获得片段余项SRi+1。乘法器74b将余项Ri乘以片段常数Ci以获得片段余项SRi。例如:
如果
Ri+1=010,Ci+1=010且(从上)
Ri =001,Ci =001;
随后
SRi+1=Ri+1*Ci+1=010*010=00100,且
SRi =Ri*Ci =001*001=00001;
累加器76将片段余项SRi+1和SRi相加以获得累加余项AR。例如
如果
SRi+1=SR1=00100,
SRi =SR0=00001;
随后
AR =00100+00001=00101
取模计算单元78通过由生成多项式P将累加余项AR取模计算来获得消息M的CRC。这里,取模计算单元78通过使用图6所示的倒数近似进行的乘法来获得CRC。例如:
如果
AR=M=00101,
Deg(AR)=2
P=1001,
RA=Xp+ra/P=X3+1/P,从而p+ra大于或等于需要余项(这里是AR)的消息的次数;
随后
RA=10000/1001=10;
且
T0=M*RA=00101*10=1010,
T1=T0/X3+1=1010/10000=0,
T2=T1*P=0*1001=0,
R =CRC=M-T2=00101-0=101
因此,CRC生成器70获得与CRC生成器30的实例相同的CRC。同样,CRC生成器70可以被扩展成包括足够的部分以获得被分成N个片段的消息M的CRC。
CRC发生器80(图8)包括减法单元82、取模计算单元84以及累加器86,用于在传输期间更新被调整的消息M的CRC。减法单元82将新消息85减去旧消息83以获得差值D。例如
随后
D=Mnew-Mold=00110000
取模计算单元84通过生成多项式P将差值D取模计算以获得差值余项DR。例如:
如果
P=1001,且
D=00110000;
随后
DR=D(modulo)P=MOD(D,P)=
在其中
在其它实施例中,可以采用与倒数近似项RA相乘来获得差值余项DR(即,MH(D,RA,P))。
累加器86将差值余项DR和CRCold相加以获得CRCnew。例如:
如果
CRCold=101且
DR =110;
随后
CRCnew=CRCold+DR=101+110
=011;
其中
通过用CRCnew替换被调整的消息Mnew中的CRCold并确定Mnew(modulo)CRCnew是否等于零来确认该CRCnew的准确性。例如:
随后
Mnew(modulo)CRCnew=O
在其中
CRC生成器90(图9)包括减法单元92、取模计算单元94、乘法器96、取模计算单元98以及累加器99,用于在传输期间更新被调整的消息M的CRC。CRC发生器90与发生器80不同之处在于,它根据消息的被调整的片段调整消息M的CRC。
减法单元92将新消息片段95减去旧消息片段93以获得差值片段DS。例如
如果
P =1001,
n =2
s =4
Mnew=10001|101
Ms-1=10
Ms-2=00=片段95
Ms-3=11
Ms-4=01
随后
DS=Ms-2(new)-Ms-2(old)=00-11=11
取模计算单元94通过生成多项式P将差值片段DS取模计算以获得差值片段余项DSR。例如:
如果
P =1001,
DS=11;
随后
DSR=DS(modulo)P=MOD(DS,P)=11
在其中
这里,如上所述,如果差值片段DS的次数小于多项式P的次数,由于DS的模等于DS因此无需取模计算单元94。
乘法器96将差值片段余项DSR乘以合适的片段常数Ci以获得扩展的片段余项ESR。该实例的片段常数C3到C0可以如上所述地获得。例如:
如果
DSR=(M2new-M2old)(modulo)P=11
且
Ci=C2=X2*2(modulo)P
=10000(modulo)1001=010;
随后
EDR=DSR*Ci=11*010=110
取模计算单元98通过由生成多项式P将扩展的差值余项取模计算来获得消息差值余项DR。例如:
如果
P =1001且
EDR=110;
随后
DR=110
再次,对于扩展差值余项的次数小于多项式P的次数的情况中,DR是EDR。
最后,累加器99将消息差值余项DR和CRCold相加以获得CRCnew。例如:
如果
CRCold=101且
DR =110;
随后
CRCnew=CRCold+DR=101+110
=011;
在其中
所有上述算法都可以由较大环中嵌入的生成多项式P影响。例如,使得
F=P*Q;
其中,F是P的域扩展,Q是扩展因子(extender),且P和Q之间的最大公分母(greatest common denominator)是一(1)。现在使用域扩展F代替p计算以及尺寸(按位)增加的消息片段Ms可以计算片段常数C,而不需要图3和4的附加模42和42。相反,可以需要如图5所示的通过P的模。
图10示出通用计算机100,它用于采用过程20或者上述CRC生成单元30、40、50、60、70、80和90的任何操作获得CRC。计算机100包括处理器102(例如,CPU)、存储介质104(例如,随机存取存储器)以及具有发送和接收数据传输的一个或多个外部连接06a、106b和106c的通信接口106(例如,网卡)。存储介质104存储用于通过过程20或者上述CRC生成单元的操作获得CRC的计算机指令108。在一个实施例中,计算机100基于倒数近似的乘法获得消息M的CRC。
但是,过程20和上述CRC生成器的操作不限于与任何特殊硬件或软件配置一起使用;它们可以在任何计算或处理环境中找到兼容性。过程20可以在硬件、软件或这两者的任何组合中实现。同样,CRC生成单元30、40、50、60、70、80和90的操作也是如此。
上述过程20和CRC生成器可以在可编程计算机上执行的计算机程序中实现,该可编程计算机包括处理器、可由处理器读取的存储介质(例如,易失性存储器、非易失性存储器等等)、一个或多个输入装置以及一个或多个输出装置。可以将程序代码应用到用输入装置输入的数据上以执行过程20或者上述CRC生成器的任何操作。输出信息可以被应用到一个或多个输出装置上,诸如屏幕110。
可以以高级程序或面向对象的编程语言来实现每个这种程序以便与计算机系统通信。但是,程序也可以采用汇编语言或机器语言实现。语言可以是编译或解释语言。
每个计算机程序都可以存储在一制品中,诸如CD-ROM、硬盘或磁盘,它们可以由计算机100读取以便以上述方式获得消息M的CRC。过程20和用于实现上述CRC生成器的操作也可以被实现为机器可读存储介质,由一个或多个计算机程序配置,其中,在执行时,计算机程序中的指令使得处理器102如上操作。
已描述了本发明的大量实施例。然而,可以理解,可以进行各种修改而不背离本发明的精神和范围。例如,消息M可以被分成奇数个片段或者片段大小或域扩展F可以代替生成多项式P。因此,其它实施例也在以下权利要求书的范围内。
Claims (25)
1.一种用于获得消息的循环冗余码的方法,其特征在于,包括:
将消息分成多个片段;
通过生成多项式将每个片段取模计算以获得所述多个片段中的每一个的余项;
将每个片段的余项乘以片段常数以获得多个片段余项,其中所述片段常数是基于生成多项式而计算出的;
将片段余项累加以获得累加余项;以及
通过生成多项式将累加余项取模计算以获得消息的循环冗余码。
2.如权利要求1所述的方法,其特征在于,还包括将消息分成三个或更多的片段。
3.如权利要求1所述的方法,其特征在于,将所述循环冗余码附加到消息上且附加后的消息被发送到接收器。
4.如权利要求1所述的方法,其特征在于,循环冗余码表明消息中是否存在差错。
5.如权利要求4所述的方法,其特征在于,如果循环冗余码是零,则验证了消息的完整性。
6.如权利要求4所述的方法,其特征在于,如果循环冗余码是非零,则消息的完整性无效。
7.如权利要求1所述的方法,其特征在于,取模计算包括除以生成多项式。
8.如权利要求1所述的方法,其特征在于,取模计算包括乘以生成多项式的倒数近似项。
9.如权利要求1所述的方法,其特征在于,通过由生成多项式将消息中的片段位置取模计算来获得每个片段的片段常数。
10.一种用于获得消息的循环冗余码的装置,该消息被分成多个片段,其特征在于,包括:
取模计算单元,通过生成多项式将所述消息的每个片段取模计算以获得所述多个片段中的每一个的余项;
乘法器,将每个片段的余项乘以片段常数以获得多个片段余项,其中所述片段常数是基于生成多项式而计算出的;以及
累加器,它累加片段余项以获得累加余项;
其中,所述取模计算单元还通过生成多项式将累加余项取模计算以获得消息的循环冗余码。
11.如权利要求10所述的装置,其特征在于,所述装置是网络卡。
12.如权利要求10所述的装置,其特征在于,还包括存储器,它用于存储多个片段常数。
13.如权利要求10所述的装置,其特征在于,在接收到消息时获得片段常数。
14.如权利要求10所述的装置,其特征在于,取模计算单元将累加余项除以生成多项式以获得循环冗余码。
15.如权利要求10所述的装置,其特征在于,取模计算单元将累加余项乘以生成多项式的倒数近似项以获得循环冗余码。
16.一种用于确定循环冗余码的方法,其特征在于,包括:
将消息分成多个片段;
当片段的次数小于生成多项式的次数时,将每个片段乘以片段常数以获得多个片段余项,其中所述片段常数是基于生成多项式而计算出的;
将片段余项累加以获得累加余项;以及
通过生成多项式将累加余项取模计算以获得消息的循环冗余码。
17.如权利要求16所述的方法,其特征在于,生成多项式的最高位的次数大于每个片段的最高位的次数。
18.如权利要求16所述的方法,其特征在于,包括将消息分成三个或更多个片段。
19.如权利要求16所述的方法,其特征在于,生成多项式包括域扩展因子。
20.如权利要求16所述的方法,其特征在于,循环冗余码表明消息中差错的可能性。
21.如权利要求16所述的方法,其特征在于,基于生成多项式和消息中片段的位置计算多个片段常数中的每一个。
22.一种获得消息的循环冗余码的装置,该消息被分成多个片段,其特征在于,包括:
乘法器,当片段的次数小于生成多项式的次数时,它将每个片段乘以片段常数以获得多个片段余项;
累加器,它将片段余项累加以获得消息的累加余项;以及
取模计算单元,它通过生成多项式将累加余项取模计算以获得消息的循环冗余码。
23.如权利要求22所述的装置,其特征在于,还包括存储器,它用于存储多个片段常数。
24.如权利要求22所述的装置,其特征在于,取模计算单元将累加余项除以生成多项式以获得循环冗余码。
25.如权利要求22所述的装置,其特征在于,取模计算单元将累加余项乘以生成多项式的倒数近似项以获得循环冗余码。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/076,975 | 2002-02-15 | ||
US10/076,975 US7174498B2 (en) | 2002-02-15 | 2002-02-15 | Obtaining cyclic redundancy code |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1633749A CN1633749A (zh) | 2005-06-29 |
CN100442671C true CN100442671C (zh) | 2008-12-10 |
Family
ID=27752680
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB038039613A Expired - Fee Related CN100442671C (zh) | 2002-02-15 | 2003-01-24 | 用于获得消息的循环冗余码的方法和装置 |
Country Status (9)
Country | Link |
---|---|
US (1) | US7174498B2 (zh) |
EP (1) | EP1474873B1 (zh) |
CN (1) | CN100442671C (zh) |
AT (1) | ATE427587T1 (zh) |
AU (1) | AU2003216112A1 (zh) |
CA (1) | CA2466080C (zh) |
DE (1) | DE60326935D1 (zh) |
TW (1) | TWI283972B (zh) |
WO (1) | WO2003071688A2 (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7613991B1 (en) | 2003-08-19 | 2009-11-03 | Altera Corporation | Method and apparatus for concurrent calculation of cyclic redundancy checks |
US7320101B1 (en) * | 2003-08-19 | 2008-01-15 | Altera Corporation | Fast parallel calculation of cyclic redundancy checks |
US7543214B2 (en) * | 2004-02-13 | 2009-06-02 | Marvell International Ltd. | Method and system for performing CRC |
JP4271602B2 (ja) * | 2004-03-04 | 2009-06-03 | 富士通株式会社 | 転送データの正当性を判定する装置および方法 |
US7516393B2 (en) * | 2005-03-01 | 2009-04-07 | International Business Machines Corporation | System and method of error detection for unordered data delivery |
US7707483B2 (en) | 2005-05-25 | 2010-04-27 | Intel Corporation | Technique for performing cyclic redundancy code error detection |
JP4708291B2 (ja) * | 2006-01-16 | 2011-06-22 | 三菱電機株式会社 | 通信システム |
JP4787732B2 (ja) * | 2006-12-26 | 2011-10-05 | 富士通株式会社 | 情報ビット列の除算方法及びその装置 |
US7865808B2 (en) * | 2007-05-09 | 2011-01-04 | Harris Corporation | Fast error detection system and related methods |
KR100902051B1 (ko) * | 2007-07-12 | 2009-06-15 | 주식회사 하이닉스반도체 | 오류 검사 코드 생성장치 및 방법 |
US8689078B2 (en) * | 2007-07-13 | 2014-04-01 | Intel Corporation | Determining a message residue |
KR20100008849A (ko) * | 2008-07-17 | 2010-01-27 | 삼성전자주식회사 | 통신 시스템에서 순환중복검사 방법 및 장치 |
KR101069725B1 (ko) * | 2009-12-24 | 2011-10-04 | 주식회사 하이닉스반도체 | 반도체 메모리 장치와 이를 위한 고장번지 제어 회로 및 방법 |
CN101795175B (zh) * | 2010-02-23 | 2014-03-19 | 中兴通讯股份有限公司 | 数据的校验处理方法及装置 |
US8479082B2 (en) | 2010-04-07 | 2013-07-02 | Indian Institute Of Technology Delhi | Packet error correction in networks |
US20130111303A1 (en) * | 2011-10-27 | 2013-05-02 | Oracle International Corporation | Single error correction & device failure detection for x8 sdram devices in bl8 memory operation |
US10148285B1 (en) | 2012-07-25 | 2018-12-04 | Erich Schmitt | Abstraction and de-abstraction of a digital data stream |
JP6162429B2 (ja) * | 2013-02-28 | 2017-07-12 | 株式会社メガチップス | 階層構造の演算回路 |
US10795858B1 (en) | 2014-02-18 | 2020-10-06 | Erich Schmitt | Universal abstraction and de-abstraction of a digital data stream |
US11018694B2 (en) * | 2019-06-10 | 2021-05-25 | Hewlett Packard Enterprise Development Lp | Fast cyclic redundancy check code generation |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1189018A (zh) * | 1996-11-21 | 1998-07-29 | 松下电器产业株式会社 | 纠错装置 |
US5951707A (en) * | 1997-06-27 | 1999-09-14 | International Business Machines Corporation | Method of partitioning CRC calculation for a low-cost ATM adapter |
CN1324517A (zh) * | 1998-08-26 | 2001-11-28 | 艾利森电话股份有限公司 | 用于生成循环冗余校验代码的并行循环冗余校验生成电路 |
CN1325199A (zh) * | 2000-08-08 | 2001-12-05 | 深圳市中兴通讯股份有限公司 | 一种数字通信系统中的信道循环冗余码校验的方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU659971B2 (en) * | 1992-12-29 | 1995-06-01 | Motorola, Inc. | Efficient CRC remainder coefficient generation and checking device and method |
EP0609595B1 (en) | 1993-02-05 | 1998-08-12 | Hewlett-Packard Company | Method and apparatus for verifying CRC codes by combination of partial CRC codes |
US6052815A (en) | 1997-11-14 | 2000-04-18 | Cirrus Logic, Inc. | ECC system for generating a CRC syndrome over randomized data in a computer storage device |
US6438724B1 (en) * | 1999-03-16 | 2002-08-20 | International Business Machines Corporation | Method and apparatus for deterministically altering cyclic redundancy check information for data storage |
KR100659265B1 (ko) * | 2000-11-10 | 2006-12-20 | 삼성전자주식회사 | 패리티비트가 역순으로 부가된 씨.알.씨. 코드의에러검출장치 및 방법 |
-
2002
- 2002-02-15 US US10/076,975 patent/US7174498B2/en not_active Expired - Fee Related
-
2003
- 2003-01-24 CA CA002466080A patent/CA2466080C/en not_active Expired - Fee Related
- 2003-01-24 AU AU2003216112A patent/AU2003216112A1/en not_active Abandoned
- 2003-01-24 CN CNB038039613A patent/CN100442671C/zh not_active Expired - Fee Related
- 2003-01-24 EP EP03742700A patent/EP1474873B1/en not_active Expired - Lifetime
- 2003-01-24 DE DE60326935T patent/DE60326935D1/de not_active Expired - Lifetime
- 2003-01-24 WO PCT/US2003/002372 patent/WO2003071688A2/en active Search and Examination
- 2003-01-24 AT AT03742700T patent/ATE427587T1/de not_active IP Right Cessation
- 2003-02-14 TW TW092103086A patent/TWI283972B/zh not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1189018A (zh) * | 1996-11-21 | 1998-07-29 | 松下电器产业株式会社 | 纠错装置 |
US5951707A (en) * | 1997-06-27 | 1999-09-14 | International Business Machines Corporation | Method of partitioning CRC calculation for a low-cost ATM adapter |
CN1324517A (zh) * | 1998-08-26 | 2001-11-28 | 艾利森电话股份有限公司 | 用于生成循环冗余校验代码的并行循环冗余校验生成电路 |
CN1325199A (zh) * | 2000-08-08 | 2001-12-05 | 深圳市中兴通讯股份有限公司 | 一种数字通信系统中的信道循环冗余码校验的方法 |
Non-Patent Citations (2)
Title |
---|
Efficient computation of packet CRC from par-tial CRCswithapplication to th Cells-In-Frames protocol. PROGINSKY A L ET AL.COMPUTER COMMUNICATIONS,ELSEVIER SCIENCE PUB-LISHERS BV,AMSTERDAM,NL,Vol.21 No.7. 1998 * |
Efficient computation of packet CRC from partial CRCswithapplication to th Cells-In-Frames protocol. PROGINSKY A L ET AL.COMPUTER COMMUNICATIONS,ELSEVIER SCIENCE PUBLISHERS BV,AMSTERDAM,NL,Vol.21 No.7. 1998 * |
Also Published As
Publication number | Publication date |
---|---|
ATE427587T1 (de) | 2009-04-15 |
DE60326935D1 (de) | 2009-05-14 |
CA2466080A1 (en) | 2003-08-28 |
WO2003071688A3 (en) | 2004-03-18 |
US7174498B2 (en) | 2007-02-06 |
EP1474873A2 (en) | 2004-11-10 |
TWI283972B (en) | 2007-07-11 |
CN1633749A (zh) | 2005-06-29 |
EP1474873B1 (en) | 2009-04-01 |
TW200308148A (en) | 2003-12-16 |
AU2003216112A1 (en) | 2003-09-09 |
WO2003071688A2 (en) | 2003-08-28 |
CA2466080C (en) | 2008-03-25 |
US20030200500A1 (en) | 2003-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100442671C (zh) | 用于获得消息的循环冗余码的方法和装置 | |
CN103473088B (zh) | 一种单片机在线升级方法和系统 | |
US8533555B2 (en) | Efficient encoding and decoding methods for representing schedules and processing forward error correction codes | |
EP0066768A1 (en) | Apparatus for generation of random numbers | |
CN102096609A (zh) | 可编程循环冗余校验(crc)计算的指令集架构 | |
GB2323457A (en) | A finite field multiplication system | |
US9106388B2 (en) | Parallel CRC computation with data enables | |
US20120072812A1 (en) | Distributed checksum computation | |
CN100437548C (zh) | 在Montgomery乘法内利用SIMD指令的方法和系统 | |
KR20080040706A (ko) | 데이터 스트림에 주기적 덧붙임 검사(crc)를 수행하기위한 crc 생성 회로를 구성하는 방법 및 장치 | |
CN116318660B (zh) | 一种消息扩展与压缩方法及相关装置 | |
CN101296053A (zh) | 计算循环冗余校验码之方法及系统 | |
EP0393080B1 (en) | Hypersystolic reed-solomon encoder | |
CN116861493B (zh) | 一种校验码生成方法、处理器及电子设备 | |
JPH0575479A (ja) | データ流における誤りの識別、補正修整回路装置 | |
CN101207467A (zh) | 循环冗余校验码的生成和数据序列发送、校验方法及装置 | |
CN115016823B (zh) | 目标软件升级方法、装置、电子设备、介质和程序产品 | |
CN108886369A (zh) | 用于执行里德-所罗门编码的方法和装置 | |
CN111431541B (zh) | 一种获得crc码的方法及装置 | |
US20080154998A1 (en) | Method and apparatus for dividing information bit string | |
CN103973446B (zh) | 用于验证电子签名的方法和数据处理设备 | |
JPH04302242A (ja) | 信号伝送方法及びその装置 | |
CN106603085B (zh) | 生成多项式的生成方法、生成装置、编码器、控制器及电子设备 | |
US10020824B1 (en) | Method and system for efficient block synchronization scheme on a scrambled cyclic code bit stream | |
CN114244374B (zh) | 一种校验矩阵生成方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20081210 Termination date: 20180124 |
|
CF01 | Termination of patent right due to non-payment of annual fee |