首页> 中国专利> 错误检测装置和错误校正/错误检测解码装置和方法

错误检测装置和错误校正/错误检测解码装置和方法

摘要

本发明提供错误检测装置和错误校正/错误检测解码装置以及方法,该错误检测方法,将规定位长的数据串视为多项式,对该数据串添加错误检测码,使得以错误检测码生成用的多项式(生成多项式)除该多项式剩余为0,输入添加错误检测码后的数据串,对该输入数据中有无错误进行检测,该错误检测方法包括:预先计算使与各个位位置对应的多项式除以所述生成多项式时的剩余值,并保存于存储器的步骤;与输入数据串一同,输入表示各数据的正规的位位置的位位置信息的步骤;利用存储器求取输入数据串中不是0的数据的与正规的位位置对应的剩余值,对求得的各剩余值,位对应地进行加法运算的步骤;以及在加法运算结果在全部的位为0时判定输入数据串不存在错误,在此之外的情况下判定存在错误的步骤。

著录项

  • 公开/公告号CN101765976A

    专利类型发明专利

  • 公开/公告日2010-06-30

    原文格式PDF

  • 申请/专利权人 富士通株式会社;

    申请/专利号CN200780100054.3

  • 发明设计人 池田德启;

    申请日2007-08-07

  • 分类号H03M13/09(20060101);H04L1/00(20060101);

  • 代理机构11227 北京集佳知识产权代理有限公司;

  • 代理人雒运朴;李伟

  • 地址 日本神奈川县

  • 入库时间 2023-12-18 00:18:34

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-08-28

    未缴年费专利权终止 IPC(主分类):H03M13/09 授权公告日:20140312 终止日期:20170807 申请日:20070807

    专利权的终止

  • 2014-03-12

    授权

    授权

  • 2010-08-25

    实质审查的生效 IPC(主分类):H03M13/09 申请日:20070807

    实质审查的生效

  • 2010-06-30

    公开

    公开

说明书

技术领域

本发明涉及错误检测装置和错误校正/错误检测解码装置和方法。

背景技术

错误检测码在数据通信系统等要求无错误地传送数据的系统、外部存储装置等要求无错误地进行数据的读出的系统中被使用,用于检测传送错误、读出错误。

图13是应用错误检测的通信系统的结构例。在发送侧1,错误检测编码部1b对信息生成部1a生成的规定位长的数据串施加错误检测编码处理,错误校正编码部1c通过规定的编码方式对输入数据串进行错误校正编码后通过通信路径2向接收侧3发送。在接收侧3,错误校正解码部3a通过错误校正解码处理对输入的编码数据串进行解码,并将解码数据串输入错误检测解码部3b。错误检测解码部3b对解码数据串施加错误检测解码处理,检测错误的有无,如果有错误则向发送侧发出再次请求信号RRQ,如果无错误则信息抽出部3c抽出并输出数据。

作为错误检测码,例如循环冗余校验(CRC:Cyclic RedundancyCheck)码能够对连续的错误进行检测,因此常被利用。CRC是,在发送侧将N位的信息位视为多项式,由生成多项式进行除法运算,将得到的m位的剩余(奇偶校验位)添加于信息位,成为(N+m)位,对能够由生成多项式整除的数据进行编码并发送。在接收侧,由上述生成多项式对接收数据进行除法运算,在剩余为0时的情况下没有错误,在此外的情况下存在错误,进行错误检测。例如,使生成多项式G(x)为16位,

如果x16K(x)÷G(x)=Q(x)余R(x)

则将W(x)=x16K(x)+R(x)作为CRC代码字。此处,x16K(x)意味着在N位的数据串K(x)的低次侧添加了16位的“0”而得的数据串。在接收侧,当接收到在该代码字W(x)上添加有错误E(x)的W’(x)=W(x)+E(x)时,以G(x)对W’(x)进行除法运算,如果其剩余为0则没有错误,如果为0以外则检测为存在错误。具体地说,计算

W’(x)/G(x)检测是否能整除。

在CRC的编码、解码时,需要进行如上所述的除法运算,该除法运算器能够由硬件构成,因此能够以比较简单的电路构成。以m次的生成多项式

[数学式1]

G(x)=xm+gm-1xm-1+ +gix+1    (1)

