混合编码方法技术

技术编号:9173459 阅读:247 留言:0更新日期:2013-09-19 22:53
本发明专利技术涉及通讯数据传输领域,特别涉及一种混合编码方法,按如下步骤进行编码:(A)将待发信息以固定位数为一组,分成多组;(B)每组信息后拼接循环冗余校验码,形成内层码;(C)内层码外再拼接奇偶校验码,形成外层码;发送外层码,编码过程结束。相较于传统的奇偶校验编码方法来说,MCU的占用上只会多一点点,但是本发明专利技术兼具有加密、纠错功能,当奇偶校验位出现错误的时候,通过内层的循环冗余码进行纠错,不必再将数据重新传输。增加数据安全性的同时还保证了传输效率。

【技术实现步骤摘要】
混合编码方法
本专利技术涉及通讯数据传输领域,特别涉及一种混合编码方法。
技术介绍
在通讯数据传输领域,其数据的传输都是采用二进制进行传输的,因干扰的存在,导致数据在传输过程中不可避免产生错误,某些位上的0变成1或者1变成0,使得接收到的信息与发送的信息不一致,其产生错误的位置即所谓的误码,为减少误码的出现,现有技术中通常采用奇偶校验编码或循环冗余校验编码对发送的信息进行编码。不管哪种编码,首先都是将待发信息按固定位数分组,比如以32位信息为一组,然后在每组信息后附加上校验码,奇偶校验编码的校验码只有一位,循环冗余编码的校验码有多位。对于以上两种编码方式,奇偶校验编码结构简单,编码、解码响应速度快,MCU(微控制单元)资源占有率低,但是该校验码没有加密、纠错的功能;循环冗余校验编码具有非常强的查错、纠错功能,还兼具加密功能,但是其编码、解码过程较为复杂,MCU的资源占有率高,影响到MCU得实时性,且增加了系统功耗。
技术实现思路
本专利技术的目的在于提供一种混合编码方法,MCU资源占有率低,传输有效、安全。为实现以上目的,本专利技术采用的技术方案为:一种混合编码方法,按如下步骤进行编码:(A)将待发信息以固定位数为一组,分成多组;(B)每组信息后拼接循环冗余校验码,形成内层码;(C)内层码外再拼接奇偶校验码,形成外层码;发送外层码,编码过程结束。与现有技术相比,本专利技术存在以下技术效果:本专利技术中的混合编码方法,相较于传统的奇偶校验编码方法来说,虽然在MCU的占用上会多一点点,但是对于小功率的单片机系统来说,还是可以接受的,同时混合编码方法还兼具有加密、纠错功能,当奇偶校验位出现错误的时候,再对内层的循环冗余码进行校验、纠错,不必再将数据重新传输,保证了传输效率。附图说明图1是本专利技术的编码流程图;图2是本专利技术的解码流程图。具体实施方式下面结合图1至图2,对本专利技术做进一步详细叙述:参阅图1,一种混合编码方法,按如下步骤进行编码:(A)将待发信息以固定位数为一组,分成多组;这里所说的固定位数不定,根据用户自己选择。(B)每组信息后拼接循环冗余校验码,形成内层码;(C)内层码外再拼接奇偶校验码,形成外层码;发送外层码,编码过程结束。作为本专利技术的优选方案,每组信息后拼接的循环冗余校验码的位数r与该组信息位数K之间应满足2r-1<K≤2r,这样循环冗余校验的纠错效果最佳。为详细说明上述步骤,下面以8位码组为例,即上述所述的固定位数为8,此时K=8。首先将待发信息以8位为一组,分成若干组,假设其中一组信息为10111001,根据2r-1<K≤2r可以算出r=3,因为循环冗余校验码的位数比多项式的少一位,同时按国际上通行的标准多项式的最高位和最低位必须均为1,我们可以与接收方约定多项式g(x)=x3+x+1,该多项式的二进制比特串为1011。然后开始计算该组信息的循环冗余校验码。首先将该组信息10111001后面加上三个0得到:10111001000,用多项式g(x)的二进制比特串1011模2除101110111001000,得到余数110,用得到的余数110替代前面所加的三个0得到内层码10111001110,其中余数即是拼接的循环冗余校验码。得到内层码之后,我们在添加一位奇偶校验码,奇偶校验的方式分为奇校验、偶校验,这里以偶校验为例,即添加一位奇偶校验码使得整个外层码的中“1”的个数为偶数个。本例中内层码中的“1”的个数为奇数个,所以奇偶校验码为1,外层码为101110011101。对其他码组重复进行循环冗余校验码和奇偶校验码的拼接,然后将所得到的信息发送。参阅图2,接收端按如下步骤进行解码:(a)将接收到的外层码进行奇偶校验并去除奇偶校验位得到内层码,如果校验结果错误,进入步骤b;校验结果正确,进入步骤d;(b)对内层码进行循环冗余校验,如果校验结果错误,进入步骤c;校验结果正确,进入步骤d;(c)纠错并去除循环冗余校验码,进入步骤e;(d)直接去除循环冗余校验码,进入步骤e;(e)将得到的多组码组合并,解码过程结束。同样,以上述的外层码为例,首先对外层码进行奇偶校验,即判断外层码中“1”的个数是否为偶数个,当其中“1”的个数不为偶数个时,说明传输的数据有错误,去除其奇偶校验码后进行纠错;如果是偶数个,说明传输的数据正确,直接去除奇偶校验码、循环冗余校验码,还原码组信息。需要指出的是,“1”的个数为偶数个,并不是一定正确,比如外层码中出现偶数位错误,如第三、六位发生错误,此时的外层码为100111011101,其中“1”的个数依然是偶数个,这种情况是奇偶校验不可避免的。如本例中,假设每位传输错误率为5%,则全部正确的概率为0.9512≈54%,出现一位错误的概率为C112×0.05×0.9511≈34%,出现两位错误的概率为C212×0.052×0.9510≈9.9%,出现三位错误的概率为C312×0.053×0.959≈1.7%,以下同理计算,且错误位数越多时出现概率越小。由上面结果我们可知,出现一位错误的概率还是很大的,出现两位错误时奇偶校验会忽略,其概率相较而言不是很大。如果奇偶校验码有错误,说明数据传输有误,且错误的位数是奇数位,则需要对内层码进行循环冗余校验,即用多项式g(x)的二进制比特串1011模2除内层码,如果余数是0,则循环冗余校验正确;余数不为0,说明循环冗余校验有误。一般来说,奇偶校验有错误,说明内层码有误,其循环冗余校验结果也是错误的,但是,有些时候内层码错误较多,导致其循环冗余校验的结果可能是正确的,此时直接去除循环冗余校验码即可。虽然这种情况得到的码组不一定是正确的,但是这种情况发生的几率很小,基本可以忽略。正常情况下,循环冗余校验的余数不为0,以首位传输错误的内层码00111001110为例,用g(x)的二进制比特串1011模2除00111001110,其余数为011,此时,在纠错时发现余数为011时,我们就将第一位进行纠正即1变成0,0变成1就可以了。余数不同时,其纠正的位数也不同,如此,对于出现一位传输错误的情况都予以纠正。纠正之后去除循环冗余校验码即可得到正确的信息。需要指出的是,循环冗余校验码的位数越多,其纠错能力越强,但其消耗的系统资源也越多。本专利技术中循环冗余校验码的位数r满足2r-1<K≤2r,其可以保证对出现一位错误进行有效的纠正,如果r增加,其还可以有效地对多位错误进行纠正,但是通过上一段我们可以得知出现一位错误的概率为34%,还是很大的,而出现三位错误的概率已经降至1.7%,基本可以忽略,因此,较为理想的是使得r满足式2r-1<K≤2r即可。单纯的奇偶校验方式,在发现有误的时候,会再次要求发送方进行重新发送,并且发送后还是会有错误发生,而采用本专利技术的编码方法,在发生错误时,我们通过内部附加的循环冗余校验码予以纠正,不需要再次发送,节约了资源,其传输的有效性高。在奇偶校验过程中,以32位(31位信息+1位奇偶校验码)码组为例,用MSP430单片机进行奇偶校验约耗用40个机器周期,对于以上信息数据采用循环冗余校验编码,即31位信息+5位循环冗余校验码,用MSP430单片机进行循环冗余校验时约耗用1000至5000个机器周期。采用本专利技术的编码方法,即31位信息+5位循环冗余本文档来自技高网...

【技术保护点】
一种混合编码方法,其特征在于:按如下步骤进行编码:(A)将待发信息以固定位数为一组,分成多组;(B)每组信息后拼接循环冗余校验码,形成内层码;(C)内层码外再拼接奇偶校验码,形成外层码;发送外层码,编码过程结束。

【技术特征摘要】
1.一种混合编码方法,其特征在于:按如下步骤进行编码:(A)将待发信息以固定位数为一组,分成多组;(B)每组信息后拼接循环冗余校验码,形成内层码;(C)内层码外再拼接奇偶校验码,形成外层码;发送外层码,编码过程结束。2.如权利要求1所述的混合编码方法,其特征在于:每组信息后拼接的循环冗余校验码的位数r与该组信息位数K之间应满足2r-1<K≤2r。3.如权利要求1所述的混合...

【专利技术属性】
技术研发人员:曹明润张亚东徐勇周慧
申请(专利权)人:合肥金星机电科技发展有限公司安徽海金水泥技术发展有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1