1、 信息论与编码期末考察报告题 目 编码技术在单片机通信中的研究与应用 学生姓名 唐 磊学 号 20102334031院 系 滨江学院电子工程系专 业 通信工程二一二 年 十二 月 十五 日编码技术在单片机通信中的研究与应用唐 磊滨江学院电子工程系通信工程专业摘要:计算机之间数据通讯的校验以奇偶校验或数据块和校验较为常见在误码率稍显突出时,这种方式的数据通信效率就会降低本文从实际出发,介绍了一种提高计算机通信效率的编译码方法,并以八位单片机为例,给出了软件实现编译码的设计该设计对于提高单片机数据通信效率,减少误码率具有很强的实用价值关键词:单片机;通信;编码;译码;纠错;抗干扰Abstract:
2、There are two familiar methods of checking the accuracy of the data communicated between two computers0ne is the method of counting the number of 0 or 1in the data Another is the method of adding all dataWhen the mistake code rate is slightly outstanding ,the efficiency of the data communication wil
3、l lowerProceeding from actual condition,this test introduces a kind of the coding method and gives a design with 8 bit microprocessor .The method can raise the efficiency the data communication and cut down the wrong dataKeywords: microprocessor;communication; encoding;correcting code :anti-interfer
4、ence1. 引言在数据通信中,误码率是项重要指标误码可能发生在各个环节,大量实践证明,传输媒介是产生误码的主要来源为了提高数据传输可靠性,人们开始广泛采用编码技术,通过编码以一定的规则产生一些附加数字(称为监督数字),使原来不相关的信息序列变为相关的新列( 称为码序或码字),然后把新的序列发送出去通过编码的方法使信息具有纠检差错的能力该通信模型可简要地用图 1 表示2. 基本原理21 选择编码形式人们已研究出许多编码方法,如奇偶校验码、汉明码、循环码和卷积码等这些编码中,有的具有检错能力,有的既能检错、又能纠错在众多的编码中,汉明码比较直观简单,传输信息数字的频率(即信息率)最高,它既具有检
5、错能力,又具有纠错能力,而且软硬件实现起来也较为简单本设计采用汉明码中纠 1 检 2 错线性码编码,当接收端发现接收的信息出现了一位差错时,在译码的同时也就完成了纠错;当出现两位差错时,能及时检出舍弃22 MCS-51 编码方案设计对于 Mcs5l 系列单片机的串行口来说,若接收和发送双方约定选用方式 1 工作时,串行口一次能够发送 10 位数码(1 位起始位、8 位数据位和 l 位停止位)接收缓冲器里一次只能存放一个字节数据对于一个 8 位数码,若再加上一些监督位,则该码就超过 8 位,Mcs5 1 单片机一次发送不能完成若先发送 8 位信息,后发送监督位,则达不到纠 1 检 2 的目的为此
6、,一个 8 位信息可分为两组编码,即高 4 和低 4 位分别编码发送、分别纠检差错3. 编码技术具体应用31 译码依据原则根据汉明码取最少的监督数字,包含最多的信息原则,来确定监督数字的位数该原则可用公式: 表达,式中 m 为监督21m数字位数该表达式运算结果即为所包含的最多有效信息本例中取 m=3(位) 监督数字,则可包含 4 位有效信息,这时码长为:4+3=7(位) ,根据一致监督矩阵的特点可知,一致监督矩阵的横行数等于监督数字的个数,纵列数等于码的长度这样把 1、2、7 化为二进制数,然后把它们作为矩阵的纵列,组成一个矩阵,再按照一致监督矩阵排列得:在做一致监督矩阵时,要求包含: 、 .
7、这10r( ) rr( 10) 、 ( )3 个纵列是为了保证矩阵中的每一横行线性无关,这样就能保证由这个一致监督矩阵做出的 =16 个状态包含所有的信息42为了更加明确编程思路,简要介绍一下纠码原理设 c 为一个码字,根据一致监督方程的关系,则有:们 7=0根据此关系,设接收矢量为 R,则当 时,认为 R 是一个0TH正确的码字;若 时,则 R 就不是一个正确的码字,即接收信0THR息有错假设接收矢量 R 只包含一个差错,则利用监督子 可确TSHR定这个差错的位置,从而可得到纠正针对本例,设 ,其中 E 为错型,则127(,)CEC展开后得: TSHR由式 2 可见,当接收矢量中只有一个差错
8、时,监督子 就等于TS监督矩阵中的某一纵列,从而能纠正单个差错。当发生两个差错时, 就等于相应两列之和因为各纵列都不TS相同,所以任两列之和不为零,即可检出两个差错。为了不致将单个差错和两个差错混淆,就必须设法将两列之和的情况与任一纵列区别开来不难看出,只要在矩阵日的每一纵列的顶端各加一个“1”就可达到目的这样,当发生一个或奇数个差错时,纵列的第 1 个元素总是“1” ,如果发生两个或偶数个差错时,第 1 个元素就变为零由此,修正后的矩阵 H*为:这样, TSHR由式(3) 可见,监督子增加到 4 位,相应码长也增加到 8 位,根据任一纵列都不相同的原则,这里第 8 列取为 .(10)r32
9、MCS-51 译码软件编程依据上述原理,下面给出了用 Mcs-51 汇编语言编写的纠 1 检 2错的译码应用程序(限于篇幅此处只给出程序框图) 程序框图中为 相应的转置矩阵编程时,对奇数个差错是按一个差TAB、 、错进行处理的译码程序框图见图 233 编码的实现为了能够方便地把所有信息编成变形的汉明码,必须首先求得码的生成矩阵根据生成矩阵与一致监督矩阵的关系,并通过一致监督矩阵,求得生成矩阵具体做法如下:将一致监督矩阵记作: ,其中:1 为单位矩阵;Q 为剩余部(,)H分矩阵则生成矩阵为 G=(1,P),其中: PT在本例中,已知 4 位信息为 ,则相应的 8 位码字可通1234C、 、 、过
10、下式求得 (4)1284()()G 本例中,将 F 通过矩阵等效行变换后,化为标准形式:(5)则相应地,生成矩阵代入(4)得由式(8) 可见,码字的前 4位为信息,后 4 位为监督位,并且有图 3 给出了编码程序框图4. 抗干扰能力设每个码元的误码率为 ,对于码长为 8 的变形汉明码来说,-310码字中出现 1 个差错的概率为:233738(0)8G出现 2 个差错的概率为:33658(10)10G出现 3 个差错的概率为: 3548()6设传输速率为 300bit s,则在 ls 内平均会遇到含单个差错的概率为:810q300803 个错字1s 内平均会遇到含双个差错的为:310q30082
11、 个错字31即在 l 000s 内平均会遇到两个含双个差错的错字1s 内平均会遇到含 3 个差错的为:610。830082 个错字610即在 5 s140h 内平均会遇到一个含 3 个差错的错字510在本例中,假设的误码率是较大的,而实际工作中要小得多,故遇到含 3 个差错的情况也少得多因此本例中对奇数个差错是按一个差错处理的,即采用纠 1 检 2 错处理5. 结论通过上述计算可以看出,该编码可大大提高数据通信抗干扰能力,能够满足实际应用的要求参考文献:【1】蔡宗蔚实用编码技术【M】 北京:人民邮电出版社出版,1987【2】陈宗杰,左孝彪纠错编码技术【M】 北京:人民邮电出版社出版,1987【3】樊昌信通信原理【M】 北京:国防工业出版社,1988【4】孙函芳,徐爱卿Mcs-51、96 系列单片机原理及应用【M】 北京:北京航空航天大学出版社,1988【5】何立民Mcs-51 系列单片机应用系统设计【M】 北京:北京航空航天大学出版社,1990【6】张毅刚Mcs-51 系列单片机应用及实用子程序【M】 哈尔滨:哈尔滨工业大学出版社,1990