用于发送的设备和方法、 用于接收的设备和方法以及程序 技术领域 本发明涉及一种用于发送的设备和方法、 用于接收的设备和方法以及程序, 尤其 涉及一种使得能够针对具有不同码长度的多段数据获得接近使用 CRC 的系统中的极限值 的未检出差错概率特性的用于发送的设备和方法、 用于接收的设备和方法以及程序。
背景技术 当从信息记录设备向信息再现设备发送数据时, 或者当从发送设备向接收设备发 送数据时, 传输线路等上的数据中可能出现差错。存在 CRC( 循环冗余校验 ) 作为用于检测 数据中是否出现差错的方法。 为了执行 CRC, 需要预先在发送侧设备中对要发送的数据执行 CRC 编码。
图 1 是示出发送接收系统的配置的示例的框图。
图 1 的发送接收系统通过将发送设备 1 和接收设备 3 经由传输线路 2 彼此连接而 形成。发送设备 1 由 CRC 编码器 11、 差错校正编码器 12 和传输线路编码器 13 构成。接收
设备 3 由码检测器 21、 传输线路解码器 22、 差错校正解码器 23 和 CRC 检测器 24 构成。 将作 为发送对象的发送数据作为用作 CRC 编码处理的对象的信息字输入到发送设备 1 中的 CRC 编码器 11。
作为 CRC 编码处理的对象的信息字以取值 1 和 0 的位串的形式输入到 CRC 编码器 11。因此, 下文中, 还适当地将作为 CRC 编码处理的对象的信息字称为信息位序列。另外, 下文中将表示为取值 1 和 0 的位串的码字 (CRC 码 ) 称为码位序列, 通过对信息位序列执行 CRC 编码处理而获得该码字。
CRC 编码器 11 通过对输入的信息字添加 CRC 奇偶来执行 CRC 编码处理。CRC 编码 器 11 将通过执行 CRC 编码处理而获得的 CRC 码输出到差错校正编码器 12。
差错校正编码器 12 对从 CRC 编码器 11 提供的 CRC 码执行诸如 Reed-Solomon 编 码处理等的差错校正编码处理, 并将由差错校正编码处理获得的数据输出到传输线路编码 器 13。
传输线路编码器 13 根据传输线路 2 对从差错校正编码器 12 提供的数据执行编码 处理 ( 调制处理等 ), 并经由传输线路 2 将产生的数据发送到接收设备 3。经由传输线路 2 将表示从传输线路编码器 13 发送的数据的信号输入到接收设备 3 中的码检测器 21。
码检测器 21 基于输入信号检测数据, 并将检测到的数据输出到传输线路解码器 22。
传输线路解码器 22 根据传输线路 2 对从码检测器 21 提供的数据执行解码处理 ( 解调处理等 ), 并将获得的数据输出到差错校正解码器 23。
差错校正解码器 23 对从传输线路解码器 22 提供的数据执行差错校正处理, 并将 由差错校正处理获得的数据作为接收数据输出。将从差错校正解码器 23 输出的接收数据 作为由取值 1 和 0 的位串构成的接收位序列提供到下一级中的设备, 并且提供到 CRC 检测 器 24。CRC 检测器 24 对从差错校正解码器 23 提供的接收位序列执行 CRC 处理, 以确定是 否正确地执行了差错校正, 也就是说, 在接收位序列中是否存在差错。 CRC 检测器 24 将指示 确定结果的一致信号输出到下一级中的设备。
当存在于接收设备 3 的下一级中的设备是记录设备, 并且记录设备设置有用于将 接收数据记录在记录介质上的驱动器时, 在驱动器的控制器中使用从 CRC 检测器 24 输出的 一致信号以提高可靠性, 或者例如用来确定是否向发送设备 1 发出了数据重新发送请求。 作为 CRC 码的其它使用, CRC 码被用作码检测器 21 中的后处理器的一部分, 并且被用于包 通信中的头信息和传输包。
下面描述使用 CRC 码的差错检测的原理。
当向 k 位的信息字添加 r 位的奇偶以形成具有 n(n = k+r) 位的码长度的码字时, 用下面的等式 (1) 表示值 M(x)·xr, 值 M(x)·xr 通过将信息字表示为多项式的 (k-1) 阶信 息多项式 M(x) 乘以 xr 而获得, 其中, R(x) 和 Q(x) 分别为将值 M(x)·xr 除以 r 阶生成多项 式 G(x) 时获得的 (r-1) 阶余数多项式和商多项式。另外, 当将通过 CRC 编码处理获得的码 字设置为 (n-1) 阶码多项式 W(x) 时, 用下面的等式 (2) 表示码多项式 W(x)。
[ 等式 1]
M(x)·xr = Q(x)·G(x)+R(x) … (1)
[ 等式 2]
W(x) = M(x)·xr-R(x) … (2)
根据等式 (1) 和 (2), 用下面的等式 (3) 表示码多项式 W(x)。码多项式 W(x) 可以 被生成多项式 G(x) 除尽。
[ 等式 3]
W(x) = Q(x)·G(x) … (3)
根据上面的描述, 当将从差错校正解码器 23 提供到 CRC 检测器 24 的接收数据设 置为接收多项式 Y(x) 时, 接收由码多项式 W(x) 表示的码字的接收设备 3 中的 CRC 检测器 24 校验接收多项式 Y(x) 是否可被生成多项式 G(x) 除尽, 该码字从图 1 中的发送设备 1 发 送。
当校验结果显示接收多项式 Y(x) 可被生成多项式 G(x) 除尽时, 接收多项式 Y(x) 与码多项式 W(x) 一致, 因此 CRC 检测器 24 确定没有出现差错。另一方面, 当接收多项式 Y(x) 不能被生成多项式 G(x) 除尽时, 接收多项式 Y(x) 与码多项式 W(x) 不一致, 因此 CRC 检测器 24 确定在传输线路 2 上出现了差错。
因为 CRC 码是循环码, 因此当确定了生成多项式 G(x) 时, 可以使用移位寄存器和 异或运算电路在设备中容易地实现 CRC 码。作为生成多项式 G(x), 广泛地已知作为 16 位 16 12 5 16 15 CRC 的 CRC-CCITT(G(x) = x +x +x +1) 和 CRC-ANSI(G(x) = x +x +x2+1)。
下面将对生成多项式 G(x) = x3+x+1(r = 3) 时发送设备 1 中的 CRC 编码器 11 和 接收设备 3 中的 CRC 检测器 24 的配置进行描述。
图 2 是示出 CRC 编码器 11 的配置的示例的图。
如图 2 所示, CRC 编码器 11 由 CRC 奇偶生成器 31、 选择器 32、 选择器 33 和位数计 数器 34 构成。具有这种配置的 CRC 编码器 11 根据由信息多项式 M(x) 表示的信息位序列 生成由码多项式 W(x) 表示的码位序列。CRC 奇偶生成器 31 生成要添加到 k 位的信息位序列的 r 位的 CRC 奇偶, 并将生成 的 CRC 奇偶输出到选择器 32。稍后参照图 3 描述 CRC 奇偶生成器 31 的配置。
选择器 32 根据从图中未示出的控制电路输出的选择信号 S0 选择从 CRC 奇偶生成 器 31 输入到输入端子 00、 01 和 10 的输出 R00out、 R01out 和 R02out 之一, 并且依次将输出输出 到选择器 33 的 “1” 输入端子。
在将 k 位的信息位序列输入到选择器 33 的 “0” 输入端子时, 选择器 33 根据从位 数计数器 34 输出的选择信号 S1 选择信息位序列, 并按原样输出信息位序列。另外, 在信息 位序列的输入结束的定时, 选择器 33 选择并输出 CRC 奇偶作为选择器 32 的输出, 将该输出 输入到 “1” 输入端子。
因此, 从选择器 33 输出码长度为 n = k+r 的码位序列, 该码位序列由 k 位的信息 位序列和基于 k 位的信息位序列生成的 r 位的 CRC 奇偶构成。
图 3 是示出图 2 中的 CRC 奇偶生成器 31 的配置的示例的电路图。如上所述, 生成 3 多项式 G(x) 是 x +x+1。
如图 3 所示, CRC 奇偶生成器 31 通过循环地连接移位寄存器 R00、 作为第一异或运 算电路的 EXOR1、 移位寄存器 R01、 移位寄存器 R02 和作为第二异或运算电路的 EXOR2 而形 成。将 EXOR2 的输出输入到移位寄存器 R00, 并且输入到 EXOR1。 每次 ( 例如在由用于操作移位寄存器的时钟信号定义的每个定时 ) 将由信息多项 式 M(x) 表示的信息位序列以从高阶项的位开始的顺序逐位输入到 EXOR2。预先将信息多 项式 M(x) 乘以 xr 的形式的信息位序列 M(x)·xr 输入到 CRC 奇偶生成器 31。移位寄存器 R00、 R01 和 R02 的初始值为零。
当信息位序列的零阶项的位到 CRC 奇偶生成器 31 的输入结束时, 从图中未示出的 控制电路输出的使能信号 E0 失效 ( 未激活状态 ), 并且保持移位寄存器 R00、 R01 和 R02 的 值。信息位序列的零阶项的位到 CRC 奇偶生成器 31 的输入结束时的时间点处的移位寄存 器 R00、 R01 和 R02 的值是余数多项式 R(x) 的各个阶的系数。也就是说, 将余数多项式 R(x) 2 表示为 R(x) = (R02 的值 )×x +(R01 的值 )×x+(R00 的值 )。
分别将移位寄存器 R00、 R01 和 R02 的值分别作为输出 R00out、 R01out 和 R02out 输出 到选择器 32。将输出 R00out 输入到选择器 32 的输入端子 00。将输出 R01out 输入到选择器 32 的输入端子 01。将输出 R02out 输入到选择器 32 的输入端子 00。
图 4 是示出接收设备 3 中的 CRC 检测器 24 的配置的示例的图。
如图 4 所示, CRC 检测器 24 由 CRC 奇偶校验器 41 和比较器 42 构成。具有这种配 置的 CRC 检测器 24 校验在由接收多项式 Y(x) 表示的接收位序列中是否存在差错, 该接收 位序列是从差错校正解码器 23 提供的。
CRC 奇偶校验器 41 将接收多项式 Y(x) 除以生成多项式 G(x), 并将表示余数多项 式 R(x) 的系数的输出 R10out、 R11out 和 R12out 输出到比较器 42。
比较器 42 基于来自 CRC 奇偶校验器 41 的输出 R10out、 R11out 和 R12out 确定将接收 多项式 Y(x) 除以生成多项式 G(x) 的结果是否有余数。
当比较器 42 由于输出 R10out、 R11out 和 R12out 的值都是零而确定将接收多项式 Y(x) 除以生成多项式 G(x) 的结果没有余数并且接收多项式 Y(x) 可被生成多项式 G(x) 除尽时, 因为接收多项式 Y(x) 与码多项式 W(x) 一致, 因此比较器 42 确定数据中没有出现差错, 并
且输出指示接收多项式 Y(x) 与码多项式 W(x) 一致的一致信号。另外, 当比较器 42 确定将 接收多项式 Y(x) 除以生成多项式 G(x) 的结果有余数, 并且接收多项式 Y(x) 不能被生成多 项式 G(x) 除尽时, 因为接收多项式 Y(x) 与码多项式 W(x) 不一致, 因此比较器 42 确定在数 据中有差错, 并且输出指示接收多项式 Y(x) 与码多项式 W(x) 不一致的一致信号。
图 5 是示出图 4 中的 CRC 奇偶校验器 41 的配置的示例的电路图。
CRC 奇偶校验器 41 的配置对应于图 3 所示的 CRC 奇偶生成器 31 的配置。 如图 5 所 示, CRC 奇偶校验器 41 通过循环地连接作为第一异或运算电路的 EXOR11、 移位寄存器 R10、 作为第二异或运算电路的 EXOR12、 移位寄存器 R11 和移位寄存器 R12 而形成。将移位寄存 器 R12 的输出作为输出 R12out 输入到比较器 42, 并且输入到 EXOR11 和 EXOR12。
每次将由接收多项式 Y(x) 表示的接收位序列以从高阶项的位开始的顺序逐位输 入到 EXOR11 位。移位寄存器 R10、 R11 和 R12 的初始值为零。
接收位序列的零阶项的位到 CRC 奇偶校验器 41 的输入结束时的时间点处移位寄 存器 R10、 R11 和 R12 的值是余数多项式 R(x) 的各阶的系数。也就是说, 将余数多项式 R(x) 2 表示为 R(x) = (R12 的值 )×x +(R11 的值 )×x+(R10 的值 )。
分别将移位寄存器 R10、 R11 和 R12 的值作为输出 R10out、 R11out 和 R12out 输出到比 较器 42。 由具有如上所述的配置的设备实现的 CRC 的性能通常很大程度地受生成多项式 G(x) 的阶、 未检出差错概率 Pud 和最小汉明距离 (minimumHamming distance)dmin 影响。
例如, 随机差错检测能力能够检测到所有个 (dmin-1) 个差错或者更少。然而, 也能 够检测到大量的其它差错。另外, 突发差错检测能力能够检测到长度等于或小于生成多项 式 G(x) 的阶的所有差错。然而, 也能够检测到长度大于生成多项式的阶的许多突发差错。
未检出差错概率 Pud 是指由于在传输线路上出现的差错而从发送的码位序列 ( 通 过向作为用作发送对象的数据而给定的信息位序列之外的另外的信息位序列添加 CRC 奇 偶而获得的码位序列 ) 改变为不同的码位序列的接收位序列的概率, 即使在接收位序列中 存在差错时接收侧设备也确定不存在差错。
如在下面的等式 (4) 和 (5) 中, 由奇偶数 r、 码长度 n、 在确定生成多项式 G(x) 和 码长度 n 时确定的权重分布 A 或者双码的权重分布 B、 以及二进制对称通道的通道位差错概 率 ( 变换概率 )ε 来表示未检出差错概率 Pud( 非专利文献 1)。
[ 等式 4]
[ 等式 5]非专利文献 2 至 8 提出了根据生成多项式的阶 ( 奇偶数 ) 和码长度将未检出差错 概率最小化的各种生成多项式。
例如, 非专利文献 2 和 3 提出了诸如在 16 位 CRC 中的每个码长度下将码的未检出 差错概率最小化的生成多项式。
另外, 非专利文献 5 和 8 示出了存在这样的特性 : 当码长度 n 改变时, 未检出差错
概率 Pud 随着码长度而改变为极值, 其中最小汉明距离 dmin 作为边界改变。在图 6 中示出了 该特性。图 6 示出了 16 位 CRC 中的最小 ( 极限 ) 未检出差错概率。
图 6 的横轴表示码长度 n( 位 ), 纵轴表示未检出差错概率 Pud。图 6 中的虚线表示 针对每个码长度的数据使用由 CRC-CCITT 标准采用的 G(x) = x16+x12+x5+1 时的未检出差错 概率, 实线表示 16 位 CRC 中的理论极限未检出差错概率。
专利文献 1 公开了与选择 CRC 生成多项式的方法相关的发明。 在该发明中, 当给定 生成多项式的阶时, 基于针对该阶的所有生成多项式计算的距离谱来选择生成多项式。距 离谱是示出每个汉明距离下的码字数量的表。 由此选择具有最大和最小汉明距离并使未检 出差错概率最小化的生成多项式。
专利文献 2 公开了选择在尽可能宽的码长度范围内可使用的, 在给定码长度和给 定 CRC 奇偶长度下具有尽可能低的未检出差错概率和尽可能大的最小汉明距离的生成多 项式的方法。
现有技术文献
专利文献
专利文献 1 : 美国专利 6,085,349 号 专利文献 2 : 日本专利特开 2006-180172 号
非专利文献
非 专 利 文 献 1: J.K.Wolf ,R.D.Blakeney , “An exact evaluation of theprobability of undetected error for certain shortened binary CRC codes, ”M i l i t a r y C o m m u n i c a t i o n s C o n f e r e n c e , 1988.MILCOM 88, Conferencerecord. ′ 21st Century Military Communications-What’s Possible ?′ 1988IEEE, vol.1, pp.287-292, Oct.1988。
非 专 利 文 献 2: T.Baicheva, S.Dodunekov, and P.Kazakov, “Undetected error probability performance of cyclic redundancy-checkcodes of 16-bit redundancy, ” IEE Proc.-Commun., vol.147, no.5, pp.253-256, Oct.2000。
非专利文献 3 : P.Kazakov“ ,Fast calculation of the Number ofMinimum-Weight Words of CRC Codes , ” IEEE.Trans.Inform.Theory , vol.47 , no.3 , pp.1190-1195 , Mar.2001。
非 专 利 文 献 4: P.Koopman, “Cyclic Redundancy Code(CRC)Polynomial Selection For Embedded Networks, ” The InternationalConference on Dependable System and Networks, DSN-2004。
非 专 利 文 献 5: G . C a s t a g n o l i ,J . G a n z ,P . G r a b e r , “Optimum CyclicRedundancy-Check Codes with 16-Bit Redundancy, ” IEEE Trans.Commun., vol.38, no.1, pp.111-114, Jan.1990。
非 专 利 文 献 6: G.Funk, “Determination of Best Shortened Codes, ” IEEE TraRs.Commun., vol.44, no.1, PP.1-6, Jan.1996。
非 专 利 文 献 7: D.Chun, J.K.Wolf, “Special Hardware forComputing the Probability of Undetected Error for Certain CRC Codesand Test Results, ” IEEE Trans.Commun., vol.42, no.10, pp.2769-2772, Oct.1994。
非 专 利 文 献 8: G.Castagnoli, S.Brauer, M.Herrmann, “Optimum ofCyclic Redundancy-Check Codes with 24and 32Parity Bits, ” IEEE Trans.Commun., vol.41, no.6, pp.883-892, Jun.1993。 发明内容 技术问题
如上所述, 由生成多项式和码长度确定 CRC 性能 ( 未检出差错概率和能够可靠地 检测出差错的位的数量 )。不存在在所有码长度下具有最佳未检出差错概率和最佳最小汉 明距离的生成多项式。最佳生成多项式根据码长度而不同。
也就是说, 在广泛使用的 CRC-CCITT 标准和 ANSI 标准以及非专利文献 4 至 8 中示 出的生成多项式在有限的码长度范围内具有最佳的未检出差错概率和最佳的最小汉明距 离。
另外, 如图 6 所示, 设计由 CRC-CCITT 标准等采用的生成多项式, 以将具有几千位 的较长码长度的数据设置为对象时的未检出差错概率最小化。 存在当将具有小于几千位的 码长度的较短数据设置为对象时展现甚至更好的性能的生成多项式。
此外, 在实际系统中使用各种码长度和 CRC 奇偶长度。然而, 迄今为止还不知道对 于所有码长度和 CRC 奇偶长度的最佳的生成多项式。当前已知的生成多项式单独在实际系 统中获得最小未检出差错概率时不一定是足够的。
利用通过向用户数据添加头数据和子头数据作为单元而形成的信息进行通信的 公共系统针对头数据和子头数据两者频繁使用 CRC 或者针对头数据和用户数据两者频繁 使用 CRC。
然而, 即使在这种情况下, 通常使用单个生成多项式, 并且实际投入实际使用的通 信系统不根据对象数据的码长度的改变来改变生成多项式。虽然专利文献 2 公开了根据码 长度选择生成多项式的方法, 但是不能必然地说进行了充分的考虑使得选择生成多项式以 对应于对象数据的码长度的改变。
当针对码长度大大不同的多段数据使用 CRC-CCITT 标准等采用的单个生成多项 式, 且该生成多项式被设计为将码长度长时未检出差错概率的最小化时, 当然, 当将短码长 度的数据设置为对象时, 仅获得从极限值大大劣化的未检出差错概率性能。
例如, 由 IEEE802.15.3c 标准定义的头数据和子头数据具有几百位的码长度。当 要针对该具有几百位的码长度的数据使用与由 CRC-CCITT 标准采用的生成多项式相同的 生成多项式执行处理时, 如图 6 所示, 如码长度在几百位附近时的特性, 未检出差错概率显 著远离理论极限值。
考虑这种情况作出了本发明, 特别地, 即使在对象数据的码长度相对较短时, 本发 明也使得能够使用提供接近极限值的未检出差错概率的生成多项式执行处理。
技术方案
根据本发明的一方面的发送设备包括 : CRC 编码处理装置, 其具有多个生成多项 式, 生成多项式用于对具有不同码长度的多段数据中的每段数据执行的 CRC 编码处理, 所 述 CRC 编码处理装置用于根据对象数据选择生成多项式, 并执行所述 CRC 编码处理 ; 以及发 送装置, 用于发送通过由 CRC 编码处理装置执行的 CRC 编码处理而获得的数据。
在 CRC 编码处理装置中设置针对具有第一码长度的第一数据的第一生成多项式 和针对具有第二码长度的第二数据的第二生成多项式作为多个生成多项式, 并且 CRC 编码 处理装置能够根据对象数据是第一数据还是第二数据来选择第一生成多项式和所述第二 生成多项式之一, 并执行 CRC 编码处理。
第一生成多项式可以是最小汉明距离等于第一码长度下的最小汉明距离的最大 值的生成多项式, 并且是从以未检出差错概率的升序选择的预定数量的生成多项式中选择 的生成多项式, 并且第二生成多项式可以是最小汉明距离等于第二码长度下的最小汉明距 离的最大值的生成多项式, 并且是从以未检出差错概率的升序选择的预定数量的生成多项 式中选择的生成多项式。
根据本发明的一方面的发送方法或程序包括步骤 : 根据对象数据选择生成多项 式, 并执行 CRC 编码处理 ; 以及发送通过 CRC 编码处理获得的数据。
根据本发明的另一方面的接收设备包括 : 获取装置, 用于基于从发送设备发送的 信号来获取数据 ; 以及 CRC 处理装置, 其具有多个生成多项式, 生成多项式用于对具有不同 码长度的多段数据中的每段数据执行的 CRC 处理, CRC 处理装置用于通过根据获取装置获 取的数据选择生成多项式并执行 CRC 处理来检测数据差错。 在 CRC 处理装置中设置针对具有第一码长度的第一数据的第一生成多项式和针 对具有第二码长度的第二数据的第二生成多项式作为多个生成多项式, CRC 处理装置能够 根据获取装置获取的数据是第一数据还是第二数据来选择第一生成多项式和第二生成多 项式之一, 并执行 CRC 处理。
第一生成多项式可以是最小汉明距离等于第一码长度下的最小汉明距离的最大 值的生成多项式, 并且是从以未检出差错概率的升序选择的预定数量的生成多项式中选择 的生成多项式, 并且第二生成多项式可以是最小汉明距离等于第二码长度下的最小汉明距 离的最大值的生成多项式, 并且是从以未检出差错概率的升序选择的预定数量的生成多项 式中选择的生成多项式。
根据本发明的另一方面的接收方法或程序包括步骤 : 基于从发送设备发送的信号 获取数据 ; 以及通过根据所获取的数据选择生成多项式并执行 CRC 处理来检测数据差错。
根据本发明的一个方面, 根据对象数据选择生成多项式, 执行 CRC 编码处理, 并且 发送通过执行 CRC 编码处理而获取的数据。
根据本发明的另一方面, 根据从发送设备发送的信号获取数据, 并且通过根据获 取的数据选择生成多项式并执行 CRC 处理来检测数据差错。有益效果
根据本发明, 可以使用提供接近极限值的未检出差错概率的生成多项式来执行处 理。
附图说明
图 1 是示出发送接收系统的配置的示例的框图。 图 2 是示出图 1 中的 CRC 编码器的配置的示例的图。 图 3 是示出图 2 中的 CRC 奇偶生成器的配置的示例的电路图。 图 4 是示出图 1 中的 CRC 检测器的配置的示例的图。 图 5 是示出图 4 中的 CRC 奇偶校验器的配置的示例的电路图。图 6 是示出未检出差错概率的计算结果的示例的图。 图 7 是示出根据本发明的实施例的发送和接收系统的配置的示例的框图。 图 8 是示出图 7 中的发送设备的配置的示例的框图。 图 9 是示出图 8 中的 CRC 编码器中用于生成 CRC 奇偶的部分的配置的示例的电路 图 10 是示出图 7 中的接收设备的配置的示例的框图。 图 11 是示出图 10 中的 CRC 检测器中的执行 CRC 奇偶的部分的配置的示例的电路 图 12 是辅助说明发送设备的处理的流程图。 图 13 是辅助说明接收设备的处理的流程图。 图 14 是示出生成多项式候选对象的图。 图 15 是示出通过码长度划分的图 14 中的生成多项式候选对象的图。 图 16 是示出生成多项式候选对象的另一图。 图 17 是示出通过码长度划分的图 16 中的生成多项式候选对象的图。 图 18 是示出生成多项式候选对象的又一图。 图 19 是示出通过码长度划分的图 18 中的生成多项式候选对象的图。 图 20 是示出未检出差错概率的计算结果的图。 图 21 是示出信息处理设备的配置的示例的框图。 图 22 是辅助说明在信息处理设备中选择生成多项式的处理的流程图。 图 23 是辅助说明在图 22 中的步骤 S51 中执行的提取处理的流程图。图。
图。
具体实施方式
图 7 是示出根据本发明的一个实施例的发送和接收系统的配置的示例的框图。
图 7 的发送和接收系统由作为数据发送侧设备的发送设备 101 和作为数据接收侧 设备的接收设备备 102 构成。在图 7 的发送和接收系统中, 例如根据作为使用 60-GHz 频带 中的毫米波的无线电通信标准的 IEEE802.15.3c 标准来发送和接收数据。
发送设备 101 适当地对诸如视频数据、 音频数据等的作为发送对象的数据的用户 数据、 头数据和子头数据执行 CRC 编码处理、 差错校正编码处理和传输线路编码处理, 并发 送通过这些处理获得的数据。
在发送设备 101 中设置针对头数据的生成多项式和针对子头数据的生成多项式, 在对头数据执行 CRC 编码处理时, 使用针对头数据的生成多项式, 在对子头数据执行 CRC 编 码处理时, 使用针对子头数据的生成多项式。根据要执行 CRC 编码处理的数据选择生成多 项式。
针对头数据的生成多项式是在针对等于头数据的码长度的例如 176 位的数据使 用时未检出差错概率变得较低的生成多项式。 针对子头数据的生成多项式是在针对等于子 头数据的码长度的例如 656 位的数据使用时未检出差错概率变得较低的生成多项式。稍后 描述选择每个生成多项式的方法。
接收设备 102 以传输线路作为间隔来接收从发送设备 101 发送的数据。
接收设备 102 检测来自接收信号的数据, 并且通过对检测到的数据执行传输线路解码处理和差错校正解码处理来获得接收数据。接收设备 102 或者连接到接收设备 102 的 外部设备使用获得的接收数据来执行接收数据的再现、 记录等。
另外, 接收设备 102 通过对接收数据执行 CRC 处理来检测数据差错。如在发送设 备 101 中, 在接收设备 102 中设置针对头数据的生成多项式和针对子头数据的生成多项式。 选择要在 CRC 处理中使用的生成多项式。
通过如此根据对象数据是头数据还是子头数据选择生成多项式, 在发送设备 101 执行 CRC 编码处理, 并在接收设备 102 中执行 CRC 处理, 能够实现高可靠性的 CRC。
图 8 是示出发送设备 101 的配置的示例的框图。
如图 8 所示, 发送设备 101 由控制器 111、 CRC 编码器 112、 差错校正编码器 113 和 传输线路编码器 114 构成。
控制器 111 以预定顺序将用户输入的用户数据、 头数据和子头数据输出到 CRC 编 码器 112。
另外, 当设置为 CRC 编码器 112 中的 CRC 编码处理的对象的数据是头数据时, 控制 器 111 输出用于发出使用针对头数据的生成多项式执行 CRC 编码处理的指令的选择信号。 另一方面, 当设置为 CRC 编码器 112 中的 CRC 编码处理的对象的数据是子头数据时, 控制器 111 输出用于发出使用针对子头数据的生成多项式执行 CRC 编码处理的指令的选择信号。 因此, 控制器 111 根据设置为 CRC 编码处理的对象的数据向 CRC 编码器 112 输出指定要在 CRC 编码处理中使用的生成多项式的选择信号。 CRC 编码器 112 向头添加通过对从控制器 111 提供的头数据执行 CRC 编码处理而 获得 CRC 奇偶, 并且向子头添加通过对子头数据执行 CRC 编码处理而获得 CRC 奇偶。
对头数据执行的 CRC 编码处理和对子头数据执行的 CRC 编码处理根据从控制器 111 提供的选择信号使用各个不同的生成多项式。CRC 编码器 112 将添加了头和子头的预 定格式的数据输出到差错校正编码器 113。附带地, 当需要对用户数据执行 CRC 编码处理 时, 在 CRC 编码处理中使用预先设置的预定生成多项式。
差错校正编码器 113 对从 CRC 编码器 112 提供的数据执行诸如 Reed-Solomon 编 码处理等的差错校正编码处理, 并将通过差错校正编码处理获得的数据输出到传输线路编 码器 114。
传输线路编码器 114 根据传输线路对从差错校正编码器 113 提供的数据执行编码 处理 ( 调制处理等 ), 并发送获得的数据。
图 9 是示出图 8 中的 CRC 编码器 112 中的用于生成 CRC 奇偶的部分 ( 对应于图 3 中的 CRC 奇偶生成器 31 的部分 ) 的配置的示例的图。
将形成头数据或子头数据的序列数据 ( 信息位序列 ) 输入到图 9 的电路。
图 9 示出了使用 G1(x) = x16+x14+x13+x12+x8+x7+x6+x5+x2+x+1 作为针对头数据的生 成多项式, 并且使用 G2(x) = x16+x12+x11+x9+x5+x4+x3+x2+1 作为针对子头数据的生成多项式 的示例。当来自控制器 111 的选择信号指示值 0 时, 使用生成多项式 G1(x) = x16+x14+x13+x 12 +x8+x7+x6+x5+x2+x+1 进行运算。当来自控制器 111 的选择信号指示值 1 时, 使用生成多项 16 12 11 9 5 4 3 2 式 G2(x) = x +x +x +x +x +x +x +x +1, 进行运算。图 9 中的表示移位寄存器的块内的字 母 “D” 右侧的上标数字表示彼此串联连接的移位寄存器的数量。对于稍后描述的图 11 也 是如此。
EXOR 电路 121 基于从控制器 111 输入的序列数据和在移位寄存器 122 中延迟了两 个定时的值进行异或运算。将 EXOR 电路 121 的运算结果作为序列数据输出, 并提供到 AND 电路 149 至 158、 EXOR 电路 127、 139 和 145 以及移位寄存器 148。
EXOR 电路 147 基于在移位寄存器 148 中延迟了一个定时的值和从 AND 电路 158 提 供的值进行异或运算。将 EXOR 电路 147 的运算结果提供到移位寄存器 146。
EXOR 电路 145 基于在移位寄存器 146 中延迟了一个定时的值和从 EXOR 电路 121 提供的值进行异或运算。将 EXOR 电路 145 的运算结果提供到移位寄存器 144。
EXOR 电路 143 基于在移位寄存器 144 中延迟了一个定时的值和从 AND 电路 157 提 供的值进行异或运算。将 EXOR 电路 143 的运算结果提供到移位寄存器 142。
EXOR 电路 141 基于在移位寄存器 142 中延迟了一个定时的值和从 AND 电路 156 提 供的值进行异或运算。将 EXOR 电路 141 的运算结果提供到移位寄存器 140。
EXOR 电路 139 基于在移位寄存器 140 中延迟了一个定时的值和从 EXOR 电路 121 提供的值进行异或运算。将 EXOR 电路 139 的运算结果提供到移位寄存器 138。
EXOR 电路 137 基于在移位寄存器 138 中延迟了一个定时的值和从 AND 电路 155 提 供的值进行异或运算。将 EXOR 电路 137 的运算结果提供到移位寄存器 136。
EXOR 电路 135 基于在移位寄存器 136 中延迟了一个定时的值和从 AND 电路 154 提 供的值进行异或运算。将 EXOR 电路 135 的运算结果提供到移位寄存器 134。
EXOR 电路 133 基于在移位寄存器 134 中延迟了一个定时的值和从 AND 电路 153 提 供的值进行异或运算。将 EXOR 电路 133 的运算结果提供到移位寄存器 132。
EXOR 电路 131 基于在移位寄存器 132 中延迟了一个定时的值和从 AND 电路 152 提 供的值进行异或运算。将 EXOR 电路 131 的运算结果提供到移位寄存器 130。
EXOR 电路 129 基于在移位寄存器 130 中进一步延迟了两个定时的值和从 AND 电路 151 提供的值进行异或运算。将 EXOR 电路 129 的运算结果提供到移位寄存器 128。
EXOR 电路 127 基于在移位寄存器 128 中延迟了一个定时的值和从 EXOR 电路 121 提供的值进行异或运算。将 EXOR 电路 127 的运算结果提供到移位寄存器 126。
EXOR 电路 125 基于在移位寄存器 126 中延迟了一个定时的值和从 AND 电路 150 提 供的值进行异或运算。将 EXOR 电路 125 的运算结果提供到移位寄存器 124。
EXOR 电路 123 基于在移位寄存器 124 中延迟了一个定时的值和从 AND 电路 149 提 供的值进行异或运算。将 EXOR 电路 123 的运算结果提供到移位寄存器 122。
当从 EXOR 电路 121 输出的值和从控制器 111 作为选择信号输出并且在 NOT 电路 159 中反转的值都是 1 时, AND 电路 149、 150、 153、 154、 155 和 158 输出值 1。否则, AND 电路 149、 150、 153、 154、 155 和 158 输出值 0。
当从 EXOR 电路 121 输出的值和从控制器 111 作为选择信号输出的值都是 1 时, AND 电路 151、 152、 156 和 157 输出值 1。否则, AND 电路 151、 152、 156 和 157 输出值 0。
图 10 是示出接收设备 102 的配置的示例的框图。
如图 10 所示, 接收设备 102 由码检测器 201、 传输线路解码器 202、 差错校正解码 器 203、 CRC 检测器 204 和控制器 205 构成。
码检测器 201 基于接收信号检测数据, 并将检测到的数据输出到传输线路解码器 202。传输线路解码器 202 根据传输线路对从码检测器 201 提供的数据进行解码处理 ( 解调处理等 ), 并将获得的数据输出到差错校正解码器 203。
差错校正解码器 203 对从传输线路解码器 202 提供的数据进行差错校正处理, 并 将通过差错校正处理而获得的数据作为接收数据输出。接收数据包括用户数据、 头数据和 子头数据。将从差错校正解码器 203 输出的接收数据提供到对接收数据进行再现、 记录等 的下一级的处理部分, 并且提供到 CRC 检测器 204 和控制器 205。
CRC 检测器 204 对从差错校正解码器 203 提供的接收数据进行 CRC 处理, 并检测 数据差错。当对头数据进行 CRC 处理时, CRC 检测器 204 使用根据从控制器 205 提供的选 择信号选择的生成多项式进行处理。当对子头数据进行 CRC 处理时, CRC 检测器 204 使用 根据从控制器 205 提供的选择信号选择的生成多项式进行处理。CRC 检测器 204 将指示检 测结果的一致信号输出到下一级的处理部分。 例如使用一致信号来确定是否请求发送设备 101 重新发送数据。
控制器 205 基于从差错校正解码器 203 提供的接收数据识别设置为 CRC 检测器 204 中的 CRC 处理的对象的数据。将与提供到 CRC 检测器 204 的接收数据相同的接收数据 从差错校正解码器 203 提供到控制器 205。
当设置为 CRC 检测器 204 中的 CRC 处理的对象的数据是头数据时, 控制器 205 输 出用于发出使用针对头数据的生成多项式进行 CRC 处理的指令的选择信号。另一方面, 当 设置为 CRC 检测器 204 中的 CRC 处理的对象的数据是子头数据时, 控制器 205 输出用于发 出使用针对子头数据的生成多项式进行 CRC 处理的指令的选择信号。因此, 控制器 205 根 据设置为 CRC 处理的对象的数据向 CRC 检测器 204 输出指定要在 CRC 处理中使用的生成多 项式的选择信号。
图 11 是示出图 10 中的 CRC 检测器 204 中的执行 CRC 奇偶校验的部分 ( 对应于图 5 的 CRC 奇偶校验器 41 的部分 ) 的配置的示例的图。
图 11 也示出了使用 G1(x) = x16+x14+x13+x12+x8+x7+x6+x5+x2+x+1 作为针对头数据的 生成多项式, 并且使用 G2(x) = x16+x12+x11+x9+x5+x4+x3+x2+1 作为针对子头数据的生成多项 式的示例。当来自控制器 205 的选择信号指示值 0 时, 使用生成多项式 G1(x) = x16+x14+x13 +x12+x8+x7+x6+x5+x2+x+1 进行运算。当来自控制器 205 的选择信号指示值 1 时, 使用生成多 16 12 11 9 5 4 3 2 项式 G2(x) = x +x +x +x +x +x +x +x +1 进行运算。
EXOR 电路 211 基于从差错校正解码器 203 作为序列数据提供的接收数据和在移位 寄存器 238 中延迟了两个定时的值进行异或运算。将 EXOR 电路 211 的运算结果提供到移 位寄存器 212。
EXOR 电路 213 基于在移位寄存器 212 中延迟了一个定时的值和从 AND 电路 248 提 供的值进行异或运算。将 EXOR 电路 213 的运算结果提供到移位寄存器 214。
EXOR 电路 215 基于在移位寄存器 214 中延迟了一个定时的值和从移位寄存器 238 提供的值进行异或运算。将 EXOR 电路 215 的运算结果提供到移位寄存器 216。
EXOR 电路 217 基于在移位寄存器 216 中延迟了一个定时的值和从 AND 电路 247 提 供的值进行异或运算。将 EXOR 电路 217 的运算结果提供到移位寄存器 218。
EXOR 电路 219 基于在移位寄存器 218 中延迟了一个定时的值和从 AND 电路 246 提 供的值进行异或运算。将 EXOR 电路 219 的运算结果提供到移位寄存器 220。EXOR 电路 221 基于在移位寄存器 220 中延迟了一个定时的值和从移位寄存器 238 提供的值进行异或运算。将 EXOR 电路 221 的运算结果提供到移位寄存器 222。
EXOR 电路 223 基于在移位寄存器 222 中延迟了一个定时的值和从 AND 电路 245 提 供的值进行异或运算。将 EXOR 电路 223 的运算结果提供到移位寄存器 224。
EXOR 电路 225 基于在移位寄存器 224 中延迟了一个定时的值和从 AND 电路 244 提 供的值进行异或运算。将 EXOR 电路 225 的运算结果提供到移位寄存器 226。
EXOR 电路 227 基于在移位寄存器 226 中延迟了一个定时的值和从 AND 电路 243 提 供的值进行异或运算。将 EXOR 电路 227 的运算结果提供到移位寄存器 228。
EXOR 电路 229 基于在移位寄存器 228 中延迟了一个定时的值和从 AND 电路 242 提 供的值进行异或运算。将 EXOR 电路 229 的运算结果提供到移位寄存器 230。
EXOR 电路 231 基于在移位寄存器 230 中延迟了两个定时的值和从 AND 电路 241 提 供的值进行异或运算。将 EXOR 电路 231 的运算结果提供到移位寄存器 232。
EXOR 电路 233 基于在移位寄存器 232 中延迟了一个定时的值和从移位寄存器 238 提供的值进行异或运算。将 EXOR 电路 233 的运算结果提供到移位寄存器 234。
EXOR 电路 235 基于在移位寄存器 234 中延迟了一个定时的值和从 AND 电路 240 提 供的值进行异或运算。将 EXOR 电路 235 的运算结果提供到移位寄存器 236。 EXOR 电路 237 基于在移位寄存器 236 中延迟了一个定时的值和从 AND 电路 239 提 供的值进行异或运算。将 EXOR 电路 237 的运算结果提供到移位寄存器 238。
当在移位寄存器 238 中延迟了两个定时的值和从控制器 205 作为选择信号输出并 且在 NOT 电路 249 中反转的值都是 1 时, AND 电路 239、 240、 243、 244、 245 和 248 输出值 1。 否则, AND 电路 239、 240、 243、 244、 245 和 248 输出值 0。
当在移位寄存器 238 中延迟了两个定时的值和从控制器 205 作为选择信号输出的 值都是 1 时, AND 电路 241、 242、 246 和 247 输出值 1。否则, AND 电路 241、 242、 246 和 247 输出值 0。
下面将描述具有如上所述的配置的发送设备 101 和接收设备 102 的处理。
首先参照图 12 的流程图描述发送数据的发送设备 101 的处理。当发送设备 101 的用户输入用户数据、 头数据和子头数据时, 该处理开始。
在步骤 S1 中, 控制器 111 以预定顺序将用户输入的用户数据、 头数据和子头数据 输出到 CRC 编码器 112。
在步骤 S2 中, 控制器 111 根据设置为 CRC 编码处理的对象的数据, 将指定要在 CRC 编码处理中使用的生成多项式的选择信号输出到 CRC 编码器 112。
在步骤 S3 中, CRC 编码器 112 根据从控制器 111 提供的选择信号选择生成多项式, 并且对头数据或者子头数据进行 CRC 编码处理。向头添加通过使用针对头数据的生成多项 式进行 CRC 编码处理而获得的 CRC 奇偶。向子头添加通过使用针对子头数据的生成多项式 进行 CRC 编码处理而获得的 CRC 奇偶。
在步骤 S4 中, 差错校正编码器 113 对从 CRC 编码器 112 提供的数据进行差错校正 编码处理, 并将通过进行差错校正编码处理而获得的数据输出到传输线路编码器 114。
在步骤 S5 中, 传输线路编码器 114 根据传输线路对从差错校正编码器 113 提供的 数据进行编码处理。
在步骤 S6 中, 传输线路编码器 114 将通过进行编码处理而获得的数据发送到接收 设备 102, 并且处理结束。
接下来, 将参照图 13 的流程图描述接收数据的接收设备 102 的处理。
在步骤 S11 中, 码检测器 201 基于接收信号检测数据, 并将检测到的数据输出到传 输线路解码器 202。
在步骤 S12 中, 传输线路解码器 202 根据传输线路对从码检测器 201 提供的数据 进行解码处理, 并将获得的数据输出到差错校正解码器 203。
在步骤 S13 中, 差错校正解码器 203 对从传输线路解码器 202 提供的数据进行差 错校正处理, 并将通过进行差错校正处理而获得的数据作为接收数据输出。
在步骤 S14 中, 控制器 205 基于从差错校正解码器 203 提供的接收数据识别设置 为 CRC 检测器 204 中的 CRC 处理的对象的数据。
在步骤 S15 中, 控制器 205 根据设置为 CRC 处理的对象的数据, 将指定要在 CRC 处 理中使用的生成多项式的选择信号输出到 CRC 检测器 204。
在步骤 S16 中, CRC 检测器 204 根据从控制器 205 提供的选择信号选择生成多项 式, 并对从差错校正解码器 203 提供的接收信号进行 CRC 处理。当对头数据进行 CRC 处理 时, 使用针对头数据的生成多项式。当对子头数据进行 CRC 处理时, 使用针对子头数据的生 成多项式。CRC 检测器 204 输出指示 CRC 处理的结果的一致信号, 并且处理结束。 通过上述处理能够实现高可靠性的 CRC。
下面描述在发送设备 101 的 CRC 编码器 112 和接收设备 102 的 CRC 检测器 204 中 设置的生成多项式。
下面, 为了方便描述, 采用以十六进制数表示系数的设置的方法作为表示生成多 项式 G(x) 的方法。 例如, 作为十六进制数的 12D 在表示为二进制数时为 100101101, 因此表 8 5 3 2 示生成多项式 G(x) = x +x +x +x +1。另外, 设 w 为生成多项式 G(x) 的项数。互反多项式 ( 高阶系数和低阶系数被反转的多项式 ) 展示彼此一致的特性。
图 14 是示出对具有 36 位至 149 位的码长度的数据进行处理时使用的生成多项式 的候选对象的图。
当在发送设备 101 的 CRC 编码器 112 中对 36 位至 149 位的范围内的预定码长度 的数据进行 CRC 编码处理, 并且在接收设备 102 的 CRC 检测器 204 中对其进行 CRC 处理时, 在 CRC 编码器 112 和 CRC 检测器 204 中设置从图 14 所示的候选对象中选择的生成多项式。
图 14 中从左侧开始的第一列和第四列示出了索引 A1 至 A34。第二列和第五列示 出了表示用十六进制数表示系数的设置的生成多项式。 第三列和第六列示出了各个生成多 项式的项数 w。
例 如,索 引 A1 的 生 成 多 项 式 G(x) 是 项 数 w 为 8 的 13613(G(x) = 16 13 12 x +x +x +x10+x9+x4+x+1)。索引 A2 的生成多项式 G(x) 是项数 w 为 10 的 13D65(G(x) = x 16 +x13+x12+x11+x10+x8+x6+x5+x2+1)。
图 15 是示出被划分为对 36 位至 149 位的范围内的每个码长度的数据进行处理时 使用的每个生成多项式的图 14 的生成多项式的图。图 15 中左侧的列示出了码长度 n。图 15 中右侧的列示出了生成多项式 G(x) 的索引。
例如, 当在发送设备 101 的 CRC 编码器 112 中对 36 位的数据进行 CRC 编码处理,
并且在接收设备 102 的 CRC 检测器 204 中对其进行 CRC 处理时, 在 CRC 编码器 112 和 CRC 检测器 204 中设置从索引 A6、 A25 至 A29 和 A31 至 A34 的候选对象中选择的生成多项式, 如 图 15 中从顶部开始的第二行所示。类似地, 当对 37 位的数据进行 CRC 编码处理和 CRC 处 理时, 在 CRC 编码器 112 和 CRC 检测器 204 中设置从索引 A6、 A11、 A22 和 A25 至 A34 的候选 对象中选择的生成多项式, 如图 15 中从顶部开始的第三行所示。
图 16 是示出对具有 152 位至 255 位的码长度的数据进行处理时使用的生成多项 式的候选对象的图。
图 16 中从左侧开始的第一列和第四列示出了索引 B1 至 B15。第二列和第五列示 出了表示用十六进制数表示系数的设置的生成多项式。 第三列和第六列示出了各个生成多 项式的项数 w。
例 如, 索 引 B1 的 生 成 多 项 式 G(x) 是 项 数 w 为 11 的 156F3(G(x) = x16+x14+x1 2 +x10+x9+x7+x6+x5+x4+x+1)。 索 引 B2 的 生 成 多 项 式 G(x) 是 项 数 w 为 5 的 12109(G(x) = x16+x13+x8+x3+1)。
图 17 是示出被划分为对 152 位至 255 位的范围内的每个码长度的数据进行处理 时使用的每个生成多项式的图 16 的生成多项式的图。图 17 中左侧的列示出了码长度 n。 图 17 中右侧的列示出了生成多项式 G(x) 的索引。
例如, 当对预定码长度为 152 位至 170 位的数据在发送设备 101 的 CRC 编码器 112 中进行 CRC 编码处理, 并且在接收设备 102 的 CRC 检测器 204 中进行 CRC 处理时, 在 CRC 编 码器 112 和 CRC 检测器 204 中设置从索引 B1 至 B15 的候选对象中选择的生成多项式, 如图 17 中从顶部开始的第二行所示。 类似地, 当对 171 位至 255 位的预定码长度的数据进行 CRC 编码处理和 CRC 处理时, 在 CRC 编码器 112 和 CRC 检测器 204 中设置从索引 B1 至 B10、 B14 和 B15 的候选对象中选择的生成多项式, 如图 17 中从顶部开始的第三行所示。
图 18 是示出对具有 258 位至 8001 位的码长度的数据进行处理时使用的生成多项 式的候选对象的图。
图 18 中从左侧开始的第一列和第四列示出了索引 C1 至 C36。第二列和第五列示 出了表示用十六进制数表示系数的设置的生成多项式。 第三列和第六列示出了各个生成多 项式的项数 w。
例 如,索 引 C1 的 生 成 多 项 式 G(x) 是 项 数 w 为 9 的 1941F(G(x) = 16 15 12 x +x +x +x10+x4+x3+x2+x+1)。索引 C2 的生成多项式 G(x) 是项数 w 为 7 的 16087(G(x) = x16+x14+x13+x7+x2+x+1)。
图 19 是示出被划分为对 258 位至 8001 位的范围内的每个码长度的数据进行处理 时使用的每个生成多项式的图 18 的生成多项式的图。图 19 中左侧的列示出了码长度 n。 图 19 中右侧的列示出了生成多项式 G(x) 的索引。
例如, 当在发送设备 101 的 CRC 编码器 112 中对 258 位至 595 位的预定码长度的 数据进行 CRC 编码处理, 并且在接收设备 102 的 CRC 检测器 204 中对其进行 CRC 处理时, 在 CRC 编码器 112 和 CRC 检测器 204 中设置从索引为 C1 至 C35 的候选对象中选择的生成多 项式, 如图 19 中从顶部开始的第二行所示。类似地, 当对预定码长度为 596 位至 600 位的 数据进行 CRC 编码处理和 CRC 处理时, 在 CRC 编码器 112 和 CRC 检测器 204 中设置从索引 为 C1 至 C7 和 C9 至 C35 的候选对象中选择的生成多项式, 如图 19 中从顶部开始的第三行所示。 图 20 是示出当使用如上所述从候选对象中选择的生成多项式时未检出差错概率 的计算结果的图。
图 20 示出了当从图 17 中从顶部开始的第三行所示的索引 B1 至 B10、 B14 和 16 14 13 12 8 7 6 5 2 B15 的 候 选 对 象 中 选 择 索 引 B4 的 171E7(G1(x) = x +x +x +x +x +x +x +x +x +x+1) 作 为针对码长度为 176 位的头数据的生成多项式, 从图 19 中从顶部开始的第 9 行所示的 索引 C1 至 C4、 C7、 C10、 C13 和 C15 至 C35 的候选对象中选择索引 C3 的 11A3D(G2(x) = 16 12 11 9 5 4 3 2 x +x +x +x +x +x +x +x +1), 作为针对码长度为 656 位的子头数据的生成多项式, 并且生 成或者校验 16 位的 CRC(16 位的 CRC 奇偶 ) 时, 未检出差错概率的计算结果。也就是说, 图 20 示出了图 9 和图 11 的电路选择并使用生成多项式 G1(x) 和 G2(x) 时的结果。为了进行 比较, 还示出了使用 CRC-CCITT(G(x) = x16+x12+x5+1) 时的未检出差错概率。
如图 20 所示, 当使用 CRC-CCITT(G(x) = x16+x12+x5+1) 作为生成多项式以对码长 度为 176 位的头数据进行 CRC 编码处理和 CRC 处理时, 未检出差错概率是 1.56×10-13, 而当 16 14 13 12 8 7 6 5 2 使用 171E7(G1(x) = x +x +x +x +x +x +x +x +x +x+1) 时, 未检出差错概率是 1.99×10-16。
另外, 当使用 CRC-CCITT(G(x) = x16+x12+x5+1) 作为生成多项式以对码长度为 656 位的子头数据进行 CRC 编码处理和 CRC 处理时, 未检出差错概率是 2.17×10-11, 而当使用 16 12 11 9 5 4 3 2 -11 11A3D(G2(x) = x +x +x +x +x +x +x +x +1) 时, 未检出差错概率是 1.05×10 。
当将头数据和子头数据中的任意一个设置为对象时, 从上述候选对象中选择的生 成多项式的未检出差错概率更低, 并且概率接近图 6 所示的理论极限值。
因此, 通过将从图 16 中的候选对象中选择的生成多项式设置为用来对码长度为 176 位的头数据进行 CRC 编码处理和 CRC 处理的生成多项式, 将从图 18 中的候选对象中选 择的生成多项式设置为用来对码长度为 656 位的子头数据进行 CRC 编码处理和 CRC 处理的 生成多项式, 并且根据对象数据选择并使用生成多项式, 能够将 CRC 精度提高到理论极限 值附近。
应注意, 虽然在这种情况下从图 16 中的候选对象中选择索引 B4 的 171E7 作为针 对头数据的生成多项式, 并且从图 18 中的候选对象中选择索引 C3 的 11A3D 作为针对子头 数据的生成多项式, 但是生成多项式的组合是任意的。
另外, 以上假设针对将头数据设置为对象的情况和将子头数据设置为对象的情况 选择两个生成多项式。然而, 当存在具有各自不同的码长度的其它数据, 将该数据设置为 CRC 编码处理或者 CRC 处理的对象时, 可以预先在发送设备 101 和接收设备 102 中设置针对 每段数据的生成多项式, 并且可以选择这些生成多项式。
图 21 是示出如上所述用于选择生成多项式的信息处理设备 301 的配置的示例的 框图。
信息处理设备 301 例如是个人计算机。由总线 314 将 CPU( 中央处理器 )311、 ROM( 只读存储器 )312 和 RAM( 随机存取存储器 )313 互连。
总线 314 还与输入输出接口 315 连接。输入输出接口 315 与由键盘、 鼠标等形成 的输入部分 316、 由显示器等形成的输出部分 317、 由硬盘和非易失性存储器形成的存储部 分 318、 由网络接口等形成的通信部分 319 和用于驱动诸如光盘、 半导体存储器等的可移动 介质 321 的驱动器 320 连接。
在如上所述配置的信息处理设备 301 中, CPU 311 例如将存储在存储部分 318 中 的程序经由输入输出接口 315 和总线 314 加载到 RAM 313 中, 然后执行程序。由此, 进行选 择生成多项式的处理。
接下来, 参照图 22 的流程图描述信息处理设备 301 的用于选择生成多项式的处 理。 该处理是与本申请人的日本专利申请第 2004-370796 号 ( 日本专利特开第 2006-180172 号 ( 专利文献 2)) 中描述的生成多项式选择处理基本类似的处理。
具体地, 在步骤 S51 中, 信息处理设备 301 的 CPU 311 通过全局搜索提取满足条件 最小汉明距离 dmin =码长度 n 处的最小汉明距离的最大值 Max.dmin 的生成多项式。最小汉 明距离 dmin 根据生成多项式而不同。最小汉明距离 dmin 的值越大, 随机差错检测性能越高, 并且未检出差错概率越低。 如也在专利文献 2 中描述的, 最小汉明距离的最大值 Max.dmin 是 根据码长度 n 改变的值。稍后将参照图 23 的流程图描述在步骤 S51 中进行的提取处理的 细节。
在步骤 S52 中, CPU 311 从在步骤 S51 中提取的生成多项式中以未检出差错概率 Pud 的升序选择例如 10 个生成多项式, 并且处理结束。在步骤 S52 中选择的生成多项式是 如图 14、 图 16 和图 18 所示的生成多项式候选对象。
接下来, 参照图 23 的流程图描述在图 22 中的步骤 S51 中进行的提取处理。
在步骤 S61 中, CPU 311 生成码长度 n 处的生成多项式候选对象 G’ (x)。
在步骤 S62 中, CPU 311 确定生成多项式候选对象 G’ (x) 是否是已检索的生成多 项式的互反多项式, 也就是说, 生成多项式用作步骤 S63 和后续步骤中的处理的对象。
当 CPU 311 在步骤 S62 中确定生成多项式候选对象 G’ (x) 是已检索的生成多项式 的互反多项式时, CPU 311 返回到步骤 S61 以生成不同的生成多项式候选对象 G’ (x) 并进 行类似的处理。 生成多项式和生成多项式的互反多项式在未检出差错概率等方面具有相同 的性能。因此, 不对具有与已检索的生成多项式相同的性能的生成多项式候选对象 G’ (x) 进行后续处理。
另一方面, 当 CPU 311 在步骤 S62 中确定生成多项式候选对象 G’ (x) 不是已检索 的生成多项式的互反多项式时, CPU 311 在步骤 S63 中确定生成多项式候选对象 G’ (x) 的 项数 w 是否小于最小汉明距离的最大值 Max.dmin。
当 CPU 311 在步骤 S63 中确定生成多项式候选对象 G’ (x) 的项数 w 小于最小汉 明距离的最大值 Max.dmin 时, CPU 311 返回到步骤 S61 以生成不同的生成多项式候选对象 G’ (x) 并进行类似的处理。如上所述, 最小汉明距离的最大值 Max.dmin 是根据码长度 n 改变 的值。项数 w 小于该值意味着现在关注的生成多项式候选对象 G’ (x) 的最小汉明距离 dmin 小于最小汉明距离的最大值 Max.dmin, 并且生成多项式候选对象 G’ (x) 不是该处理中所要 检索的满足最小汉明距离 dmin =最小汉明距离的最大值 Max.dmin 的条件的生成多项式。需 要 m 或者更大的值作为项数 w, 以实现最小汉明距离 dmin = m。
另一方面, 当 CPU 311 在步骤 S63 中确定生成多项式候选对象 G’ (x) 的项数 w 不 小于最小汉明距离的最大值 Max.dmin 时, CPU 311 在步骤 S64 中获得生成多项式候选对象 G’ (x) 的双码的权重分布 B, 在上述等式 (5) 中使用该权重分布 B。如上所述, 在非专利文 献 1 中公开了权重分布 B。
在步骤 S65 中, CPU 311 获得生成多项式候选对象 G’ (x) 的最小汉明距离 dmin。在步骤 S66 中, CPU 311 确定所获得的最小汉明距离 dmin 是否小于最小汉明距离的 最大值 Max.dmin。
当 CPU 311 在步骤 S66 中确定最小汉明距离 dmin 小于最小汉明距离的最大值 Max. dmin 时, CPU 311 返回到步骤 S61 以生成不同的生成多项式候选对象 G’ (x) 并进行类似的处 理。
另一方面, 当 CPU 311 在步骤 S66 中确定最小汉明距离 dmin 不小于最小汉明距离 的最大值 Max.dmin 时, 也就是说, 当 CPU 311 在步骤 S66 中确定现在关注的生成多项式候选 对象 G’ (x) 是满足最小汉明距离 dmin =最小汉明距离的最大值 Max.dmin 的条件的生成多项 式时, CPU 311 在步骤 S67 中根据上述等式 (5) 获得未检出差错概率 Pud。可以根据上述等 式 (4) 获得未检出差错概率 Pud。
在步骤 S68 中, CPU 311 确定是否存在还未被设置为搜索对象的另一生成多项式 候选对象 G’ (x)。
当 CPU 311 在步骤 S68 中确定存在还未被设置为如上所述的搜索对象的另一生 成多项式候选对象 G’ (x) 时, CPU 311 返回到步骤 S61 以生成不同的生成多项式候选对象 G’ (x) 并进行类似的处理。
另一方面, 当由于对设置为对象的所有生成多项式候选对象 G’ (x) 进行了如上所 述的搜索, 因而 CPU 311 在步骤 S68 中确定不存在生成多项式候选对象 G’ (x) 时, CPU 311 返回到图 22 中的步骤 S51 以进行后续处理。
不仅可以通过硬件, 还可以通过软件进行上述一系列处理。当通过软件进行该一 系列处理时, 将构成软件的程序从程序记录介质安装到包含在专用硬件中的计算机, 或者 例如可以安装到通过在一般用途的个人计算机上安装各种程序来执行各种功能的一般用 途的个人计算机上。
例如, 以记录在可移动介质 321 上的状态提供, 或者经由诸如局域网、 因特网、 数 字广播等的有线或者无线传输介质提供 CPU 311 执行的程序, 并将 CPU 311 执行的程序安 装到存储部分 318。
应注意, 计算机执行的程序例如可以是以在本说明书中描述的顺序以时间序列进 行处理的程序, 或者可以是并行或以在诸如进行调用的时刻的所需的定时进行处理的程 序。
本发明的实施例不限于前述实施例, 可以进行各种改变, 而不脱离本发明的精神。
对附图标记的说明
101 发送设备、 102 接收设备、 111 控制器、 112CRC 编码器、 113 差错校正编码器、 114 传输线路编码器、 201 码检测器、 202 传输线路解码器、 203 差错校正解码器、 204CRC 检测器 以及 205 控制器。