CN104601275B - 用于编码数据的方法、编码器、解码器及通信系统 - Google Patents
用于编码数据的方法、编码器、解码器及通信系统 Download PDFInfo
- Publication number
- CN104601275B CN104601275B CN201410592783.7A CN201410592783A CN104601275B CN 104601275 B CN104601275 B CN 104601275B CN 201410592783 A CN201410592783 A CN 201410592783A CN 104601275 B CN104601275 B CN 104601275B
- Authority
- CN
- China
- Prior art keywords
- bits
- parity
- coded
- data
- hamming
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/19—Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/31—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining coding for error detection or correction and efficient use of the spectrum
Abstract
本发明涉及用于编码数据的方法、编码器、解码器及通信系统。根据本发明的一个实施例,一种编码器包括:输入部,被配置为接收多个数据位;处理器,被配置为利用汉明编码操作对数据位编码以生成多个编码位;以及输出部,被配置为输出多个编码位,其中,所述处理器被配置为相比于与标准汉明码相应的编码位,缩减多个编码位的最大运程。
Description
相关申请的交叉引用
本申请要求于2013年10月31日向美国专利商标局提交的美国临时专利申请61/898,415“Maximal Transition Hamming Codes”的优先权和权益,其全部公开内容通过引用的方式合并于此。
技术领域
本发明的实施例涉及用于缩减或最小化数字数据的运程的系统和方法。
背景技术
在数据通信中,发射机与接收机之间的传输可以使用汉明码(Hamming Code,HC)验证和校正。一般说来,汉明码通过包括多个奇偶校验位(parity bit)提供对于多个数据位的错误检测和校正,其中奇偶校验位混入数据位当中。
另外,在诸如串行数据链路之类的电子数据通信中,可以使用时钟恢复或时钟数据恢复(CDR)过程来同步发射机与接收机之间的通信。例如,接收机可以使用锁相环(PLL)从近似频率参考生成时钟,然后使用CDR将所生成的信号相位对准数据流中的变换。但是,如果数据运程(data run length)(例如,联贯的1或0的流)超过特定长度,由于接收机检测变化的数目存在不足,因此时钟信号的恢复可能失败。
发明内容
本发明的实施例的方面教导用于缩减或最小化数字数据的运程的系统和方法。在一些实施例中,经修改的汉明编码操作被应用于数字数据。
根据本发明的一个实施例,一种用于编码数据的方法包括:对多个数据位使用汉明编码操作来计算多个奇偶校验位,奇偶校验位中的第一奇偶校验位使用偶校验来计算,奇偶校验位中的第二奇偶校验位使用奇奇偶校验计算;以及输出数据位和所计算的奇偶校验位。
第二奇偶校验位可以是多个奇偶校验位序列中的最后的奇偶校验位。
第一奇偶校验位可以是多个奇偶校验位序列中的后数第二的奇偶校验位。
所述汉明编码操作可以相应于HC(127,120),第一奇偶校验位可以是第6奇偶校验位,第二奇偶校验位可以是第7奇偶校验位。
根据本发明的一个实施例,一种用于编码数据的方法包括:对于多个数据位利用汉明编码操作计算多个奇偶校验位;将所计算的奇偶校验位与多个数据位交织以生成多个编码的数据位;以及重新排列多个编码的数据位以缩减多个数据位的数据序列的最大运程。
所述重新排列多个编码的数据位可以包括将在多个编码的数据位的开头的所述多个编码的数据位中的一定数目的编码的数据位移到最后一个编码的数据位之后的位置。
所述汉明编码操作可以相应于HC(127,120),并且在开头的所述多个编码的数据位中的一定数目的编码的数据位可以包括32位。
所述汉明编码操作可以利用奇奇偶校验。
根据本发明的一个实施例,一种编码器包括:输入部,被配置为接收多个数据位;处理器,被配置为利用汉明编码操作对数据位编码以生成多个编码位;以及输出部,被配置为输出多个编码位,其中,所述处理器被配置为相比于与标准汉明码相应的编码位,缩减多个编码位的最大运程。
所述处理器可以被配置为对多个数据位利用汉明编码操作计算多个奇偶校验位,所述奇偶校验位中的第一奇偶校验位利用偶奇偶校验计算,所述奇偶校验位中的第二奇偶校验位利用奇奇偶校验计算,其中,所述多个编码位可以包括数据位和所计算的奇偶校验位。
所述处理器可以被配置为重新排列多个编码位以缩减多个编码位的最大运程。
可以通过将开头的所述多个编码位中的一定数目的编码位移到最后一个编码位之后的位置来重新排列所述多个编码位。
所述汉明编码操作可以相应于HC(127,120),并且在开头的所述多个编码位中的一定数目的编码位包括32位。
根据本发明的一个实施例,一种解码器包括:输入部,被配置为接收包括多个数据位和多个奇偶校验位的多个编码位;以及处理器,被配置为:修改接收到的编码位以生成多个汉明编码位;以及利用汉明解码操作对汉明编码位编解码以生成多个解码位;以及输出部,被配置为输出多个解码位,其中,接收到的多个编码位相比于与标准汉明码相应的编码位,具有缩减的运程。
所述处理器可以被配置为通过将开头的所述多个编码位中的一定数目的编码位移到最后一个编码位之后的位置来重新排列所述多个接收到的编码位,来修改接收到的编码位。
所述处理器可以被配置为通过将所述多个奇偶校验位中的奇偶校验位值翻转来修改所接收到的编码位。
根据本发明的一个实施例,一种通信系统包括:数据源;串行链路;编码器,耦接在数据源与串行链路之间,包括:输入部,被配置为从所述数据源接收多个数据位;处理器,被配置为利用汉明编码操作对数据位编码以生成多个编码位;以及输出部,被配置为输出多个编码位到所述串行链路,其中,所述处理器被配置为相比于与标准汉明码相应的编码位,缩减多个编码位的最大运程。
所述处理器可以被配置为对多个数据位利用汉明编码操作计算多个奇偶校验位,所述奇偶校验位中的第一奇偶校验位利用偶奇偶校验计算,所述奇偶校验位中的第二奇偶校验位利用奇奇偶校验计算,其中,所述多个编码位包括数据位和所计算的奇偶校验位。
所述处理器可以被配置为通过将开头的所述多个编码位中的一定数目的编码位移到最后一个编码位之后的位置来重新排列所述多个编码位,以缩减所述多个编码位的最大运程。
附图说明
与说明书一起,附图示出本发明的示范性实施例,并且与描述一起,用来说明本发明的原理。
图1是示出被配置为接收输入数据以及生成汉明编码数据的组件的示意框图。
图2示意地示出利用7个奇偶校验位汉明编码120个数据位(或HC(127,120)。
图3示意地示出根据本发明的一个实施例的使用修改的汉明码进行编码的数据。
图4是示出根据本发明的一个实施例的被配置为使用修改的汉明码进行编码数据的系统的框图。
图5是根据本发明的一个实施例编码的数据的方法的流程图。
图6是示出根据本发明的一个实施例的被配置为使用修改的汉明码进行解码数据的系统的框图。
图7是根据本发明的一个实施例的解码数据的方法的流程图。
图8A以及图8B示意地示出根据本发明的另外的实施例的使用修改的汉明码进行编码的数据。
图9是示出根据本发明的另外的实施例的被配置为使用修改的汉明码进行编码数据的系统的框图。
图10是根据本发明的另一实施例的编码数据的方法的流程图。
图11是示出根据本发明的实施例的被配置为输出修改的汉明编码位的发射机的示意框图。
图12是示出根据本发明的实施例的用于从输入数据计算修改的汉明编码位的方法的流程图。
图13是示出根据本发明的一个实施例的被配置为接收修改的汉明编码位的接收机的框图。
图14是示出根据本发明的一个实施例的用于解码修改的汉明码中的位的方法的流程图。
具体实施方式
在下面的详细说明中,仅仅通过图解示出和描述了本发明的某些示范性实施例。如本领域技术人员将认识到的那样,本发明可以以许多不同的形式具体实现,并且应当不被释为限制于这里阐述的实施例。同样的参考标记贯穿说明书指定同样的元素。
本发明的实施例的一些方面教导用于在通信系统中缩减或最小化数字数据的运程的系统和方法。
在电子数据通信中,可以使用时钟恢复或时钟数据恢复(CDR)过程来同步发射机与接收机。使用CDR过程的接收机一般通过检测电压电平之间的变换的时间以及基于检测到的变换对接收机的时钟进行相位对准来操作。
但是,如果接收信号包含极长的运程(例如,具有相同电压电平的长序列数据码元),则CDR过程可能由于接收信号的变换数目存在不足而失败,这可能引起时钟的恢复方面的问题。
另外,在一般的数据通信中,发射机和接收机之间的传输中的误差可以被检测到并且通过对位流进行编码而校正。一种这样的编码技术被称作汉明码(HC),其通过将多个奇偶校验位包括(或交织)在通信流中提供对于多个数据位的一位误差检测与校正。在标准汉明码系统中,这些奇偶校验位被混入数据位当中。
图1是示出被配置为计算汉明码的设备10的示意框图。设备10包括奇偶校验发生器12和多路复用器14,它们被配置为经由耦接到数据源的输入部接收数据位。奇偶校验发生器12使用对数据位的汉明编码操作来计算奇偶校验位,而且多路复用器14将所生成的奇偶校验位与接收到的数据位组合以生成汉明编码数据。奇偶校验发生器12可以是偶奇偶校验发生器(even parity generator)或可以是奇奇偶校验发生器(odd paritygenerator)。多路复用器14可以是,例如,被配置为在输出汉明编码数据到输出部(例如,耦接到串行链路的串行通信设备)之前存储所生成的奇偶校验位和数据位的缓存器。
奇偶校验位的数目(M)取决于位流中的数据位的数目(N)。具体地说,对于N个数据位来说,奇偶校验位的数目M满足:
2M-1-M+1≤N≤2M-M-1,对于M=2,3,...(1)
图2示出通过七个奇偶校验位编码一百二十个数据位(称为HC(127,120))。如图2所示,七个奇偶校验位pj(其中j=1,2,...,7)混入到120个数据位dk当中(其中k=1,2,...,120)。具体来说,在标准汉明码中,奇偶校验位位于二的幂的位置。例如,如图2所示,奇偶校验位位于标准(127,120)汉明码20中的位置1,2,4,8,16,32和64处。翻转位(toggle bit)T(或bT)也可以包括在最末,其中翻转位是最后一位的反转。例如,在HC(127,120)中,如果d120=0,则T=1,并且如果d120=1,则bT=0。
在汉明编码操作中,基于对数据位的特定集合的XOR(异或)操作来计算奇偶校验位中的每一个。例如,可以根据对位流中的每隔一位进行XOR操作计算p1如下。
p1⊕d1⊕d2⊕d4⊕d5⊕d7...=f
其中⊕是XOR操作,而且f对于偶奇偶校验是0,对于奇校验是1。为了找出p2,通过保留两位和丢弃两位来执行类似的XOR操作如下。
p2⊕d1⊕d3⊕d4⊕d6⊕d7...=f
其它奇偶校验位以类似的方式找出。
在一些情况下,利用汉明码编码的数据的传输可能导致长运程。例如,在使用偶奇偶校验的HC(127,120)中,如果对于k=1,2,...,120来说,dk=0,则对于j=1,2,...,7来说pj=0。因此,使用偶奇偶校验的该序列将具有127个联贯的0的运程(其中,翻转位bT提供中断1)。另外,如果先前帧的翻转位是0,则运程将是128。如使用奇奇偶校验的HC(127,120)的另一示例中那样,对于k=1,2,...,119来说dk=0并且d120=1,则对于j=1,2,...,7来说pj=0。因此,使用奇奇偶校验的该序列将具有126个联贯的0的运程(其中,数据位d120提供中断1)。另外,如果先前帧的翻转位是0,则运程将是127。
本发明的实施例教导了基于修改的汉明码(HC)使用修改的误差校正系统的系统和方法,其中,发射机的输出的变换的数目增加或最大化(例如,其中数据码元的最大运程缩减)。
图3是依照本发明的一个实施例的、生成经HC(127,120)编码的位的经修改的输出编码位22的示意图。参照图3,可以通过重新排列原始编码位来缩减运程。例如,原始编码位20的头L位可以移到序列的末尾以使得经修改的编码位22从原始编码位20的后K-L(K=M+N是帧中的位的总数)位开始。对于汉明码HC(127,120)来说,K=127,L=32。一般说来,L是在pM-1的位置之前(并且包括pM-1的位置)的位的数目。(在HC(127,120)中,因为M=7,所以pM-1=p6在位置32处,并且因此L=32。)
例如,当使用奇奇偶校验时,可以以常规方法利用HC(127,120)计算奇偶校验位以生成编码位20。然后,输出的头32位可以被移到末尾(例如,b1,b2,...,b32,b33,...,b127==>b33,...,b127,b1,b2,...,b32)以生成修改的输出编码位22。(在一些实施例中,翻转位在最后位置。))使用该技术,当对于k=1,2,...,120来说dk=0时,可以实现最大95位的运程(例如,b33至b127是九十五个0,而bT是b127的反转,所以bT=1),这是对标准126位的HC(127,120)的最大运程的缩减。
图4是示出根据本发明的一个实施例的、被配置为缩减发送数据的运程的编码系统或发送系统(或发射机)100的示意框图。编码系统100包括:汉明编码器10(例如,本领域技术人员公知的合适的汉明编码器),被配置为从输入部接收数据位,以对接收到的数据位执行汉明编码操作,以及生成汉明编码输出;缓存器102,被配置为存储从汉明编码器输出的头L位(例如,当使用HC(127,120),L=32时);和选择器104,被配置为选择性地将汉明编码器10的输出的头L位存储到缓存器102,输出在头L位之后的剩余位(例如,当使用HC(127,120)时接下来的96位),以及在输出剩余位之后输出所存储的L位。例如,选择器104可以包括计数器,用于对从汉明编码器10接收到的位的数目计数(或者对时钟周期的数目计数),以确定何时将输出位保存到缓存器102中(例如,在HC(127,120)中的头32位),何时直接输出从汉明编码器10接收到的位(例如,在HC(127,120)中接下来的95位),以及何时输出所存储的位(例如,在输出HC(127,120)中的95位之后)。图4的框图的各种元件可以使用例如处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)以及其组合(例如,实现框图不同部分的不同类型的元件)实现。
图5是示出根据本发明的一个实施例从编码位20生成经修改的编码位22的方法200的流程图,经修改的编码位22具有缩减的运程。在操作202中,从对接收到的数据位执行汉明编码操作的汉明编码器10接收长度为K的汉明编码位20。然后,在操作204中,编码位20的头L位被缓存到缓存器102中。然后,在操作206中,编码位20的接下来的K-L位被输出作为经修改的编码位22的第一部分,并且,在操作208中,被缓存的L位被输出为经修改的编码位22的第二部分。所述位可以直接输出或者可以在从发射机100输出之前输出到第二缓存器。
图6是示出根据本发明的一个实施例的接收系统(或接收机)150的框图。接收机150包括选择器154,用于识别哪些位将存储到缓存器152中,并且被配置为输出位到汉明解码器40,其中汉明解码器40输出解码数据。
图7是示出根据本发明的一个实施例的、接收并且解码经修改的编码位22以恢复原始编码位20的方法250的流程图。在操作252中,接收长度为K的经修改的编码位。在操作254中,将接收到的经修改的编码位的头K-L位缓存到缓存器152中。然后,在操作256中输出接收到的经修改的编码位的接下来的L位,接着在操作258中输出缓存的K-L位。输出的位可以在被提供给汉明解码器40执行汉明解码操作之前被缓存。
根据本发明的另一实施例,通过对最后两个奇偶校验位使用不同的奇偶校验类型(例如,奇对偶)来缩减或最小化最大运程。换句话说,在使用M个奇偶校验位的序列的汉明码中,使用第一奇偶校验来计算奇偶校验位的序列的最后(或最终)奇偶校验位pM,使用不同于第一奇偶校验的第二奇偶校验来计算奇偶校验位的序列的后数第二的(或倒数第二的)奇偶校验位pM-1。图8A是示出依照本发明的一个实施例的HC(127,120)编码位的经修改的输出编码位24的示意图,其中,使用奇奇偶校验来计算最终的奇偶校验位pM(在本情况下,p7)(例如,p7=位d58至d120的异或加1,或者,更精确地说,p7=XOR(d58:d120)⊕1),并且使用偶奇偶校验计算倒数第二的奇偶校验位pM-1(在本情况下,p6)(例如,p6=位d27至d57和位d89至d120的异或,或者,更精确地说,p6=XOR(d27:d57,d89:d120))。通过使用偶奇偶校验和奇奇偶校验的混合来计算经修改的编码位的奇偶校验位,可以实现94位的最大运程。
图8B是示出依照本发明的又一个实施例的HC(127,120)编码位的经修改的编码位24的示意图,其中,使用偶奇偶校验计算奇偶校验位序列的最终的奇偶校验位(在本情况下,p7)(例如,p7=XOR(d58:d120)),并且使用奇奇偶校验计算奇偶校验位序列的倒数第二的奇偶校验位(在本情况下,p6)(例如,p6=XOR(d27:d57,d89:d120)⊕1)。通过使用偶奇偶校验和奇奇偶校验的混合来计算经修改的编码位的序列,可以实现94位的最大运程。
根据本发明的实施例,奇偶校验位序列的其它奇偶校验位p1到pM-2(例如,p1到p5)可以具有偶奇偶校验或奇奇偶校验。可以利用不同的(偶或奇)奇偶校验计算奇偶校验位p1到pM-2的不同的奇偶校验位。
图9是示出根据本发明的实施例的被配置为输出修改的汉明编码位24或26的发射机300的示意框图。发射机300包括修改的汉明编码器310,被配置为计算修改的汉明码,修改的汉明编码器310包括奇偶校验选择器16、第一奇偶校验发生器12a、第二奇偶校验发生器12b和多路复用器14。在一个实施例中,第一奇偶校验发生器和第二奇偶校验发生器被配置为分别计算偶奇偶校验和奇奇偶校验(或执行汉明编码操作)。奇偶校验选择器16依照计算特定的奇偶校验位需要的数据位,识别并且提供输入数据的数据位给第一奇偶校验发生器和第二奇偶校验发生器。
例如,在使用奇奇偶校验计算奇偶校验位p7以及使用偶奇偶校验计算奇偶校验位p6的实施例中,奇偶校验选择器16提供数据位d58:d120给第二奇偶校验发生器12b(其被配置为计算奇奇偶校验)以计算p7,并且提供数据位d27:d57和d89:d120给第一奇偶校验发生器12a以计算奇偶校验位p6。
图10是示出根据本发明的实施例的用于从输入数据计算修改的汉明编码位的方法的流程图。在操作402中,接收数据20(例如,从输出将通过串行链路发送的数据的设备或元件)。在操作404中,位组被识别以计算奇偶校验位。例如,在HC(127,120)中,位d58:d120被识别为与奇偶校验位p7关联,并且数据位d27:d57和d89:d120被识别为用于计算奇偶校验位p6。在操作406中,正在计算的特定奇偶校验位的奇偶性被识别为偶或奇。例如,在一个实施例中,使用偶奇偶校验计算p6,使用奇奇偶校验计算p7。基于识别的用于特定奇偶校验位的奇偶性,在操作408中使用偶奇偶校验或者在操作410中使用奇奇偶校验来计算与奇偶校验位相应的数据位。例如,当使用偶奇偶校验计算奇偶校验位p6时,在操作408中使用数据位d27:d57和d89:d120来计算奇偶校验位p6的值。在操作412中,在输出的经修改的汉明编码位24或26中(例如,奇偶校验位pa位于2a-1位置处)所计算的奇偶校验位与数据位20组合(或交织)。
图11是示出根据本发明的另一实施例的被配置为输出修改的汉明编码位24或26的发射机330的示意框图。发射机330包括标准汉明编码器10,被配置为计算标准汉明编码操作(例如,给定一组输入数据位d,计算一组M个奇偶校验位p),其中,使用相同的奇偶性计算最后两个奇偶校验位pM-1和pM(例如,使用偶奇偶校验计算两者或使用奇奇偶校验计算两者)。系统330还包括奇偶校验位修改器332(或发送奇偶校验位修改器),其被配置为通过计算pM-1和1的XOR(例如,将倒数第二的奇偶校验位设置为pM-1⊕1)来修改倒数第二的奇偶校验位pM-1的奇偶性(例如,从偶到奇或从奇到偶)。然后,修改的位流被输出作为修改的汉明编码位24或26。
根据本发明的其它实施例,奇偶校验位修改器332被配置为通过计算pM和1的XOR(例如,将最后的奇偶校验位设置为pM⊕1)来修改最后的奇偶校验位pM的奇偶性。
图12是示出根据本发明的另一实施例的用于从输入数据计算修改的汉明编码位的方法430的流程图。在操作432中,接收长度为K的汉明编码位流,其包括M个奇偶校验位p和N个数据位d。在操作434中,识别倒数第二的奇偶校验位pM-1,并且,在操作436中,将倒数第二的奇偶校验位pM-1转换或替换为pM-1⊕1(换句话说,将它的值从0翻转或反转为1或从1翻转或反转为0)。然后,将具有被反转的倒数第二的奇偶校验位的修改的汉明编码位流输出作为修改的编码位24或26。
在本发明的其它实施例中,在操作434中,识别最后的奇偶校验位pM,并且,在操作436中,将最后的奇偶校验位pM反转或替换为pM⊕1。
图13是图解根据本发明的一个实施例的接收机的框图。参照图13,接收系统350包括接收奇偶校验位修改器352,其被配置为通过计算pM-1和1的XOR来修改倒数第二的奇偶校验位pM-1的奇偶性(例如,将倒数第二的奇偶校验位设置为pM-1⊕1)(例如,从偶到奇或从奇到偶)。然后,接收奇偶校验位修改器352将位流提供给标准汉明解码器40,标准汉明解码器40将位流解码以生成解码的数据。在一些实施例中,最后的奇偶校验位pM而不是倒数第二的奇偶校验位pM-1,被反转。
图14是示出根据本发明的一个实施例的用于解码修改的汉明码中的位的方法450的流程图。在操作452中,接收长度为K的经修改的汉明编码位流。在操作454中,识别倒数第二的奇偶校验位pM-1,并且在操作456中将倒数第二的奇偶校验位pM-1反转或替换为pM-1和1的XOR的值(例如,将倒数第二的奇偶校验位设置为pM-1⊕1)。操作的结果是恢复能够提供给标准汉明解码器的标准汉明编码位流24或26。在一些实施例中,最后的奇偶校验位pM而不是倒数第二的奇偶校验位pM-1,被修改。
可以通过将奇奇偶校验位和偶奇偶校验位混合来实现缩减运程的证据可以在附录在本申请的向美国专利商标局提交的“Reduction of Run Length by mixing Odd andEven Parities in Hamming Code”中找到,全部附录通过引用合并于此。
本发明的实施例可以通过本领域普通技术人员将理解的那样的各种方法来实现,并且如这里所使用的术语“处理器”可以指代能够执行所述操作的任何计算设备,诸如具有指令存储在连接到通用处理器的存储器中的编程通用处理器(例如,ARM处理器)、现场可编程门阵列(FPGA)和定制专用集成电路(ASIC)。本发明的实施例可以集成到串行通信控制器(例如,通用串行总线或USB控制器)、图形处理单元(GPU)、板内接口及其他使用汉明编码信号的硬件或软件系统。
虽然已经结合某些示范性实施例描述了本发明,但是将理解,本发明不局限于所公开的实施例,而是相反地,意图是包括在所附权利要求的精神和范围内的各种修改和等效的布置。
附录A
通过混合汉明码中的奇奇偶校验和偶奇偶校验来缩减运程
我们提出了在汉明编码器中混合奇奇偶校验和偶奇偶校验来提高帧中变换的数目(或者等效地,缩减对于时钟数据恢复(Clock Data Recovery,CDR)不利的运程)。为了说明该方法,我们使用HC(127,120)作为例子。但是,本方法可以类似地应用于任何其它汉明码。
考虑大小为127的汉明编码帧,其由120个数据位和位于位置1,2,4,8,16,32和64处的7个奇偶校验位组成。我们提出使用奇奇偶校验用于p7(位于位64),偶奇偶校验用于p6(位于位32),并且我们断言在本例中最大运程将是94位。
为了证明该断言,注意,127位的一帧内的94个联贯的且相同的位(本报告中称为运行位(run bit))可以属于以下类别中之一。
1.占用位位置34到127
2.占用位位置33到126
3.占用位位置k到k+93,其中k=1,2,...,32。
让我们用b表示在94个相同位的运行中的重复位(b可以明显是0或1)。现在我们来检查这些类别中的每一个。
类别(1):如果我们对p64使用奇奇偶校验,则我们得到
因此,位置64中断运行并且因此,在类别(1)中长度94的运行位是不可能的。
类别(2):我们看到,p6从左边连接运行位。如我们将看到的那样,如果p7=b(位置64不中断运行),则p6=b⊕1,这意味着位置32将中断运行。因此,运程不可能超过94。
类别(3):在这种情况下,p6在运行位的中间,并且因此利用这样的事实:如果p7=b,则p6=b⊕1,我们将看到,在该类别中,我们也不能得到多于94的运程(事实上,在这种情况下连94也不能实现)。
基于以上描述,我们只需要证明在上面的类别(2)和(3)中的断言:如果p7=b,则p6=b⊕1。为了证明该断言,注意,类别(2)和(3)中的运行位占用位置34-A到127-A,其中,1≤A≤33。定义S为最后A位的异或XOR。那我们将有
为了简单起见,我们将三种概率区别如下。
注意32-A是偶数。因此,在这种情况下,断言被证明,因为p6≠b。
注意32-A是奇数。因此,在这种情况下,断言被证明,因为p6≠b。
因此,在这种情况下,断言被证明,因为p6≠b。
Claims (7)
1.一种编码器,包括:
输入部,被配置为接收多个数据位;
处理器,被配置为利用汉明编码操作对数据位编码以生成多个编码位;以及
输出部,被配置为输出所述多个编码位,
其中,所述处理器被配置为相比于与标准汉明码相应的编码位,缩减所述多个编码位的最大运程,
其中,所述处理器被配置为重新排列所述多个编码位以缩减所述多个编码位的最大运程,
其中,通过将开头的所述多个编码的数据位中的一定数目的编码的数据位移到最后一个编码位之后的位置来重新排列所述多个编码位,
其中,所述处理器被配置为对所述多个数据位使用汉明编码操作来计算多个奇偶校验位,奇偶校验位中的第一奇偶校验位利用偶奇偶校验计算,并且奇偶校验位中的第二奇偶校验位利用奇奇偶校验计算。
2.如权利要求1所述的编码器,其中,所述多个编码位包括数据位和所计算的奇偶校验位。
3.如权利要求1所述的编码器,其中,所述汉明编码操作相应于HC(127,120),并且在开头的所述多个编码的数据位中的一定数目的编码的数据位包括32位。
4.一种解码器,包括:
输入部,被配置为接收包括多个数据位和多个奇偶校验位的多个编码位;以及
处理器,被配置为:
修改接收到的编码位以生成多个汉明编码位;以及
利用汉明解码操作对汉明编码位解码以生成多个解码位;以及
输出部,被配置为输出所述多个解码位,
其中,相比于与标准汉明码相应的编码位,接收到的多个编码位具有缩减的运程,
其中,所述处理器被配置为通过将在开头的所述多个编码位中的一定数目的编码位移到最后一个编码位之后的位置来重新排列所述多个接收到的编码位,来修改接收到的编码位,
其中,在所述多个编码位的多个奇偶校验位中,通过利用偶奇偶校验的计算得到第一奇偶校验位,并且通过利用奇奇偶校验的计算得到第二奇偶校验位。
5.如权利要求4所述的解码器,其中,所述处理器被配置为通过将所述多个奇偶校验位中的奇偶校验位的值翻转来修改所接收到的编码位。
6.一种通信系统,包括:
数据源;
串行链路;
编码器,耦接在数据源与串行链路之间,包括:
输入部,被配置为从数据源接收多个数据位;
处理器,被配置为利用汉明编码操作对数据位编码以生成多个编码位;以及
输出部,被配置为输出所述多个编码位到串行链路,
其中,所述处理器被配置为相比于与标准汉明码相应的编码位,缩减多个编码位的最大运程,
其中,所述处理器被配置为通过将开头的所述多个编码位中的一定数目的编码位移到最后一个编码位之后的位置来重新排列所述多个编码位,以缩减所述多个编码位的最大运程,
其中,所述处理器被配置为对所述多个数据位使用汉明编码操作来计算多个奇偶校验位,奇偶校验位中的第一奇偶校验位利用偶奇偶校验计算,并且奇偶校验位中的第二奇偶校验位利用奇奇偶校验计算。
7.如权利要求6所述的通信系统,其中,所述多个编码位包括数据位和所计算的奇偶校验位。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361898415P | 2013-10-31 | 2013-10-31 | |
US61/898,415 | 2013-10-31 | ||
US14/338,109 US9658921B2 (en) | 2013-10-31 | 2014-07-22 | Maximal transition hamming codes |
US14/338,109 | 2014-07-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104601275A CN104601275A (zh) | 2015-05-06 |
CN104601275B true CN104601275B (zh) | 2020-04-21 |
Family
ID=51703082
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410592783.7A Active CN104601275B (zh) | 2013-10-31 | 2014-10-29 | 用于编码数据的方法、编码器、解码器及通信系统 |
Country Status (7)
Country | Link |
---|---|
US (1) | US9658921B2 (zh) |
EP (1) | EP2869471A1 (zh) |
JP (1) | JP2015089132A (zh) |
KR (1) | KR102281107B1 (zh) |
CN (1) | CN104601275B (zh) |
AU (1) | AU2014227460B2 (zh) |
TW (1) | TWI656746B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102430173B1 (ko) | 2015-11-24 | 2022-08-05 | 삼성전자주식회사 | 디스플레이 장치 |
JP6971538B2 (ja) * | 2016-05-18 | 2021-11-24 | ソニーセミコンダクタソリューションズ株式会社 | 通信装置、通信方法、プログラム、および、通信システム |
KR102608908B1 (ko) * | 2016-06-23 | 2023-12-04 | 에스케이하이닉스 주식회사 | 데이터의 오류를 정정하는 방법 및 이를 이용하는 반도체장치 |
DE102016118269A1 (de) * | 2016-09-27 | 2018-03-29 | Endress + Hauser Gmbh + Co. Kg | Verfahren und System zum verteilten Speichern von Informationen in einer eine Vielzahl von Feldgeräten aufweisenden Anlage der Prozessautomatisierung |
CN107565979B (zh) * | 2017-09-26 | 2020-08-04 | 武汉虹信通信技术有限责任公司 | 一种编码方法及编码器 |
US11695429B2 (en) | 2021-07-29 | 2023-07-04 | Samsung Display Co., Ltd. | Systems and methods for transition encoding with protected key |
US11636057B2 (en) * | 2021-07-30 | 2023-04-25 | Qualcomm Incorporated | Data re-encoding for energy-efficient data transfer in a computing device |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4596014A (en) * | 1984-02-21 | 1986-06-17 | Foster Wheeler Energy Corporation | I/O rack addressing error detection for process control |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4680765A (en) * | 1985-07-26 | 1987-07-14 | Doland George D | Autosync circuit for error correcting block decoders |
JP2593071B2 (ja) * | 1987-03-23 | 1997-03-19 | 日本電信電話株式会社 | 誤り訂正機能を有するバイフエーズ符号伝送方法 |
WO2000021198A1 (en) * | 1998-10-01 | 2000-04-13 | Koninklijke Philips Electronics N.V. | Generation of a runlength limited digital information signal |
US6920604B2 (en) * | 2002-04-08 | 2005-07-19 | Galazar Networks, Inc. | Systems and methods for high speed serial encoding and decoding for data and control interfaces |
US7467335B2 (en) * | 2005-07-01 | 2008-12-16 | Alcatel-Lucent Usa Inc. | Method and apparatus for synchronizing data channels using an alternating parity deskew channel |
US7596743B2 (en) * | 2005-09-28 | 2009-09-29 | Ati Technologies Inc. | Method and apparatus for error management |
KR20070112953A (ko) | 2006-05-24 | 2007-11-28 | 삼성전자주식회사 | Ecc 제어회로, 제어방법 및 반도체 메모리 장치 |
KR101518507B1 (ko) | 2007-07-19 | 2015-05-11 | 한국전자통신연구원 | 영상신호 송수신 장치 및 방법 |
KR100942702B1 (ko) | 2007-08-30 | 2010-02-17 | 한국전자통신연구원 | 심볼 오류정정이 가능한 주파수 선택적 기저대역을사용하는 변복조 방법 및 그 장치 |
PL2056464T3 (pl) * | 2007-10-30 | 2013-04-30 | Sony Corp | Urządzenie i sposób przetwarzania danych |
US20090271686A1 (en) * | 2008-04-28 | 2009-10-29 | Qualcomm Incorporated | Communication signal decoding with iterative cooperation between turbo and reed-solomon decoding |
-
2014
- 2014-07-22 US US14/338,109 patent/US9658921B2/en active Active
- 2014-09-17 AU AU2014227460A patent/AU2014227460B2/en active Active
- 2014-10-16 EP EP20140189177 patent/EP2869471A1/en not_active Ceased
- 2014-10-28 KR KR1020140147445A patent/KR102281107B1/ko active IP Right Grant
- 2014-10-29 JP JP2014220152A patent/JP2015089132A/ja active Pending
- 2014-10-29 TW TW103137315A patent/TWI656746B/zh active
- 2014-10-29 CN CN201410592783.7A patent/CN104601275B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4596014A (en) * | 1984-02-21 | 1986-06-17 | Foster Wheeler Energy Corporation | I/O rack addressing error detection for process control |
Also Published As
Publication number | Publication date |
---|---|
AU2014227460B2 (en) | 2018-09-20 |
US9658921B2 (en) | 2017-05-23 |
TWI656746B (zh) | 2019-04-11 |
AU2014227460A1 (en) | 2015-05-14 |
CN104601275A (zh) | 2015-05-06 |
JP2015089132A (ja) | 2015-05-07 |
KR102281107B1 (ko) | 2021-07-23 |
EP2869471A1 (en) | 2015-05-06 |
TW201524136A (zh) | 2015-06-16 |
US20150121164A1 (en) | 2015-04-30 |
KR20150050429A (ko) | 2015-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104601275B (zh) | 用于编码数据的方法、编码器、解码器及通信系统 | |
US7461324B2 (en) | Parallel processing for decoding and cyclic redundancy checking for the reception of mobile radio signals | |
WO2009031837A1 (en) | Signal segmentation method and crc attachment method for reducing undetected error | |
US8321750B2 (en) | Interleaving parity bits into user bits to guarantee run-length constraint | |
CA3069482C (en) | Blockwise parallel frozen bit generation for polar codes | |
US9647688B1 (en) | System and method of encoding in a serializer/deserializer | |
US20030188248A1 (en) | Apparatus for iterative hard-decision forward error correction decoding | |
WO1998025350A1 (en) | Shortened fire code error-trapping decoding method and apparatus | |
CN113507289B (zh) | 一种编码器、解码器及码字生成方法 | |
WO2013153512A1 (en) | Branch metric computation for trellis decoding of scrambled convolutional codes | |
US20110083062A1 (en) | Method for Encoding and/or Decoding Multimensional and a System Comprising Such Method | |
EP4164131A1 (en) | System and method for transition encoding with reduced error propagation | |
EP4142229A1 (en) | System and method for transition encoding with flexible word-size | |
US5077743A (en) | System and method for decoding of convolutionally encoded data | |
US7392464B1 (en) | Universal parity encoder | |
CN110419166B (zh) | 纠错装置和纠错方法 | |
RU2608872C1 (ru) | Способ кодирования и декодирования блокового кода с использованием алгоритма Витерби | |
CN110741562B (zh) | 向量信令码信道的流水线式前向纠错 | |
CN107077402B (zh) | 码字生成方法、错误位确定方法及其电路 | |
CN114443347B (zh) | 一种可配置crc码计算方法 | |
KR20080052832A (ko) | 준순환 저밀도 패리티 검사 부호화 방법 및 장치 | |
CN106134086B (zh) | 用于控制交织深度的方法和设备 | |
JPH02248120A (ja) | ディジタル伝送装置の誤り訂正用符号器/復号器システム | |
CN115883012A (zh) | 一种编码方法及装置 | |
CN110504975B (zh) | 一种crc并行编解码方法及基于其的编解码器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |