谁能给我贴一份关于校验和的详细算法

chsilence 中建材集团进出口公司 CTO/CIO/技术副总裁/总工程师  2004-04-11 08:34:40
希望能给详细注释,有些东西看不懂!:(
...全文
12 点赞 收藏 2
写回复
2 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
beyondsky00 2004-04-11
假设要发送比特串
11 0 1 0 11,生成多项式为G(x) =x4+x3+ 1
第1步:在串尾加0。0的个数与生成多项式的次数一致(本例中为4)。
这样,串就变成了11010110000。
第2步:将B(x)除以G(x)。余式为R(x) =x3+x,或等价的比特串1 0 1 0。
注意,可以将此写成代数形式:B(x) Q(x)
----=-----+Q ( x )
G(x) G(x)
这里,Q ( x )表示商。可以等价地写成:B(x) =G(x)×Q(x) +R(x)
第3步:定义T ( x )=B ( x )-R ( x )。既然减法是对应项的系数之差,
我们就可以用与每个多项
式对应的比特串之差来计算。本例中,有
11 0 1 0 110000 比特串B
-1010 比特串R
------------------------
11 0 1 0 111010 比特串T
注意,串T实际上是串B将加0部分用R代替所得。另外,如果我们将T ( x )
除以G ( x ), 余数为0 。然后,发送方发送串T。
第4步:若串T传输无误,那么将它除以G ( x ),余数为0。若串T在传输中被损坏了。例如,
中间4个比特变为0,到达串为11 0 0 0 0 0 1 0 1 0。
接收方将它模2再除以G ( x ),余数不为0。
既然余数不为0,接收方就认为发生了错误。
(注意:这不等于说将损坏的串除以G ( x ),其余数总是为非零。
这种情况会发生,但是若G ( x )选取得当,发生的几率就会很小
--------------(摘自《数据通讯与网络》)
回复
chsilence 2004-04-11
怎么没人理我?
回复
发动态
发帖子
通信技术
创建于2007-08-27

3965

社区成员

通信技术相关讨论
申请成为版主
社区公告
暂无公告