1 / 5
文档名称:

CRC基本原理.pdf

格式:pdf   大小:451KB   页数:5页
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

CRC基本原理.pdf

上传人:1781111**** 2024/5/11 文件大小:451 KB

下载得到文件列表

CRC基本原理.pdf

相关文档

文档介绍

文档介绍:该【CRC基本原理 】是由【1781111****】上传分享,文档一共【5】页,该文档可以免费在线阅读,需要了解更多关于【CRC基本原理 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。:..循环冗余校验码(CRC)的基本原理循环冗余校验码(CRC)的基本原理是:在K位信息码后再拼接R位的校验码,整个编码长度为N位,因此,这种编码又叫(N,K)码。对于一个给定的(N,K)码,可以证明存在一个最高次幂为N-K=R的多项式G(x)。根据G(x)可以生成K位信息的校验码,而G(x)叫做这个CRC码的生成多项式。校验码的具体生成过程为:假设发送信息用信息多项式C(X)表示,将C(x)左移R位,则可表示成C(x)*R,这样C(x)的右边就会空出R位,这就是校验码的位置。通过C(x)*R除以生成多项式G(x)得到的余数就是校验码。几个基本概念、多项式与二进制数码多项式和二进制数有直接对应关系:x的最高幂次对应二进制数的最高位,以下各位对应多项式的各幂次,有此幂次项对应,无此幂次项对应。可以看出:x的最高幂次为R,转换成对应的二进制数有R+位。多项式包括生成多项式G(x)和信息多项式C(x)。如生成多项式为G(x)=x+x+x+,可转换为二进制数码。而发送信息位,可转换为数据多项式为C(x)=x+x+x+。、生成多项式是接受方和发送方的一个约定,也就是一个二进制数,在整个传输过程中,这个数始终保持不变。在发送方,利用生成多项式对信息多项式做模除生成校验码。在接受方利用生成多项式对收到的编码多项式做模除检测和确定错误位置。应满足以下条件:a、生成多项式的最高位和最低位必须为。b、当被传送信息(CRC码)任何一位发生错误时,被生成多项式做模除后应该使余数不为。c、不同位发生错误时,应该使余数不同。d、对余数继续做模除,应使余数循环。将这些要求反映为数学关系是比较复杂的。但可以从有关资料查到常用的对应于不同码制的生成多项式如图所示:NK码距dG(x)多项式G(x)x+x+x+x+x+x+x+x+x+x+x+x+x+x+x+x+x+x+x+x+x+x+x+x+x+x+x+x+x+x+x+:..x+x+x+图常用的生成多项式、模除(按位除)模除做法与算术除法类似,但每一位除(减)的结果不影响其它位,即不向上一位借位。所以实际上就是异或。然后再移位移位做下一位的模减。步骤如下:a、用除数对被除数最高几位做模减,没有借位。b、除数右移一位,若余数最高位为,商为,并对余数做模减。若余数最高位为,商为,除数继续右移一位。c、一直做到余数的位数小于除数时,该余数就是最终余数。【例】除以:———商————-----被除数————除数————————————————余数CRC码的生成步骤、将x的最高幂次为R的生成多项式G(x)转换成对应的R+位二进制数。、将信息码左移R位,相当与对应的信息多项式C(x)*R、用生成多项式(二进制数)对信息码做模除,得到R位的余数。、将余数拼到信息码左移后空出的位置,得到完整的CRC码。【例】假设使用的生成多项式是G(x)=x+x+。位的原始报文为,求编码后的报文。解:、将生成多项式G(x)=x+x+转换成对应的二进制除数。、此题生成多项式有位(R+),要把原始报文C(x)左移(R)位变成、用生成多项式对应的二进制数对左移位后的原始报文进行模除:-------商----------------------------------除数-------------------------------余数(校验位):..、编码后的报文(CRC码):+------------------CRC的和纠错在接收端收到了CRC码后用生成多项式为G(x)去做模除,若得到余数为,则码字无误。若如果有一位出错,则余数不为,而且不同位出错,其余数也不同。可以证明,余数与出错位的对应关系只与码制及生成多项式有关,而与待测碼字(信息位)无关。图给出了G(x)=,C(x)=的出错模式,改变C(x)(码字),只会改变表中码字内容,不改变余数与出错位的对应关系。收到的CRC码字余数出错位码位AAAAAAA正确无错误图(,)CRC码的出错模式(G(x)=)如果循环码有一位出错,用G(x)作模除将得到一个不为的余数。如果对余数补继续除下去,我们将发现一个有趣的结果;各次余数将按图顺序循环。例如第一位出错,余数将为,补后再除,第二次余数为,以后依次为,ll?,反复循环,这就是“循环码”名称的由来。这是一个有价值的特点。如果我们在求出余数不为后,一边对余数补继续做模除,同时让被检测的校验码字循环左移。图说明,当出现余数()时,出错位也移到A位置。可通过异或门将它纠正后在下一次移位时送回A。这样我们就不必像海明校验:..那样用译码电路对每一位提供纠正条件。当位数增多时,循环码校验能有效地降低硬件代价,这是它得以广泛应用的主要原因。通信与网络中常用的CRC在数据通信与网络中,通常k相当大,由一千甚至数千数据位构成一帧,而后采用CRC码产生r位的校验位。它只能检测出错误,而不能纠正错误。一般取r=,标准的位生成多项式有CRC-=x+x+x+ITT=x+x+x+。一般情况下,r位生成多项式产生的CRC码可检测出所有的双错、奇数位错和突发长度小于等于r的突发错以及(--(r-))的突发长度为r+的突发错和(--r)的突发长度大于r+的突发错。例如,对上述r=的情况,就能检测出所有突发长度小于等于的突发错以及.%的突发长度为的突发错和.%的突发长度大于的突发错。所以CRC码的检错能力还是很强的。这里,突发错误是指几乎是连续发生的一串错,突发长度就是指从出错的第一位到出错的最后一位的长度(但是,中间并不一定每一位都错)。【例】某循环冗余码(CRC)的生成多项式G(x)=x+x+,用此生成多项式产生的冗余位,加在信息位后形成CRC码。若发送信息位和则它的CRC码分别为_A_和_B_。由于某种原因,使接收端收到了按某种规律可判断为出错的CRC码,例如码字_C_、_D_、和_E_。(年试题)供选择的答案A:①lllll②③④B:①②③④C~E:①②③⑤⑥⑦⑧解:A:G(x)=,C(x)=C(x)*÷G(x)=÷=余得到的CRC码为B:G(x)=,C(x)=C(x)*÷G(x)=÷=余得到的CRC码为C~E:分别用G(x)=对①~⑧作模除:①÷余②÷余③÷余④÷余⑤÷余⑥÷余⑦÷余⑧÷余所以_C_、_D_和_E_的答案是②、⑥、⑧【例】计算机中常用的一种检错码是CRC,即_A_码。在进行编码过程中要使用_B_运算。假设使用的生成多项式是G(X)=X+X+X+,原始报文为,则编码后的报文为_C_。CRC码_D_的说法是正确的。“”。这种码的编码效率为_E_。:..供选择的答案:A:①水平垂直奇偶校验②循环求和③循环冗余④正比率B:①模除法②定点二进制除法③二-十进制除法④循环移位法C:①②③④D:①可纠正一位差错②可检测所有偶数位错③可检测所有小于校验位长度的突发错④可检测所有小于、等于校验位长度的突发错E:①/②/③log/log④(log)/解:从前面有关CRC的论述中可得出:A:③循环冗余B:①模除法C:G(x)=,C(x)=,C(x)*÷G(x)=÷余得到的CRC码为②D:从前面有关通信与网络中常用的CRC的论述中可得出:④可检测所有小于、等于校验位长度的突发错E:定比码又叫定重码,是奇偶校验的推广。在定比码中,奇数或偶数的性质保持不变,然而附加一种限制,每个字中的总数是固定的。随用途之不同,定比码要求的附加校验位可能多于一个,但较之单一的奇偶校验将增加更多的检错能力。所谓中取定比码,就是整个码字长度为位,其中的位数固定为。所有个位代码(~)中只有的位数固定为的才是其合法码字。可以用求组合的公式求出其合法码字数为:C=!/(!*(-)!)=**/(**)=编码效率=合法码字所需位数/码字总位数=(log)/