奇偶校验_校验和实验.doc

奇偶校验_校验和实验.doc

ID:56126266

大小:89.50 KB

页数:5页

时间:2020-06-20

奇偶校验_校验和实验.doc_第1页
奇偶校验_校验和实验.doc_第2页
奇偶校验_校验和实验.doc_第3页
奇偶校验_校验和实验.doc_第4页
奇偶校验_校验和实验.doc_第5页
资源描述:

《奇偶校验_校验和实验.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验5-1纠错与检错1.实验内容读程序,在所有红色的“#”后面添加解释,说明程序的作用2.实验题目(1)奇偶校验码在原始模式上增加一个附加比特位,即奇偶校验位,使最后整个模式中1的个数为奇数(奇校验)或偶数(偶校验)。本程序用到列表、字符串合并、取模等概念。code=input("Pleaseinputa7-bit-binarycode:")a=0#for循环作用是什么foriinrange(0,6,1):ifcode[i]=='1':a=a+1print("Afteroddparitycheckingthecodeis:")ifa%2==0:print(code+'1')#这句做

2、了什么else:print(code)#这句做了什么print("Afterevenparitycheckingthecodeis:")#下面if..else…作用是什么ifa%2==0:print(code)else:print(code+'1')(2)垂直水平奇偶校验如下图所示,14个字符纵向排列形成一个数据块,每个字符占据一列,低位比特在上,高位比特在下,用b8(第8位)作为垂直奇偶校验位,各字符的同一比特位形成一行,每一行的最右边一位作为水平奇偶校验位,这里在垂直和水平方向均采用偶校验。b110101010101010b201100110011001b30001111000

3、0111b400000001111111b500000000000000b610100110010010b7010110011011011111000b8001011001101000#下面的函数做了什么defoddeven(l):a=0foriinrange(0,len(l),1):ifl[i]=='1':a=a+1ifa%2==0:return'0'else:return'1'block=[['0']*15,['0']*15,['0']*15,['0']*15,['0']*15,['0']*15,['0']*15,['0']*15]foriinrange(0,14,1):vco

4、de=input("Pleaseinputa7-bit-binarycode:")forjinrange(0,7,1):block[j][i]=vcode[j]block[7][i]=oddeven(vcode)#这句做了什么hcode=['0']*14forjinrange(0,8,1):foriinrange(0,14,1):hcode[i]=block[j][i]block[j][14]=oddeven(hcode)#这句做了什么print(block)(3)循环冗余校验任何一个二进制位串都可以用一个多项式来表示,多项式的系数只有0和1,n位长度的码C可以用下述n-1次多项式

5、表示:例如位串1010001可以表示为x6+x4+1。数据后面附加上冗余码的操作可以用多项式的算术运算来表示。例如,一个k位的信息码后面附加上r位的冗余码,组成长度为n=k+r的码,它对应一个(n-1)次的多项式C(x),信息码对应一个(k-1)次的多项式K(x),冗余码对应一个(r-1)次的多项式R(x),C(x)与K(x)和R(x)之间的关系满足:由信息码生成冗余码的过程,即由已知的K(x)求R(x)的过程,也是用多项式的算术运算来实现。其方法是:通过用一个特定的r次多项式G(x)去除xrK(x),即:得到的r位余数作为冗余码R(x)。其中G(x)称为生成多项式(generat

6、orpolynomial),是由通信的双方预先约定的。除法中使用模2减法(无借位减,相当于作异或运算)。要进行的多项式除法,只要用其相对应的系数进行除法运算即可。本例中,10位二进制信息位串对应K(x)=x9+x8+x6+x4+x3+x+1;CRC_4对应的G(x)=x4+x+1,r=4,则生成位串为10011B=19。则xrK(x)=x13+x12+x10+x8+x7+x5+x4,对应位串11010110110000,R(x)的计算如Error!Referencesourcenotfound.所示,得出的4位余数1110作为冗余码,于是实际传输的位串为11010110111110

7、。参考程序:(本程序用到函数,列表、字符串合并、取整、取模等概念。)#这个函数做了什么defc2n(l):a=0foriinrange(0,len(l),1):a=a+int(l[i])*(2**(len(l)-1-i))returna#下面这个函数做了什么defn2c(d):b=''whiled!=0:b=str(d%2)+bd=d//2returnbinformationcode=input("Pleaseinputa10-bit-binarycode:")cod

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。