进行除法运算时的电路结构的一个例子表示于图14(A)。在图中,gi是0或1的系数,构成为在gi=1时使线连接,在gi=0时使线不连接。图14(B)是例如生成多项式G(x)=x16+x12+x5+1时的CRC运算装置的除法运算器的例子。该除法运算器包括:16段的移位寄存器SR;设置在0位位置、5位位置、12位位置的输入侧,进行前段的输出数据与反馈数据的异或运算的异或电路(Exclusive OR电路)EOR1~EOR3;和设置于15位位置的输出侧的开关SW。通过在将开关SW切换至反馈侧(A侧)的状态下,将数据串从高次开始一位一位地输入EOR1,能够进行除法运算。

根据图14(A)的结构,通过将多项式W’(x)的各次数中的系数从次数高的项的系数开始依次从移位寄存器的低次侧输入,商多项式从移位寄存器的高次输出,当输入全部的次数时,在移位寄存器中保存剩余多项式。这样,能够利用移位寄存器和异或由简单的电路构成除法运算器。但是,在图14的除法运算器的结构中电路虽简单,但需要将输入数据从高次的位开始依次输入。因此,在输入不以正规的顺序排列的位列时,例如在由于交错(Interleave),数据串被改变排列而输入位列时,需要在输入除法运算器之前使用存储器等将数据串的排列变更为正规的顺序。

图15是不以正规顺序排列的位列输入时的CRC校验电路的结构图,在图14(A)的除法运算器4a的前段设置有数据顺序排列变更用的RAM4b,并设置有判断由除法运算器4a求得的剩余是否为0并输出校验结果的全零检测电路4c。对数据顺序排列变更用的RAM4b与位列(输入数据)一同输入各位的正规的顺序(数据编号)。由此,RAM4b将每位的输入数据写入数据编号所指示的位置,然后,通过依次进行读出将位列的排列变更为正规的顺序并输出。即,如果交错等的排列变更操作复杂,则需要在将全部输入数据暂时存储在存储器中之后从存储器以正规顺序进行读出并输入除法运算器4a,因此,数据排列变更需要时间。例如,在N位输入的情况下,如果不经过N时钟时间则不能够开始CRC运算,结果,如果不经过2N时钟时间则不能够得到CRC校验结果。

但是,存在解码次数越多错误率特性越提高的解码器。在该解码器中,重复输入的数据的解码直至没有错误,在没有错误的时刻停止该数据的解码,开始下一输入数据的解码。图16是在错误校正码中使用Turbo码(turbo code),在错误检测码中使用CRC码的通信系统的例子。

在发送侧5,CRC添加部5b对信息生成部5a生成的规定位长的数据串施加CRC添加处理,Turbo码编码部5c通过Turbo码编码处理对添加了CRC的输入数据串进行错误校正编码处理,并发送至通信路径(传送路径)6。在接收侧7,Turbo码解码器7a通过Turbo码解码处理对输入的编码数据串进行解码,将解码结果输入CRC检测部7b。

Turbo码解码器7a通过重复进行解码,能够提高错误率特性。因此,Turbo码解码器7a进行重复规定次数的解码处理,CRC检测部7b对该错误校正解码结果进行错误检测,如果有错误则向发送侧5发出再次请求RRQ,如果没有错误则向信息抽出部7c指示信息抽出。此外,Turbo码解码器7a,如果在解码次数达到规定次数之前没有错误,则立即停止解码处理,开始下一编码数据串的解码,从而能够达到解码处理的效率化。因此,CRC检测部7b在每一次解码时对解码结果检测错误的有无,将错误检测结果反馈至Turbo码解码器7a。Turbo码解码器7a如果输入“存在错误”则进行重复解码,如果输入“没有错误”则即使未达到规定次数也停止解码动作,开始下一编码数据的解码。

图17是Turbo码编码器5c的结构图,u是添加了CRC位的N位的输入数据,xa、xb、xc是由Turbo码编码器5c对输入数据u进行编码后的编码数据。编码数据xa就是输入数据u,编码数据xb是由编码器8a对输入数据u进行卷积编码后的数据,编码数据xc是由交错器8b对信息数据u进行交错(π)并由编码器8c进行卷积编码后的数据。即,从Turbo码编码器输出的编码数据是在输入数据u(=xa)上添加了奇偶校验位xb、xc的编码率1/3的系统码。

图18是Turbo码解码器7a的结构图。Turbo码解码是,在编码数据xa、xb、xc的接收信号Ys、Yp1、Yp2中,首先使用Ys、Yp1,由第一要素解码器9a进行解码。接着,使用从第一要素解码器9a输出的解码结果(似然,likelihood)和Ys、Yp2,由第二要素解码器DEC9b进行同样的解码。但是,Yp2是与xc对应的接收信号,该xc是对原数据u进行交错而得的,因此,在将Ys和从第一要素解码器9a输出的似然输入第二要素解码器9b之前,由交错器9c、9d进行交错(π)。

从第二要素解码器9b输出的似然由去交错器9e进行去交错(π)后,作为向第一要素解码器9a的输入进行反馈。第一要素解码器9a使用反馈的似然u’和Ys、Yp1进行解码,以后由第一、第二要素解码器9a、9b重复进行上述解码,直至解码次数成为规定次数,或者,重复上述解码直至没有错误。

图19是使图18的第一、第二要素解码器为一个要素解码器9a而共用的Turbo码解码器的结构图,开关9f根据解码动作是奇数次还是偶数次切换向要素解码器9a的输入信号。通信线路值RAM9g存储通过通信线路接收到的信号Ys、Yp1、Yp2,适当地将这些信号通过开关9f输入要素解码器9a,并且输入交错器9c。解码结果RAM9h保存解码结果,并将其输入至交错器9d、去交错器9e。硬判定部9i将解码结果硬判定为“0”、“1”,将判定结果输入CRC检测部7b(图16)。

在图19的Turbo码解码器中,最初,在开关9f中以由实线表示的连接进行第一次解码。此时的解码结果以正规的顺序(正顺)被输出。接着,在开关9f中以由虚线表示的连接进行解码。在该第二次解码处理中,对信息位Ys和解码结果实施交错并进行解码。此时的解码结果输出也成为交错顺序。以后,重复进行该解码处理,观察解码结果,在每次重复时输出顺序反复成为正顺→交错顺序(IL顺序)→正顺→交错顺序→......。

图20是解码次数和CRC校验结果的取得定时的说明图,表示在第4次的重复解码结果中没有检测出错误的情况。CRC校验结果如在图15中所说明的那样,如果作为解码结果的输入数据为正规的顺序则能够与解码结束同时地输出CRC校验结果(错误的有无)。但是,如果输入数据的位列被交错而排列变更,则需要在变更排列为正规的顺序后进行CRC校验,CRC校验结果的输出定时延迟。因此,Turbo码解码中的解码次数和CRC校验结果的取得定时成为图20所示的状态。

即,在对Turbo码解码的结果进行CRC校验时,因为奇数次的解码结果中数据为正顺,所以能够直接输入CRC运算装置的除法运算器,能够与Turbo码解码结束同时地输出CRC校验结果。另一方面,解码结果以交错顺序输出时,需要将数据排列变更为正顺,因此需要将解码结果暂时存储在存储器中,然后输入CRC运算装置的除法运算器,CRC校验结果的取得定时延迟。因此,虽然在第四次的解码结果中没有检测出错误,Turbo码解码动作希望停止,但已经在CRC运算中进行了下一次(第五次)的Turbo码解码,Turbo码解码器过度动作。换言之,多进行一次无用的Turbo码解码动作,因此Turbo码解码的处理效率降低。

在现有技术中,提出了一种即使校验子运算时的数据的顺序与校验数据的制作时不同,也能够进行正确的校验子运算的校验子运算技术(专利文献1)。但是,该现有技术并不是在输入数据的位列由于交错操作等而变更排列时,不变更排列为正规的顺序地高速输出CRC校验结果的技术。

根据以上内容,本发明的目的是,在输入数据的位列被变更排列时,以该顺序(不变更排列为正规的顺序)输出CRC校验结果。

本发明的其它目的是,在解码结果没有错误时,立即输出CRC校验结果。

本发明的其它目的是,减少解码器的解码次数。

本发明的其它目的是,以小规模的硬件结构实现作为目的的CRC运算装置。

专利文献1:日本特开平5-165660

发明内容

错误检测方法

本发明的第一方面,提供一种错误检测方法,将规定位长的数据串视为多项式,输入对该数据串添加错误检测码的数据串,使得以错误检测码生成用的多项式(生成多项式)除该多项式而剩余为0的数据串,并对该输入数据中有无错误进行检测,该错误检测方法包括:预先计算使与各个位位置对应的多项式除以上述生成多项式时的剩余值,并保存于存储器的步骤;与输入数据串一同,输入表示各数据的正规的位位置的位位置信息的步骤;利用上述存储器求取输入数据串中不是0的数据的与正规的位位置对应的剩余值,对求得的各剩余值,位对应地进行加法运算的步骤;以及在加法运算结果在全部的位为0时判定输入数据串不存在错误,在此之外的情况下判定存在错误的步骤。

在上述剩余值的保存步骤中,保存与一定数量的位间隔的各位位置对应的剩余值,使用保存的剩余值对未保存的位位置的剩余值进行内插。

错误校正/错误检测解码方法

本发明的第二方面,提供一种错误校正/错误检测解码方法,将规定位长的数据串视为多项式,对该数据串添加错误检测码,使得以错误检测码生成用的多项式(生成多项式)除该多项式而剩余为0,然后,对由规定的编码方式已编码的编码数据串进行解码,该错误校正/错误检测解码方法包括:在错误检测部中,预先计算使与各个位位置对应的多项式除以上述生成多项式时的剩余值,并保存于存储器的步骤;在解码部中对编码数据串重复进行解码的步骤;与表示解码结果的数据串一同,向错误检测部输入表示各数据的正规的位位置的位位置信息的步骤;在该错误检测部中,利用上述存储器求取解码结果中不是0的数据的与正规的位位置对应的剩余值,对求得的各剩余值,位对应地进行加法运算,在加法运算结果在全部的位为0时判定输入数据串不存在错误,在此之外的情况下判定存在错误的步骤;以及解码部在没有检测出错误时停止上述编码数据的解码的步骤。

错误检测装置

本发明的第三方面,提供一种错误检测装置,将规定位长的数据串视为多项式,输入对该数据串添加错误检测码的数据串,使得以错误检测码生成用的多项式(生成多项式)除该多项式而剩余为0,并对该输入数据中有无错误进行检测,该错误检测装置包括:剩余存储器,其预先计算使与各个位位置对应的多项式除以上述生成多项式时的剩余值,并进行保存;加法运算部,与输入数据串一同,输入表示各数据的正规的位位置的位位置信息,利用上述剩余存储器求取输入数据串中不是0的数据的与正规的位位置对应的剩余值,对求得的各剩余值,位对应地进行加法运算;以及错误有无判定部,其在加法运算结果在全部的位为0时判定输入数据串不存在错误,在此之外的情况下判定存在错误。

错误校正/错误检测解码装置

本发明的第四方面,提供一种错误校正/错误检测解码装置,将规定位长的数据串视为多项式,对该数据串添加错误检测码,使得以错误检测码生成用的多项式(生成多项式)除该多项式而剩余为0,然后,对由规定的编码方式已编码的编码数据串进行解码,该错误校正/错误检测解码装置包括:解码部,其对上述编码数据串重复进行解码;以及错误检测部,其对解码结果检测错误的有无,并将错误检测结果通知解码部,上述解码部包括:解码器,其对编码数据串重复进行解码,并输出解码结果;位位置管理部,其输出解码结果的各数据的正规的位位置;以及控制部,其控制解码器的解码处理的继续、停止,上述错误检测部包括:剩余存储器,其预先计算使与各个位位置对应的多项式除以上述生成多项式时的剩余值,并进行保存;加法运算部,与解码结果一同,输入表示该解码结果的各数据的正规的位位置的位位置信息,利用上述剩余存储器求取解码结果中不是0的数据的与正规的位位置对应的剩余值,对求得的各剩余值,位对应地进行加法运算;以及错误有无判定部,其在加法运算结果在全部的位为0时判定输入数据串不存在错误,在此之外的情况下判定存在错误。

附图说明

图1是CRC运算装置的原理结构图;

图2是从数据输入开始到校验结果输出的定时说明图;

图3是本发明的第一实施例的结构图;

图4是第二实施例的位编号i与P、k的关系说明图;

图5是第二实施例的剩余存储器的内容说明图;

图6是第二实施例的CRC运算装置的结构图;

图7是明示剩余值内插部的各部的输入位数、输出位数的说明图;

图8是剩余计算部的结构说明图;

图9是将第一实施例的CRC运算装置用于Turbo码解码结果的错误检测的第三实施例的结构图;

图10是表示第三实施例中的Turbo码解码器的解码结果和CRC校验结果的输出定时的说明图;

图11是第四实施例的CRC校验装置的结构图;

图12是使输入位列并行化而输入的情况的说明图;

图13是应用错误检测的通信系统的结构图;

图14是除法运算电路的结构例;

图15是输入未以正规的顺序排列的位列时的CRC校验电路的结构图;

图16是在错误校正码中采用Turbo码,在错误检测码中使用CRC码的通信系统例;

图17是Turbo码编码器的结构图;

图18是Turbo码解码器的结构图;

图19是使第一、第二要素解码器为一个要素解码器而共用的Turbo码解码器的结构图;

图20是解码次数和CRC校验结果的取得定时的说明图。

具体实施方式

(A)本发明的原理

本发明,对于已被实施排列变更处理的数据,能够以该顺序(不使排列顺序回到原来状态)进行CRC运算。

例如,在通过交错处理等以随机化的顺序输入数据时的CRC运算方式中,通过不依据数据的输入顺序地进行运算,能够迅速输出错误检测结果。另外,以下的运算全部表示“位对应的模2运算”。“位对应的运算”是指位于同一位的数据彼此的运算,模2加法(modulo Addition)运算的运算子使用“+”。模2加法运算具体的是异或运算,于是,位对应的模2加法运算是指,位于同一位的数据彼此的异或运算。此外,表示电路结构的图中表示的+运算记号也同样意味着位对应的异或运算。

在CRC运算中使用的剩余运算是,将输入数据视为多项式,表达为A(x),求取其除以m次的生成多项式G(x)而得的剩余。

将N位的输入位列

{aN-1,an-2,,a1xa0}

由[数学式2]

A(x)=an-1xN-1+an-2xN-2++a1x+a0-Σi=0N-1a1xi---(2)

进行多项式表达。此外,m次的生成多项式由

[数学式3]

G(x)=xm+gm-1xm-1+ +g1x+1    (3)

表达。

将与第i位位置对应的多项式xi以G(x)除,使得到的剩余为Ri(x),则表示为

[数学式4]

xi=Ri(x)+Qi(x)G(x)    (4)

此处,xi意味着在1后加i个“0”而得的数据串(多项式)。此外,Qi(x)是以G(x)除xi而得的商多项式。由此,重写A(x),成为

[数学式5]

A(x)=Σi=0N-1ai(Ri(x)+Qi(x)G(x))

=Σi=0N-1aiRi(x)+G(x)Σi=0N-1aiQi(x)---(5)

(5)式的右边第二项能够由生成多项式G(x)整除,因此,A(x)除以G(x)的剩余R(x)是(5)式的右边第一项被G(x)除的剩余,而第一项不能够由G(x)整除,因此,R(x)成为

[数学式6]

R(x)=Σi=0N-1aiRi(x)---(6)

因此,如果预先得知R(x),则不管输入为何种顺序,都能够通过计算aiRi(x),求取全部位的结果的总和从而计算出剩余值R(x)。

图1是依据以上原理的CRC运算装置的结构图,向该CRC运算装置,与一位一位的位数据ai一同,输入表示该数据的正规的位位置i的位位置信息(数据编号)。剩余存储器11预先将以生成多项式G(x)除xi而得的m位的剩余Ri(x)与位位置i(i=0~N,N+1是输入数据串的位数)相对应地进行存储,当输入位位置信息i时,输出与该位位置i对应的剩余Ri(x)。乘法运算器12,如果ai为1则直接输出Ri(x),如果ai为0则输出m位的0。加法运算部13将在此之前的加法运算结果(初始值为m位的0)和乘法运算器12的输出位对应地进行模2加法运算(异或运算),将加法运算结果保存在寄存器14中。以后,对全部输入数据进行上述处理,作为剩余R(x)输出最后的模2加法运算结果。错误检测部15,在剩余R(x)在全部的位为0时,判定在输入数据串中没有错误,在此之外的情况下判定为存在错误,输出判定结果。

