CN102123004A - 一种基于哈希算法的快速系统分组码译码方法 - Google Patents

一种基于哈希算法的快速系统分组码译码方法 Download PDF

Info

Publication number
CN102123004A
CN102123004A CN2010101915531A CN201010191553A CN102123004A CN 102123004 A CN102123004 A CN 102123004A CN 2010101915531 A CN2010101915531 A CN 2010101915531A CN 201010191553 A CN201010191553 A CN 201010191553A CN 102123004 A CN102123004 A CN 102123004A
Authority
CN
China
Prior art keywords
error pattern
weight
vector
bit
idx
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.)
Pending
Application number
CN2010101915531A
Other languages
English (en)
Inventor
付文良
黄家志
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KIRISUN ELECTRONICS (SHENZHEN) CO Ltd
Original Assignee
KIRISUN ELECTRONICS (SHENZHEN) CO Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by KIRISUN ELECTRONICS (SHENZHEN) CO Ltd filed Critical KIRISUN ELECTRONICS (SHENZHEN) CO Ltd
Priority to CN2010101915531A priority Critical patent/CN102123004A/zh
Publication of CN102123004A publication Critical patent/CN102123004A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

本发明公开一种基于哈希算法的快速系统分组码译码方法,得到接收比特r,步骤如下:1)通过接收到的向量r,计算校正子S;2)计算S的重量w;3)校验矩阵P中存在一行向量P;4)取出S里的低5比特bl和高4比特bh,计算idx=mod(((bl<<4)+bh),32),获取TableS[idx],如果TableS[idx]等于S,则用TableE作为错误模式e;5)如果校正子与可纠正错误模式不匹配,停止译码并返回错误;6)令译出的码字为v*=r+e,译码结束。本发明方法适用于通信、计算机等领域中大多数线性分组系统码。

Description

