<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="GENERATOR" CONTENT="Mozilla/4.08 [en] (X11; I; Linux 2.2.6 i586) [Netscape]">
</HEAD>
<BODY background="../img/cjqb01.gif">
<H1>
Cyclic Redundancy Check Polynomials Tutorial</H1>
<P>
Cyclic redundancy check polynomials are the theory which lie behind the
checksum algorithm used in most modern communication systems.
<BR>A generator is chosen (using theory which will not be detailed
here). This is a sequence of bits, of which the first and last are
1. This sequence is used with the bits of the message to calculate
a check sequence which has 1 fewer bits than the generator. The
check sequence is appended to the original message. At the receiver,
the same calculation is performed on the message and check sequence combined.
If the result is 0 no transmission error is assumed to have occurred.
<BR>
Try it now using the tutorial applet above.
<UL>
<LI>Enter the message
<FONT FACE="Arial,Helvetica">01011101010110</FONT>.
<LI>Enter the generator <FONT FACE="Arial,Helvetica">11011</FONT>.
<LI>Pressing the <FONT FACE="Arial,Helvetica">Step
</FONT> button
repeatedly will transfer bits from the message to the transmitted buffer.
<LI>After all the message bits have been transferred, continue to press <FONT FACE="Arial,Helvetica">Step
</FONT> a further 5 times.
</UL>
You will observe that the bits <FONT FACE="Arial,Helvetica">1111</FONT>
have been added to the end of the transmitted buffer.
<P>
Now press the <FONT FACE="Arial,Helvetica">Clear</FONT> button
and try the message <FONT FACE="Arial,Helvetica">10111101001101</FONT>
and the sequence <FONT FACE="Arial,Helvetica">0001</FONT> will be added.
<BR>How are these sequences calculated?
<H2>
Division Algorithm</H2>
<P>
The sequence added is the remainder after the message bits are divided
by the generator, treating the bits as the coefficients of a polynomial.
Exclusive or is the operation that represents both addition and subtraction
in this type of arithmetic.
<P>
If the buffers still contain the information
they had after the second example above, you can press <FONT FACE="Arial,Helvetica">Reset
</FONT>to return them to the original state.
<UL>
<LI> Press the check symbol beside
<FONT FACE="Arial,Helvetica">Polynomial division</FONT>.
A window will appear with the generator sequence as a divisor in a long
division sum.
<LI>As you press the <FONT FACE="Arial,Helvetica">Step</FONT>
button, the bits of the message will appear in the dividend.
<LI>When <FONT FACE="Arial,Helvetica">Step</FONT> is pressed for the
6th time, the quotient starts to appear as a 1 bit.
<LI>The dividend is exclusive ored with the divisor and one extra bit
is brought down from the dividend to give
<FONT FACE="Arial,Helvetica"><FONT COLOR="#FF0000">11001</FONT></FONT>.
<LI>This can be divided by <FONT FACE="Arial,Helvetica">11011</FONT> so the
next step adds a <FONT FACE="Arial,Helvetica">1</FONT> bit to the quotient,
exclusive ors the <FONT FACE="Arial,Helvetica">11001</FONT> with
<FONT FACE="Arial,Helvetica">11011 </FONT>to give <FONT FACE="Arial,Helvetica">0010</FONT>
and a <FONT FACE="Arial,Helvetica">0</FONT> bit is brought down from the
dividend giving <FONT FACE="Arial,Helvetica">
<FONT COLOR="#FF0000">00100</FONT></FONT>.
<LI>Because the leading bit is <FONT FACE="Arial,Helvetica">0</FONT>, the divisor
does not divide it, and a <FONT FACE="Arial,Helvetica">00000</FONT> is
exclusive ored with it, a <FONT FACE="Arial,Helvetica">0</FONT> added to
the quotient and the next <FONT FACE="Arial,Helvetica">1</FONT> bit
brought down.
<LI>
The algorithm continues, exclusive oring the partial
dividend with the divisor whenever the leading bit of the dividend is <FONT FACE="Arial,Helvetica">1</FONT>,
and with <FONT FACE="Arial,Helvetica">00000</FONT> when it is <FONT FACE="Arial,Helvetica">0</FONT>.
<LI>When the original dividend is exhausted <FONT FACE="Arial,Helvetica">0000
</FONT>is added to the dividend.
<LI> The algorithm continues, and
when all the dividend and the 4 extra bits are exhausted, the remainder
<FONT FACE="Arial,Helvetica"><FONT COLOR="#FF0000">
0001</FONT><FONT COLOR="#000000">
has been calculated.</FONT></FONT>
</UL>
<H2>Checking</H2>
At the receiver, the message <EM>and</EM> the remainder are divided,
and the remainder should come out as 0. Try this now with the data
currently in the registers.
<UL>
<LI>Press the <FONT FACE="Arial,Helvetica">Exchange</FONT> button,
and the transmitted register is moved to the message register.
<LI>Press the <FONT FACE="Arial,Helvetica">Check</FONT> check box,
and the calculation will now assume that the contents of the message
register is for checking, and will not add extra 0 bits to the end of
the message.
<LI>As you press <FONT FACE="Arial,Helvetica">Step</FONT> you will
notice that when you reach the extra 4 bits corresponding to the
remainder, where previously a 1 would have appeared in the remainder,
a zero will now appear because a 1 has been inserted in the dividend.
<LI>When you have finished, 0 will be left in the remainder line of
the division.
</UL>
<H1>Shift Register Implementation</H1>
Although the operation fo the division algorithm looks complex, it
only involves shifting and exclusive or operations. This can be
conveniently arranged using a shift register. The output from the
shift register is exclusive ored with the bits at positions in the
shift register corresponding to the bit positions that are 1 in the
generator.
<UL>
<LI>Press <FONT FACE="Arial,Helvetica">Reset</FONT> to restart the
calculation.
<LI>Press the <FONT FACE="Arial,Helvetica">Shift register</FONT>
check box.
<LI>Perform the calculation again, noting how the contents of the
shift register match the partial dividends in the polynomial division
window.
</UL>
</BODY>
</HTML>
没有合适的资源?快使用搜索试试~ 我知道了~
CRC_Java.rar_The First_message generator
共17个文件
class:12个
html:3个
jar:1个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 187 浏览量
2022-09-24
13:05:36
上传
评论
收藏 37KB RAR 举报
温馨提示
his a sequence of bits, of which the first and last are 1. This sequence is used with the bits of the message to calculate a check sequence which has 1 fewer bits than the generator. The check sequence is appended to the original message. At the receiver, the same calculation is performed on the message and check sequence combined. If the result is 0 no transmission error is assumed to have occurred.
资源推荐
资源详情
资源评论
收起资源包目录
CRC_Java.rar (17个子文件)
CRC_Java
CRCview$TextActionListener.class 1KB
crctext.html 6KB
CRCview$MyItemListener.class 706B
CRCview$ChoiceListener.class 1KB
crctutorial.html 180B
CRCPoly.class 4KB
META-INF
MANIFEST.MF 66B
CRCimpl.class 2KB
CRCview$TextFocusListener.class 2KB
CRCview$ShiftListener.class 804B
CRCdivision.class 4KB
CRCview$ButtonActionListener.class 1KB
CRCshift.class 5KB
crc.jar 18KB
CRCview.class 8KB
CRCview$DivListener.class 803B
crcapplet.html 644B
共 17 条
- 1
资源评论
JaniceLu
- 粉丝: 95
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功