根据以上内容,即使输入顺序被排列变更为不是正规的顺序,也能够与N+1位的数据输入完成大致同时地输出CRC校验结果,从数据输入开始到校验结果输出的时间,在现有技术中需要图2(a)所示的2×N时间,但本发明能够在(b)所示的N时间内结束。因此,能够在Turbo码解码的重复解码结束后立即输出CRC校验结果,在解码结果没有错误的情况下,能够立即停止Turbo码解码器,不需要多余的解码器动作。

(B)第一实施例

图3是本发明的第一实施例的结构图,对与图1相同的部分标注相同符号。不同点在于,明示剩余存储器11的内容;明示各部11~15的输入位数、输出位数;剩余Ri(x)的位数m是24位。

剩余值R(x)的求取通过求取(6)式的右边而实施,Ri(x)的值预先以表的形式存储于剩余存储器11。输入数据ai与数据编号i一同被输入,根据数据编号i参照ROM表,计算剩余Ri(x)。计算出的Ri(x)与输入数据ai相乘,将乘法运算结果与保存在寄存器14的此前的加法运算结果(初始值为m位的0)进行加法运算,将加法运算结果保存在寄存器14。如果对全部位进行上述动作,则在数据输入完成后,能够求取剩余值R(x)。错误检测部15进行该剩余值R(x)是否为0的判定,在为0的情况下,输出检验结果OK,在为0以外的情况下,输出校验结果NG。

即,第一实施例的CRC运算装置,(1)与输入数据串的各数据ai一同输入表示各数据的正规的位位置的位位置信息i,(2)求取与N+1位的输入数据串中不为0的数据的正规位位置i对应的剩余值Ri(x),将求得的各剩余值Ri(x)位对应地进行模2加法运算,(3)以加法运算结果作为剩余值R(x),在该剩余值R(x)的全部位为0时判定输入数据串没有错误,在此外的情况下判定存在错误。由此,根据第一实施例,能够在Turbo码解码的重复解码结束后立即输入CRC校验结果。

(C)第二实施例

在第一实施例中,需要对输入的数据的最大位长N+1的各个位保管剩余值Ri(x),当N很大时,例如当N=10,000时,剩余存储器11的尺寸变大,存在问题。于是,在第二实施例中,通过隔P位地将剩余值存储于剩余存储器,能够减少剩余存储器11的尺寸。

使P为任意的常数,如图4所示将表示位位置的i以下述方式分解。

[数学式7]

i=Pn+k,0≤k≤P-1    (7)

其中,P是2s

此时,需要的剩余值Ri(x)是以生成多项式G(x)除xi所得的剩余。使以生成多项式G(x)除xPn所得的商多项式为QPn(x),使剩余多项式为RPn(x),表示xi,则得到

[数学式8]

xi=xPn+k

  =xPn xk    (8)

  =(QPn(x)G(x)+RPn(x))xk

剩余值Ri(x)与以G(x)除RPn(x)·xk所得的剩余相等。因此,如图5所示,对与每P的位位置对应的RPn(x)进行表化处理并存储,根据表求取与位位置i(i=P·n+k)的P对应的RPn(x),并与xk相乘,以G(x)除乘法运算结果RPn(x)·xk,求取剩余,以该剩余作为剩余值Ri(x)。

RPn(x)·xk通过将从表中得到的RPn(x)向左移动k位,对空位插入0的运算求得。

图6是依据上述原理的第二实施例的CRC运算装置的结构图,对与图1相同的部分标注相同符号。不同的点在于,设置有:剩余值内插部20,其保存与每一定数量P的位位置P×n对应的剩余值RPn(x),使用保存的剩余值对未保存的位位置的剩余值进行内插;以及分离部30,其被输入位位置i(i=P·n+k),进行P、k的分离。

剩余值内插部20包括:存储器21,其存储与每一定数量P的位位置P×n对应的剩余值RPn(x);移位部22,其使与位位置i(i=P·n+k)对应的RPn(x)移动k位;以及剩余计算部23,其以生成多项式G(x)除移位而得的RPn(x)·xk,输出剩余Ri(x)。

向CRC运算装置,与位数据ai一同一位一位地输入表示该数据的正规的位位置i(=P·n+k)的位位置信息(数据编号)。分离部30将位位置i分离为P、k,剩余存储器21输出相应的剩余RPn(x)。移位部22使RPn(x)移动k位,计算RPn(x)·xk,剩余计算部23以生成多项式G(x)除RPn(x)·xk,输出剩余Ri(x)。

乘法运算器12,如果ai为1则直接输出剩余Ri(x),如果ai为0则输出m位的0。加法运算部13对保存在寄存器14中的此前的加法运算结果(初始值为m位的0)和乘法运算器12的输出,位对应地进行模2加法运算,将加法运算结果保存在寄存器14中。之后,对输入数据的全部位重复进行上述处理,作为剩余R(x)输出最后的模2加法运算结果。错误检测部15在剩余R(x)在全部位都为0时判定在输入数据串中不存在错误,在此之外的情况下判定存在错误,输出判定结果。

使剩余值为m位的移位运算结果,最大为m+P-1位,如果m=24、P=32(26),则移位运算结果为55位。图7(A)、(B)明示了m=24、P=32(26)、s=6、N=12时的剩余值内插部20的各部的输入位数、输出位数,k以0~4的5位表达,n以5~12的8位表达。剩余存储器21与n对应存储有24位的RPn(x)(=R32n(x))。移位部22的输出I为0~54的55位,剩余计算部23的输出Ri(x)(=RPn+k(x))为24位。

如果将图6和图7(A)中的剩余计算部23以图14说明的移位寄存器(除法运算器)构成,则除法运算中需要55时钟时间,因此不优选。剩余计算部23的输入I的位数为55是一定的。因此,以G(x)除输入I的运算,能够认为是固定输入位长的除法运算,能够不使用移位寄存器而仅由异或的单一固定电路实现。例如,使生成多项式为

G(x)=x24+x23+x6+x5+x+1    (9)

使P=32,剩余计算部23的输出位O[0]~O[23],如图8所示,能够利用输入位I[0]~I[54]的规定的组合的异或运算求取。作为一个例子,O[22]能够利用I[45]、I[40]、I[22]的异或运算求取。

根据第二实施例,与第一实施例同样,能够重复Turbo码解码,在解码结束后立即输出CRC校验结果,而且能够减少剩余存储器的容量。

(D)第三实施例

图9是将第一实施例的CRC运算装置使用于Turbo码解码结果的错误检测的第三实施例的结构图。Turbo码解码部51在图19所说明的Turbo码解码器51a之外,还具有输出表示解码结果的各位的正规的位位置的位编号的位编号输出部51b。位编号输出部51b,如果解码结果为正规的顺序,则以该正规的顺序输出位编号,如果解码结果是被交错后的顺序,则以该交错顺序输出位编号。CRC运算部52具有图3所示的第一实施例的结构,被输入Turbo码解码器51a的解码结果和位编号,对在该Turbo码解码结果中是否存在错误进行校验,输出校验结果。Turbo码解码器控制部53,即使在解码重复次数达到规定次数之前,只要来自CRC运算部52的校验结果为“没有错误”,就停止Turbo码解码器51a中的Turbo码解码,开始下一编码数据的解码。另外,作为CRC运算装置52,也可以采用图6所示的第二实施例的结构。

图10是表示第三实施例的Turbo码解码器的解码结果和CRC校验结果的输出定时的说明图,表示的是通过4次重复解码而没有错误的情况(CRC OK)。根据第三实施例,CRC运算装置52能够在Turbo码解码器51a一位一位地输入解码结果的同时进行CRC的运算,因此,即,能够在Turbo码解码器51a进行Turbo码解码的同时进行CRC运算装置52的CRC运算。因此,在Turbo码解码器51a的重复解码结束后,CRC运算装置52能够立即输出对于该重复解码结果的CRC校验结果,Turbo码解码器控制部53能够在检测出CRC OK后立即对Turbo码解码器51a输出停止指示,使Turbo码解码动作停止。结果,Turbo码解码器51a能够不进行多余的重复解码地开始下一编码数据的解码动作。

另外,参照图20的解码结果为第三次的定时的情况,在现有例中,不得不同时进行第二次的交错顺序的CRC校验运算和第三次的正顺的CRC校验运算。因此,在现有例中,根据同时进行CRC运算的状况能够假定安装有两个CRC运算器。但是根据第三实施例,能够仅由一个CRC运算器进行Turbo码解码结果的CRC运算,能够减少CRC运算装置的安装个数。