一种基于哈希算法的快速系统分组码译码方法
技术领域
本发明涉及通信技术领域,特别是一种基于哈希算法的快速系统分组码译码方法。
背景技术
在通信、计算机等领域,在信息的存储和传播过程中信息可能会受到干扰或破坏。为了提高存储数据的安全性,往往会对信息进行冗余编码来提高信息恢复或重建的可靠性。系统形式的分组码在通信、计算机、电子等领域应用得非常多,译码算法也很多。对于(n,k)码,如果n-k也是比较大,采用查表算法将会消耗掉很多存储空间以及消耗很多的资源来做匹配比较。对于用软件译码的情形,会有比较大的译码延迟;对于用FPGA或其他硬件实现来译码的情形,也会消耗掉很大的存储资源以及用于实现搜索或匹配的资源。
发明内容
本发明的目的在于克服现有技术的缺点,提供一种基于哈希算法的快速系统分组码译码方法。
本发明技术方案:
本发明的算法特征是把错误比特分到两部分:系统比特部分和校验比特部分。然后按照错误比特在这两部分的分布特性来进行译码。在传统的译码算法里,如果PTP=I或者PPT=I在GF(2)域里是成立的,则可以很好地译码;如果不存在PTP=I或PPT=I,按照错误比特在这两部分的分布特性来进行译码将很复杂,如果k值很大,就无法实现,往往需要用其它算法来译码。本发明关键之处在于采用了哈希算法,降低了查找表的存储空间,同时消除了2k次搜索匹配的过程。从而使得在大多数系统形式的线性分组码都可以把错误比特分到两部分(系统比特部分和校验比特部分),然后按照错误比特在这两部分的分布特性来进行译码。
比如对于二次剩余码(16,7,6),其生成多项式为:g(x)=x8+x5+x4+x3+1的二次剩余码是这大类码中的一个。该种码是DMR标准(一个无线通信标准)里用到的。本发明的算法里,是可以适用大多数二次剩余码的。生成多项式里的校验矩阵PTP=I或PPT=I均不成立。如果用直接搜索需要128项,每次判决需要128次比较操作;而采用哈希算法后查找表项可以降为32项,只需要一次比较操作。
对于一个系统形式的分组码,其生成多项式可以用G=[Ik,Pk,n-k]来表示,其校验矩阵可以用
Figure GDA0000022026360000021
来表示。设hi为H矩阵的第i行n-k维向量,可能受干扰的码字c=(cn-1,...,c1,c0),则校正子
Figure GDA0000022026360000022
设错误模式e=(e1,e0)为n维向量,e1和e0分别为n-k和k维向量。用
Figure GDA0000022026360000023
i=0,1表示在该向量上仅有m个1的向量,对于存在t个错误比特的系统分组码,可以分为t种情形: …,
Figure GDA0000022026360000026
对于存在至多t的比特的系统分组码,总共有
Figure GDA0000022026360000027
种情形,其中T为最大可纠正错误的比特数,当t=0的时候,表示没有错误。可以将可译码错误情形分为A、B、C三大类:
A:对于
Figure GDA0000022026360000028
t≤T的情形,可以算得校正子S的重量不大于T。
B:对于
Figure GDA0000022026360000029
t≤T的情形,对于大多数系统分组码,计算出来的校正子S的重量大于T。
C:对于的情形,计算出来的校正子S的重量也大于T。对于可纠正错误模式e=(e1,e0)里的所有可能e0P,其重量为T0,对于大多数系统形式的分组码,有T0>2T;
对于C类情形的译码,需要具体情况具体分析,译码的判决很大程度上取决于生成多项式的重量分布;对于B,可以通过搜索e0P张成的向量空间来得到错误模式。由于e0P张成的向量空间比较大,直接搜索表格将需要2k项,如果k也比较大的话,搜索时间和空间都比较消耗资源,直接搜索会比较耗时间,可以通过对e0P的各个比特进行哈希处理,使得k维的向量e0P可以转到一个接近
Figure GDA0000022026360000031
维的向量组成的表TableS,表项接近如果哈希函数有idx=Hash(S),则Table[idx]=S,同时保存TableE,该表里保存会产生校正子S的最可能错误模式的信息,形式不规定。具体的译码过程为:计算校正子S,求S的重量,如果S的重量不大于T,则S为错误模式,直接将c=(cn-1,...,c1,c0)的k比特系统部分作为k比特消息;对C情形进行译码;如果和C情形也无法译出,则对B情形进行译码,其译码过程如下:对S进行哈希运算,得到数值idx,读取TableS[idx],如果TableS[idx]不等于S,则存在不可译码错误;如果TableS[idx]等于S,则取出对应的TableE,和c=(cn-1,...,c1,c0)进行异或操作纠正错误以后,输出k比特系统部分作为k比特消息。
本发明价值是,大部分二次剩余码是不符合PTP=I或PPT=I这个条件的,比如具体实施例里提到DMR用到的码,就不符合这个条件,所以直接用A,B,C三个步骤里提到的思想、办法是行不通的。本发明的办法是,修正了这个不足。利用系统码校验矩阵的特殊性生成一个查表算法,即哈希查表算法,(当然,不一定是哈希功能,只要是一种简单的映射关系就可以了。)
针对DMR协议里的二次剩余码(16,7,6),存在一种基于哈希算法的快速系统分组码译码方法,译码计算方法:得到接收比特r,其步骤如下:
步骤1)、通过接收到的向量r,计算校正子S,求S的重量;
步骤2)、计算S的重量w,如果w(s)≤2,则置e=(s,0);
步骤3)、校验矩阵P中存在一行向量P,使得平P+S的重量为1且S的重量不小于4且不大于6;
步骤4)、取出S里的低5比特bl和高4比特bh,计算idx=mod(((bl<<4)+bh),32),获取TableS[idx],如果TableS[idx]等于S,则用TableE作为错误模式e;
步骤5)、如果校正子与可纠正错误模式不匹配,停止译码并返回错误;
步骤6)、令译出的码字为v*=r+e,译码结束。
所述步骤1)、通过接收到的向量r,计算校正子S;求S的重量w(s),S≤T,如果S的重量不大于T,则S为错误模式,直接将c=(cn-1,...,c1,c0)的k比特系统部分作为k比特消息;将S作为错误模式的系统部分,用错误模式校正r,输出被校验后向量的系统部分作为译码结果后,结束;
如果S的重量大于T,计算校正子S的重量w(s),转步骤2)。
所述步骤2)、计算S的重量w(s),如果w(s)≤2,则置e=(s,0),如果是,将S作为错误模式e的系统部分,其他比特全为0,然后,转步骤6),用错误模式校正接收到的向量r,再输出被校验后向量的系统部分作为消息m,之后,结束;
如果w(s)重量≥2,转步骤3)。
所述步骤3)、校验矩阵P中存在一行向量P,使得平P+S的重量为1且S的重量不小于4且不大于6,如果对于校验矩阵p中的某个行向量pi,有w(s+pj)=1或0;如果w(s+pj)=0,则置e=(0,v(i))),w(s)=5或w(s)=7;如果w(s+pj)=1,4≤w(s)≤6,则置e=(u(j)),v(j)));
如果是,P所在的P的列位置j,则系统比特的第j位比特是错误的,该比特位上为1,其他比特位0的向量作为错误模式e,然后,转步骤6),用错误模式校正接收到的向量r,再输出被校验后向量的系统部分作为消息m,之后结束;
如果不是,校验矩阵p中存在一行向量p,使得P+S的重量为0,如果是,错误模式e的比特全为0,然后,转步骤6),用错误模式校正接收到的向量r,再输出被校验后向量的系统部分作为消息m,之后结束;
在校验矩阵p中存在一行向量p,使得P+S的重量为0后,如果不是,转步骤4)。
所述步骤4)、取出S里的低5比特bl和高4比特bh,计算idx=mod(((bl<<4)+bh),32),用idx来查表得到一个值,如果该值等于S,则用idx作为下表查找另外一个值,该值为错误模式e,这是一个哈希表,表里存放预先计算好的值,即获取TableS[idx],如果tableS[idx]等于S,则用TableE作为错误模式e,用错误模式校正r,直接输出r的系统比特部分后,如果不是,查到的值等于S,
查到的值等于S后,如果是,用id查找错误模式e,然后,转步骤6)用错误模式校正接收到的向量r,再输出被校验后向量的系统部分作为消息m,之后结束;
如果不是,转步骤5),错误不可纠正,之后结束。
所述步骤5)、如果校正子与可纠正错误模式不必配停止译码并返回错,并结束。
所述步骤6)、令译出的码字为v*=r+e,用错误模式校正接收到的向量r,再输出被校验后向量的系统部分作为消息m,之后译码结束。
本发明的有益效果:
本发明提出一种基于哈希算法的译码算法,可以极大地减少存储容量以及取消搜索匹配的过程。本发明的方法适用于通信、计算机等领域中大多数线性分组系统码。
附图说明
图1是本发明基于哈希算法的快速系统分组码译码方法的流程图。
具体实施方式
在本实施例中,只是描述如何译DMR标准里用到的码。
本说明书中,表示法、符号以及专用词说明
P校验矩阵
I对角矩阵
域运算符   本说明书上的分组码运算均为二元域上运算。“+”运算表示为模二加,即1+1=0,1+0=1,0+0=0。
w(x)运算对向量x求汉明重量
s校正子向量
e错误模式向量
(e1,e0)表示e向量是由系统比特向量部分e1和校验比特向量部分e0级联起来的向量。
r接收比特向量
G生成多项式
H校验矩阵
c码字向量
m消息向量
v(j),r(j),e(j),c(j)表示向量v,r,e,c的第j比特为1,其他为0。
图1所示,基于哈希算法的快速系统分组码译码方法,
对于ETSI TS 102361-1用到的二次剩余码(16,7,6),其生成多项式为g(x)=x8+x5+x4+x3+1。令w(s)表示S的重量。
一种基于哈希算法的快速系统分组码译码方法,译码计算方法
首先得到接收比特r,其步骤如下:
步骤1)、通过接收到的向量r,计算校正子S;求S的重量(重量是指汉明重量,即1的个数,是信息论里的基本术语),S≤T,如果S的重量不大于T,则S为错误模式,直接将c=(cn-1,...,c1,c0)的k比特系统部分作为k比特消息;将S作为错误模式的系统部分,用错误模式校正r,输出被校验后向量的系统部分作为译码结果后,结束;
如果S的重量大于T,计算校正子S的重量w(s),转步骤2)。
步骤2)、计算S的重量w(s),如果w(s)≤2,则置e=(s,0),如果是,将S作为错误模式e的系统部分,其他比特全为0,然后,转步骤6),用错误模式校正接收到的向量r,再输出被校验后向量的系统部分作为消息m,之后结束;
如果S w(s)重量≥2,转步骤3),
步骤3)、校验矩阵P中存在一行向量P,使得平P+S的重量为1且S的重量不小于4且不大于6,如果对于校验矩阵P中的某个行向量pi,有w(s+pj)=1或0;如果w(s+pj)=0,则置e=(0,v(i)),w(s)=5或w(s)=7;如果,w(s+pj)=1,4≤w(s)≤6,则置e=(u(j),v(i));
如果是,P所在P的列位置j,则系统比特的第j位比特是错误的,该比特位上为1,其他比特位0的向量作为错误模式e,然后,转步骤6),用错误模式校正接收到的向量r,再输出被校验后向量的系统部分作为消息m,之后结束;
如果不是,校验矩阵p中存在一行向量p,使得P+S的重量为0,如果是,错误模式e的比特全为0,然后,转步骤6),用错误模式校正接收到的向量r,再输出被校验后向量的系统部分作为消息m,之后结束;
在校验矩阵p中存在一行向量p,使得P+S的重量为0后,如果不是,转步骤4)。
步骤4)、取出S里的低5比特bl和高4比特bh,计算idx=mod(((bl<<4)+bh),32),用idx来查表得到一个值,如果该值等于S,则用idx作为下表查找另外一个值,该值为错误模式e,这是一个哈希表,表里存放预先计算好的值,即获取TableS[idx],如果TableS[idx]等于S,则用TableE作为错误模式e,用错误模式校正v,直接输出v?r的系统比特部分后,如果不是,查到的值等于S,
查到的值等于S后,如果是,用id查找错误模式e,然后,转到步骤6),用错误模式校正接收到的向量r,再输出被校验后向量的系统部分作为消息m,之后结束;
如果不是,转步骤5),错误不可纠正,之后结束。
步骤5)、如果校正子与可纠正错误模式不匹配,停止译码并返回错误;并结束;
步骤6)、令译出的码字为v*=r+e,用错误模式校正接收到的向量r,再输出被校验后向量的系统部分作为消息m,之后译码结束。

