论文部分内容阅读
摘 要 文章首先介绍了单片机信息传播概况和海明码的编码原理,在单片机中如何通过海明码的原理进行纠错,阐述了在单片机中如何进行程序的发送和接收流程,论证其可行性。
关键词 海明码;流程;单片机
中图分类号:TP3 文献标识码:A 文章编号:1671-7597(2013)19-0038-01
1 普通信号纠偏原理
在今天计算机技术广泛被应用于各行各业,当然也包括信息的传播,传播信号由于受到了传播媒介和外界的各种干扰,信号在传播的过程中可能会有波形的变化,所以不可避免的出现了一些错误。因此,开发人员在信息传播的过程中可以及时将错误找出并将其纠正,在整个通信工程中成为了亟待解决的问题。从目前的各个工程中为了降低误码率,最常用的方式就是利用单片机众多功能当中的串行双工通信方式进行信息的传输,这种方式在目前的各种方式当中通信的准确率相对较高。上面所说的串行双工通信方式通常包含有两种方式:第一种方式就是通过不断提升信道通信的质量,这样的方式是将信道本身所发生的误码情况降到最低;第二种方式是如果第一种方式的误码率外界无法进行干扰的状况下,则运用控制差错的技术,一旦发现错误的编码在数据的发送端加发一个抗干扰的编码,到达数据的接收端时再将之前的信息译码,这样就可以发现异常码字从而进行纠正,这样做的目的就是可以使数据传输的准确度不断的提高。如果一个系统已经具有非常固定的系统了,那么通常都会运用第二种方法,这种方法除了要完成上面所说的加入抗干扰编码外,同时还需要加装编译码在控制电路在线路两端,其原理是利用硬件的方式来实现纠偏的功能。
2 海明码编码原理及编码过程
2.1 基本原理
我们来看一下上面的公式(1),可以做这样的理解,假设在C位的信息出现了一位的错误,那么一定会有C种出现错误的代码,而C位的信息当中所包含的校验位有B个,因此在2B个状态当中,那么如果其中一位信息码出现错误那么n种状态我们就可以用(2B-1)个状态分别来代表,最后的一个所代表的是正确的代码。通过这样的方式就可以找出错误的码位,以便设计开发人员进行纠正。根据公式1我们可以得到不同校验位的编码长度,如表1所示。通过表1我们可以看出,如果数据位比较少,那么说需要的编码长度也会对应增加,校验位同编码长度的是随着数据位数越来越多,校验位就相对较少。
2.2 海明码的编译码过程
想要单片机实现海明码纠错,要执行数据的发送与接收,我们先来看下海明码是如何进行编码的。首先将数据位和校验位两者相加的数设为C,我们将校验位B分配于海明码第2的位置上,剩下的都留给数据位,我们将数据位依次由低向高的顺序进行排列分配;其次海明码的当中的每个码,这里所说的码包括了数据位以及校验位是由多个校验位去进行校验,被校验的每一个位置都被编上固定的编码,编码的号是等于各个校验位的位置号相加。想要得到错误码的位置号,只有通过这样的方式来进行安排。在数据另外一侧的接收端对收到的信息进行一个解码出来,也就是之前所说的译码,在译码的过程中非常重要的一个操作就是得到状态码。
2.3 单片机海明码纠错基本原理
上面对海明码编译码的编码原理做了简单的论述,通过单片机的软硬件都能实现,无论是软件的实现还是硬件的实现都有各自的优势。为了将数控的可靠性进一步提升,我们将单片机同数字逻辑部件相配合的方式来实现,数据的传输采用串行的方式,串行的方式可以将传输的速度加快等特点,执行的时候需要硬件电路的支持,但是增加了硬件电路也就是将数据传输系统的成本增加了同时增加了复杂性。下面对单片机软件实现编译码的过程做以介绍。首先介绍的是单片机软件如何实现海明码的发送,海明码进行编码和发送的基本流程就是设定一个专门的区域M1,用来存放1个8位的数据,首先通过计算得出相应的校验位,然后根据规则为校验位排列,存在之前设好的区域内,在发送时将区域内的内容要统一发往接收端;发送的过程是发送机首先对数据块长度和累加和进行发送,如果接收机没有正常接收,那么给出错误的信号,进行重新的发送,一直到接收机回答正确为止,发送机将每一种信号都按照此流程进行发送,直到全部数据发送完成。接收机的接收程序同发送机有很多相似的地方,对接收的数据也会执行校验。如果校验的时候发现有错,则会给发送机送出回馈,给出错误信号,同时进行重新接收信息;如果校验是正确的,那没就会将正确的信号发送到发送机,同时开始接收数据信息,同时存储到专门的区域M2当中。
3 结束语
通过全文的介绍可以知道海明码可以发现一位差错并对其执行纠正,也就是说可以把差错控制在最新同时不用发送机进行再一次发送,这样很大程度节约了网络的信息流量。利用单片机实现纠错偏,不仅容易实现而且可以节约硬件资源,只要在原来的基础之上加入数据编码以及解码的子程序就可以实现。软件编程中的汇编语言、C语言都可以将这一过程实现。所以说,海明码的构造是非常灵活的对于纠错方面必将有很好的发展前景。
参考文獻
[1]张玲,李磊民,刘刚.海明码纠错在无线遥控中的应用[J].通信技术,2007.
[2]吕菲,刘大伟.纠错码在通信系统中的应用[J].软件导刊,2008,7(4):17-l8.
关键词 海明码;流程;单片机
中图分类号:TP3 文献标识码:A 文章编号:1671-7597(2013)19-0038-01
1 普通信号纠偏原理
在今天计算机技术广泛被应用于各行各业,当然也包括信息的传播,传播信号由于受到了传播媒介和外界的各种干扰,信号在传播的过程中可能会有波形的变化,所以不可避免的出现了一些错误。因此,开发人员在信息传播的过程中可以及时将错误找出并将其纠正,在整个通信工程中成为了亟待解决的问题。从目前的各个工程中为了降低误码率,最常用的方式就是利用单片机众多功能当中的串行双工通信方式进行信息的传输,这种方式在目前的各种方式当中通信的准确率相对较高。上面所说的串行双工通信方式通常包含有两种方式:第一种方式就是通过不断提升信道通信的质量,这样的方式是将信道本身所发生的误码情况降到最低;第二种方式是如果第一种方式的误码率外界无法进行干扰的状况下,则运用控制差错的技术,一旦发现错误的编码在数据的发送端加发一个抗干扰的编码,到达数据的接收端时再将之前的信息译码,这样就可以发现异常码字从而进行纠正,这样做的目的就是可以使数据传输的准确度不断的提高。如果一个系统已经具有非常固定的系统了,那么通常都会运用第二种方法,这种方法除了要完成上面所说的加入抗干扰编码外,同时还需要加装编译码在控制电路在线路两端,其原理是利用硬件的方式来实现纠偏的功能。
2 海明码编码原理及编码过程
2.1 基本原理
我们来看一下上面的公式(1),可以做这样的理解,假设在C位的信息出现了一位的错误,那么一定会有C种出现错误的代码,而C位的信息当中所包含的校验位有B个,因此在2B个状态当中,那么如果其中一位信息码出现错误那么n种状态我们就可以用(2B-1)个状态分别来代表,最后的一个所代表的是正确的代码。通过这样的方式就可以找出错误的码位,以便设计开发人员进行纠正。根据公式1我们可以得到不同校验位的编码长度,如表1所示。通过表1我们可以看出,如果数据位比较少,那么说需要的编码长度也会对应增加,校验位同编码长度的是随着数据位数越来越多,校验位就相对较少。
2.2 海明码的编译码过程
想要单片机实现海明码纠错,要执行数据的发送与接收,我们先来看下海明码是如何进行编码的。首先将数据位和校验位两者相加的数设为C,我们将校验位B分配于海明码第2的位置上,剩下的都留给数据位,我们将数据位依次由低向高的顺序进行排列分配;其次海明码的当中的每个码,这里所说的码包括了数据位以及校验位是由多个校验位去进行校验,被校验的每一个位置都被编上固定的编码,编码的号是等于各个校验位的位置号相加。想要得到错误码的位置号,只有通过这样的方式来进行安排。在数据另外一侧的接收端对收到的信息进行一个解码出来,也就是之前所说的译码,在译码的过程中非常重要的一个操作就是得到状态码。
2.3 单片机海明码纠错基本原理
上面对海明码编译码的编码原理做了简单的论述,通过单片机的软硬件都能实现,无论是软件的实现还是硬件的实现都有各自的优势。为了将数控的可靠性进一步提升,我们将单片机同数字逻辑部件相配合的方式来实现,数据的传输采用串行的方式,串行的方式可以将传输的速度加快等特点,执行的时候需要硬件电路的支持,但是增加了硬件电路也就是将数据传输系统的成本增加了同时增加了复杂性。下面对单片机软件实现编译码的过程做以介绍。首先介绍的是单片机软件如何实现海明码的发送,海明码进行编码和发送的基本流程就是设定一个专门的区域M1,用来存放1个8位的数据,首先通过计算得出相应的校验位,然后根据规则为校验位排列,存在之前设好的区域内,在发送时将区域内的内容要统一发往接收端;发送的过程是发送机首先对数据块长度和累加和进行发送,如果接收机没有正常接收,那么给出错误的信号,进行重新的发送,一直到接收机回答正确为止,发送机将每一种信号都按照此流程进行发送,直到全部数据发送完成。接收机的接收程序同发送机有很多相似的地方,对接收的数据也会执行校验。如果校验的时候发现有错,则会给发送机送出回馈,给出错误信号,同时进行重新接收信息;如果校验是正确的,那没就会将正确的信号发送到发送机,同时开始接收数据信息,同时存储到专门的区域M2当中。
3 结束语
通过全文的介绍可以知道海明码可以发现一位差错并对其执行纠正,也就是说可以把差错控制在最新同时不用发送机进行再一次发送,这样很大程度节约了网络的信息流量。利用单片机实现纠错偏,不仅容易实现而且可以节约硬件资源,只要在原来的基础之上加入数据编码以及解码的子程序就可以实现。软件编程中的汇编语言、C语言都可以将这一过程实现。所以说,海明码的构造是非常灵活的对于纠错方面必将有很好的发展前景。
参考文獻
[1]张玲,李磊民,刘刚.海明码纠错在无线遥控中的应用[J].通信技术,2007.
[2]吕菲,刘大伟.纠错码在通信系统中的应用[J].软件导刊,2008,7(4):17-l8.