(E)第四实施例

图11是第四实施例的CRC运算装置的结构图,具有在输入位列并行化输入的情况下按每个并行输入数据地计算剩余Ri(x)的结构。另外,对与图3相同的部分标注相同符号。

图12是输入位列并行化地输入CRC运算装置的情况的说明图。在发送侧,对发送信息添加CRC位,将添加有该CRC位的信息分割为多个图中为5个块,对各分割的块由Turbo码编码器TCDR1~TCDR5例如进行Turbo码编码并发送。另外,信息长为5×M位,分割为0~M-1、M~2M-1、2M~3M-1、3M~4M-1、4M~5M-1。

接收侧的Turbo码解码器TDEC1~TDEC5对接收的各个编码数据进行Turbo码解码,将解码结果并行地输入图11的并行型CRC运算装置60。CRC运算装置60具有图11所示的结构,对并行输入的各个M位数据例如进行第一实施例的剩余运算,对各并行数据使用得到的剩余值计算5×M位的剩余值R(x),对该剩余值R(x)是否为0进行校验,输出校验结果。

在图11中,从各Turbo码解码器TDEC1~TDEC5输出的M位的解码结果和位编号以正规的顺序或者交错后的顺序输入第一~第五剩余运算部61a、61b、......61e。例如,M位的解码结果a0~aM-1以正规的顺序或交错后的顺序输入第一剩余运算部61a,与该解码结果位一同输入表示正规的位位置的位编号0~M-1。此外,M位的解码结果aM~a2M-1以正规的顺序或交错后的顺序输入第二剩余运算部61b,与该解码结果位一同输入表示正规的位位置的位编号M~2M-1。同样的,M位的解码结果a4M~a5M-1以正规的顺序或交错后的顺序输入第五剩余运算部61e,与该解码结果位一同输入表示正规的位位置的位编号4M~5M-1。

剩余运算部61a、61b、......61e相当于图3的第一实施例中的剩余存储器11和乘法运算部12,在各剩余存储器11a~11e中分别与位位置对应地存储有剩余Ri(x)。即,在剩余存储器11a中与位位置i=0~M  -1对应地存储有R0(x)~RM-1(x),在剩余存储器11b中与位位置i=M~2M-1对应地存储有RM(x)~R2M-1(x),以下同样地,在剩余存储器11e中与位位置i=4M~5M-1对应地存储有R4M(x)~R5M-1(x),各剩余存储器11a~11e输出与输入的位位置对应的剩余。乘法运算部12a~12e在分别输入的解码结果位上乘以从剩余存储器11a~11e输入的剩余值,并输入加法运算部13。另外,利用乘法运算部12a~12e作为整体向加法运算部13一次输入5位的量的剩余。加法运算部13对此前的加法运算结果(保存在寄存器14,初始值为0)与乘法运算器12a~12e的输出,位对应地进行模2加法运算,将加法运算结果保存在寄存器14。之后,对输入数据的M位重复进行上述处理,作为剩余R(x)输出最后的模2加法运算结果。错误检测部15,在剩余R(x)在全部的位为0时判定输入数据串不存在错误,在此之外的情况下判定为存在错误,输出判定结果。图11中使图3的第一实施例的CRC运算装置为基本结构,但也能够使图6的第二实施例的CRC运算装置为基本结构。

根据以上内容,CRC运算装置60,在解码结果并行输入时,将各并行数据串的不为0的位数据的与正规位位置对应的剩余值全部在加法运算器13中进行模2加法运算,在加法运算结果在全部的位为0时判定在输入数据串中不存在错误,在此之外的情况下判定为存在错误,输出校验结果。

发明效果

根据以上本发明,即使在输入数据的位列被变更排列的情况下,也能够直接(不变更排列为正规的顺序)输出CRC校验结果。此外,根据本发明,在解码结果没有错误时,能够立即输出CRC校验结果。此外,根据本发明,在解码结果没有错误时,能够立即停止解码动作,开始下一编码数据的解码,能够减少对一个编码数据的解码器的解码次数。此外,根据本发明,能够以小规模的硬件结构实现作为本发明目的的CRC运算装置。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号