Claims (7)

1.一种基于哈希算法的快速系统分组码译码方法,译码计算方法:得到接收比特r,其步骤如下:
步骤1)、通过接收到的向量r,计算校正子S,求S的重量;
步骤2)、计算S的重量w,如果w(s)≤2,则置e=(s,0);
步骤3)、校验矩阵P中存在一行向量P,使得平P+S的重量为1且S的重量不小于4且不大于6;
步骤4)、取出S里的低5比特bl和高4比特bh,计算idx=mod(((b1<<4)+bh),32),获取TableS[idx],如果TableS[idx]等于S,则用TableE作为错误模式e;
步骤5)、如果校正子与可纠正错误模式不匹配,停止译码并返回错误;
步骤6)、令译出的码字为v*=r+e,译码结束。
2.根据权利要求1所述的基于哈希算法的快速系统分组码译码方法,其特征在于,所述步骤1)、通过接收到的向量r,计算校正子S;求S的重量w(s),S≤T,如果S的重量不大于T,则S为错误模式,直接将c=(cn-1,...,c1,c0)的k比特系统部分作为k比特消息;将S作为错误模式的系统部分,用错误模式校正r,输出被校验后向量的系统部分作为译码结果后,结束;
如果S的重量大于T,计算校正子S的重量w(s),转步骤2)。
3.根据权利要求1所述的基于哈希算法的快速系统分组码译码方法,其特征在于,所述步骤2)、计算S的重量w(s),如果w(s)≤2,则置e=(s,0),如果是,将S作为错误模式e的系统部分,其他比特全为0,然后,转步骤6),用错误模式校正接收到的向量r,再输出被校验后向量的系统部分作为消息m,之后,结束;
如果w(s)重量≥2,转步骤3)。
4.根据权利要求1所述的基于哈希算法的快速系统分组码译码方法,其特征在于,所述步骤3)、校验矩阵P中存在一行向量P,使得平P+S的重量为1且S的重量不小于4且不大于6,如果对于校验矩阵p中的某个行向量pi,有w(s+pj)=1或0;如果w(s+pj)=0,则置e=(0,v(i)),w(s)=5或w(s)=7;如果w(s+pj)=1,4≤w(s)≤6,则置e=(u(j),v(i));
如果是,P所在的P的列位置j,则系统比特的第j位比特是错误的,该比特位上为1,其他比特位0的向量作为错误模式e,然后,转步骤6),用错误模式校正接收到的向量r,再输出被校验后向量的系统部分作为消息m,之后结束;
如果不是,校验矩阵p中存在一行向量p,使得P+S的重量为0,如果是,错误模式e的比特全为0,然后,转步骤6),用错误模式校正接收到的向量r,再输出被校验后向量的系统部分作为消息m,之后结束;
在校验矩阵p中存在一行向量p,使得P+S的重量为0之后,如果不是,转步骤4)。
5.根据权利要求1所述的基于哈希算法的快速系统分组码译码方法,其特征在于,所述步骤4)、取出S里的低5比特b1和高4比特bh,计算idx=mod(((bl<<4)+bh),32),用idx来查表得到一个值,如果该值等于S,则用idx作为下表查找另外一个值,该值为错误模式e,这是一个哈希表,表里存放预先计算好的值,即获取TableS[idx],如果TableS[idx]等于S,则用TableE作为错误模式e,用错误模式校正r,直接输出r的系统比特部分后,如果不是,查到的值等于S,
查到的值等于S后,如果是,用id查找错误模式e,然后,转步骤6)用错误模式校正接收到的向量r,再输出被校验后向量的系统部分作为消息m,之后结束;
如果不是,转步骤5),错误不可纠正,之后结束。
6.根据权利要求1所述的基于哈希算法的快速系统分组码译码方法,其特征在于,所述步骤5)、如果校正子与可纠正错误模式不必配停止译码并返回错,并结束。
7.根据权利要求1所述的基于哈希算法的快速系统分组码译码方法,其特征在于,所述步骤6)、令译出的码字为v*=r+e,用错误模式校正接收到的向量r,再输出被校验后向量的系统部分作为消息m,之后译码结束。
CN2010101915531A 2010-06-04 2010-06-04 一种基于哈希算法的快速系统分组码译码方法 Pending CN102123004A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010101915531A CN102123004A (zh) 2010-06-04 2010-06-04 一种基于哈希算法的快速系统分组码译码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010101915531A CN102123004A (zh) 2010-06-04 2010-06-04 一种基于哈希算法的快速系统分组码译码方法

