编解码方法和设备的制作方法

文档序号:7995547阅读:114来源:国知局
专利名称:编解码方法和设备的制作方法
技术领域
本发明涉及信息编码领域,具体地,涉及一种编解码方法和设备。
背景技术
数字信号在传输过程中需要用信道编码来降低误码率,以提高数字通信的可靠性。目前广泛使用的主要为汉明(Hamming)码。汉明码是由汉明于1950年提出的,具有纠正一位错误能力的线性分组码。汉明码编码的主要算法是如何根据信息位数k,求出纠正一个错误的监督矩阵H,然后根据H求出信息位所对应的码字。
与其他的错误校验码类似,汉明码也利用了奇偶校验位的概念,通过在数据位后面增加一些比特,可以验证数据的有效性。利用一个以上的校验位,汉明码不仅可以验证数据是否有效,还能在数据出错的情况下指明错误位置。
虽然汉明码在实际中得到广泛应用,但在中低端应用场合(例如低端单片机,如C51系列),由于内存和速度的限制,无论是编译码的速度还是效率都不能满足实时性场合的应用(例如实时性射频通信)。因此,单一的编码纠错算法并不能完全满足这些需求。发明内容
本发明的目的是针对单一的编码纠错算法不能满足不同数据通信应用场合的问题,提供一种适于大量数据传输、通信信道的干扰较大情况下的分组编码方法和数据重传策略。
为实现上述目的,本发明提供了一种编码方法,该方法包括:将数据分成多组信息码;对多组信息码进行排序,并将每组信息码的分组序号添加到该组信息码的前面;计算针对每组信息码的位序监督码和码序监督码;将计算出的位序监督码添加到对应组信息码的后面,并将计算出的码序监督码添加到该位序监督码的后面。
本发明还提供一种编码设备,该设备包括:分组单元,用于将数据分成多组信息码;第一排序单元,对多组信息码进行排序,并将每组信息码的分组序号添加到该组信息码的前面;计算单元,用于计算针对每组信息码的位序监督码和码序监督码;第二排序单元,用于将计算出的位序监督码添加到对应组信息码的后面,并将计算出的码序监督码添加到该位序监督码的后面。
本发明还提供一种解码方法,该方法包括:接收上述编码方法得到的数据;计算针对接收到的每组信息码的位序错误指示信息和码序错误指示信息;根据位序错误指示信息和码序错误指示信息判断对应组信息码的信息正确性;如果所述信息码发生错误,则对发生错误的信息码进行纠错处理,其中,如果该发生错误的信息码不能被纠正,则丢弃该发生错误的信息码;以及对接收成功和纠错成功的信息码按照信息码的分组序号进行排序。
本发明还提供一种解码设备,该设备包括:接收单元,用于接收上述编码方法得到的数据;计算单元,用于计算针对接收到的每组信息码的位序错误指示信息和码序错误指示信息;判断单元,用于根据位序错误指示信息和码序错误指示信息判断对应组信息码的信息正确性;纠错单元,用于在所述信息码发生错误的情况下,对发生错误的信息码进行纠错处理,其中,如果该发生错误的信息码不能被纠正,则丢弃该发生错误的信息码;排序单元,用于对接收成功和纠错成功的信息码按照信息码的分组序号进行排序。
通过上述技术方案,与现有技术相比,编解码数据所占用的资源少,重传效率高、且执行时间短。
本发明的其他特征和优点将在随后的具体实施方式
部分予以详细说明。


