高手都死光了??还是被钱迷住了??一个效验的问题我用了600分都问不出一个结果,还叫什么大富翁论坛?!!!(200分)

  • 主题发起人 主题发起人 crazycock
  • 开始时间 开始时间
难道还有什么蹊跷之处?
 
不懂。。up
 
一。循环冗余(CRC)校验:

循环冗余(CRC)校验码是线性码,由基本代码和校验码(冗余位)组成。
线性码:在长度为n位代码中,若有k位信息码和r位校验码,其中每一个校验码元
是该代码某些信息码元的和(模之和)。
线性代码表示为(n,k),n-码长,k-信息码 n位代码=k位信息码元+r位校验码
由矩阵表示 V=[akak-1...a2a1 CrCr-1...C2C1](注:k和r均是下标)
其中ai-信息码元 Ci-校验码元
2.代码的多项式表示方法
例:11001011=X7+X6+X3+X+1 (其中X是除0之外的任意数)

例:用多项式模2除法求(X3+1)/(X2+X)得X+1
3.循环冗余码的形成
设要传送的报文码长度为K位,可用K-1阶的报文码多项式M(X)表示。
G(x)为 r=n-k阶的生成多项式即G(x)=Xr+Xr-1+...+X2+X+1
M(x)Xr R(x)
------ = Q(x)+ ----------
G(x) G(x)

C(x) = M(x)Xr + R(x)=Q(x)*G(x)
循环冗余码 基本代码 校验码


在实际应用中生成多项式预先给定,最常用的的生成多项式有四个:

1,CRC_12 G(x)=X12+X11+X3+X2+1
2,CRC_16 G(x)=X16+X15+X2+1 (IBM公司)
3,CRC_16 G(x)=X16+X12+X5+1 (CCITT)
4,CRC_32 G(X)=X32+X26+X23+X22+X16+X11+X10+X8+X7+X5+X4+X2+X+1 (在LAN中应用)


例题:
利用生成多项式G(X)=X4+X3+X2+1
计算报文11001010101的校验序列。
解:因为G(X)=X4+X3+X2+1=11011,所以r=4
M(X) = 110010101
M(x)*Xr(注:是X的r次方)=110010101010000
得:R(x)=0011 (注:R(x)=M(x)*Xr/G(x),因为r=4,所以取四位)
因此:C(x)=M(x)*Xr+R(x)=110010101010011



把上学期网络课的笔记敲了给你,希望能有用的上的地方。
 
谢谢大家,收工收工,问题解决了,里面有大家的功劳,也有我的小聪明[:D]
厂家的效验确实是我最后发的那段代码,不过,才发现,里面果然有蹊跷的地方,想知道么?给我来信吧[^]
resun朋友,作为你热情帮助的回报,我会把问题解决的最终结论发到你信箱里的,再次谢谢你。[:)]
其它朋友,没有帮上忙,但是up有功,给点分。
 
祝贺你啊,我回头看一下代码,我今天试了,没有成功。再一次祝贺你啊!
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
605
import
I
I
回复
0
查看
609
import
I
后退
顶部