Publications (1)

Publication Number Publication Date
CN102123004A true CN102123004A (zh) 2011-07-13

Family

ID=44251471

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010101915531A Pending CN102123004A (zh) 2010-06-04 2010-06-04 一种基于哈希算法的快速系统分组码译码方法

Country Status (1)

Country Link
CN (1) CN102123004A (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5809043A (en) * 1996-10-08 1998-09-15 Ericsson Inc. Method and apparatus for decoding block codes
CN101471742A (zh) * 2007-12-25 2009-07-01 安凯(广州)软件技术有限公司 一种用于短距离无线通讯的线性分组码快速译码方法
CN101540660A (zh) * 2009-04-30 2009-09-23 西安电子科技大学 基于迭代的分层空时分组码的译码方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5809043A (en) * 1996-10-08 1998-09-15 Ericsson Inc. Method and apparatus for decoding block codes
CN101471742A (zh) * 2007-12-25 2009-07-01 安凯(广州)软件技术有限公司 一种用于短距离无线通讯的线性分组码快速译码方法
CN101540660A (zh) * 2009-04-30 2009-09-23 西安电子科技大学 基于迭代的分层空时分组码的译码方法

Similar Documents

Publication Publication Date Title
EP2789116B1 (en) Soft decision error correction for memory based puf using a single enrollment
CN101958720B (zh) 缩短Turbo乘积码的编译码方法
US20180253559A1 (en) Secured lossless data compression using encrypted headers
Gad et al. Repair-optimal MDS array codes over GF (2)
US8621330B2 (en) High rate locally decodable codes
US9563853B2 (en) Efficient information reconciliation method using turbo codes over the quantum channel
CN102799495B (zh) 用于生成校验和的装置
Wiseman Compaction of RFID devices using data compression
CN102129873B (zh) 提高计算机末级高速缓存可靠性的数据压缩装置及其方法
CN106385316B (zh) Puf模糊提取电路和方法
CN114051006A (zh) 数据发送方法、装置、计算机设备以及存储介质
CN103312458A (zh) 混合编码方法
CN101826940A (zh) 一种对喷泉码中预译码集优化的方法和系统
CN108959977B (zh) 一种适用于sram puf的软硬混合解码方法
CN102123004A (zh) 一种基于哈希算法的快速系统分组码译码方法
Burmester et al. Tag memory-erasure tradeoff of RFID grouping codes
US10516418B2 (en) Hybrid type iterative decoding method and apparatus
CN101882972A (zh) 一种Raptor码的解码方法
US10089189B2 (en) Devices and methods for receiving a data file in a communication system
Dugar et al. A survey on Hamming codes for error detection
CN103368884B (zh) 一种fffs编码报文的解码方法
CN103986476A (zh) 一种用于二维图形码的级联纠错编码方法和装置
CN103095310B (zh) 一种适用于无线信道的lt码的译码电路
CN111865552B (zh) 一种检测分布转化编码器抗编码攻击能力的方法
Lu et al. Research on universal combinatorial coding

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent of invention or patent application
CB02 Change of applicant information

Address after: 518000 Guangdong city of Shenzhen province Nanshan District Pine Hill Qi Min Road No. 1 Betel five or six storey building

Applicant after: Shenzhen Kirisun Electronics Co., Ltd.

Address before: 6 building H-2, building 518000, Dong Cheng Industrial Zone, overseas Chinese, Shenzhen, Nanshan District, Guangdong

Applicant before: Kirisun Electronics (Shenzhen) Co., Ltd.

C53 Correction of patent of invention or patent application
CB02 Change of applicant information

Address after: 518000 Guangdong city of Shenzhen province Nanshan District Pine Hill Qi Min Road No. 1 Betel five or six storey building

Applicant after: Kirisun Communication Co., Ltd.

Address before: 518000 Guangdong city of Shenzhen province Nanshan District Pine Hill Qi Min Road No. 1 Betel five or six storey building

Applicant before: Shenzhen Kirisun Electronics Co., Ltd.

COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: SHENZHEN KIRISUN ELECTRONICS CO., LTD. TO: KIRISUN COMMUNICATION CO., LTD.

C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20110713