CN103138881B - 编解码方法和设备 - Google Patents
编解码方法和设备 Download PDFInfo
- Publication number
- CN103138881B CN103138881B CN201110391488.1A CN201110391488A CN103138881B CN 103138881 B CN103138881 B CN 103138881B CN 201110391488 A CN201110391488 A CN 201110391488A CN 103138881 B CN103138881 B CN 103138881B
- Authority
- CN
- China
- Prior art keywords
- code
- sequence
- information
- picket
- information code
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Error Detection And Correction (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
本发明公开了一种编码方法,该方法包括:将数据分成多组信息码;对多组信息码进行排序,并将每组信息码的分组序号添加到该组信息码的前面;计算针对每组信息码的位序监督码和码序监督码;将计算出的位序监督码添加到对应组信息码的后面,并将计算出的码序监督码添加到该位序监督码的后面。
Description
技术领域
本发明涉及信息编码领域,具体地,涉及一种编解码方法和设备。
背景技术
数字信号在传输过程中需要用信道编码来降低误码率,以提高数字通信的可靠性。目前广泛使用的主要为汉明(Hamming)码。汉明码是由汉明于1950年提出的,具有纠正一位错误能力的线性分组码。汉明码编码的主要算法是如何根据信息位数k,求出纠正一个错误的监督矩阵H,然后根据H求出信息位所对应的码字。
与其他的错误校验码类似,汉明码也利用了奇偶校验位的概念,通过在数据位后面增加一些比特,可以验证数据的有效性。利用一个以上的校验位,汉明码不仅可以验证数据是否有效,还能在数据出错的情况下指明错误位置。
虽然汉明码在实际中得到广泛应用,但在中低端应用场合(例如低端单片机,如C51系列),由于内存和速度的限制,无论是编译码的速度还是效率都不能满足实时性场合的应用(例如实时性射频通信)。因此,单一的编码纠错算法并不能完全满足这些需求。
发明内容
本发明的目的是针对单一的编码纠错算法不能满足不同数据通信应用场合的问题,提供一种适于大量数据传输、通信信道的干扰较大情况下的分组编码方法和数据重传策略。
为实现上述目的,本发明提供了一种编码方法,该方法包括:将数据分成多组信息码;对多组信息码进行排序,并将每组信息码的分组序号添加到该组信息码的前面;计算针对每组信息码的位序监督码和码序监督码;将计算出的位序监督码添加到对应组信息码的后面,并将计算出的码序监督码添加到该位序监督码的后面。
本发明还提供一种编码设备,该设备包括:分组单元,用于将数据分成多组信息码;第一排序单元,对多组信息码进行排序,并将每组信息码的分组序号添加到该组信息码的前面;计算单元,用于计算针对每组信息码的位序监督码和码序监督码;第二排序单元,用于将计算出的位序监督码添加到对应组信息码的后面,并将计算出的码序监督码添加到该位序监督码的后面。
本发明还提供一种解码方法,该方法包括:接收上述编码方法得到的数据;计算针对接收到的每组信息码的位序错误指示信息和码序错误指示信息;根据位序错误指示信息和码序错误指示信息判断对应组信息码的信息正确性;如果所述信息码发生错误,则对发生错误的信息码进行纠错处理,其中,如果该发生错误的信息码不能被纠正,则丢弃该发生错误的信息码;以及对接收成功和纠错成功的信息码按照信息码的分组序号进行排序。
本发明还提供一种解码设备,该设备包括:接收单元,用于接收上述编码方法得到的数据;计算单元,用于计算针对接收到的每组信息码的位序错误指示信息和码序错误指示信息;判断单元,用于根据位序错误指示信息和码序错误指示信息判断对应组信息码的信息正确性;纠错单元,用于在所述信息码发生错误的情况下,对发生错误的信息码进行纠错处理,其中,如果该发生错误的信息码不能被纠正,则丢弃该发生错误的信息码;排序单元,用于对接收成功和纠错成功的信息码按照信息码的分组序号进行排序。
通过上述技术方案,与现有技术相比,编解码数据所占用的资源少,重传效率高、且执行时间短。
本发明的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本发明的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明,但并不构成对本发明的限制。在附图中:
图1是示例编码后的数据的结构示意图;
图2是示例码组的结构示意图;
图3是根据本发明的实施方式的示例编码流程图;以及
图4是根据本发明的实施方式的示例解码流程图。
附图标记说明
Num:分组序号
PDU:信息码,即需要传输的有效数据
BitChk:位序监督码
ByteChk:码序监督码
具体实施方式
以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
参照图3,根据本发明的一个实施方式,提供了一种编码方法,该方法可以包括:
将数据分成多组信息码(PDU);
对多组信息码进行排序,并将每组信息码的分组序号添加到该组信息码的前面;
计算针对上述每组信息码的位序监督码(BitChk)和码序监督码(ByteChk);
将计算出的位序监督码添加到对应组信息码的后面,并将计算出的码序监督码添加到该位序监督码的后面。
具体来说,将数据分成多组信息码,每一组信息码添加有分组序号、位序监督码和码序监督码。图1示出了编码后的数据的结构示意图。如图1所示,将数据分成多个组,每个组的数据为一组信息码(PDU),即需要传输的有效数据。针对每组信息码的分组序号附在该信息码起始,针对每组信息码的位序监督码和码序监督码分别附在该组信息码的末尾。
每组信息码可以分成多个信息码元,信息码元可以是指一定位数的有效数据集合。一组信息码元和其分组序号、位序监督码和码序监督码可以构成一个码组。码组一般可以用符号(n,k)表示,其中n是码组中码元的总个数,又称为码组的长度(码长),k是码组中信息码元(包括分组序号)的数目,n-k=r为码组中的监督码的数目,或者称为监督码数目,码组的结构如图2所示,图2中前k个码元为信息码元(含分组序号),后面附加r个监督码。其中Num、a0到ak-2为k个信息码元,r0到rr-1为r个监督码。
监督码可以分为码序监督码和位序监督码两种:码序监督码用于确认错误信息码元所对应的码序;位序监督码用于确认错误信息码元中的位序。位序监督码的位宽等于信息码元的位宽。例如在以一个字节为一个码元的情况下,位序监督码为一个字节。码序监督码的有效位长度根据码长来确定,如码组中码元的总个数≤2N(N为码序监督码的有效位数);作为约定条件,在一个码组中码序监督码永远作为最后的码元。
计算位序监督码和码序监督码的方法可以使用本领域中常用的方法。在本发明的一个优选实施方式中,可以采用以下方法来计算位序监督码和码序监督码:
对一组信息码中的信息码元和该组信息码的分组序号进行异或运算,以得到与该组信息码对应的位序监督码;
对该组信息码中的信息码元、所述分组序号和所述位序监督码一起进行排序,由此每个信息码元具有唯一的码序,且所述分组序号具有为最先排序的码序,所述位序监督码具有为最后排序的码序;
对所述分组序号、信息码元和位序监督码分别进行奇偶校验,并对奇偶校验结果为奇校验和偶校验中的一者的分组序号、信息码元和位序监督码的码序进行异或运算,以得到码序监督码;
将所述码序监督码添加到所述位序监督码的后面。
这样针对一组信息码的编码就完成了。
所述排序可以是增序排序也可以是减序排序。本领域技术人员可以理解,这里码序的值不为0。
图3是根据本发明的实施方式的示例编码流程图。在开始编码时,将有效数据分成n组长度相同的信息码,如果出现最后一组信息码过短时补0使所有信息码长度相同。对信息码进行排序,并将分组序号添加到信息码中。针对每个码组的分组序号和信息码分别计算位序监督码和码序监督码。
相应地,根据本发明的一个实施方式,还提供了一种编码设备,该设备可以包括:
分组单元,用于将数据分成多组信息码;
第一排序单元,对多组信息码进行排序,并将每组信息码的分组序号添加到该组信息码的前面;
计算单元,用于计算针对每组信息码的位序监督码和码序监督码;
第二排序单元,用于将计算出的位序监督码添加到对应组信息码的后面,并将计算出的码序监督码添加到该位序监督码的后面。
其中,该设备还可以包括传送单元,用于传送经过编码的所述数据。
其中,在将数据分成多组信息码的过程中,如果最后一个信息码的长度比之前的信息码小,则在该最后一个信息码末尾补零直至所有信息码的长度相等。
所述计算单元可以按照如上所述的方法来计算位序监督码和码序监督码。
相应地,本发明还提出了解码方法。参考图4,根据本发明的一个实施方式,提供了一种解码方法,该方法可以包括:
接收上述数据;
计算针对接收到的每组信息码的位序错误指示信息和码序错误指示信息;
根据位序错误指示信息和码序错误指示信息判断对应组信息码的信息正确性;
如果所述信息码发生错误,则对发生错误的信息码进行纠错处理,其中,如果该发生错误的信息码不能被纠正,则丢弃该发生错误的信息码;
对接收成功和纠错成功的信息码按照信息码的分组序号进行排序。
解码是编码的反过程,图4是根据本发明的实施方式的示例解码流程图。参考图4,分别计算每组信息码的位序错误指示信息和码序错误指示信息。在计算出位序错误指示信息和码序错误指示信息之后,可以根据这两个指示信息来判断与之对应的码组是否出错,如果出错并可以纠正,则纠正错误。如果出错且无法纠正,则丢弃该组信息码。在对接收到的所有组的信息码进行上述处理之后,对接收成功且纠错成功的信息码按照分组序号进行排序。
相应地,计算针对接收到的每组信息码的位序错误指示信息和码序错误指示信息可以包括:
对该组信息码中的信息码元、分组序号和位序监督码进行异或运算,以得到位序错误指示信息;
对该组信息码中的信息码元、分组序号和位序监督码分别进行奇偶校验;
对奇偶校验结果为奇校验和偶校验中的一者的信息码元、分组序号和位序监督码的码序进行异或运算,再与码序监督码进行异或运算,以得到码序错误指示信息。
这里奇偶校验结果的选择应与编码时的选择保持一致,即如果在编码过程中选择的是奇校验,则在解码过程中也应当选择奇校验,反之亦然。
优选地,根据位序错误指示信息和码序错误指示信息判断对应组信息码的信息正确性可以包括:
如果所述位序错误指示信息和所述码序错误指示信息都为零,则判断对应组的信息码没有出现错误;
如果所述位序错误指示信息和所述码序错误指示信息中的至少一者不为零,则判断对应组的信息码出现错误。
其中在所述位序错误指示信息和所述码序错误指示信息中的至少一者不为零的情况下,根据所述码序错误指示信息来确定对应组的信息码中的错误信息码元,以及根据所述位序错误指示信息来确定该错误信息码元中的错误位。
优选地,所述纠错处理可以包括:
如果满足所述位序错误指示信息的值仅有一位不为零并且0<码序错误指示信息的值<对应码组中码元的个数,则对所述错误信息码元进行纠错;以及
如果不满足所述位序错误指示信息的值仅有一位不为零并且0<码序错误指示信息的值<对应码组中码元的个数,说明发生多位错误,则丢弃对应组的信息码。
这里,码组包含信息码、分组序号、位序监督码以及码序监督码。
相应地,根据本发明的一个实施方式,还提供一种解码设备,该设备可以包括:
接收单元,用于接收上述的数据;
计算单元,用于计算针对接收到的每组信息码的位序错误指示信息和码序错误指示信息;
判断单元,用于根据位序错误指示信息和码序错误指示信息判断对应组信息码的信息正确性;
纠错单元,用于在所述信息码发生错误的情况下,对发生错误的信息码进行纠错处理,其中,如果该发生错误的信息码不能被纠正,则丢弃该发生错误的信息码;
排序单元,用于对接收成功和纠错成功的信息码按照信息码的分组序号进行排序。
以上结合附图详细描述了本发明的优选实施方式,但是,本发明并不限于上述实施方式中的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种简单变型,这些简单变型均属于本发明的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。
此外,本发明的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明的思想,其同样应当视为本发明所公开的内容。
Claims (8)
1.一种编码方法,该方法包括:
将数据分成多组信息码;
对多组信息码进行排序,并将每组信息码的分组序号添加到该组信息码的前面;
计算针对每组信息码的位序监督码和码序监督码;
将计算出的位序监督码添加到对应组信息码的后面,并将计算出的码序监督码添加到该位序监督码的后面;
其中,计算针对每组信息码的位序监督码和码序监督码包括:
对一组信息码中的信息码元和该组信息码的分组序号进行异或运算,以得到与该组信息码对应的位序监督码;
对该组信息码中的信息码元、所述分组序号和所述位序监督码一起进行排序,由此每个信息码元具有唯一的码序,且所述分组序号具有为最先排序的码序,所述位序监督码具有为最后排序的码序;以及
对所述分组序号、信息码元和位序监督码分别进行奇偶校验,并对奇偶校验结果为奇校验和偶校验中的一者的分组序号、信息码元和位序监督码的码序进行异或运算,以得到码序监督码。
2.根据权利要求1所述的方法,该方法还包括传送经过编码的所述数据。
3.根据权利要求1所述的方法,其中,在将数据分成多组信息码的过程中,如果最后一组信息码的长度比之前的信息码小,则在该最后一组信息码末尾补零直至所有信息码的长度相等。
4.一种编码设备,该设备包括:
分组单元,用于将数据分成多组信息码;
第一排序单元,对多组信息码进行排序,并将每组信息码的分组序号添加到该组信息码的前面;
计算单元,用于计算针对每组信息码的位序监督码和码序监督码;
第二排序单元,用于将计算出的位序监督码添加到对应组信息码的后面,并将计算出的码序监督码添加到该位序监督码的后面;
其中,计算针对每组信息码的位序监督码和码序监督码包括:
对一组信息码中的信息码元和该组信息码的分组序号进行异或运算,以得到与该组信息码对应的位序监督码;
对该组信息码中的信息码元、所述分组序号和所述位序监督码一起进行排序,由此每个信息码元具有唯一的码序,且所述分组序号具有为最先排序的码序,所述位序监督码具有为最后排序的码序;以及
对所述分组序号、信息码元和位序监督码分别进行奇偶校验,并对奇偶校验结果为奇校验和偶校验中的一者的分组序号、信息码元和位序监督码的码序进行异或运算,以得到码序监督码。
5.根据权利要求4所述的设备,该设备还包括传送单元,用于传送经过编码的所述数据。
6.一种解码方法,该方法包括:
接收根据权利要求1-3中任意一项所述的编码方法得到的数据;
计算针对接收到的每组信息码的位序错误指示信息和码序错误指示信息;
根据位序错误指示信息和码序错误指示信息判断对应组信息码的信息正确性;
如果所述信息码发生错误,则对发生错误的信息码进行纠错处理,其中,如果该发生错误的信息码不能被纠正,则丢弃该发生错误的信息码;以及
对接收成功和纠错成功的信息码按照信息码的分组序号进行排序;
其中,计算针对接收到的每组信息码的位序错误指示信息和码序错误指示信息包括:
对该组信息码中的信息码元、分组序号和位序监督码进行异或运算,以得到位序错误指示信息;
对该组信息码中的信息码元、分组序号和位序监督码分别进行奇偶校验;以及
对奇偶校验结果为奇校验和偶校验中的一者的信息码元、分组序号和位序监督码的码序进行异或运算,再与码序监督码进行异或运算,以得到码序错误指示信息。
7.根据权利要求6所述的方法,其中,根据位序错误指示信息和码序错误指示信息判断对应组信息码的信息正确性包括:
如果所述位序错误指示信息和所述码序错误指示信息都为零,则判断对应组的信息码没有出现错误;
如果所述位序错误指示信息和所述码序错误指示信息中的至少一者不为零,则判断对应组的信息码出现错误;
其中在所述位序错误指示信息和所述码序错误指示信息中的至少一者不为零的情况下,根据所述码序错误指示信息来确定对应组的信息码中的错误信息码元,以及根据所述位序错误指示信息来确定该错误信息码元中的错误位。
8.一种解码设备,该设备包括:
接收单元,用于接收根据权利要求1-3任意一项所述的编码方法得到的数据;
计算单元,用于计算针对接收到的每组信息码的位序错误指示信息和码序错误指示信息;
判断单元,用于根据位序错误指示信息和码序错误指示信息判断对应组信息码的信息正确性;
纠错单元,用于在所述信息码发生错误的情况下,对发生错误的信息码进行纠错处理,其中,如果该发生错误的信息码不能被纠正,则丢弃该发生错误的信息码;
排序单元,用于对接收成功和纠错成功的信息码按照信息码的分组序号进行排序;
其中,计算针对接收到的每组信息码的位序错误指示信息和码序错误指示信息包括:
对该组信息码中的信息码元、分组序号和位序监督码进行异或运算,以得到位序错误指示信息;
对该组信息码中的信息码元、分组序号和位序监督码分别进行奇偶校验;以及
对奇偶校验结果为奇校验和偶校验中的一者的信息码元、分组序号和位序监督码的码序进行异或运算,再与码序监督码进行异或运算,以得到码序错误指示信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110391488.1A CN103138881B (zh) | 2011-11-30 | 2011-11-30 | 编解码方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110391488.1A CN103138881B (zh) | 2011-11-30 | 2011-11-30 | 编解码方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103138881A CN103138881A (zh) | 2013-06-05 |
CN103138881B true CN103138881B (zh) | 2016-03-16 |
Family
ID=48498247
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110391488.1A Active CN103138881B (zh) | 2011-11-30 | 2011-11-30 | 编解码方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103138881B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103312458B (zh) * | 2013-06-25 | 2018-09-18 | 合肥金星机电科技发展有限公司 | 混合编码方法 |
CN103745252B (zh) * | 2013-12-27 | 2017-04-05 | 广州市宝比万像科技有限公司 | 编码列、二维码编码方法以及二维码解码方法 |
CN108173619A (zh) * | 2016-12-07 | 2018-06-15 | 华为技术有限公司 | 一种信息编码方法、解码方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101834700A (zh) * | 2010-05-12 | 2010-09-15 | 北京邮电大学 | 一种基于数据包的单向可靠传输方法及收发装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2807895B1 (fr) * | 2000-04-18 | 2002-06-07 | Canon Kk | Procedes et dispositifs de codage et de decodage et systemes les mettant en oeuvre |
CN101471742B (zh) * | 2007-12-25 | 2011-07-27 | 安凯(广州)微电子技术有限公司 | 一种用于短距离无线通讯的线性分组码快速译码方法 |
JP2010034976A (ja) * | 2008-07-30 | 2010-02-12 | Mitsubishi Electric Corp | 誤り訂正符号化装置、誤り訂正復号装置及び誤り訂正符号化方法 |
-
2011
- 2011-11-30 CN CN201110391488.1A patent/CN103138881B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101834700A (zh) * | 2010-05-12 | 2010-09-15 | 北京邮电大学 | 一种基于数据包的单向可靠传输方法及收发装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103138881A (zh) | 2013-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10063347B2 (en) | Signal segmentation method and CRC attachment method for reducing undetected error | |
CN105680883A (zh) | 一种极化码和多比特偶校验码级联的纠错编码方法 | |
CN101867379B (zh) | 一种循环冗余校验辅助的卷积码译码方法 | |
CN101702639B (zh) | 循环冗余校验的校验值计算方法及装置 | |
CN101432969A (zh) | 前向纠错(fec)编码和流送 | |
CN102355341A (zh) | 一种长期演进系统用混合自动重传请求的网络编码方法 | |
WO2018141212A1 (zh) | 一种信息的传输方法、译码方法和装置 | |
CN111597072B (zh) | 差错控制编码ecc系统及包括ecc系统的存储器设备 | |
CN103312458B (zh) | 混合编码方法 | |
CN109802713B (zh) | 信道状态信息csi编码方法及装置、存储介质和处理器 | |
CN106817192A (zh) | 一种错误估计的方法、基站及终端 | |
US20190372599A1 (en) | Data processing method and device | |
WO2019001436A1 (zh) | 一种Polar码的编码方法及装置 | |
CN108282265A (zh) | 纠错编码方法、装置、设备及计算机可读存储介质 | |
CN103138881B (zh) | 编解码方法和设备 | |
CN100417071C (zh) | 一种单向广播文件传输中的前向纠错方法 | |
CN106372026B (zh) | 一种链路检测方法和接收设备 | |
CN107947902A (zh) | 一种高速接口芯片的数据差错处理系统及方法 | |
CN102761394A (zh) | 数据的处理方法及装置 | |
CN102780496A (zh) | Rs码译码方法及装置 | |
CN108988990A (zh) | 一种处理链路层数据错误的方法 | |
CN102148665A (zh) | 一种lt码的译码方法 | |
CN108540140B (zh) | 一种极化码译码方法及装置 | |
WO2016179743A1 (zh) | 一种编码装置及方法 | |
CN101552659A (zh) | 一种选择型数据重传的方法和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |