CN101465715A - 发送设备和方法、接收设备和方法,以及程序 - Google Patents

发送设备和方法、接收设备和方法,以及程序 Download PDF

Info

Publication number
CN101465715A
CN101465715A CNA2008101878770A CN200810187877A CN101465715A CN 101465715 A CN101465715 A CN 101465715A CN A2008101878770 A CNA2008101878770 A CN A2008101878770A CN 200810187877 A CN200810187877 A CN 200810187877A CN 101465715 A CN101465715 A CN 101465715A
Authority
CN
China
Prior art keywords
crc
data
generator polynomial
max
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.)
Granted
Application number
CNA2008101878770A
Other languages
English (en)
Other versions
CN101465715B (zh
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Publication of CN101465715A publication Critical patent/CN101465715A/zh
Application granted granted Critical
Publication of CN101465715B publication Critical patent/CN101465715B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/033Theoretical methods to calculate these checking codes
    • H03M13/036Heuristic code construction methods, i.e. code construction or code search based on using trial-and-error
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/65Purpose and implementation aspects
    • H03M13/6508Flexibility, adaptability, parametrability and configurability of the implementation
    • H03M13/6516Support of multiple code parameters, e.g. generalized Reed-Solomon decoder for a variety of generator polynomials or Galois fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

本发明提供了发送设备和方法、接收设备和方法,以及程序。一种发送设备包括:CRC编码处理单元,配置为包括用于以代码长度不同的多个数据中的每一个为目标的CRC编码处理的多个生成多项式,并且使用所述多个生成多项式中的最优生成多项式来执行CRC编码处理;以及发送单元,配置为发送由CRC编码处理单元执行CRC编码处理而获得的数据。

Description

发送设备和方法、接收设备和方法,以及程序
技术领域
本发明涉及发送设备和方法、接收设备和方法以及程序,具体来说涉及通过根据要处理的数据进行切换来使用更适当的生成多项式(generatingpolynomial)的发送设备和方法、接收设备和方法以及程序。
背景技术
对于信息记录设备、通信设备等等而言,在通过传送线路传送信息(数据)时,所传送的信息有时会包括差错。
CRC(循环冗余校验)是一种广泛用来作为检测信息是否包括差错的方法的技术。为了执行CRC,要传送的信息必须预先经历CRC编码。将参考图1来描述CRC编码。
在图1中,发送设备1和接收设备3通过传送线路2连接。对于发送设备1而言,CRC被用于通过使CRC代码(其是通过向信息字(数据)添加CRC奇偶校验位(CRC parity)而获得的)经历诸如Reed-Solomon码之类的差错校正编码,从而通过差错校正解码来进行差错校正检测。
对于发送设备1而言,充当要传送的CRC编码目标的、其中连续有多个信息字(数据)的输入信息系列被输入到CRC编码器11,并且经历CRC编码。CRC编码器11的细节将在下文中参考图2来描述。经历了CRC编码的信息被输入到差错校正编码器12,并且经历诸如Reed-Solomon码之类的差错校正编码。经历了差错校正编码的信息被输入到传送线路编码器13,经历根据传送线路2的传送线路编码处理,并被发送到传送线路2。
经过传送线路2的信号被接收设备3的代码检测器31所检测,并且检测到的信息被输入到传送线路解码器32。经历了由传送线路解码器32进行的传送线路解码的检测到的信息系列被差错校正解码器33进行与差错校正编码器12的处理相对应的诸如Reed-Solomon码之类的差错校正。经差错校正的信息接下来被输入到CRC检测器34。CRC检测器34使得经差错校正的检测到的系列经历CRC处理,判定差错校正是否被正确地执行(检测到的系列是否包括差错),并且输出其结果来作为匹配信号。CRC检测器34的细节将在下文中参考图5来描述。
通过例如利用信息记录设备的驱动器的控制器执行重发请求,从CRC检测器34输出的匹配信号被用于提高可靠性。
作为CRC代码的其他应用,CRC代码被用作代码检测器中的后处理器,或者被用于头部信息、分组通信中的发送分组。另外,CRC代码被用作用于差错校正的消除标志。
使用CRC代码的差错检测原理
将描述使用CRC代码的差错检测原理。当r比特奇偶校验位被添加到由k比特构成的信息字(数据)以获得代码长度为n(n=k+r)比特的代码字时,利用多项式来表示信息字的(k-1)阶信息多项式M(x)被乘以x′。例如,在信息为二进制的“1010101”的情况下,信息多项式M(x)被表示为x6+x4+x2+1。
信息多项式M(x)乘以x′的结果M(x)·x′是通过使用除以r阶生成多项式G(x)时的余数多项式R(x)(阶数为(r-1)阶)和商多项式Q(x),根据以下式(1)获得的,从而构成例如以下式(2)所示的(n-1)阶代码多项式W(x)。
M(x)·x′=Q(x)·G(x)+R(x)...(1)
W(x)=M(x)·x′-R(x)...(2)
根据式(1)和式(2)之间的关系,代码多项式成为W(x)=Q(x)·G(x)。因此,代码多项式W(x)可以被生成多项式G(x)除尽。
根据上述观点,例如,当接收设备3接收到作为图1中的发送设备1通过传送线路2发送到接收设备3的代码多项式W(x)的多项式(以下称为“接收多项式Y(x)”)时,接收设备3的CRC检测器34判定接收多项式Y(x)能否被生成多项式G(x)除尽。
当接收多项式Y(x)能被生成多项式G(x)除尽时,接收多项式Y(x)与代码多项式W(x)相同,因此可以估计在传送线路2处在信息字中没有发生差错,但是在接收多项式Y(x)不能被生成多项式G(x)除尽的情况下,接收多项式Y(x)不是代码多项式W(x),因此可以判定(可以估计)在传送线路2处在信息字中发生了差错。
CRC代码是循环代码,因此,例如,只要确定了生成多项式G(x),图1中的发送设备1内的CRC编码器11的电路配置就可以通过使用移位寄存器和异或逻辑来相对容易地配置为一个设备。
CRC编码器的示例
广泛用于CRC的生成多项式G(x)的示例包括基于作为16比特CRC的CRC-CCITT标准的G(x)=x16+x12+x5+1,以及基于CRC-ANSI标准的G(x)=x16+x15+x2+1。
下面将参考图2来描述当奇偶校验比特(parity bit)数目(阶数)为r=3时,在使用生成多项式G(x)=x3+x+1的情况下,图1中的发送设备1中的CRC编码器(CRC编码电路)11的配置示例。
图2是示出用于从信息多项式M(x)生成代码多项式W(x)的CRC编码器11的配置示例的图。
CRC编码器11包括CRC奇偶校验位生成器110、第一选择器111、第二选择器112和比特数目计数器113。
CRC奇偶校验位生成器110生成关于k比特信息比特系列的r比特CRC奇偶校验位,以将其输出到第一选择器111。将参考图3和4来描述CRC奇偶校验位生成器110处的奇偶校验位生成方法。
第二选择器112在k比特信息比特系列被输入到“0”输入端子期间,基于来自比特数目计数器113的状态控制信号S1来对输入信息比特系列进行输出。另外,当信息比特系列到“0”输入端子的输入结束时,第二选择器112输出在CRC奇偶校验位生成器110处生成的r比特奇偶校验位,该奇偶校验位是通过第一选择器111输入到“1”输入端子的。这样,“k比特信息比特系列”和“基于该信息比特系列在CRC奇偶校验位生成器110处生成的r比特奇偶校验比特”被从CRC编码器11的第二选择器112输出。这样,从第二选择器112输出的代码比特系列成为了代码长度n=k+r的代码比特系列,它由“k比特的信息比特系列”和“r比特的奇偶校验比特”构成。
将描述CRC奇偶校验位生成器110和第一选择器111。图3示出了在使用G(x)=x3+x+1作为生成多项式G(x)的情况下,CRC奇偶校验位生成器110的电路示例。
图3中的CRC奇偶校验位生成器110以循环方式与第一移位寄存器R00、第一异或(EXOR)电路EXOR1、第二移位寄存器R01、第三移位寄存器R02和第二异或电路EXOR2相连接,并且第二异或电路EXOR2的输出被输入到第一异或电路EXOR1。
注意,在使用生成多项式G(x)=x4+x3+x2+x+1的情况下CRC奇偶校验位生成器110的电路图示例将在图4中示出。
图4中的CRC奇偶校验位生成器110以循环方式与第一移位寄存器R00、第一异或(EXOR)电路EXOR1、第二移位寄存器R01、第二异或电路EXOR2、第三移位寄存器R02、第三异或电路EXOR3、第四移位寄存器R03和第四异或电路EXOR4相连接,并且第四异或电路EXOR4的输出被输入到第一、第二和第三异或电路EXOR1、EXOR2和EXOR3。
如图3和图4中所示,CRC奇偶校验位生成器110是基于生成多项式G(x)来配置的。换言之,从图3和图4中的图示可以明白,只要确定了生成多项式G(x),就可以将CRC奇偶校验位生成器110配置成这样一个电路:移位寄存器和异或电路被以循环方式连接,并且最末级的异或电路的输出(例如图3中的第二异或电路EXOR2或者图4中的第四异或电路EXOR4的输出)被施加到它的在前级的异或电路。
下面将描述图3所示的CRC奇偶校验位生成器110的操作。图4所示的CRC奇偶校验位生成器110的操作基本上与图3所示的CRC奇偶校验位生成器110的操作相同。在图3中,按照从信息比特系列的高阶项起一比特一个的顺序,对于每个时间点,例如,对于移位寄存器工作的每个时钟,利用信息多项式M(x)表示的信息比特系列被输入到作为第三移位寄存器R02的上游的第二异或电路EXOR2,从而信息多项式M(x)乘以x′的比特系列M(x)·x′被输入到CRC奇偶校验位生成器110。
在这里,第一至第三移位寄存器R00、R01和R02的初始值是零。
在完成向CRC奇偶校验位生成器110输入信息比特系列的零阶项时,第一至第三移位寄存器R00、R01和R02处保存的值提供了余数多项式R(x)的每一阶的系数。也就是说,余数多项式R(x)为R(x)=(R02中保存的内容)×x2+(R01中保存的内容)×x+(R00中保存的内容)。
因此,在完成向CRC奇偶校验位生成器110输入信息比特系列的零阶项时,从图2中未示出的控制电路输出的使能信号E0变为禁止(不活动状态),CRC奇偶校验位生成器110的第一至第三移位寄存器R00、R01和R02中保存的值被保存,并被输出到第一选择器111。
在图2中,例如,从具有图3所示的电路配置的CRC奇偶校验位生成器110向第一选择器111的三个输入端子00、01和10的输出是CRC奇偶校验位生成器110的相应移位寄存器R00、R01和R02的输出R00out、R01out和R02out,并且第一选择器111根据从图2中未示出的控制电路输出的第一选择信号S0,按顺序选择输入到三个输入端子00、01和10的来自CRC奇偶校验位生成器110的输出R00out、R01out和R02out之一,并且将其输出到第二选择器112的“1”输入端子。
第二选择器112根据从由图2中未示出的控制电路所控制的比特数目计数器113输出的第二选择信号S1,也就是说根据比特数目计数器113的比特计数值,在k比特信息比特系列被输入到第二选择器112的“0”输入端子的时段期间,选择输入到“0”输入端子的信息比特系列,并将该信息比特系列按原样输出。另一方面,在完成向CRC奇偶校验位生成器110输入信息比特系列,并且已生成了所有奇偶校验位时,第二选择器112选择并输出被输入到第二选择器112的“1”输入端子的、第一选择器111的输出,即,在CRC奇偶校验位生成器110中生成的奇偶校验位。
这样,例如,从图2中的CRC编码器11的第二选择器112输出的代码比特系列如上所述由“k比特信息比特系列”和“r比特奇偶校验比特”构成。因此,代码比特系列成为了代码长度n=k+r的代码比特系列。
例如,在图1中的发送设备1中,如上所述,在CRC编码器11处经历了CRC编码的代码比特系列被输入到差错校正编码器12,并且例如经历诸如Reed-Solomon码之类的差错校正编码。经历了差错校正编码的信息被输入到传送线路编码器13,并且经历根据传送线路2的传送线路编码处理,并且被发送到传送线路2。
经过传送线路2的信号被接收设备3的代码检测器31所检测,并且检测到的信息被输入到传送线路解码器32。经历了由传送线路解码器32进行的传送线路解码的检测到的信息系列经历由差错校正解码器33进行的差错校正。在CRC检测器34处,对于经差错校正的信息,判定检测到的系列是否包括差错。
图5是示出用于检查接收多项式Y(x)是否包括差错的CRC检测器34的配置示例的图。CRC检测器34包括CRC奇偶校验器(CRC paritychecker)341和比较器342。
CRC奇偶校验器341如上所述检查接收多项式Y(x)是否能够被生成多项式G(x)除尽,并且在接收多项式Y(x)能被生成多项式G(x)除尽的情况下,接收多项式Y(x)与代码多项式W(x)相同,因此,CRC奇偶校验器341判定在传送线路2处在信息字中未发生差错,但是在接收多项式Y(x)不能被生成多项式G(x)除尽的情况下,接收多项式Y(x)不与代码多项式W(x)相同,因此CRC奇偶校验器341判定在传送线路2处在信息字中发生了差错。
CRC奇偶校验器341是用于将接收多项式Y(x)除以生成多项式G(x)的电路,比较器342是用于判定CRC奇偶校验器341进行的除法的结果是否包括余数的电路。
图6示出了CRC奇偶校验器341的配置示例。图6所示的CRC奇偶校验器341的配置对应于图3所示的CRC奇偶校验位生成器110。在CRC奇偶校验位生成器110具有图4所示的电路配置的情况下,CRC奇偶校验器341也具有与之相应的电路配置。下面将描述与图3所示的CRC奇偶校验位生成器110相对应的CRC奇偶校验器341。
图6所示的CRC奇偶校验器341以循环方式与第一异或电路EXOR11,第一移位寄存器R10、第二异或电路EXOR12、第二移位寄存器R11和第三移位寄存器R12相连接,并且具有第三移位寄存器R12的输出被输入到第二异或电路EXOR12的电路配置。
在图6中的CRC奇偶校验器341中,利用接收多项式Y(x)表示的接收比特系列在每个时间点上按从高阶项起的顺序一次一比特地被输入到第一移位寄存器R10的右边缘处的第一异或电路EXOR11。在完成向CRC奇偶校验器341输入接收比特系列的零阶项时,第一至第三移位寄存器R10、R11和R12中保存的值提供了余数多项式R(x)的系数。也就是说,R(x)=(R12的值)×x2+(R11的值)×x+(R10的值)。在这里,第一至第三移位寄存器R10、R11和R12的初始值为零。
在图5中,从CRC奇偶校验器341到比较器342的输出R10out、R11out和R12out是图6中的CRC奇偶校验器341的相应寄存器R10、R11和R12的输出。
比较器342比较(判定)R10out、R11out和R12out的值是否都为零,即,余数为零,并且输出表示R10out、R11out和R12out的值是否都为零的1比特匹配信号。也就是说,在R10out、R11out和R12out的值都为零的情况下,接收多项式Y(x)与代码多项式W(x)相同,例如,表示判定在传送线路2处在信息字中未发生差错的逻辑“1”的匹配信号被从比较器342输出,否则,例如逻辑“0”的匹配信号被输出。
CRC的差错检测能力一般是利用随机差错检测能力、突发差错检测能力和代码的未检测差错概率(undetected error probability)Pud来评估的,并且是利用生成多项式G(x)和代码长度n来确定的。
现在,代码的未检测差错概率Pud表示尽管由于在传送线路上发生了差错而导致接收字变成了与所发送的代码字不同的代码字(其中CRC奇偶校验位被计算为与所提供的信息比特不同的信息比特的代码字)却判定没有差错的概率。原始代码字被改变为一个不同的代码字,因此,即使使用CRC,余数也为0。也就是说,存在这样的情况:虽然接收字包括差错,但却判定没有差错。
例如,如J.K.Wo1f,R.D.Blakeney,"An exact evaluation of theprobability of undetected error for certain shortened binary CRC codes,"Military Communications Conference,1988,MILCOM 88,Conference record,′21st Century Military Communications-What′s Possible?′,1988 IEEE,vol.1,pp.287-292,Oct.1988中所公开的,代码的未检测差错概率Pud是用阶数(奇偶校验位数目)r、代码长度n、通过确定生成多项式G(x)和代码长度n而获得的权重分布A或者或者双代码权重分布B、以及二元对称信道处的信道比特差错概率(转变概率)来表示的,如下所示。
P ud = Σ i = 1 n A i ϵ i ( 1 - ϵ ) n - i - - - ( 3 )
P ud = 2 - r Σ i = 0 n B i ( 1 - 2 ϵ ) i - ( 1 - ϵ ) n - - - ( 4 )
对于随机差错检测能力来说,可以检测所有的(dmin-1)个或者更少的差错。但是,除了这些以外,还可以检测大量的差错。
另外,对于突发差错检测能力来说,可以检测长度等于或小于生成多项式G(x)的阶数的所有差错。但是,即使对于长度大于生成多项式的阶数的突发差错来说,大多数差错也是可以被检测的。
在J.K.Wolf,R.D.Blakeney,"An exact evaluation of the probability ofundetected error for certain shortened binary CRC codes,"MilitaryCommunications Conference,1988,MILCOM 88,Conference record,′21stCentury Military Communications-What′s Possible?′,1988 IEEE,vol.1,pp.287-292,Oct.1988;T.Baicheva,S.Dodunekov,"Undetected error probabilityperformance of cyclic redundancy-check codes of 16-bit redundancy,"IEE Proc.Comm.,vol.147,no.5,pp.253-256,Oct.2000;P.Kazakov,"Fast Calculationof the Number of Minimum-Weight Words of CRC Codes,"IEEE Trans.Inform.Theory,vol.47,no.3,pp.1190-1195,Mar.2001;P.Koopman,"CyclicRedundancy Code(CRC)Polynomial Selection For Embedded Networks,"TheInternational Conference on Dependable System and Networks,DSN-2004;G.Castagnoli,J.Ganz,P.Graber,"Optimum Cyclic Redundancy-Check Codeswith 16-Bit Redundancy,"IEEE Trans.Comm.,vol.38,no.1,pp.111-114,Jan.1990;G.Funk,"Determination of Best Shortened Codes,"IEEE Trans.Comm.,vol.44,no.1,pp.1-6,Jan.1996;D.Chun,J.K.Wolf,"Special Hardware forComputing the Probability of Undetected Error for Certain CRC Codes and TestResults,"IEEE Trans.Comm.,vol.42,no.10,pp.2769-2772,Oct.1994;以及G.Castagnoli,S.Brauer,M.Herrmann,"Optimum of Cyclic Redundancy-Check Codes with 24 and 32 Parity Bits,"IEEE Trans.Comm.,vol.41,no.6,pp.883-892,Jun.1993中,已经作出了关于用来使代码的未检测差错概率最小化的生成多项式的多种报告,并且已经根据生成多项式的阶数(奇偶校验位的数目)和代码长度提出了多种生成多项式。
在T.Baicheva,S.Dodunekov,"Undetected error probability performanceof cyclic redundancy-check codes of 16-bit redundancy,"IEE Proc.Comm.,vol.147,no.5,pp.253-256,Oct.2000和P.Kazakov,"Fast Calculation of theNumber of Minimum-Weight Words of CRC Codes,"IEEE Trans.Inform.Theory,vol.47,no.3,pp.1190-1195,Mar.2001中,已经提出了一种生成多项式,其中,利用16比特CRC,代码的未检测差错概率针对每个代码长度被抑制到了最小值。
另外,在G.Castagnoli,J.Ganz,P.Graber,"Optimum CyclicRedundancy-Check Codes with 16-Bit Redundancy,"IEEE Trans.Comm.,vol.38,no.1,pp.111-114,Jan.1990和G.Castagnoli,S.Brauer,M.Herrmann,"Optimum of Cyclic Redundancy-Check Codes with 24 and 32 Parity Bits,"IEEE Trans.Comm.,vol.41,no.6,pp.883-892,Jun.1993中,已经确认代码的未检测差错概率Pud表现出这样的属性:当代码长度n变化时,以其中代码的最小汉明距离dmin发生变化的代码长度为界,代码的未检测差错概率Pud错误地增大。
图7是示出在作为示例的8比特CRC的情况下最小(有限)未检测差错概率属性的图。在图7中,水平轴指示出代码长度n(比特),垂直轴指示出代码的未检测差错概率Pud。这将被称为n-Pud属性。
在1997年8月27日递交的发明人为J.M.Stein、专利权人为Qaulcomm Incorporated、题为“METHOD FOR SELECTING CYCLICREDUNDANCY CHECK POLYNOMIALS FOR LINEAR CODEDSYSTEMS”的美国专利6,085,349中,已经公开了涉及CRC生成多项式的选择方法的发明。
在1997年8月27日递交的发明人为J.M.Stein、专利权人为Qaulcomm Incorporated、题为“METHOD FOR SELECTING CYCLICREDUNDANCY CHECK POLYNOMIALS FOR LINEAR CODEDSYSTEMS”的美国专利6,085,349中,当给定生成多项式的阶数时,基于为所有具有该阶数的生成多项式计算的距离谱来选择生成多项式。该距离谱是表示在每个汉明距离下代码字的数目的表格。这样,选择具有最大的最小汉明距离的生成多项式,并且选择用于使代码的未检测差错概率最小化的生成多项式。
发明内容
如上所述,CRC差错检测能力(未检测差错概率、随机差错检测能力和突发差错检测能力)是利用生成多项式和代码长度来确定的。
对于所有的代码长度而言,既不存在其中代码的未检测差错概率为最小(有限值)的生成多项式,也不存在其中代码的最小汉明距离为最大的生成多项式,并且其中未检测差错概率为最小的生成多项式和其中代码的最小汉明距离为最大的生成多项式根据代码长度而有所不同。
也就是说,对于广泛使用的CCITT标准和ANSI标准,P.Koopman,"Cyclic Redundancy Code(CRC)Polynomial Selection For EmbeddedNetworks,"The International Conference on Dependable System and Networks,DSN-2004;G.Castagnoli,J.Ganz,P.Graber,"Optimum Cyclic Redundancy-Check Codes with 16-Bit Redundancy,"IEEE Trans.Comm.,vol.38,no.1,pp.111-114,Jan.1990;G.Funk,"Determination of Best Shortened Codes,"IEEETrans.Comm.,vol.44,no.1,pp.1-6,Jan.1996;D.Chun,J.K.Wolf,"SpecialHardware for Computing the Probability of Undetected Error for Certain CRCCodes and Test Results,"IEEE Trans.Comm.,vol.42,no.10,pp.2769-2772,Oct.1994;以及G.Castagnoli,S.Brauer,M.Herrmann,"Optimum of CyclicRedundancy-Check Codes with 24 and 32 Parity Bits,"IEEE Trans.Comm.,vol.41,no.6,pp.883-892,Jun.1993等等之中示出的生成多项式,其中代码的未检测差错概率为最小并且代码的最小汉明距离为最大的代码长度范围是有限的。
对于上述文献中的大多数而言,在数据通信等等中代码长度较长(数千比特或更多)的情况下,已经进行了设计以使得代码的未检测差错概率变为最小(有限值)。存在这样一种生成多项式,其在代码长度较短的情况下,例如CRC被用于头部信息的情况下,CRC被用于对诸如光盘之类的记录介质进行的数据记录的情况下,等等,表现出更优秀的性能。
在T.Baicheva,S.Dodunekov,"Undetected error probability performanceof cyclic redundancy-check codes of 16-bit redundancy,"IEE Proc.Comm.,vol.147,no.5,pp.253-256,Oct.2000;P.Kazakov,"Fast Calculation of theNumber of Minimum-Weight Words of CRC Codes,"IEEE Trans.Inform.Theory,vol.47,no.3,pp.1190-1195,Mar.2001等等中,已经提出了一种生成多项式,其中,对于每个代码长度,代码的未检测差错概率是最低的,但是在此情况下,当对于不同的代码长度使用该生成多项式时,在每种情况下必须使用不同的生成多项式。
例如,在1997年8月27日递交的发明人为J.M.Stein、专利权人为Qaulcomm Incorporated、题为“METHOD FOR SELECTING CYCLICREDUNDANCY CHECK POLYNOMIALS FOR LINEAR CODEDSYSTEMS”的美国专利6,085,349中,选择其中代码的最小汉明距离对于每个代码长度具有最大值的生成多项式,但是这包括导致电路规模增大的问题。
在实际系统中,使用了具有多种代码长度和多种奇偶校验位长度的生成多项式,但是迄今为止还没有阐明对于所有代码长度和奇偶校验位长度都是最优的CRC代码,因此仅利用当前可用的CRC代码,不足以在实际的系统中获得最小的未检测差错概率Pud
因此,需要这样一种生成多项式,其中,对于给定的代码长度和奇偶校验位长度,代码的未检测差错概率能够被尽可能地减小,代码的最小汉明距离能够被尽可能地增大,并且该生成多项式能被用于尽可能宽的代码长度范围中。
另外,例如,在用于图1中的发送设备1的CRC编码器和用于接收设备3的CRC检测器被配置为电路的情况下,需要通过其能够简化该电路的CRC编码方法。
已经认识到,需要提供能够通过根据要处理的数据进行切换来使用的更适当的生成多项式。
根据本发明实施例的一种发送设备包括:CRC编码处理单元,配置为包括用于以代码长度不同的多个数据中的每一个为目标的CRC编码处理的多个生成多项式,并且使用所述多个生成多项式中的最优生成多项式来执行CRC编码处理;以及发送单元,配置为发送由CRC编码处理单元执行CRC编码处理而获得的数据。
所述多个生成多项式可以是通过包括以下过程的处理来选择的生成多项式:第一过程,用于对于具有添加了r比特奇偶校验位的k比特信息字的每个代码的代码长度(n),获得作为最小汉明距离(dmin)的最大值的最大最小汉明距离(Max.dmin),第二过程,用于获得代码的最大最小汉明距离(Max.dmin)发生变化的代码长度(n),并且获得该代码长度(n)的范围(nmin(r,Max.dmin)≤n≤nmax(r,Max.dmin)),第三过程,用于通过全局搜索找出一生成多项式(G(x)),该生成多项式满足条件(dmin=Max.dmin),其中,对于所述代码长度(n)的范围(nmin(r,Max.dmin)≤n≤nmax(r,Max.dmin)),最小汉明距离(dmin)等于代码的最大最小汉明距离(Max.dmin),以及第四过程,用于从通过所述全局搜索找出的生成多项式(G(x))中,选择项数(w)和未检测差错概率(Pud)为最小的生成多项式。
根据本发明实施例的发送方法或程序包括以下步骤:通过使用多个生成多项式中的最优生成多项式来执行CRC编码处理;以及发送通过执行CRC编码处理而获得的数据。
根据本发明实施例的一种接收设备包括:获得单元,配置为基于从发送设备发送来的信号来获得数据;以及CRC处理单元,配置为包括用于以代码长度不同的多个数据中的每一个为目标的CRC编码处理的多个生成多项式,并且通过使用所述多个生成多项式中的最优生成多项式执行CRC编码处理来检测数据的差错。
所述多个生成多项式可以是通过包括以下过程的处理来选择的生成多项式:第一过程,用于对于具有添加了r比特奇偶校验位的k比特信息字的每个代码的代码长度(n),获得作为最小汉明距离(dmin)的最大值的最大最小汉明距离(Max.dmin);第二过程,用于获得代码的最大最小汉明距离(Max.dmin)发生变化的代码长度(n),并且获得该代码长度(n)的范围(nmin(r,Max.dmin)≤n≤nmax(r,Max.dmin));第三过程,用于通过全局搜索找出一生成多项式(G(x)),该生成多项式满足条件(dmin=Max.dmin),其中,对于所述代码长度(n)的范围(nmin(r,Max.dmin)≤n≤nmax(r,Max.dmin)),最小汉明距离(dmin)等于代码的最大最小汉明距离(Max.dmin);以及第四过程,用于从通过所述全局搜索找出的生成多项式(G(x))中,选择项数(w)和未检测差错概率(Pud)为最小的生成多项式。
根据本发明实施例的接收方法或程序包括以下步骤:基于从发送设备发送来的信号来获得数据;以及通过使用所述多个生成多项式中的最优生成多项式执行CRC处理来检测数据的差错。
在本发明的实施例中,通过使用多个生成多项式中的最优生成多项式来执行CRC编码处理,并且发送通过执行CRC编码处理而获得的数据。
在本发明的实施例中,基于从发送设备发送来的信号来获得数据,并且通过使用多个生成多项式中的最优生成多项式执行CRC处理来检测数据的差错。
根据本发明,通过根据要处理的数据来进行切换,可以使用更适当的生成多项式。
附图说明
图1是示出发送设备和接收设备的配置示例的图,该发送设备和接收设备充当根据本发明实施例的CRC编码方法和CRC编码设备所应用到的示例;
图2是示出图1中的发送设备中的CRC编码器的配置示例的图;
图3是示出图2所示的CRC编码器中的CRC奇偶校验位生成器的第一配置示例的图;
图4是示出图2所示的CRC编码器中的CRC奇偶校验位生成器的第二配置示例的图;
图5是示出图1中的接收设备中的CRC检测器的配置示例的图;
图6是示出构成图5所示的CRC检测器的CRC奇偶校验位检测器的配置示例的图;
图7是示出n-Pud属性的曲线图,其中示出了在其中在8比特CRC的情况下代码的最小汉明距离最大值Max.dmin发生变化的代码长度n(水平轴)中,代码的未检测差错概率Pud(垂直轴)的变化;
图8是示出根据本发明实施例的CRC代码选择方法的处理内容示例的流程图;
图9是示出图8所示的流程图中的部分详细处理的流程图;
图10是示出在16比特CRC中,一个实施例和比较示例的n-Pud属性的曲线图;
图11是示出在8比特CRC中,一个实施例和比较示例的n-Pud属性的曲线图;
图12是示出发送和接收系统的配置示例的图;
图13是示出流结构的示例的图;
图14是示出CRC奇偶校验位的生成示例的图;
图15是示出将被添加到基带帧的数据示例的图;
图16是示出发送设备的配置示例的框图;
图17是示出以通用连续流作为目标的帧的生成的图;
图18是示出以分组化的流作为目标的帧的生成的图;
图19是示出发送设备的另一配置示例的框图;
图20是示出图16中的CRC编码器的电路配置示例的图;
图21是示出未检测差错概率的仿真结果的图;
图22是示出接收设备的配置示例的框图;
图23是示出接收设备的另一配置示例的框图;
图24是示出图22中的CRC检测器的电路配置示例的图;
图25是描述图16中的发送设备的处理的流程图;
图26是描述图16中的发送设备的另一处理的流程图;
图27是描述图22中的接收设备的处理的流程图;
图28是示出发送设备的另一个配置示例的框图;
图29是示出表示数据长度和生成多项式之间的对应关系的列表示例的图;
图30是示出表示数据类型和生成多项式之间的对应关系的列表示例的图;
图31是示出图28中的CRC编码器的电路配置示例的图;
图32是示出接收设备的另一配置示例的框图;
图33是示出图32中的CRC检测器的电路配置示例的图;
图34是描述图28中的发送设备的处理的流程图;
图35是描述图28中的发送设备的另一处理的流程图;并且
图36是描述图32中的接收设备的处理的流程图。
具体实施方式
CRC代码选择方法
本发明的发明人注意到,以其中代码的最小汉明距离dmin发生变化的代码长度n为界,代码的未检测差错概率Pud的属性突然恶化,如图7所示。图7中的N-Pud属性示出了关于具有每种代码长度的多种类型的生成多项式G(x)的极限。
在图7所示的关于8比特CRC的示例中,在诸如代码长度n=10至12、13至17、18至127、128至255等等的分界线处,代码的未检测差错概率Pud突然变化。另外,其中代码的最小汉明距离dmin发生变化的代码长度n依据生成多项式而有所不同。另外,具有代码长度n的代码的最小汉明距离dmin依据生成多项式而有所不同。
图8是示出根据本发明实施例的CRC代码选择方法的处理内容示例的流程图。下面将参考图8,基于上述认识,描述根据本发明的发明人所作出的本发明的实施例的CRC代码选择方法。
步骤S1:获得Max.dmin
代码的最小汉明距离dmin越大,随机差错检测能力就越高,并且代码的未检测差错概率就越低,这是合乎需要的,因此,首先,对于奇偶校验位数目(阶数)为r的代码的每个代码长度,获得最小汉明距离dmin的最大值(称为最大最小汉明距离(maximum minimum hamming distance)或者最小汉明距离最大值,并且表示为Max.dmin)。
步骤S2:获得其中Max.dmin发生变化的代码长度n。
接下来,获得其中最大最小汉明距离Max.dmin发生变化的代码长度n,并且其中Max.dmin为常数的代码长度n的范围被表示为nmin(r,Max.dmin)≤n≤nmax(r,Max.dmin)。nmin(r,Max.dmin)表示代码长度n的最小范围nmin由r和Max.dmin所规定,类似地,nmax(r,Max.dmin)表示代码长度n的最大范围nmax由r和Max.dmin规定。
图7示出8比特CRC的情况。但是要注意,在代码长度n超过生成多项式G(x)的周期p时,对于图7中的示例而言,在n≥256时,代码的最小汉明距离dmin为2。
当生成多项式G(x)为本原多项式时,生成多项式G(x)的周期p变为最大,并且最大周期用(2r-1)表示。也就是说,在Max.dmin=2的情况下,不论生成多项式G(x)为何,代码长度n的范围都是2r≤n≤∞。也誻说,nmin(r,2)=2r和nmax(r,2)=∞成立。
步骤S3:通过全局搜索,找出在nmin≤n≤nmax的情况下满足dmin=Max.dmin的G(x)。
接下来,需要能够用于处于尽可能宽的范围中的代码长度n的生成多项式,因此通过全局搜索找出在nmin(r,Max.dmin)≤n≤nmax(r,Max.dmin)的情况下满足dmin=Max.dmin的生成多项式G(x)。
步骤S4:在通过全局搜索找出的G(x)中,选择出这样的G(x):其中,项数w和代码的未检测差错概率Pud都是最小的。另外,在通过全局搜索找出的生成多项式G(x)中,选择出这样的生成多项式G(x):其中,项数w和代码的未检测差错概率Pud都是最小的。
将参考图9来描述关于步骤S3和S4中的搜索和选择方法的具体示例。
步骤S41:通过全局搜索,对于(nmax,nmax-r)的代码,找出满足p≥nmax并且还满足dmin=Max.dmin的G(x)。
首先,为了在nmin(r,Max.dmin)≤n≤nmax(r,Max.dmin)的情况下满足dmin=Max.dmin,关于周期p,必须满足p≥nmax(r,Max.dmin),并且关于(nmax,nmax-r),必须满足dmin=Max.dmin,因此通过全局搜索找出满足此条件的生成多项式G(x)。
步骤S42:从通过全局搜索找出的G(x)中,选择出项数w最小的生成多项式G(x)。
接下来,从通过全局搜索找出的G(x)中,选择出项数w最小的生成多项式G(x)。另外,当G(x)的项数为w时,利用G(x)生成的代码字包括汉明距离dH为w的代码字。因此,如果利用G(x)生成的代码的最小汉明距离dmin为最大最小汉明距离Max.dmin,那么w≥Max.dmin成立。如果考虑到这一点,就能够省去步骤S41中对满足w<Max.dmin的G(x)的搜索。
步骤S43:找出其Pud最小的G(x)。
接下来,利用式(4)获得通过使用生成多项式G(x)而编码的CRC代码的、在nmin(r,Max.dmin)≤n≤nmax(r,Max.dmin)的情况下的代码的未检测差错概率Pud,并且找出Pud为最小的生成多项式G(x)。
但是,对于代码长度n变得更大并且Max.dmin=2的情况,如上所述,代码长度n的范围是2r≤n≤∞,即,nmin(r,2)=2r并且nmax(r,2)=∞成立,这阻碍了利用步骤S41中所示的过程来搜索生成多项式G(x)。
另外,对于2r≤n,所有的生成多项式G(x)都满足dmin=Max.dmin=2。因此,通过考虑到这样一个属性,即在dmin=2时,周期p越大,代码的未检测差错概率Pud就越低,从其中周期p具有关于Max.dmin=2的最大周期2r-1(本原多项式)的生成多项式G(x)中,选择出其中多项式中的项数w和代码的未检测差错概率Pud都为最小的生成多项式G(x)。也就是说,这与在Max.dmin=3的情况下获得的生成多项式G(x)相同。其原因是因为nmax(r,3)=2r-1成立。
实施例和比较示例
将描述利用上述方法找出的生成多项式G(x)的示例,以及比较示例。
表1-A至1-C示出了具有奇偶校验比特数目(阶数)r=3,4,6,8,10,12,14和16的每个代码长度的生成多项式G(x)的根据本发明的实施例,以及作为比较示例的一般使用的生成多项式示例。
表1-A
Figure A200810187877D00221
表1-B
Figure A200810187877D00231
表1-C
Figure A200810187877D00232
表1-A至1-C中的第一列表示奇偶校验比特的数目r,第二列和第三列分别是满足代码的最大最小汉明距离Max.dmin的代码长度n的范围以及该最大最小汉明距离Max.dmin
生成多项式G(x)是以十六进制来描述的。例如,十六进制中的“F”等于二进制数的“1111”。另外,十六进制中的“12D”表示为二进制数的“100101101”,这表示生成多项式G(x)=x8+x5+x3+x2+1。
另外,其中高阶系数和低阶系数被颠倒的多项式被称为互易多项式(reciprocal polynomial),该互易多项式表现出相同的属性。
表1-A至1-C的第四至第七列表示代码的最小汉明距离dmin、生成多项式G(x)、项数w、以及代码的未检测差错概率Pud,它们是通过使用根据本发明实施例的生成多项式来生成的。
表1-A至1-C的第八至第十一列表示代码的最小汉明距离dmin、生成多项式G(x)、项数w、以及代码的未检测差错概率Pud,它们是通过使用根据比较示例的生成多项式来生成的。
在表1-A至1-C中,符号“-”表示这样的部分:在上述步骤中搜索和选择的生成多项式已在其他文献中提出,并且这些部分将在表2中示出,以供参考。
表2
Figure A200810187877D00241
作为本发明的实施例示出的生成多项式G(x)是这样的生成多项式:其中,在nmin(r,Max.dmin)≤n≤nmax(r,Max.dmin)的情况下满足dmin=Max.dmin,并且项数w是生成多项式G(x)中最小的,并且代码的未检测差错概率Pud是其中最低的。
另外,图10和11分别示出了对于16比特CRC和8比特CRC而言,代码长度n和代码的未检测差错概率Pud之间的属性(n-Pud属性)。
对于这些示例,生成多项式G(x)、项数w、Max.dmin恒定代码长度范围nmin≤n≤nmax是按顺序从左起表示的,并且如果最后标明“新”,则这是从本发明获得的,而由[]所包围的是已经在其他文献中提出的生成多项式,并且其中的数字表示其文献号。
这样获得的生成多项式G(x)的示例被布置并列出如下。
(1)当阶数r=3并且代码长度n=4时,获得生成多项式G(x)=x3+x2+x+1。
(2)当阶数r=4并且代码长度n为6≤n≤7时,获得生成多项式G(x)=x4+x2+x+1(互易多项式:x4+x3+x2+1)。
(3)当阶数r=6并且代码长度n=7时,获得生成多项式G(x)=x6+x5+x4+x3+x2+x+1。
(4)当阶数r=6并且代码长度n=8时,获得生成多项式G(x)=x6+x4+x2+x+1(互易多项式:x6+x5+x4+x2+1)。
(5)当阶数r=6并且代码长度n=8时,获得生成多项式G(x)=x6+x4+x3+x+1(互易多项式:x6+x5+x3+x2+1)。
(6)当阶数r=6并且代码长度n=8时,获得生成多项式G(x)=x6+x5+x3+x+1。
(7)当阶数r=6并且代码长度n为9≤n≤31时,获得生成多项式G(x)=x6+x2+x+1(互易多项式:x6+x5+x4+1)。
(8)当阶数r=8并且代码长度n=9时,获得生成多项式G(x)=x8+x7+x6+x5+x4+x3+x2+x+1。
(9)当阶数r=8并且代码长度n为10≤n≤12时,获得生成多项式G(x)=x8+x5+x4+x3+x+1(互易多项式:x8+x7+x5+x4+x3+1)。
(10)当阶数r=8并且代码长度n为10≤n≤12时,获得生成多项式G(x)=x8+x6+x3+x2+x+1(互易多项式:x8+x7+x6+x5+x2+1)。
(11)当阶数r=8并且代码长度n为18≤n≤127时,获得生成多项式G(x)=x8+x4+x+1(互易多项式:x8+x7+x4+1)。
(12)当阶数r=8并且代码长度n为n≥128时,获得生成多项式G(x)=x8+x5+x3+x2+x+1(互易多项式:x8+x6+x5+x3+1)。
(13)当阶数r=10并且代码长度n=11时,获得生成多项式G(x)=x10+x9+x8+x7+x6+x5+x4+x3+x2+x+1。
(14)当阶数r=10并且代码长度n=12时,获得生成多项式G(x)=x10+x8+x6+x4+x3+x2+x+1(互易多项式:x10+x9+x8+x7+x6+x4+x2+1)。
(15)当阶数r=10并且代码长度n为23≤n≤31时,获得生成多项式G(x)=x10+x9+x3+x+1(互易多项式:x10+x9+x7+x+1)。
(16)当阶数r=10并且代码长度n为32≤n≤511时,获得生成多项式G(x)=x10+x5+x2+1(互易多项式:x10+x8+x5+1)。
(17)当阶数r=10并且代码长度n为n≥512时,获得生成多项式G(x)=x10+x3+1(互易多项式:x10+x7+1)。
(18)当阶数r=12并且代码长度n=13时,获得生成多项式G(x)=x12+x11+x10+x9+x8+x7+x6+x5+x4+x3+x2+x+1。
(19)当阶数r=12并且代码长度n=14时,获得生成多项式G(x)=x12+x10+x8+x6+x4+x3+x2+x+1(互易多项式:x12+x11+x10+x9+x8+x6+x4+x2+1)。
(20)当阶数r=12并且代码长度n为24≤n≤39时,获得生成多项式G(x)=x12+x11+x7+x3+x+1(互易多项式:x12+x11+x9+x5+x+1)。
(21)当阶数r=12并且代码长度n为40≤n≤65时,获得生成多项式G(x)=x12+x10+x7+x6+x5+x2+1。
(22)当阶数r=12并且代码长度n为66≤n≤2047时,获得生成多项式G(x)=x12+x7+x2+1(互易多项式:x12+x10+x5+1)。
(23)当阶数r=12并且代码长度n为n≥2048时,获得生成多项式G(x)=x12+x7+x6+x4+1(互易多项式:x12+x8+x6+x5+1)。
(24)当阶数r=14并且代码长度n=15时,获得生成多项式G(x)=x14+x13+x12+x11+x10+x9+x8+x7+x6+x5+x4+x3+x2+x+1。
(25)当阶数r=14并且代码长度n=16时,获得生成多项式G(x)=x14+x12+x10+x9+x7+x5+x4+x3+x+1(互易多项式:x14+x13+x11+x10+x9+x7+x5+x4+x2+1)。
(26)当阶数r=14并且代码长度n=17时,获得生成多项式G(x)=x14+x11+x8+x6+x5+x3+x2+x+1(互易多项式:x14+x13+x12+x11+x9+x8+x6+x3+1)。
(27)当阶数r=14并且代码长度n为28≤n≤71时,获得生成多项式G(x)=x14+x10+x9+x6+x2+1(互易多项式:x14+x12+x8+x5+x4+1)。
(28)当阶数r=14并且代码长度n为72≤n≤127时,获得生成多项式G(x)=x14+x11+x5+x3+1(互易多项式:x14+x11+x9+x3+1)。
(29)当阶数r=14并且代码长度n为128≤n≤8191时,获得生成多项式G(x)=x14+x5+x2+1(互易多项式:x14+x12+x9+1)。
(30)当阶数r=14并且代码长度n为n≥8192时,获得生成多项式G(x)=x14+x6+x4+x+1(互易多项式:x14+x13+x10+x8+1)。
(31)当阶数r=16并且代码长度n=17时,获得生成多项式G(x)=x16+x15+x14+x13+x12+x11+x10+x9+x8+x7+x6+x5+x4+x3+x2+x+1。
(32)当阶数r=16并且代码长度n=18时,获得生成多项式G(x)=x16+x14+x12+x10+x8+x6+x5+x4+x3+x2+x+1(互易多项式:x16+x15+x14+x13+x12+x11+x10+x8+x6+x4+x2+1)。
(33)当阶数r=16并且代码长度n为19≤n≤21时,获得生成多项式G(x)=x16+x13+x12+x9+x7+x6+x5+x4+x2+x+1(互易多项式:x16+x14+x12+x11+x10+x9+x7+x4+x3+1)。
(34)当阶数r=16并且代码长度n为19≤n≤21时,获得生成多项式G(x)=x16+x13+x12+x9+x7+x5+x4+x3+x2+1(互易多项式:x16+x14+x13+x12+x11+x9+x7+x4+x3+1)。
(35)当阶数r=16并且代码长度n=22时,获得生成多项式G(x)=x16+x13+x8+x7+x6+x4+x2+x+1(互易多项式:x16+x15+x14+x12+x10+x9+x8+x3+1)。
(36)当阶数r=16并且代码长度n为23≤n≤31时,获得生成多项式G(x)=x16+x13+x11+x5+x3+x2+x+1(互易多项式:x16+x15+x14+x13+x11+x5+x3+1)。
(37)当阶数r=16并且代码长度n为36≤n≤151时,获得生成多项式G(x)=x16+x15+x13+x8+x5+x3+x+1(互易多项式:x16+x15+x13+x11+x8+x3+x+1)。
(38)当阶数r=16并且代码长度n为152≤n≤257时,获得生成多项式G(x)=x16+x15+x8+x+1。
(39)当阶数r=16并且代码长度n为258≤n≤32767时,获得生成多项式G(x)=x16+x13+x2+1(互易多项式:x16+x14+x3+1)。
(40)当阶数r=16并且代码长度n为n≥32768时,获得生成多项式G(x)=x16+x9+x7+x4+1(互易多项式:x16+x12+x9+x7+1)。
如上所述,根据本实施例,可以获得根据多种条件的生成多项式G(x)。
注意,以上列举的生成多项式G(x)可通过被划分成代码长度n为nmin=nmax的情况和代码长度n为nmin≠nmax的情况的两种来布置。CRC编码方法和CRC编码电路
上述的生成多项式G(x)例如可被应用到图2所示的CRC奇偶校验位生成器110和图5所示的CRC奇偶校验器341。
例如,假定图2所示的CRC奇偶校验位生成器110具有例如图3或图4所示的那种电路配置,其中,根据生成多项式G(x)的阶数设置的移位寄存器和异或电路以循环方式被连接。异或电路是根据生成多项式G(x)的系数来设置的,并且最末一级的异或电路的输出,例如图3中的第二异或电路EXOR2的输出,被输入到位于前一级的另一个异或电路。
这样,在如上所述获得生成多项式G(x)的情况下,可以很容易地通过使用移位寄存器和异或电路来配置CRC编码电路。这也适用于CRC奇偶校验器341。
从表1-A至1-C以及图10和11中的示例可以明白,根据已被广泛使用的比较示例最优的生成多项式对于某一代码长度范围表现出接近极限值(界限)的属性,但是对于除该范围之外的部分,代码的最小汉明距离(dmin)和未检测差错概率(Pud)属性与该极限值相比恶化了。
与之相比,对于基于根据本发明的选择方法的实施例,对于所有代码长度n,都可以获得接近极限值的属性。
这样,使用了通过使用根据本发明优选实施例的生成多项式而生成的CRC编码方法,从而与迄今为止已被广泛使用的生成多项式的情况相比,对于所需的奇偶校验比特和代码长度,代码的未检测差错概率可被抑制到低水平,并且代码的最小汉明距离也达到最大值,相应地,随机差错检测能力得以最大化。
另外,对于代码长度范围nmin(r,Max.dmin)≤n≤nmax(r,Max.dmin),生成多项式G(x)满足dmin=Max.dmin并且Pud≈极限值(界限),因此即使是代码长度n发生变化的情况,也可以利用单个生成多项式来应对,只要该代码长度n处于此代码长度范围中即可。
另外,对于代码长度范围nmin(r,Max.dmin)≤n≤nmax(r,Max.dmin),在其中代码的最小汉明距离dmin达到最大值的生成多项式G(x)中,总是使用项数w为最小的生成多项式G(x),从而,在用电路来实现这个时,可以减小电路规模。
另外,如果确定了代码长度n和未检测差错概率Pud,那么就可以了解用来满足这些代码长度n和未检测差错概率Pud的奇偶校验位数目(阶数r),因此使用了利用该奇偶校验位数目r和代码长度n来选择的生成多项式G(x),从而可以实现所需的未检测差错概率。
发送/接收系统
图12是示出通过使用利用这种方法选择的生成多项式G(x)来执行数据的发送/接收的发送和接收系统的配置示例的图。
如图12所示,该发送/接收系统由发送设备501、传送线路502和接收设备503配置而成。数据的发送(广播)是从发送设备501根据某种规范来执行的,所述规范例如是作为陆地数字广播规范的DVB-T2(数字视频广播-陆地2)、DVB-S2(数字视频广播-卫星2),等等。
发送设备501是设置在广播台等等中的设备,并且通过传送线路502发送流,该流是通过使从外部输入的头部数据和用户数据经历CRC编码处理等等来获得的。
接收设备503是诸如电视接收机、STB(机顶盒)等等之类的设备,并且使得通过对从未示出的天线提供来的接收信号进行解调而获得的数据经历CRC处理等等,以获得所发送的用户数据。接收设备503所获得的用户数据被输出到后一级上的设备。
图13是示出将要从发送设备501发送的流的结构示例的图。水平轴表示时间轴。对于图13中的示例,在上部示出了通用连续流,该流是未添加同步信号的流,在其下部示出了分组化流,该流是由预定量数据的分组构成的流。
在这里,构成分组化流的单个分组将被称为UP(用户分组)。单个UP是处于从某个CRC奇偶校验位的开头到时间轴上的下一CRC奇偶校验位的范围中的数据。从外部输入到发送设备501的用户数据被存储在每个UP的CRC奇偶校验位之后的部分中。在从图13的顶部起的第二行上示出的流是TS(传输流)的情况下,充当TS分组的UP的长度(UPL(用户分组长度))为188×8比特。
如图13中所示,每个UP的开头8个比特被替换为CRC奇偶校验位。将被替换为CRC奇偶校验位的位置本来是存储UP的同步信号的位置。如下文中后详细描述的,该8比特CRC奇偶校验位是通过使用例如如上所述选择的生成多项式G(x)=x8+x4+x+1(以上列举的(11)的生成多项式)来获得的。
如果假定如UPL箭头段中所示,包括CRC奇偶校验位的UP被作为一个单位的数据,那么从存储在某个UP中的数据获得的CRC奇偶校验位被替换为处理顺序上的下一单位的UP的开头8比特SYNC。
由这样的UP构成的分组化流以及如图13的顶部所示的通用连续流被分段成具有预定长度的数据字段(DATA FIELD),例如图13中从时间点t1至t2的片段中所示,并且基带头部(BBHEADER)被添加到每个数据字段。从外部输入到发送设备501的头部数据表示该基带头部中包括的数据。
对于图13中的示例而言,基带头部是由80比特数据构成的,并且包括2字节MATYPE、2字节UPL、2字节DFL、1字节SYNC、2字节SYNCD和1字节CRC奇偶校验位。
MATYPE是表示流的类型等等的信息,并且该MATYPE表示被分段成数据字段的原始流是分组化流还是通用连续流。UPL表示在原始流是分组化流的情况下作为上述UP长度的UPL。DFL表示数据字段的长度,SYNC表示将被替换为CRC奇偶校验位的、UP内开头的8比特同步信号的内容。SYNCD表示从数据字段开头到CRC奇偶校验位开头的比特的数目。
基带头部内的CRC奇偶校验位也是通过使用例如如上所述选择的生成多项式G(x)=x6+x4+x+1来生成的。将上述的2字节MATYPE、2字节UPL、2字节DFL、1字节SYNC和2字节SYNCD的总共72比特用作信息比特系列,并且获得CRC奇偶校验位。下面,构成分组化流的UP的开头的8比特CRC奇偶校验位将被称为第一CRC奇偶校验位,并且基带头部中包括的CRC奇偶校验位在适当时将被称为第二CRC奇偶校验位。
基带帧(BBFRAME)如图15所示是由具有如图13所示的结构的基带头部和数据字段构成的。基带帧还包括预定长度的填充(padding)。在发送设备501中,BCH FEC(Bose Chaudhuri Hocquenghem前向差错校正)和LDPC FEC(低密度奇偶校验前向差错校正)被附加到每个基带帧,并且被发送到接收设备503。
图16是示出发送设备501的配置示例的框图。如图16所示,发送设备501由选择器511、CRC编码器512、差错校正编码器513、OFDM调制器514和信号处理器515配置而成。
选择器511根据信号处理器515的指令选择从信号处理器515提供来的头部数据和用户数据之一,并且将所选择的数据输出到CRC编码器512。由多个UP构成的分组化流、或者通用连续流被从信号处理器515提供来作为用户数据。另外,基带头部中包括的数据被从信号处理器515提供来作为头部数据。
当分组化流被提供作为用户数据时,CRC编码器512将每个提供的UP中包括的SYNC及其后的数据当作信息比特系列,并且使用生成多项式G(x)=x8+x4+x+1来生成第一CRC奇偶校验位,并且利用所生成的第一CRC奇偶校验位来替换位于在处理顺序上的下一UP中的开头8比特中的SYNC。
另外,在CRC编码器512中,它的帧生成器512A以数据字段为单位对由UP(其SYNC被替换为了第一CRC奇偶校验位)构成的分组化流进行分段,从而生成帧。从信号处理器515提供表示数据字段的长度的DFL信息。帧生成器512A基于头部数据将存储着由CRC编码器512生成的第二CRC奇偶校验位的基带头部附加到每个数据字段,并且以由这样的基带头部和数据字段构成的基带帧为单位将数据输出到差错校正编码器513。
另一方面,当通用连续流被提供作为用户数据时,在CRC编码器512中,它的帧生成器512A以数据字段为单位对通用连续流进行分段,从而生成帧。此时同样从信号处理器515提供DFL信息。以与提供分组化流相同的方式,帧生成器512A基于头部数据将存储着由CRC编码器512生成的第二CRC奇偶校验位的基带头部附加到每个数据字段,并且以由这样的基带头部和数据字段构成的基带帧为单位将数据输出到差错校正编码器513。
当提供基带头部中包括的头部数据时,CRC编码器512将所提供的头部数据当作信息比特系列,并且使用生成多项式G(x)=x8+x4+x+1来生成第二CRC奇偶校验位,并且将所生成的第二CRC奇偶校验位存储在基带头部的最后8比特的位置中。其中存储有第二CRC奇偶校验位的基带头部被附加到通过对分组化流或通用连续流进行分段而获得的数据字段。
差错校正编码器513使从CRC编码器512提供来的数据经历使用BCH码和LDPC码的差错校正编码处理,并且如图15所示,将通过经历差错校正编码处理而获得的、由基带帧、BCH FEC和LDPC FEC构成的数据输出到OFDM调制器514。
OFDM调制器514执行OFDM(正交频分复用)调制,并且将通过调制获得的发送信号发送到接收设备503。取代诸如OFDM调制之类的使用多载波的调制方法,可利用使用单载波的调制方法来执行调制。
信号处理器515把由发送设备501的用户等等从外部输入的用户数据和头部数据输出到选择器511,并且输出到CRC编码器512,并且在CRC编码器512处执行的帧的生成等等是从选择器511控制的。如图16所示,信号处理器515由数据输入设备515A、头部生成器515B和控制器515C配置而成。
数据输入设备515获得输入的用户数据和头部数据,并且分别将用户数据输出到选择器511,将头部数据输出到头部生成器515B。
头部生成器515B基于从数据输入设备515A提供来的头部数据生成图13所示的每条数据MATYPE、UPL、DFL、SYNC和SYNCD,并且将所生成的数据作为头部数据输出到选择器511。
控制器515C向CRC编码器512输出数据类型1,该数据类型1是表示从选择器511作为用户数据提供到CRC编码器512的流是分组化流还是通用连续流的信息。在基于数据类型1判定输入了分组化流的情况下,CRC编码器512生成第一CRC奇偶校验位和第二CRC奇偶校验位,在判定输入了通用连续流的情况下,生成第二CRC奇偶校验位。
另外,控制器515C向CRC编码器512输出DFL信息。在CRC编码器512的帧生成器512A中,帧的生成是这样执行的:用户数据以数据字段为单位被分段,其中数据字段的长度是利用来自控制器515C的DFL来指定的。例如,DFL是利用诸如MAC层之类的更上层来确定的。用于确定DFL的方法根据更上层的实现方式和规范而有所不同。
控制器515C还向选择器511输出数据类型2,该数据类型2是指示向CRC编码器512输出头部数据还是用户数据的信息。控制器515C的内部包括计数器等等,并且基于从头部生成器515B提供来的DFL来判定输出头部数据还是用户数据,等等。
图17和图18是示出在具有这种配置的发送设备501处执行的从用户数据生成帧的图。图17示出了以通用连续流为目标的帧的生成,图18示出了以分组化流为目标的帧的生成。
如图17顶部所示,在以通用连续流的形式提供图像流等等的情况下,在CRC编码器512的帧生成器512A中,如图17中的箭头A1的尖端所示,通用连续流被以1000字节的数据字段(DF)为单位进行分段。1000字节的长度是利用来自控制器515C的DFL来指定的。在图17中,示出了数据字段#1至#4这四个数据字段。
在以数据字段为单位进行分段之后,如图17中的箭头A2的尖端所示,由头部生成器515B生成的基带头部被帧生成器512A附加到每个数据字段,从而生成基带帧。由CRC编码器512生成的第二CRC奇偶校验位也被存储在要附加到每个数据字段的基带头部中。在图17中,基带头部被附加到数据字段#1,从而生成基带帧#1,并且基带头部被附加到数据字段#2,从而生成基带帧#2。附加到基带帧#1和#2的阴影部分表示预定长度的填充。
另一方面,如图18的顶部所示,在以包括UP#1至#3的分组化流的形式提供图像流等等的情况下,在CRC编码器512中,如图18中的箭头A11的尖端所示,SYNC被替换为CRC奇偶校验位(第一CRC奇偶校验位)。UP#1的CRC奇偶校验位是由CRC编码器512通过使用前一个UP数据来获得的,而UP#2的CRC奇偶校验位是通过使用UP#1的数据来获得的。另外,UP#3的CRC奇偶校验位是通过使用UP#2的数据来获得的。
在用CRC奇偶校验位来替换SYNC之后,在CRC编码器512的帧生成器512A中,如图18中的箭头A12的尖端所示,例如,以1000字节数据字段为单位对分组化流进行分段。在图18中,示出了数据字段#1和#2这两个数据字段。
在以数据字段为单位进行分段之后,如图18的箭头A13的尖端所示,由头部生成器515B生成的基带帧被帧生成器512A附加到每个数据字段,从而生成基带帧。由CRC编码器512生成的第二CRC奇偶校验位也被存储在要附加到每个数据字段的基带头部中。在图18中,同样,基带帧被附加到数据字段#1,从而生成基带帧#1,并且基带头部被附加到数据字段#2,从而生成基带帧#2。这样基于通用连续流或分组化流生成的基带帧的数据被从CRC编码器512输出到差错校正编码器513。
图19是示出发送设备501的另一配置示例的框图。与图16中的那些相同的配置将被附加以相同的标号。冗余的描述将被省略。在图19中的示例中,CRC编码器521和522是设置来作为用于执行CRC编码处理的配置的。从信号处理器515输出的头部数据被输入到CRC编码器521,并且从信号处理器515输出的用户数据被输入到CRC编码器522。
CRC编码器521通过以头部数据作为信息比特系列,使用生成多项式G(x)=x8+x4+x+1来生成第二CRC奇偶校验位。CRC编码器521将所生成的第二CRC奇偶校验位附加到MATYPE、UPL、DFL、SYNC和SYNCD的每条数据的信息比特系列之后,以构成基带头部,并且将该基带头部输出到选择器523。
在从信号处理器515的数据输入设备515A提供由多个UP构成的分组化流来作为用户数据的情况下,CRC编码器522使用生成多项式G(x)=x8+x4+x+1来生成第一CRC奇偶校验位。CRC编码器522利用所生成的第一CRC奇偶校验位来替换位于在处理顺序上的下一UP的开头8比特中的SYNC。另外,在CRC编码器522中,它的帧生成器522A以数据字段为单位对由UP(其SYNC被替换为了第一CRC奇偶校验位)构成的分组化流进行分段,从而生成帧。从控制器515C提供表示数据字段的长度的DFL信息。帧生成器522A将通过生成帧而获得的数据字段的数据输出到选择器523。
另一方面,当通用连续流被提供作为用户数据时,在CRC编码器522中,它的帧生成器522A以数据字段为单位对通用连续流进行分段,从而生成帧。帧生成器522A将通过生成帧而获得的数据字段的数据输出到选择器523。
在从CRC编码器521提供来的基带头部的数据之后,选择器523将从CRC编码器522提供来的数据字段的数据输出到差错校正编码器513。基带帧的数据被从差错校正编码器513提供到选择器523。关于是输出从CRC编码器521提供的基带头部的数据还是从CRC编码器522提供来的数据字段的数据是由信号处理器515的控制器515C基于数据类型2指示的。
信号处理器515的控制器515C向CRC编码器522输出数据类型1和DFL,该数据类型1表示提供到CRC编码器522的流是分组化流还是通用连续流。
控制器515C向选择器523输出数据类型2,以指示是向差错校正编码器513输出从CRC编码器521提供来的基带头部的数据还是从CRC编码器522提供来的数据字段的数据。
这样,可以分别设置用于第一CRC奇偶校验位的CRC编码器和用于第二CRC奇偶校验位的CRC编码器。另外,在用于第一CRC奇偶校验位的CRC编码器处使用的生成多项式和在用于第二CRC奇偶校验位的CRC编码器处使用的生成多项式可以是不同的。在每个CRC编码器处使用的生成多项式是利用上述方法根据奇偶校验比特的数目和代码长度来选择的。
图20是示出图16中的CRC编码器512的用于生成CRC奇偶校验位的部分(与图2中的CRC奇偶校验位生成器110相当的部分)的电路配置示例的图。图20示出了其中G(x)=x8+x4+x+1被用作生成多项式的示例。在图19中的CRC编码器521和522处使用的生成多项式为G(x)=x8+x4+x+1的情况下,在CRC编码器521和522中分别设置有与图20中所示相同的配置。
由如图20所示的电路生成的CRC奇偶校验位被附加为UP或基带头部的一部分,并且包括UP和基带头部的基带帧的数据被输出到差错校正编码器513。如参考图3等所述,CRC奇偶校验位生成器可被配置为这样一个电路:移位寄存器和异或电路被以循环方式连接,并且最末级的异或电路的输出被施加到其前一级的异或电路。
在图20中,在移位寄存器532的方框中指示的“D4”表示移位寄存器532是由串联连接的四个移位寄存器配置而成的,在移位寄存器534的方框中指示的“D3”表示移位寄存器534是由串联连接的三个移位寄存器配置而成的。其方框指示出“D”的移位寄存器536是用于延迟一个时长的寄存器。这些可以应用到下文描述的例如图24等等的电路图。
在EXOR电路531中,基于从选择器511提供来的串行数据(1,0)(其是头部数据或用户数据)以及在移位寄存器532处延迟了四个时长的值,来执行异或运算。EXOR电路531的逻辑运算结果作为串行数据被输出,并且还被提供给EXOR电路533和535,以及移位寄存器536。
在EXOR电路535中,基于在移位寄存器536处延迟了一个时长的值以及从EXOR电路531提供来的值来执行异或运算。EXOR电路535的逻辑运算结果被提供到移位寄存器534。
在EXOR电路533中,基于在移位寄存器534处延迟了三个时长的值以及从EXOR电路531提供来的值,执行异或运算。EXOR电路533的逻辑运算结果被提供到移位寄存器532。
图21是示出在使用G(x)=x8+x4+x+1作为生成多项式的情况下以及在使用G(x)=x8+x7+x6+x4+x2+1作为生成多项式的情况下的未检测差错概率仿真结果的图。图21示出了以基带头部中的从MATYPE到SYNCD的72比特数据作为信息比特系列而获得的CRC代码的未检测差错概率。所使用的比特率是1×10-3、1×10-4和1×10-5
如图21中所示,在任一种比特差错率的情况下,当使用代码长度相对较短(例如80比特)的数据作为目标时,未检测差错概率在使用G(x)=x8+x4+x+1作为生成多项式的情况下较低。CRC编码器512由用于实现使用该生成多项式G(x)=x8+x4+x+1的运算的电路配置而成。
图22是示出接收设备503的配置示例的框图。如图22中所示,接收设备503由OFDM解调器541、差错校正解码器542、CRC检测器543和解码系列处理器544配置而成。从天线等等提供的接收信号被输入到OFDM解调器541。
OFDM解调器541使接收信号经历OFDM解调,并且将解调获得的数据输出到差错校正解码器542。在利用使用单个载波的调制方法来执行调制的情况下,在OFDM解调器541处执行根据该调制方法的解调处理。
差错校正解码器542使得从OFDM解调器541提供来的数据经历使用BCH码和LDPC码的差错校正,并且输出通过经历差错校正而获得的数据。从差错校正解码器542输出的数据被输出到CRC检测器543和解码系列处理器544。
CRC检测器543基于从差错校正解码器542提供来的数据中包括的第二CRC奇偶校验位,来检测在差错校正解码器542处经历了差错校正的基带头部的数据是否包括差错。CRC检测器543将检测结果输出到解码系列处理器544。对于以CRC检测器543处执行的差错检测而言,使用了与在发送设备501处使用的生成多项式相同的生成多项式G(x)=x8+x4+x+1。
另外,CRC检测器543基于从差错校正解码器542提供的数据中包括的第一CRC奇偶校验位,来检测在差错校正解码器542处经历了差错检测的UP的数据是否包括差错。
解码系列处理器544基于CRC检测器543的检测结果使得从差错校正解码器542提供的数据经历预定的处理,并且获得所再现的用户数据。解码系列处理器544将表示CRC检测器543的检测结果的匹配信号与所再现的用户数据一起输出到后一级设备。
图23是示出接收设备503的另一配置示例的框图。与图22中所示的那些相同的配置被附加以相同的标号。冗余的描述将被省略。在图23中的示例中,CRC检测器551和552是设置来作为用于执行CRC处理的配置的。通过在差错校正解码器542处经历差错校正处理而获得的数据被分别提供到CRC检测器551和552以及解码系列处理器553。
CRC检测器551基于从差错校正解码器542提供来的数据中包括的第二CRC奇偶校验位来检测在差错校正解码器542处经历了差错校正的基带头部的数据是否包括差错,并且将检测结果输出到解码系列处理器553。对于在CRC检测器552处执行的差错检测而言,例如,也使用生成多项式G(x)=x8+x4+x+1。
另外,CRC检测器552基于从差错校正解码器542提供来的数据中包括的第一CRC奇偶校验位来检测在差错校正解码器542处经历了差错校正的UP的数据是否包括差错,并且将检测结果输出到解码系列处理器553。对于在CRC检测器551处执行的差错检测而言,例如,也使用生成多项式G(x)=x8+x4+x+1。
解码系列处理器553基于CRC检测器551和552的检测结果使得从差错校正解码器542提供来的数据经历预定的处理,并且获得所再现的用户数据。解码系列处理器553将表示CRC检测器551和552的检测结果的匹配信号和所再现的用户数据一起输出到后一级设备。
这样,可以分别设置用于头部的CRC检测器和用于UP的CRC检测器。另外,在用于头部的CRC检测器处使用的生成多项式和在用于UP的CRC检测器处使用的生成多项式可以是不同的。在每个CRC检测器处使用的生成多项式是利用上述方法根据奇偶校验比特的数目和代码长度来选择的。
图24是示出图22中的CRC检测器543的用于执行奇偶校验的部分(与图5中的奇偶校验器341相当的部分)的电路配置示例的图。图34示出了其中G(x)=x8+x4+x+1被用作生成多项式的示例。在图23中的CRC检测器551和552处使用的生成多项式为G(x)=x8+x4+x+1的情况下,在CRC检测器551和552中分别设置有与图24中所示相同的配置。
在EXOR电路561中,基于从差错校正解码器542提供来的串行数据以及在移位寄存器566处延迟了四个时长的值,来执行异或运算。EXOR电路561的逻辑运算结果被提供给移位寄存器562。
在EXOR电路563中,基于在移位寄存器562处延迟了一个时长的值以及在移位寄存器566处延迟了四个时长的值来执行异或运算。EXOR电路563的逻辑运算结果被提供到移位寄存器564。
在EXOR电路565中,基于在移位寄存器564处延迟了三个时长的值以及在移位寄存器566处延迟了四个时长的值来执行异或运算。EXOR电路565的逻辑运算结果被提供到移位寄存器566。
现在,将描述具有这样的配置的发送设备501和接收设备503的处理。在下文中描述的流程图中示出的每个步骤中的处理是按数字顺序执行的,但在一些情况下也是与另一步骤中的处理并行执行的。
首先,将参考图25中的流程图来描述图16中的发送设备501用于发送通用连续流形式的用户数据的处理。该处理例如开始于接收到用户数据和头部数据时。
在步骤S101中,信号处理器515的数据输入设备515A将从外部输入的用户数据输出到选择器511,并将头部数据输出到头部生成器515B。
在步骤S102中,头部生成器515B基于从数据输入设备515A提供来的头部数据生成将被存储在基带头部中的每条数据,并且将所生成的数据输出到选择器511作为头部数据。
在步骤S103中,控制器515C向选择器511输出用于指示向CRC编码器512输出头部数据的数据类型2。头部数据在选择器511处响应于向其提供的数据类型2而被选择,并被输出到CRC编码器512。
在步骤S104中,CRC编码器512把从选择器511提供来的头部数据当作为信息比特系列,使用生成多项式G(x)=x8+x4+x+1来生成第二CRC奇偶校验位,并将所生成的第二CRC奇偶校验位存储在基带头部中。
在步骤S105中,控制器515C向选择器511输出用于指示向CRC编码器512输出用户数据的数据类型2。用户数据在选择器511处响应于向其提供的数据类型2而被选择,并被输出到CRC编码器512。
在步骤S106中,控制器515C向CRC编码器512输出表示从选择器511作为用户数据提供来的流是通用连续流的数据类型1,以及DFL信息。
在步骤S107中,CRC编码器512的帧生成器512A以数据字段(其长度是利用DFL指定的)为单位,对作为通用连续流的用户数据进行分段,从而生成帧。
在步骤S108中,帧生成器512A将基带头部附加到每个数据字段,从而生成基带帧,并且将以基带帧为单位的数据输出到差错校正编码器513。
在步骤S109中,差错校正编码器513使得从CRC编码器512提供来的数据经历差错校正编码处理,并且将通过经历差错校正编码处理而获得的数据输出到OFDM调制器514。
在步骤S110中,OFDM调制器514执行诸如OFDM调制之类的处理来作为传送线路编码处理。
在步骤S111中,OFDM调制器514发送通过执行诸如OFDM处理之类的处理而获得的发送信号,并且结束当前处理。
将参考图26中的流程图来描述图16中的发送设备501用于发送分组化流形式的用户数据的处理。
用于发送分组化流形式的用户数据的处理与参考图25中的流程图描述的处理基本相同,只不过包括了用于利用第一CRC奇偶校验位来替换UP的SYNC的处理。
具体来说,在步骤S121中,信号处理器515的数据输入设备515A将用户数据输出到选择器511,并将头部数据输出到头部生成器515B。
在步骤S122中,头部生成器515B生成将被存储在基带头部中的每条数据,并且将所生成的数据输出到选择器511作为头部数据。
在步骤S123中,控制器515C向选择器511输出用于指示向CRC编码器512输出头部数据的数据类型2。头部数据在选择器511处响应于向其提供的数据类型2而被选择,并被输出到CRC编码器512。
在步骤S124中,CRC编码器512生成第二CRC奇偶校验位,并将所生成的第二CRC奇偶校验位存储在基带头部中。
在步骤S125中,控制器515C向选择器511输出用于指示向CRC编码器512输出头部数据的数据类型2。头部数据在选择器511处响应于向其提供的数据类型2而被选择,并被输出到CRC编码器512。
在步骤S126中,控制器515C向CRC编码器512输出表示作为用户数据提供来的流是通用连续流的数据类型1,以及DFL信息。
在步骤S127中,CRC编码器512将作为用户数据提供来的每个UP中包括的SYNC及其后的数据当作信息比特系列,并且使用生成多项式G(x)=x8+x4+x+1来生成第一CRC奇偶校验位,并利用所生成的第一CRC奇偶校验位来替换位于在处理顺序上的下一UP的开头8个比特中的SYNC。
在步骤S128中,CRC编码器512的帧生成器512A以数据字段(其长度是利用DFL指定的)为单位,对由其SYNC被替换为第一CRC奇偶校验位的UP构成的分组化流进行分段,从而生成帧。
在步骤S129中,帧生成器512A将基带头部附加到每个数据字段,从而生成基带帧,并且将以基带帧为单位的数据输出到差错校正编码器513。
在步骤S130中,差错校正编码器513使得从CRC编码器512提供来的数据经历差错校正编码处理,并且将通过经历差错校正编码处理而获得的数据输出到OFDM调制器514。
在步骤S131中,OFDM调制器514执行诸如OFDM调制之类的处理来作为传送线路编码处理。
在步骤S132中,OFDM调制器514发送通过执行诸如OFDM处理之类的处理而获得的发送信号,并且结束当前处理。
接下来,将参考图27中的流程图来描述图22中的接收设备503用于接收数据的处理。
在步骤S141中,OFDM解调器541使得接收信号经历OFDM解调处理,并且将所获得的数据输出到差错校正解码器542。
在步骤S142中,差错校正解码器542使得从OFDM解调器541提供来的数据经历差错校正处理,并且将通过经历差错校正处理而获得的数据作为解码后的数据输出。
在步骤S143中,CRC检测器543以从差错校正解码器542提供来的解码后数据作为目标来执行CRC处理,并且检测数据的差错。CRC检测器543将表示检测结果的信号输出到解码系列处理器544,并且结束当前处理。在解码系列处理器544中,基于从差错校正解码器542提供来的解码后数据来再现用户数据,并且执行预定的处理。
根据上述处理,通过使用利用图8中的处理选择的生成多项式可以实现高精度CRC。
虽然迄今为止已经作出了在发送设备501的CRC编码器512和接收设备503的CRC检测器543处使用G(x)=x8+x4+x+1作为生成多项式的布置,但是也可以作出这样的布置:在发送设备501和接收设备503中预先设定多个生成多项式,并且根据要处理数据的类型或长度(代码长度)等等来适当地切换所使用的生成多项式。
图28是示出发送设备501的另一个配置示例的框图。与图16中所示的那些相同的配置被附加以相同的标号。冗余的描述将被省略。
控制器575C包括表示数据的类型和长度与生成多项式之间的对应关系的列表。控制器575C通过监视从选择器511输出的数据来确定在CRC编码器512处要处理的数据的类型和长度,并且基于列表中的描述来选择与所确定的类型和长度相对应的生成多项式。控制器575C向CRC编码器512输出选择信号,该选择信号是表示所选择的生成多项式的信号。
CRC编码器512根据从控制器575C提供来的选择信号来切换所使用的生成多项式,并且生成第一和第二CRC奇偶校验位。
图29和30是示出被控制器575C管理的列表的示例的图。图29是示出表示代码长度和生成多项式之间的对应关系的列表的示例的图。根据该示例,在要处理的数据的代码长度为n1的情况下,使用生成多项式G1(x),在n2的情况下,使用生成多项式G2(x),在n3的情况下,使用生成多项式G3(x)。
图30是示出表示数据类型和生成多项式之间的对应关系的列表的示例的图。根据该示例,在要处理的数据是基带头部的数据(头部数据)的情况下,使用生成多项式G1(x),在要处理的数据是UP的数据(用户数据)的情况下,使用生成多项式G2(x)。
这种对应关系是在设计阶段通过上述方法预先获得的。这样,根据要处理的数据适当地切换所使用的生成多项式,从而可以通过使用适合于要处理的数据的生成多项式来生成CRC奇偶校验位。注意,所使用的生成多项式的切换是在要处理的头部数据和用户数据被输入到发送设备501中时动态执行的。
图31是示出图28中的CRC编码器512的用于生成CRC奇偶校验位的部分的电路配置示例的图。图31示出了使用生成多项式G1(x)=x16+x15+x8+x+1和G2(x)=x16+x13+x2+1的情况。在此情况下,根据来自控制器575C的选择信号1,0来执行使用生成多项式G1(x)=x16+x15+x8+x+1的计算或者使用生成多项式G2(x)=x16+x13+x2+1的计算。在利用选择信号表示的值为0的情况下使用的生成多项式G1(x)是以上列举的生成多项式中的(38)的生成多项式,在利用选择信号表示的值为1的情况下使用的生成多项式G2(x)是以上列举的生成多项式中的(39)的生成多项式。
在EXOR电路581中,基于从选择器511提供来的串行数据以及在移位寄存器582处延迟了一个时长的值来执行异或运算。EXOR电路581的逻辑运算结果被作为串行数据输出,并且还被提供到AND电路593至597以及移位寄存器592。
在EXOR电路591中,基于在移位寄存器592处延迟了一个时长的值以及从AND电路597提供来的值来执行异或运算。EXOR电路591的逻辑运算结果被提供到移位寄存器590。
在EXOR电路589中,基于在移位寄存器590处延迟了一个时长的值以及从AND电路596提供来的值来执行异或运算。EXOR电路589的逻辑运算结果被提供到移位寄存器588。
在EXOR电路587中,基于在移位寄存器588处延迟了六个时长的值以及从AND电路595提供来的值来执行异或运算。EXOR电路587的逻辑运算结果被提供到移位寄存器586。
在EXOR电路585中,基于在移位寄存器586处延迟了五个时长的值以及从AND电路594提供来的值来执行异或运算。EXOR电路585的逻辑运算结果被提供到移位寄存器584。
在EXOR电路583中,基于在移位寄存器584处延迟了两个时长的值以及从AND电路593提供来的值来执行异或运算。EXOR电路583的逻辑运算结果被提供到移位寄存器582。
在从EXOR电路581输出的值以及从控制器575C中作为选择信号输出并在NOT电路598处被反相的值都是1的情况下,从AND电路593、595和597输出值1,在其他情况下输出值0。
在从EXOR电路581输出的值以及从控制器575C中作为选择信号输出的值都是1的情况下,从AND电路594和596输出值1,在其他情况下输出值0。
图32是示出接收设备503的另一个配置示例的框图。如上所述,在在发送设备501处切换所使用的生成多项式的情况下,在接收设备503处也适当地切换所使用的生成多项式。
图32中所示的接收设备503的配置与图22中所示的接收设备503的配置的不同之处在于还设置了CRC控制器601。从差错校正解码器542输出的数据被提供到CRC检测器543、解码系列处理器544和CRC控制器601。
以与发送设备501的控制器575C相同的方式,CRC控制器601包括表示数据类型、数据长度和生成多项式之间的对应关系的列表,如图29和30所示。CRC控制器601基于从差错校正解码器542提供来的数据来确定在CRC检测器543处要处理的数据的类型和长度,并且基于列表的描述来选择与所确定的类型和长度相对应的生成多项式。CRC控制器601向CRC检测器543输出表示所选择的生成多项式的选择信号。
CRC检测器543根据从CRC控制器601提供来的选择信号来切换所使用的生成多项式,并且检测在差错校正解码器542处经历了差错校正的数据是否包括差错。
这样,根据要处理的数据适当地切换所使用的生成多项式,从而可以通过使用适合于要处理的数据的生成多项式来执行差错检测。注意,所使用的生成多项式的切换是在接收信号时动态执行的。
图33是示出图32中的CRC检测器543的用于执行CRC奇偶校验的部分的电路配置示例的图。图33也示出了使用生成多项式G1(x)=x16+x15+x8+x+1和G2(x)=x16+x13+x2+1的情况。在此情况下,根据来自CRC控制器601的选择信号1,0分别执行使用生成多项式G1(x)=x16+x15+x8+x+1的计算和使用生成多项式G2(x)=x16+x13+x2+1的计算。
在EXOR电路611中,基于从差错校正解码器542提供来的串行数据以及在移位寄存器622处延迟了一个时长的值来执行异或运算。EXOR电路611的逻辑运算结果被提供到移位寄存器612。
在EXOR电路613中,基于在移位寄存器612处延迟了一个时长的值以及从AND电路627提供来的值来执行异或运算。EXOR电路613的逻辑运算结果被提供到移位寄存器614。
在EXOR电路615中,基于在移位寄存器614处延迟了一个时长的值以及从AND电路626提供来的值来执行异或运算。EXOR电路615的逻辑运算结果被提供到移位寄存器616。
在EXOR电路617中,基于在移位寄存器616处延迟了六个时长的值以及从AND电路625提供来的值来执行异或运算。EXOR电路617的逻辑运算结果被提供到移位寄存器618。
在EXOR电路619中,基于在移位寄存器618处延迟了五个时长的值以及从AND电路624提供来的值来执行异或运算。EXOR电路619的逻辑运算结果被提供到移位寄存器620。
在EXOR电路621中,基于在移位寄存器620处延迟了两个时长的值以及从AND电路623提供来的值来执行异或运算。EXOR电路621的逻辑运算结果被提供到移位寄存器622。
在在移位寄存器622处延迟了一个时长的值以及从CRC控制器601中作为选择信号输出并在NOT电路628处被反相的值都是1的情况下,从AND电路623、625和627输出值1,在其他情况下输出值0。
在在移位寄存器622处延迟了一个时长的值以及从CRC控制器601中作为选择信号输出的值都是1的情况下,从AND电路624和626输出值1,在其他情况下输出值0。
虽然迄今为止已经作出了通过切换而使用的生成多项式是G1(x)=x16+x15+x8+x+1或者G2(x)=x16+x13+x2+1的布置,但是也可以使用另一生成多项式,或者可以作出这样的布置:从三个或更多个生成多项式中选择一个生成多项式,并且使用所选择的生成多项式。另外,取代根据基带头部和用户数据来切换所使用的生成多项式,可以根据其他类型的数据,例如头部和子头部,来切换所使用的生成多项式。
现在,将描述具有图28所示的配置的发送设备501和具有图32所示的配置的接收设备503的处理。
首先,将参考图34中的流程图来描述图28中的发送设备501用于发送通用连续流形式的用户数据的处理。
该处理是与图25中的处理相同的处理,只不过包括了从控制器575C向CRC编码器512输出用于指示要用于CRC编码处理的生成多项式的选择信号的处理。
具体来说,在步骤S151中,信号处理器515的数据输入设备515A将用户数据输出到选择器511,并将头部数据输出到头部生成器515B。
在步骤S152中,头部生成器515B生成将被存储在基带头部中的每条数据,并且将所生成的数据输出到选择器511作为头部数据。
在步骤S153中,控制器575C向选择器511输出用于指示向CRC编码器512输出头部数据的数据类型2。头部数据在选择器511处响应于向其提供的数据类型2而被选择,并被输出到CRC编码器512。
在步骤S154中,控制器575C向CRC编码器512输出一选择信号,该选择信号用于指示通过使用生成多项式G1(x)来执行CRC编码处理,该生成多项式G1(x)是用于基带头部的数据(头部数据)的生成多项式。
在步骤S155中,CRC编码器512根据从控制器575C提供来的选择信号使用作为用于头部数据的生成多项式的生成多项式G1(x)来生成第二CRC奇偶校验位,并将所生成的第二CRC奇偶校验位存储在基带头部中。
在步骤S156中,控制器575C向选择器511输出用于指示向CRC编码器512输出用户数据的数据类型2。用户数据在选择器511处响应于向其提供的数据类型2而被选择,并被输出到CRC编码器512。
在步骤S157中,控制器575C向CRC编码器512输出表示作为用户数据提供来的流是通用连续流的数据类型1,以及DFL信息。
在步骤S158中,CRC编码器512的帧生成器512A以数据字段(其长度是利用DFL指定的)为单位,对作为通用连续流的用户数据进行分段,从而生成帧。
在步骤S159中,帧生成器512A将基带头部附加到每个数据字段,从而生成基带帧,并且将以基带帧为单位的数据输出到差错校正编码器513。
在步骤S160中,差错校正编码器513使得从CRC编码器512提供来的数据经历差错校正编码处理,并且将通过经历差错校正编码处理而获得的数据输出到OFDM调制器514。
在步骤S161中,OFDM调制器514执行诸如OFDM调制之类的处理来作为传送线路编码处理。
在步骤S162中,OFDM调制器514发送通过执行诸如OFDM处理之类的处理而获得的发送信号,并且结束当前处理。
将参考图35中的流程图来描述图28中的发送设备501用于发送分组化流形式的用户数据的处理。
除了从控制器575C向CRC编码器512输出指示要用于CRC编码处理的生成多项式的选择信号的处理之外,图35中的处理是与图26中的处理相同的处理。
在步骤S171中,信号处理器515的数据输入设备515A将用户数据输出到选择器511,并将头部数据输出到头部生成器515B。
在步骤S172中,头部生成器515B生成将被存储在基带头部中的每条数据,并且将所生成的数据输出到选择器511作为头部数据。
在步骤S173中,控制器575C向选择器511输出用于指示向CRC编码器512输出头部数据的数据类型2。头部数据在选择器511处响应于向其提供的数据类型2而被选择,并被输出到CRC编码器512。
在步骤S174中,控制器575C向CRC编码器512输出一选择信号,该选择信号用于指示通过使用生成多项式G1(x)来执行CRC编码处理,该生成多项式G1(x)是用于基带头部的数据(头部数据)的生成多项式。
在步骤S175中,CRC编码器512根据从控制器575C提供的选择信号使用作为用于头部数据的生成多项式的生成多项式G1(x)来生成第二CRC奇偶校验位,并将所生成的第二CRC奇偶校验位存储在基带头部中。
在步骤S176中,控制器575C向选择器511输出用于指示向CRC编码器512输出用户数据的数据类型2。用户数据在选择器511处响应于向其提供的数据类型2而被选择,并被输出到CRC编码器512。
在步骤S177中,控制器575C向CRC编码器512输出表示作为用户数据提供来的流是通用连续流的数据类型1,以及DFL信息。
在步骤S178中,控制器575C向CRC编码器512输出一选择信号,该选择信号用于指示通过使用生成多项式G2(x)来执行CRC编码处理,该生成多项式G2(x)是用于UP的数据(用户数据)的生成多项式。
在步骤S179中,CRC编码器512以作为用户数据提供来的每个UP中包括的SYNC及其后的数据作为信息比特系列,使用生成多项式G2(x)来生成第一CRC奇偶校验位,并利用所生成的第一CRC奇偶校验位来替换位于在处理顺序上的下一UP的开头8个比特中的SYNC。
在步骤S180中,CRC编码器512的帧生成器512A以数据字段(其长度是由DFL指定的)为单位,对作为通用连续流的用户数据进行分段,从而生成帧。
在步骤S181中,帧生成器512A将基带头部附加到每个数据字段,从而生成基带帧,并且将以基带帧为单位的数据输出到差错校正编码器513。
在步骤S182中,差错校正编码器513使得从CRC编码器512提供来的数据经历差错校正编码处理,并且将通过经历差错校正编码处理而获得的数据输出到OFDM调制器514。
在步骤S183中,OFDM调制器514执行诸如OFDM调制之类的处理来作为传送线路编码处理。
在步骤S184中,OFDM调制器514发送通过执行诸如OFDM处理之类的处理而获得的发送信号,并且结束当前处理。
接下来,将参考图36中的流程图来描述图32中的接收设备503用于接收数据的处理。除了从控制器601向CRC检测器543输出指示要用于CRC处理的生成多项式的选择信号的处理之外,图36中的处理是与图27中的处理相同的处理。
在步骤S191中,OFDM解调器541使得接收信号经历OFDM解调处理,并且将所获得的数据输出到差错校正解码器542。
在步骤S192中,差错校正解码器542使得从OFDM解调器541提供来的数据经历差错校正处理,并且将通过经历差错校正处理而获得的数据作为接收数据输出。
在步骤S193中,控制器601基于从差错校正解码器542提供来的接收数据,确定要经历CRC检测器543处的CRC处理的数据。
在步骤S194中,控制器601根据要经历CRC处理的数据向CRC检测器543输出用于指示要用于CRC处理的生成多项式的选择信号。
在步骤S195中,CRC检测器543根据从控制器601提供来的选择信号来切换所使用的生成多项式,并且使得从差错校正解码器542提供来的接收数据经历CRC处理。在头部数据经历CRC处理的情况下,使用作为用于头部数据的生成多项式的生成多项式G1(x),而在用户数据经历CRC处理的情况下,使用作为用于用户数据的生成多项式的生成多项式G2(x)。CRC检测器543输出表示CRC处理结果的信号并结束当前处理。
虽然迄今为止已经描述了根据诸如作为陆地数字广播规范的DVB-T2和作为卫星数字广播规范的DVB-S2之类的规范从发送设备501向接收设备503执行数据发送,但是,DVB-T2和DVB-S2之间的差别在于,如图13所示的基带头部中包括的MATYPE的2字节数据的第七和第八比特对于DVB-T2是表示发送模式的2比特“Mode”,而对于DVB-S2是表示滚降(roll-off)因子的2比特“RO”。
本发明不限于上述实施例,在不脱离本发明的本质和精神的情况下,可以进行各种变化。本领域的技术人员应当理解,取决于设计要求和其他因素,可以进行各种修改、组合、子组合和变更,只要它们处于所附权利要求或其等同物的范围之内。
本发明包含与2007年12月21日向日本专利局提交的日本专利申请JP 2007-330457以及2008年4月30日向日本专利局提交的日本专利申请JP 2008-118547和JP 2008-118548相关的主题,这里通过引用将该申请的全部内容并入。

Claims (16)

1.一种发送设备,包括:
CRC编码处理装置,配置为包括用于以代码长度不同的多个数据中的每一个为目标的CRC编码处理的多个生成多项式,并且使用所述多个生成多项式中的最优生成多项式来执行CRC编码处理;以及
发送装置,配置为发送由所述CRC编码处理装置执行CRC编码处理而获得的数据。
2.根据权利要求1所述的发送设备,其中所述多个生成多项式是通过包括以下过程的处理来选择的生成多项式:
第一过程,用于对于具有添加了r比特奇偶校验位的k比特信息字的每个代码的代码长度(n),获得作为最小汉明距离(dmin)的最大值的最大最小汉明距离(Max.dmin),
第二过程,用于获得代码的最大最小汉明距离(Max.dmin)发生变化的代码长度(n),并且获得该代码长度(n)的范围(nmin(r,Max.dmin)≤n≤nmax(r,Max.dmin)),
第三过程,用于通过全局搜索找出一生成多项式(G(x)),该生成多项式(G(x))满足对于所述代码长度(n)的范围(nmin(r,Max.dmin)≤n≤nmax(r,Max.dmin)),最小汉明距离(dmin)等于代码的最大最小汉明距离(Max.dmin)的条件(dmin=Max.dmin),以及
第四过程,用于从通过所述全局搜索找出的生成多项式(G(x))中,选择项数(w)和未检测差错概率(Pud)为最小的生成多项式。
3.一种用于发送设备的发送方法,该发送设备包括用于以代码长度不同的多个数据中的每一个为目标的CRC编码处理的多个生成多项式,所述发送方法包括以下步骤:
通过使用所述多个生成多项式中的最优生成多项式来执行CRC编码处理;以及
发送通过执行CRC编码处理而获得的数据。
4.一种使得计算机执行发送设备的处理的程序,该发送设备包括用于以代码长度不同的多个数据中的每一个为目标的CRC编码处理的多个生成多项式,所述程序包括以下步骤:
通过使用所述多个生成多项式中的最优生成多项式来执行CRC编码处理;以及
发送通过执行CRC编码处理而获得的数据。
5.一种接收设备,包括:
获得装置,配置为基于从发送设备发送来的信号来获得数据;以及
CRC处理装置,配置为包括用于以代码长度不同的多个数据中的每一个为目标的CRC编码处理的多个生成多项式,并且通过使用所述多个生成多项式中的最优生成多项式执行CRC编码处理来检测数据的差错。
6.根据权利要求5所述的发送设备,其中所述多个生成多项式是通过包括以下过程的处理来选择的生成多项式:
第一过程,用于对于具有添加了r比特奇偶校验位的k比特信息字的每个代码的代码长度(n),获得作为最小汉明距离(dmin)的最大值的最大最小汉明距离(Max.dmin);
第二过程,用于获得代码的最大最小汉明距离(Max.dmin)发生变化的代码长度(n),并且获得该代码长度(n)的范围(nmin(r,Max.dmin)≤n≤nmax(r,Max.dmin));
第三过程,用于通过全局搜索找出一生成多项式(G(x)),该生成多项式(G(x))满足对于所述代码长度(n)的范围(nmin(r,Max.dmin)≤n≤nmax(r,Max.dmin)),最小汉明距离(dmin)等于代码的最大最小汉明距离(Max.dmin)的条件(dmin=Max.dmin;以及
第四过程,用于从通过所述全局搜索找出的生成多项式(G(x))中,选择项数(w)和未检测差错概率(Pud)为最小的生成多项式。
7.一种用于接收设备的接收方法,该接收设备包括用于以代码长度不同的多个数据中的每一个为目标的CRC编码处理的多个生成多项式,所述接收方法包括以下步骤:
基于从发送设备发送来的信号来获得数据;以及
通过使用所述多个生成多项式中的最优生成多项式执行CRC处理来检测数据的差错。
8.一种用于使得计算机执行接收设备的处理的程序,该接收设备包括用于以代码长度不同的多个数据中的每一个为目标的CRC编码处理的多个生成多项式,所述程序包括以下步骤:
基于从发送设备发送来的信号来获得数据;以及
通过使用所述多个生成多项式中的最优生成多项式执行CRC处理来检测数据的差错。
9.根据权利要求1所述的发送设备,其中所述CRC编码处理装置利用根据目标数据的生成多项式来执行CRC编码处理。
10.根据权利要求3所述的发送方法,其中,在所述CRC编码处理中,CRC编码处理是利用根据目标数据的生成多项式来执行的。
11.根据权利要求4所述的程序,其中,在所述CRC编码处理中,CRC编码处理是利用根据目标数据的生成多项式来执行的。
12.根据权利要求5所述的接收设备,其中所述CRC处理装置利用根据目标数据的生成多项式来执行CRC处理。
13.根据权利要求7所述的接收方法,其中,在所述CRC处理中,CRC处理是利用根据目标数据的生成多项式来执行的。
14.根据权利要求8所述的程序,其中,在所述CRC处理中,CRC编码处理是利用根据目标数据的生成多项式来执行的。
15.一种发送设备,包括:
CRC编码处理单元,配置为包括用于以代码长度不同的多个数据中的每一个为目标的CRC编码处理的多个生成多项式,并且使用所述多个生成多项式中的最优生成多项式来执行CRC编码处理;以及
发送单元,配置为发送由所述CRC编码处理单元执行CRC编码处理而获得的数据。
16.一种接收设备,包括:
获得单元,配置为基于从发送设备发送来的信号来获得数据;以及
CRC处理单元,配置为包括用于以代码长度不同的多个数据中的每一个为目标的CRC编码处理的多个生成多项式,并且通过使用所述多个生成多项式中的最优生成多项式执行CRC编码处理来检测数据的差错。
CN200810187877.0A 2007-12-21 2008-12-22 发送设备和方法、接收设备和方法,以及程序 Expired - Fee Related CN101465715B (zh)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
JP2007-330457 2007-12-21
JP2007330457 2007-12-21
JP2007330457 2007-12-21
JP2008118547 2008-04-30
JP2008118548A JP5298622B2 (ja) 2007-12-21 2008-04-30 送信装置および方法、受信装置および方法
JP2008118548 2008-04-30
JP2008-118547 2008-04-30
JP2008118547A JP5298621B2 (ja) 2007-12-21 2008-04-30 送信装置および方法、受信装置および方法
JP2008-118548 2008-04-30

Publications (2)

Publication Number Publication Date
CN101465715A true CN101465715A (zh) 2009-06-24
CN101465715B CN101465715B (zh) 2013-11-06

Family

ID=40806094

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200810187877.0A Expired - Fee Related CN101465715B (zh) 2007-12-21 2008-12-22 发送设备和方法、接收设备和方法,以及程序

Country Status (3)

Country Link
US (1) US8327251B2 (zh)
JP (2) JP5298621B2 (zh)
CN (1) CN101465715B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102684843A (zh) * 2012-06-07 2012-09-19 哈尔滨工业大学 Type-II型HARQ重传系统中最优生成多项式的获取方法及应用该方法的重传系统
CN103516478A (zh) * 2012-06-29 2014-01-15 华为技术有限公司 信息发送方法和设备
CN104077349A (zh) * 2013-03-28 2014-10-01 罗伯特·博世有限公司 用于处理数据的设备和方法
CN105940626A (zh) * 2014-11-06 2016-09-14 Lg电子株式会社 用于接收广播信号的方法和设备以及用于发送广播信号的方法和设备
CN105991230A (zh) * 2015-02-13 2016-10-05 瑞昱半导体股份有限公司 存储器控制模块与方法以及纠错码编/解码电路与方法
CN108418658A (zh) * 2017-09-08 2018-08-17 华为技术有限公司 编码方法及装置
CN109474380A (zh) * 2017-09-08 2019-03-15 华为技术有限公司 编码方法及装置
US10425190B2 (en) 2017-09-08 2019-09-24 Huawei Technologies Co., Ltd. Channel encoding method and apparatus in wireless communications
CN110380737A (zh) * 2019-07-12 2019-10-25 北京邮电大学 一种极化码距离谱分析的方法及装置
CN110730108A (zh) * 2019-09-12 2020-01-24 机械工业仪器仪表综合技术经济研究所 一种残余差错率的验证方法、装置及计算机设备

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5298621B2 (ja) * 2007-12-21 2013-09-25 ソニー株式会社 送信装置および方法、受信装置および方法
US8259863B2 (en) * 2008-01-28 2012-09-04 Lg Electronics Inc. Method for transmitting and decoding signals considering repeatedly transmitted information
JP4798164B2 (ja) * 2008-04-02 2011-10-19 ソニー株式会社 送信装置および方法、受信装置および方法、並びにプログラム
US7899056B2 (en) * 2009-01-13 2011-03-01 Fujitsu Limited Device and method for reducing overhead in a wireless network
US8023513B2 (en) * 2009-02-24 2011-09-20 Fujitsu Limited System and method for reducing overhead in a wireless network
EP2362654A1 (en) * 2010-02-26 2011-08-31 Panasonic Corporation Short baseband frame headers
US8867482B2 (en) * 2010-12-10 2014-10-21 Panasonic Intellectual Property Corporation Of America Signal generation method and signal generation device
KR101765123B1 (ko) * 2011-01-14 2017-08-04 삼성전자주식회사 통신시스템에서 전송 신호의 호환성을 제공하기 위한 장치 및 방법
US8621331B1 (en) * 2011-06-03 2013-12-31 Altera Corporation Continuous parallel cyclic BCH decoding architecture
JP5813439B2 (ja) * 2011-09-27 2015-11-17 クラリオン株式会社 俯瞰画像表示装置
US8898539B2 (en) * 2012-09-12 2014-11-25 Lsi Corporation Correcting errors in miscorrected codewords using list decoding
CN104584510B (zh) * 2013-07-05 2019-04-19 索尼公司 发送设备、发送方法、接收设备和接收方法
US9319180B2 (en) * 2014-06-30 2016-04-19 Infinera Corporation Partitioning forward error correction decoding iterations to accommodate multiple data streams
JP2018137494A (ja) * 2015-06-29 2018-08-30 シャープ株式会社 端末装置、基地局装置、通信方法、および、集積回路
CN105049057B (zh) * 2015-08-17 2018-04-20 中国航天科技集团公司第九研究院第七七一研究所 一种面向128位并行输入的crc‑32校验电路
WO2018133939A1 (en) * 2017-01-19 2018-07-26 Huawei Technologies Duesseldorf Gmbh Apparatus and methods for probability shaping operations
EP3667962B1 (en) * 2017-08-08 2022-10-26 Vivo Mobile Communication Co., Ltd. Method and device for cyclic redundancy check
JP6727476B2 (ja) 2018-04-25 2020-07-22 三菱電機株式会社 情報処理装置、情報処理方法及び情報処理プログラム
RU2693190C1 (ru) * 2018-07-02 2019-07-01 Федеральное государственное бюджетное образовательное учреждение высшего образования "Владимирский Государственный Университет имени Александра Григорьевича и Николая Григорьевича Столетовых" (ВлГУ) Способ диагностики недвоичных блоковых кодов

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006180172A (ja) * 2004-12-22 2006-07-06 Sony Corp Crc生成多項式の選択方法、crc符号化方法およびcrc符号化回路

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5703887A (en) * 1994-12-23 1997-12-30 General Instrument Corporation Of Delaware Synchronization and error detection in a packetized data stream
US6085349A (en) * 1997-08-27 2000-07-04 Qualcomm Incorporated Method for selecting cyclic redundancy check polynomials for linear coded systems
EP0985283B1 (en) * 1998-03-14 2005-03-02 Samsung Electronics Co., Ltd. Device and method for exchanging frame messages of different lengths in a wireless communication system
EP1148650A1 (en) * 2000-04-14 2001-10-24 Matsushita Electric Industrial Co., Ltd. Crc operation unit and crc operation method
US6848072B1 (en) * 2000-09-19 2005-01-25 Bbn Solutions Llc Network processor having cyclic redundancy check implemented in hardware
WO2002067479A2 (en) * 2001-02-16 2002-08-29 Cape Range Wireless, Inc. System and method for spread spectrum communication using orthogonal coding
US7216285B2 (en) * 2001-11-09 2007-05-08 Marvell International Ltd. System and method for generating cyclic redundancy check
US6978415B1 (en) * 2001-11-27 2005-12-20 Maxtor Corporation Variable redundancy cyclic code encoders
JP3822508B2 (ja) * 2002-03-08 2006-09-20 日本電信電話株式会社 パケット伝送システムとそのデータ送信装置及びデータ受信装置
JP3880934B2 (ja) * 2003-01-28 2007-02-14 Necエレクトロニクス株式会社 Crc符号生成方法
US7171604B2 (en) * 2003-12-30 2007-01-30 Intel Corporation Method and apparatus for calculating cyclic redundancy check (CRC) on data using a programmable CRC engine
KR100690274B1 (ko) * 2005-09-12 2007-03-09 삼성전자주식회사 다중 채널 직렬 통신을 위한 순환 중복 검사 장치 및 이를구비한 통신 시스템
JP5298621B2 (ja) * 2007-12-21 2013-09-25 ソニー株式会社 送信装置および方法、受信装置および方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006180172A (ja) * 2004-12-22 2006-07-06 Sony Corp Crc生成多項式の選択方法、crc符号化方法およびcrc符号化回路

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102684843B (zh) * 2012-06-07 2015-01-07 哈尔滨工业大学 Type-II型HARQ重传系统中最优生成多项式的获取方法及应用该方法的重传系统
CN102684843A (zh) * 2012-06-07 2012-09-19 哈尔滨工业大学 Type-II型HARQ重传系统中最优生成多项式的获取方法及应用该方法的重传系统
CN103516478A (zh) * 2012-06-29 2014-01-15 华为技术有限公司 信息发送方法和设备
CN104077349B (zh) * 2013-03-28 2018-11-20 罗伯特·博世有限公司 用于处理数据的设备和方法
CN104077349A (zh) * 2013-03-28 2014-10-01 罗伯特·博世有限公司 用于处理数据的设备和方法
CN105940626A (zh) * 2014-11-06 2016-09-14 Lg电子株式会社 用于接收广播信号的方法和设备以及用于发送广播信号的方法和设备
CN105991230A (zh) * 2015-02-13 2016-10-05 瑞昱半导体股份有限公司 存储器控制模块与方法以及纠错码编/解码电路与方法
WO2019047543A1 (zh) * 2017-09-08 2019-03-14 华为技术有限公司 编码方法及装置
CN108418658A (zh) * 2017-09-08 2018-08-17 华为技术有限公司 编码方法及装置
CN109474380A (zh) * 2017-09-08 2019-03-15 华为技术有限公司 编码方法及装置
CN108418658B (zh) * 2017-09-08 2019-03-26 华为技术有限公司 编码方法及装置
US10425190B2 (en) 2017-09-08 2019-09-24 Huawei Technologies Co., Ltd. Channel encoding method and apparatus in wireless communications
US10999009B2 (en) 2017-09-08 2021-05-04 Huawei Technologies Co., Ltd. Channel encoding method and apparatus in wireless communications
CN109474380B (zh) * 2017-09-08 2022-05-10 华为技术有限公司 编码方法及装置
CN110380737A (zh) * 2019-07-12 2019-10-25 北京邮电大学 一种极化码距离谱分析的方法及装置
CN110730108A (zh) * 2019-09-12 2020-01-24 机械工业仪器仪表综合技术经济研究所 一种残余差错率的验证方法、装置及计算机设备

Also Published As

Publication number Publication date
JP5298622B2 (ja) 2013-09-25
JP2009171539A (ja) 2009-07-30
CN101465715B (zh) 2013-11-06
JP5298621B2 (ja) 2013-09-25
US8327251B2 (en) 2012-12-04
JP2009171540A (ja) 2009-07-30
US20100031124A1 (en) 2010-02-04

Similar Documents

Publication Publication Date Title
CN101465715B (zh) 发送设备和方法、接收设备和方法,以及程序
US7577899B2 (en) Cyclic redundancy check (CRC) based error correction method and device
KR100683624B1 (ko) 가속화된 리드-솔로몬 오류정정
TWI414160B (zh) 利用資料一致性檢查之封包式通訊網路的錯誤校正技術
US8099653B2 (en) Communication apparatus and method including a plurality of descramblers
JP3283097B2 (ja) 通信システム
CN102263612B (zh) 用于数据块的差错检测方法和设备
CN101983481B (zh) 用于发送的设备和方法、用于接收的设备和方法以及程序
US20080052597A1 (en) Burst error correction based on fire code
US20230023776A1 (en) Codeword Synchronization Method, Receiver, Network Device, and Network System
EP2695320B1 (en) Signaling data transmission transmitting split signaling data
US6678854B1 (en) Methods and systems for providing a second data signal on a frame of bits including a first data signal and an error-correcting code
US11146352B2 (en) Message correction and dynamic correction adjustment for communication systems
EP2075918A2 (en) Transmission apparatus and method, reception apparatus and method, and program
WO2017076301A1 (en) Methods, systems and computer-readable media for error correction
JP4379329B2 (ja) Crc生成多項式の選択方法、crc符号化方法およびcrc符号化回路
US9660800B2 (en) Fast data acquisition in digital communication
Tallini et al. On a new class of error control codes and symmetric functions
US10686557B2 (en) Enhanced decoding of coded sequences with structured data
Wang et al. The capability of error correction for burst-noise channels using error estimating code
CN110741562A (zh) 向量信令码信道的流水线式前向纠错
JP7164347B2 (ja) 送信装置及び受信装置
Baicheva Linear Codes of Good Error Control Performance.
He et al. Comparison of CRC and Convolutional Coding in BLE
US20020046370A1 (en) Error checking

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20131106

Termination date: 20151222

EXPY Termination of patent right or utility model