附图是用来提供对本发明的进一步理解,并且构成说明书的一部分,与下面的具体实施方式
一起用于解释本发明,但并不构成对本发明的限制。在附图中:
图1是示例编码后的数据的结构示意图2是示例码组的结构示意图3是根据本发明的实施方式的示例编码流程图;以及
图4是根据本发明的实施方式的示例解码流程图。
附图标记说明
Num:分组序号
PDU:信息码,即需要传输的有效数据
BitChk:位序监督码
ByteChk:码序监督码具体实施方式
以下结合附图对本发明的具体实施方式
进行详细说明。应当理解的是,此处所描述的具体实施方式
仅用于说明和解释本发明,并不用于限制本发明。
参照图3,根据本发明的一个实施方式,提供了一种编码方法,该方法可以包括:
将数据分成多组信息码(PDU);
对多组信息码进行排序,并将每组信息码的分组序号添加到该组信息码的前面;
计算针对上述每组信息码的位序监督码(BitChk)和码序监督码(ByteChk);
将计算出的位序监督码添加到对应组信息码的后面,并将计算出的码序监督码添加到该位序监督码的后面。
具体来说,将数据分成多组信息码,每一组信息码添加有分组序号、位序监督码和码序监督码。图1示出了编码后的数据的结构示意图。如图1所示,将数据分成多个组,每个组的数据为一组信息码(PDU),即需要传输的有效数据。针对每组信息码的分组序号附在该信息码起始,针对每组信息码的位序监督码和码序监督码分别附在该组信息码的末尾。
每组信息码可以分成多个信息码元,信息码元可以是指一定位数的有效数据集合。一组信息码元和其分组序号、位序监督码和码序监督码可以构成一个码组。码组一般可以用符号(n,k)表示,其中η是码组中码元的总个数,又称为码组的长度(码长),k是码组中信息码元(包括分组序号)的数目,n-k = r为码组中的监督码的数目,或者称为监督码数目,码组的结构如图2所示,图2中前k个码元为信息码元(含分组序号),后面附加r个监督码。其中Num、a0到ak_2为k个信息码元,r0到为r个监督码。
监督码可以分为码序监督码和位序监督码两种:码序监督码用于确认错误信息码元所对应的码序;位序监督码用于确认错误信息码元中的位序。位序监督码的位宽等于信息码元的位宽。例如在以一个字节为一个码元的情况下,位序监督码为一个字节。码序监督码的有效位长度根据码长来确定,如码组中码元的总个数< 2N (N为码序监督码的有效位数);作为约定条件,在一个码组中码序监督码永远作为最后的码元。
计算位序监督码和码序监督码的方法可以使用本领域中常用的方法。在本发明的一个优选实施方式中,可以采用以下方法来计算位序监督码和码序监督码:
对一组信息码中的信息码元和该组信息码的分组序号进行异或运算,以得到与该组信息码对应的位序监督码;
对该组信息码中的信息码元、所述分组序号和所述位序监督码一起进行排序,由此每个信息码元具有唯一的码序,且所述分组序号具有为最先排序的码序,所述位序监督码具有为最后排序的码序;
对所述分组序号、信息码元和位序监督码分别进行奇偶校验,并对奇偶校验结果为奇校验和偶校验中的一者的分组序号、信息码元和位序监督码的码序进行异或运算,以得到码序监督码;
将所述码序监督码添加到所述位序监督码的后面。
这样针对一组信息码的编码就完成了。
所述排序可以是增序排序也可以是减序排序。本领域技术人员可以理解,这里码序的值不为O。
图3是根据本发明的实施方式的示例编码流程图。在开始编码时,将有效数据分成η组长度相同的信息码,如果出现最后一组信息码过短时补O使所有信息码长度相同。对信息码进行排序,并将分组序号添加到信息码中。针对每个码组的分组序号和信息码分别计算位序监督码和码序监督码。
相应地,根据本发明的一个实施方式,还提供了一种编码设备,该设备可以包括:
分组单元,用于将数据分成多组信息码;
第一排序单元,对多组信息码进行排序,并将每组信息码的分组序号添加到该组信息码的前面;
计算单元,用于计算针对每组信息码的位序监督码和码序监督码;
第二排序单元,用于将计算出的位序监督码添加到对应组信息码的后面,并将计算出的码序监督码添加到该位序监督码的后面。
其中,该设备还可以包括传送单元,用于传送经过编码的所述数据。
其中,在将数据分成多组信息码的过程中,如果最后一个信息码的长度比之前的信息码小,则在该最后一个信息码末尾补零直至所有信息码的长度相等。
所述计算单元可以按照如上所述的方法来计算位序监督码和码序监督码。
相应地,本发明还提出了解码方法。参考图4,根据本发明的一个实施方式,提供了一种解码方法,该方法可以包括:
接收上述数据;
计算针对接收到的每组信息码的位序错误指示信息和码序错误指示信息;
根据位序错误指示信息和码序错误指示信息判断对应组信息码的信息正确性;
如果所述信息码发生错误,则对发生错误的信息码进行纠错处理,其中,如果该发生错误的信息码不能被纠正,则丢弃该发生错误的信息码;
对接收成功和纠错成功的信息码按照信息码的分组序号进行排序。
解码是编码的反过程,图4是根据本发明的实施方式的示例解码流程图。参考图4,分别计算每组信息码的位序错误指示信息和码序错误指示信息。在计算出位序错误指示信息和码序错误指示信息之后,可以根据这两个指示信息来判断与之对应的码组是否出错,如果出错并可以纠正,则纠正错误。如果出错且无法纠正,则丢弃该组信息码。在对接收到的所有组的信息码进行上述处理之后,对接收成功且纠错成功的信息码按照分组序号进行排序。
相应地,计算针对接收到的每组信息码的位序错误指示信息和码序错误指示信息可以包括:
对该组信息码中的信息码元、分组序号和位序监督码进行异或运算,以得到位序错误指示信息;
对该组信息码中的信息码元、分组序号和位序监督码分别进行奇偶校验;
对奇偶校验结果为奇校验和偶校验中的一者的信息码元、分组序号和位序监督码的码序进行异或运算,再与码序监督码进行异或运算,以得到码序错误指示信息。
这里奇偶校验结果的选择应与编码时的选择保持一致,S卩如果在编码过程中选择的是奇校验,则在解码过程中也应当选择奇校验,反之亦然。
优选地,根据位序错误指示信息和码序错误指示信息判断对应组信息码的信息正确性可以包括:
如果所述位序错误指示信息和所述码序错误指示信息都为零,则判断对应组的信息码没有出现错误;
如果所述位序错误指示信息和所述码序错误指示信息中的至少一者不为零,则判断对应组的信息码出现错误。
其中在所述位序错误指示信息和所述码序错误指示信息中的至少一者不为零的情况下,根据所述码序错误指示信息来确定对应组的信息码中的错误信息码元,以及根据所述位序错误指示信息来确定该错误信息码元中的错误位。
优选地,所述纠错处理可以包括:
如果满足所述位序错误指示信息的值仅有一位不为零并且O <码序错误指示信息的值<对应码组中码元的个数,则对所述错误信息码元进行纠错;以及
如果不满足所述位序错误指示信息的值仅有一位不为零并且O <码序错误指示信息的值<对应码组中码元的个数,说明发生多位错误,则丢弃对应组的信息码。
这里,码组包含信息码、分组序号、位序监督码以及码序监督码。
相应地,根据本发明的一个实施方式,还提供一种解码设备,该设备可以包括:
接收单元,用于接收上述的数据;
计算单元,用于计算针对接收到的每组信息码的位序错误指示信息和码序错误指示信息;
判断单元,用于根据位序错误指示信息和码序错误指示信息判断对应组信息码的信息正确性;
纠错单元,用于在所述信息码发生错误的情况下,对发生错误的信息码进行纠错处理,其中,如果该发生错误的信息码不能被纠正,则丢弃该发生错误的信息码;
排序单元,用于对接收成功和纠错成功的信息码按照信息码的分组序号进行排序。
以上结合附图详细描述了本发明的优选实施方式,但是,本发明并不限于上述实施方式中的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种简单变型,这些简单变型均属于本发明的保护范围。
另外需要说明的是,在上述具体实施方式
中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。
此外,本发明的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明的思想,其同样应当视为本发明所公开的内容。
权利要求
1.一种编码方法,该方法包括: 将数据分成多组信息码; 对多组信息码进行排序,并将每组信息码的分组序号添加到该组信息码的前面; 计算针对每组信息码的位序监督码和码序监督码; 将计算出的位序监督码添加到对应组信息码的后面,并将计算出的码序监督码添加到该位序监督码的后面。
2.根据权利要求1所述的方法,该方法还包括传送经过编码的所述数据。
3.根据权利要求1所述的方法,其中,在将数据分成多组信息码的过程中,如果最后一组信息码的长度比之前的信息码小,则在该最后一组信息码末尾补零直至所有信息码的长度相等。
4.根据权利要求1所述的方法,其中,计算针对每组信息码的位序监督码和码序监督码包括: 对一组信息码中的信息码元和该组信息码的分组序号进行异或运算,以得到与该组信息码对应的位序监督码; 对该组信息码中的信息码元、所述分组序号和所述位序监督码一起进行排序,由此每个信息码元具有唯一的码序,且所述分组序号具有为最先排序的码序,所述位序监督码具有为最后排序的码序;以及 对所述分组序号、信息码元和位序监督码分别进行奇偶校验,并对奇偶校验结果为奇校验和偶校验中的一者的分组序号、信息码元和位序监督码的码序进行异或运算,以得到码序监督码。
5.一种编码设备,该设备包括: 分组单元,用于将数据分成多组信息码; 第一排序单元,对多组信息码进行排序,并将每组信息码的分组序号添加到该组信息码的前面; 计算单元,用于计算针对每组信息码的位序监督码和码序监督码; 第二排序单元,用于将计算出的位序监督码添加到对应组信息码的后面,并将计算出的码序监督码添加到该位序监督码的后面。
6.根据权利要求5所述的设备,该设备还包括传送单元,用于传送经过编码的所述数据。
7.一种解码方法,该方法包括: 接收根据权利要求1-4中任意一项所述的编码方法得到的数据; 计算针对接收到的每组信息码的位序错误指示信息和码序错误指示信息; 根据位序错误指示信息和码序错误指示信息判断对应组信息码的信息正确性; 如果所述信息码发生错误,则对发生错误的信息码进行纠错处理,其中,如果该发生错误的信息码不能被纠正,则丢弃该发生错误的信息码;以及 对接收成功和纠错成功的信息码按照信息码的分组序号进行排序。
8.根据权利要求7所述的方法,其中,计算针对接收到的每组信息码的位序错误指示信息和码序错误指示信息包括: 对该组信息码中的信息码元、分组序号和位序监督码进行异或运算,以得到位序错误指示信息; 对该组信息码中的信息码元、分组序号和位序监督码分别进行奇偶校验;以及对奇偶校验结果为奇校验和偶校验中的一者的信息码元、分组序号和位序监督码的码序进行异或运算,再与码序监督码进行异或运算,以得到码序错误指示信息。
9.根据权利要求7所述的方法,其中,根据位序错误指示信息和码序错误指示信息判断对应组信息码的信息正确性包括: 如果所述位序错误指示信息和所述码序错误指示信息都为零,则判断对应组的信息码没有出现错误; 如果所述位序错误指示信息和所述码序错误指示信息中的至少一者不为零,则判断对应组的信息码出现错误; 其中在所述位序错误指示信息和所述码序错误指示信息中的至少一者不为零的情况下,根据所述码序错误指示信息来确定对应组的信息码中的错误信息码元,以及根据所述位序错误指示信息来确定该错误信息码元中的错误位。
10.一种解码设备,该设备包括: 接收单元,用于接收根据权利要求1-4任意一项所述的编码方法得到的数据; 计算单元,用于计算针对接收到的每组信息码的位序错误指示信息和码序错误指示信息; 判断单元,用于根据位序错误指示信息和码序错误指示信息判断对应组信息码的信息正确性; 纠错单元,用于在所述信息码发生错误的情况下,对发生错误的信息码进行纠错处理,其中,如果该发生错误的信息码不能被纠正,则丢弃该发生错误的信息码; 排序单元,用于对接收成功和 纠错成功的信息码按照信息码的分组序号进行排序。
全文摘要
本发明公开了一种编码方法,该方法包括将数据分成多组信息码;对多组信息码进行排序,并将每组信息码的分组序号添加到该组信息码的前面;计算针对每组信息码的位序监督码和码序监督码;将计算出的位序监督码添加到对应组信息码的后面,并将计算出的码序监督码添加到该位序监督码的后面。
文档编号H04L1/00GK103138881SQ201110391488
公开日2013年6月5日 申请日期2011年11月30日 优先权日2011年11月30日
发明者冯兴房, 宋冬梅, 冯为心, 徐卫东 申请人:北京东方广视科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1