用于发送和接收映象数据的鲁棒系统

申请号 CN200810149083.5 申请日 2004-02-17 公开(公告)号 CN101370135A 公开(公告)日 2009-02-18
申请人 真尼诗电子有限公司; 发明人 W·E·布利特尔; M·菲莫弗;
摘要 帧 包括 奇数场 和 偶数场 。奇数场的帧同步段包含指明帧中的数据 位置 的当前映象,指明未来帧中的数据位置的下一个映象,以及 指定 未来帧的帧计数。偶数场的帧同步段可包含相同的信息。或者,计数场的帧同步段包含当前映象和部分帧计数,且相应偶数场的帧同步段包含下一个映象和其余帧计数。接收器使用映象和帧计数信息来找到接收帧的场中的数据。
权利要求

1.一种数据接收方法,包括:
接收场,每一个场具有场同步段和多个数据段,其中所述场同步段包含映象和计数 信息,其中所述场包括交替的奇数场偶数场,奇数场和偶数场中的一个中的场同步段中 的映象和计数信息包括当前映象和仅仅部分的计数,奇数场和偶数场中的另一个的场同 步段中的映象和计数信息包括下一个映象和其余的帧计数,其中,包含当前映象的场同步 段排除所述下一个映象,包含下一个映象的场同步段排除所述当前映象,其中所述当前映 象用于定位接收场中包含的第一和第二数据段,所述下一个映象用于定位后续场中包含的 第一和第二数据段,且其中所述帧计数指示其中映象信息改变的后续场;
处理所述映象信息以生成映象输出;以及
根据所述映象输出,定位所述第一和第二数据段。
2.如权利要求1所述的数据接收方法,其特征在于,生成映象输出的映象信息的处 理包括Kerdock解码所述映象和计数信息。
3.如权利要求1所述的数据接收方法,其特征在于,所述当前映象和部分帧计数包 括第一64位Kerdock代码矢量,其中所述下一个映象和其余帧计数包括第二64位Kerdock 代码矢量。
4.如权利要求3所述的数据接收方法,其特征在于,所述映象信息的处理包括仅倒 相第一和第二64位Kerdock代码矢量之一。
5.如权利要求3所述的数据接收方法,其特征在于,所述映象信息的处理包括利用 64/12Kerdock解码器来解码第一和第二64位Kerdock代码矢量。
6.如权利要求3所述的数据接收方法,其特征在于,所述映象信息的处理包括 Kerdock解码映象和计数信息。
7.如权利要求1所述的数据接收方法,其特征在于,所述映象信息的处理包括:
解码所述映象和计数信息;和
将解码的映象和计数信息存储于存储器中。
8.如权利要求7所述的数据接收方法,其特征在于,映象和计数信息的解码包括提 供可靠性指示,其指明解码映象和计数信息的可靠性,其中解码的映象和计数信息的存储 包括:
仅当可靠性指示足够高时,将映象信息存储于存储器中,否则不改变存储器;以及
仅当可靠性指示足够高时,将计数信息存储于存储器中,否则响应于帧同步信号改 变计数信息。
9.如权利要求1所述的数据接收方法,其特征在于,所述对场的接收包括接收各自 包含偶数场和奇数场的帧,其中偶数和奇数场中的每一个包括一个场同步段和多个数据 段,其中,所述当前映象被用于定位包含在当前帧中且以不同速率编码的数据段,所述下 一个映象被用于定位包含在未来帧中且以不同速率编码的数据段,所述计数信息指示其中 映象信息改变的后续帧,所述当前映象包含于比其所要应用于的第一帧领先n帧的帧中, 其中n是大于或等于1的整数。
10.如权利要求9所述的数据接收方法,其特征在于,所述计数信息具有预定值,以 指示当前映象和下一个映象是相同的。
11.一种数据发送方法,包括:
将映象和计数信息插入帧的场同步段,使得当前映象和仅仅部分的帧计数被插入到 帧的奇数场和偶数场中的一个的场同步段,并使得下一个映象和其余的帧计数被插入到帧 的奇数场和偶数场中的另一个的场同步段,其中,包含当前映象的场同步段排除所述下一 个映象,包含下一个映象的场同步段排除所述当前映象,其中映象信息指定包含场中的各 第一和第二数据的第一和第二数据段的位置,其中计数信息指示其中映象信息改变的后续 场;
将第一和第二数据插入各第一和第二数据段,如映象信息所指定的;以及
发送所述场。
12.如权利要求11所述的数据发送方法,其特征在于,所述将映象和计数信息插入 场同步段包括Kerdock编码所述映象和计数信息。
13.如权利要求11所述的数据发送方法,其特征在于,所述当前映象和部分帧计数 包括第一64位Kerdock代码矢量,其中所述下一个映象和其余帧计数包括第二64位 Kerdock代码矢量。
14.如权利要求13所述的数据发送方法,其特征在于,进一步包括仅倒相第一和第 二64位Kerdock代码矢量之一。
15.如权利要求13所述的数据发送方法,其特征在于,还包括:
用64/12Kerdock编码器来编码当前映象和部分的帧计数以生成所述第一64位 Kerdock代码矢量;和
用64/12Kerdock编码器来编码下一个映象和其余的帧计数以生成所述第二64位 Kerdock代码矢量。
16.如权利要求11所述的数据发送方法,其特征在于,还包括仅倒相当前和下一个 映象之一。
17.如权利要求11所述的数据发送方法,其特征在于,所述当前映象识别包含在当 前帧中且以不同速率编码的数据段,所述下一个映象识别包含在未来帧中且以不同速率编 码的数据段,所述当前映象包含于比其所要应用于的第一帧领先n帧的帧中,其中n是大 于或等于1的整数。
18.如权利要求11所述的数据发送方法,其特征在于,所述帧计数具有预定值,以 指示当前映象和下一个映象是相同的。

说明书全文

技术领域

发明涉及数据的编码和解码,所述数据诸如表示发送的数据场中第一和第二数据 段的分布的映象数据。

背景技术

ATSC数字电视标准当前提供用于连续数据场的发送,其中每一个数据场都包括 24.2ms的时间间隔上延伸的313个段。图1揭示了根据该标准用于数据场的实例性格式。 每个场的第一段是场同步段。场同步段由四个二级段同步符号和用于828个其它二级符号 的空间构成。该空间的一部分用于场同步,且保留该场的其它部分。除了保留部分,同 步段中的信息不随场变化。每个场的剩余段的每个段包括四个二级段同步符号和828个n 级数据符号,其中n当前是8,但n也可以是其它整数,诸如2、4、16等。除了段同步 部分,场的剩余段中的数据很可能随场变化。
如2001年3月13日提交的美国专利申请No.09/804262所指出的,当前关心扩展 ATSC数字电视标准,以允许一场包含更多鲁棒(robust)编码数据(这里称作E-VSB数据) 和当前按标准提供的数据(这里称作VSB数据)的混合。较佳地,以段接段为基础采用数据 混合,从而场的某些段用于排他地发送VSB数据且场的其余段用于排他地发送E-VSB段。 但是,有可能场的所有数据段都能排他地包含E-VSB数据段或VSB数据段。此外,能用一 个鲁棒编码率编码场的某些段中包含的E-VSB,且能以其它鲁棒编码率来编码该场的其它 段中的E-VSB数据。
如上述’262申请中所揭示的,能表示哪些段包含更多鲁棒(E-VSB)数据和哪些段包 含标准VSB数据的映象优选由发送器提供给接收器,以使接收器能适当地解码,并处理接 收到的VSB和E-VSB数据。假定一场包含不同编码率的E-VSB数据,这种情况中的映象指 明应用于不同编码的E-VSB数据段的编码率。
’262申请描述了一种映射系统。2001年12月3日提交的共同待批的美国专利申请 No.10/011900以及’333申请描述了另一种映射系统,其可靠地识别哪些段包括第一数据 (诸如VSB数据)和哪些段包括第二数据(诸如,E-VSB数据)。
陆基电视频道中常有的多路失真会影响接收器适当接收和处理映象的能。例如, 在场同步段的保留部分中发送的映象数据的情况中,如果重象(ghost)是长重象以使其出 现预数据段的数据中而非场同步段中,则趋于随场随机的数据将被叠加在映象数据上。如 果映象及其副本在两个连续的场同步段中发送,则当映象及其副本在接收器中被求平均 时,映象及其副本以高相关度相加,但叠加的数据以非常低的相关度相加。因此,映象更 易于与数据区别。因此,映象是容易检测的。
另一方面,如果重象是短重象以使它出现于场的帧同步段中,则不随场改变的帧同 步符号被叠加于映象和副本这两者上。因此,在映象及其副本以高相关度相加的同时,叠 加场同步符号也以高相关度相加。因此,映象不能方便地与场同步符号区别。因此,映象 很难检测。
如以上’394申请所指出的,交织被用于最小化猝发噪声的负面效果。但是,如以 下更完整地讨论的,存在等待时间,它是通过用于指示接收器能在帧中哪里找到各种数据 的映象交织而固有的。该等待时间的形成是因为:由于交织,任何一个映象在许多帧上展 开,以使映象不能被完全接收,直到接收到它所展开的所有帧为止。结果,与交织有关的 等待时间显著地增加接收器采集时间。
此外,虽然交织一般保护特殊场中的所有映象位或符号不受噪声猝发的削弱,如果 在该场或后续场中发生多个噪声猝发的情况中则这种保护的效果会降低。重复的噪声猝发 会阻止映象的有效接收,尽管接收了帧中的鲁棒性和其它数据而无明显劣化。
在一个实施例中,本发明允许映象更容易被检测,即使在存在噪声猝发的情况下。

发明内容

根据本发明的一个方面,一种数据接收方法包括:接收具有场同步段和多个数据段 的场,其中场同步段包含映象和计数信息,其中映象信息指定包含各第一和第二数据的第 一和第二数据段在该场内的位置,且其中计数信息指示其中映象信息改变的后续场;处理 映象信息以形成映象输出;以及根据映象输出,定位第一和第二数据段。
根据本发明的另一个方面,一种数据接收方法包括:接收具有帧同步段和数据段的 帧,其中帧同步段的每一个都包含映象和计数信息,其中映象信息指定包含各第一和第二 数据的第一和第二数据段在该帧内的位置,其中计数信息指示其中映象信息改变的后续 帧,且其中映象和计数信息被编码;解码所述映象和计数信息;将解码的映象和计数信息 存储于存储器中;以及根据解码的映象信息,定位接收帧中的第一和第二数据段。
根据本发明的另一个方面,一种数据发送方法包括:将映象和计数信息插入还包含 数据段的场的场同步段,其中映象信息指定包含各第一和第二数据的第一和第二数据段在 该场内的位置,其中计数信息指示其中映象信息改变的后续场;将第一和第二数据插入各 第一和第二数据段,如映象信息所指定的;以及发送所述场。
根据本发明的另一个方面,一种数据接收方法包括:接收符合ATSC的信号的相应场 中的当前和下一个映象,其中当前映象指示当前场中的数据位置而下一个映象指示后续场 中的数据位置;仅倒相当前和下一个映象之一;组合当前和下一个映象中被倒相的一个以 及当前和下一个映象中非倒相的另一个;以及从这些组合映象中确定映象信息。
根据本发明的另一个方面,一种数据发送方法包括:仅倒相当前映象和下一个映象 之一,其中当前映象指示当前场中的数据位置,而下一个映象指示后续场中的数据位置; 将当前映象和下一个映象中非倒相的一个以及当前映象和下一个映象中被倒相的一个插 入相应场中;以及发送这些场。
附图说明
通过本发明的详细描述并结合附图,本发明的这些和其它特点和优点将变得显而易 见,其中:
图1是说明ATSC数字电视标准中限定的场的实例性格式的示图;
图2是将映象插入要发送的场中的映象插入系统的示意图;
图3示出了图2所示的映象插入系统中可使用的卷积交织器(convolutional interleaver)的实例;
图4是基于接收的映象去格式化(de—formatting)接收场所涉及的接收器的一部分 的示意图;
图5示出了图4所示的接收器部分中可使用的卷积解交织器的实例;
图6示出了图2所示的映象插入系统中可使用的Kerdock编码器的第一实施例;
图7示出了图2所示的映象插入系统中可使用的Kerdock编码器的第二实施例;
图8示出了图4所示的接收器部分中可使用的Kerdock解码器的第一实施例;
图9示出了图4所示的接收器部分中可使用的Kerdock解码器的第二实施例;
图10示出了图4所示的接收器部分中可使用的Kerdock解码器的第三实施例;
图11A和11B是说明图4所示的接收器部分的操作的流程图
图12和13是允许映象即使在存在短静态重象的情况中也被检测的可选映象插入系 统和可选接收器的相应示意图;
图14和15是允许重象被检测的另一种可选映象插入系统和另一种可选接收器的相 应示意图;
图16示出了图14所示的映象插入系统中可使用的Kerdock编码器的64/12实施例;
图17示出了图15所示的接收器部分中可使用的Kerdock解码器的64/12实施例;
图18示出了图14所示的映象插入系统中可使用的Kerdock编码器的另一个64/12 实施例;以及
图19示出了图15所示的接收器部分中可使用的Kerdock解码器的另一个64/12实 施例。

具体实施方式

为了指出场的哪些段包含VSB数据以及场的哪些段包含E-VSB数据,为每个数据场 限定十二位的映象数据单元(mdu)。因此,映象数据单元能为各场指示VSB和E-VSB数据 段的4096种可能组合之一。对于奇数ATSC发送场的映象数据单元可以被指示为{A0 B0 C0}, 且下一个随后的偶数ATSC发送场的映象数据单元可以被指示为{Ae Be Ce},其中A0、B0、 C0、Ae、Be和Ce分别包括包括四位,且这里称作映象数据亚单元。因此,每个映象数据单 元都包括12位且用于连续的奇数和偶数场的两个映象数据单元包括24位。
如图2所示,控制器10产生一映象数据单元的序列,以便应用于Kerdock编码器 12。以下将讨论可用于Kerdock编码器12的Kerdock编码器。每次将8位提供给Kerdock 编码器12。因此,提供给Kerdock编码器12的第一个8位对应于映象数据亚单元A0 B0, 提供给Kerdock编码器12的下一个8位对应于映象数据亚单元C0 Ae,且提供给Kerdock 编码器12的下一个8位对应于映象数据亚单元Be Ce。用于随后场的映象数据单元按类似 方式被应用于Kerdock编码器12。
对于每个8位输入,Kerdock编码器12产生一16位代码字或矢量,它由8个输入 位和8个奇偶位Px构成。因此,对于输入映象数据亚单元A0 B0,Kerdock编码器12的输 出是代码字或矢量{A0 B0 P1};对于映象数据亚单元C0 Ae,Kerdock编码器12的输出是 {C0 Ae P2};以及,对于映象数据亚单元Be Ce,Kerdock编码器12的输出是{Be Ce P3}。 因此,覆盖连续的奇数和偶数场n和n+1的三个映象数据亚单元被编码成三个16位的输 出矢量,其总共包含48位。
Kerdock编码器12产生的代码矢量由卷积交织器14处理,以便保护不受突发噪声 的削弱。在ATSC数字电视标准中描述卷积交织器和解交织器。可用于卷积交织器14的交 织器描述于美国专利No.5572532。卷积交织器14优选由参数N=48、B=16和M=3表征, 其中N是M倍尺寸(16个数据元素),其对应于Kerdock编码器12产生的三个编码的映 象矢量;B是交织深度;且M是交织器的延迟单元尺寸。因此,卷积交织器14在卷积交 织器14的输出处将三个代码矢量的每个块的48位的各个位延迟0、3、6、…45位。
卷积交织器14优选与控制器10生成的ATSC场同步信号同步,以便在每个场的末端 处复位输入位的连续延迟。因此,每个场都以零延迟开始。如以下将进一步详细说明的, 三个代码矢量的块的每组48个交织位被复制为两个连续场同步段的保留部分中的二级符 号,用于传输。可以理解,该Kerdock编码和复制导致和1/4的有效编码率,因为映象位 由Kerdock编码器12在数量上加倍并由于复制而在数量上再次加倍,从而表示两个映象 数据单元的二十四位被编码成两个场同步段中的96位。
还可以理解,考虑到接收器中的相应解交织器,在将映象数据单元与相应场关联时, 必须说明等待时间间隔L。交织器/解交织器组合的等待时间间隔由表达式L=N×(B-1)给 出。在以上给出的卷积交织器14的特定实例中,N=48且B=16。因此,根据该实例的交 织器/解交织器组合的等待时间间隔是L=48×15=720位或者15(720/48)场。如果为处 理时间而允许两个附加场,则系统由以下关系式表征:
用于场n的编码mdu:A0B0P1C0AEP2BECEP3
用于场n+1的编码mdu:A0B0P1C0AEP2BECEP3
其中mdu A0B0C0识别用于场n+2+L的VSB和E-VSB段的混合,且其中mdu AEBECE识别 用于场n+3+L的VSB和E-VSB段的混合。
VSB数据源16提供VSB数据而E-VSB数据源18提供E-VSB数据。Kerdock编码器 12应用的Kerdock编码的一项结果是:mdus比VSB数据和E-VSB数据更鲁棒地被编码。 控制器10控制VSB数据源16和E-VSB数据源18,以便控制特殊场中VSB和E-VSB数据 段的混合。由于系统的等待时间间隔,通知该混合的接收器并由Kerdock编码器12编码 的映象数据单元被发送,在比包含该混合的场早17或18个场被发送的场中开始,并在比 包含混合的场早1或2个场被发送的场中结束。这样,在当前场格式化期间由控制器10 提供给Kerdock编码器12的映象数据单元对应于将要在17或18个场后被发送的VSB和/ 或E-VSB数据。但是,由于卷积交织器38执行的交织,该映象数据单元遍布15个场。
由VSB数据源16和E—VSB数据源18提供的数据段与来自卷积交织器14的编码和 交织映象数据单元位一起被应用于数据场格式器20。该数据场格式器20与来自控制器10 的场同步信号同步,并格式化发送场,以使48个编码和交织的映象数据单元位插入两个 连续场同步段的保留部分。VSB数据源16和E-VSB数据源18由控制器10控制,以使由 VSB数据源16和E-VSB数据源18提供给数据场格式器20的VSB和E-VSB数据段对应于 n+2+L或n+3+L场之前发送的映象数据单元。数据场格式器20被同步化,以便根据该之 前发送的映象数据单元,贯穿当前的场,适当地多路复用这些VSB和E-VSB数据段。
最后,格式化的场被连续应用于用于发送的标准ATSC调制器和发送器22。
卷积交织器14的实例在图3中示出,并包括通过相应的同步切换函数28和29耦合 于输入24和输出26之间的16条路径。如图2所示,输入24耦合到Kerdock编码器12, 而输出26耦合到数据场格式器20。以数据元素接数据元素为基础,切换函数28和29同 步地步进通过这16条路径,从而输入24上接收的一个数据元素通过第一路径耦合到输出 26,从而输入24上接收的下一个数据元素通过第二路径耦合到输出26,等等。
卷积交织器14的第一路径不向通过其的数据元素施加延迟,卷积交织器14的第二 路径向通过其的数据元素施加三个元件延迟,卷积交织器14的第三路径向通过其的数据 元素施加六个元件延迟,…,且卷积交织器14的第十六路径向通过其的数据元素施加45 个元件延迟。
如图4所示,由ATSC调制器和发送器22发送的信号由含调谐器30的接收器接收。 调谐器30的IF输出由ATSC解调器32解调,以便提供表示发送符号的模拟基带输出。在 数字处理器38的控制下,该模拟信号由A/D转换器34采样,以便将解调的符号转换成相 应的多位数字值。如上所述在连续场中复制的编码和交织的映象数据单元符号被应用于卷 积解交织器40。剩余符号被直接应用于数字处理器38,它将这些剩余符号转换成排列在 数据字节中的相应的位,以便应用于段去格式器42。段去格式器42从Kerdock解码器44 接收解交织和解码的映象数据单元。通过将场中的VSB段传递给VSB处理器46并通过将 场中的E-VSB段传递到E-VSB处理器48,段去格式器42响应该解交织和解码的映象数据 单元。VSB处理器46和E-VSB处理器48解码并处理来自段去格式器42的各VSB数据和 E-VSB数据。
作为实例,VSB处理器46可进行Reed—Solomon解码,且在VSB数据在发送器中被 格栅编码的情况中,VSB处理器46还可执行Viterbi解码。例如,E-VSB处理器48可执 行与VSB处理器46相同的解码,此外,执行与发送器中执行的附加编码相对应的附加解 码,以便将鲁棒性添加到数据中。此外,VSB处理器46和E-VSB处理器48可执行解交织 和去随机化。
来自A/D转换器34的交织的映象数据单元符号被应用于卷积解交织器40,它按与 卷积交织器14有关的颠倒方式将映象数据单元符号解交织,以便提供Kerdock编码器12 产生的矢量。与映象数据单元和其相应复制映象数据单元相对应的解交织矢量由平均电路 50逐位地被平均,以改善映象数据单元的可靠性。解交织和平均的矢量由Kerdock解码 器44解码,以恢复能控制段去格式器42的映象数据单元。由于比VSB数据或E-VSB数据 更鲁棒地编码mdus,在接收器中将比数据错误更少地恢复mdus。
如前所述,在系统中调节交织/解交织过程的等待时间间隔,因为控制器10提供的 映象数据单元限定恰好L场后发送的VSB和E-VSB数据段的混合。Kerdock解码器44和 卷积交织器40的实例性实施例分别揭示于先前参考的美国专利No.6226318 B1和 5572532。
如以下更详细地描述的,Kerdock解码器44可以被设置成提供解码过程的可靠性估 计。特别是在映象数据单元方面,Kerdock解码器44可以被设置成提供映象数据单元的 解码可靠性的估计。如果该可靠性指示解码的映象数据单元不可靠,则被可靠地解码的前 一个映象数据单元就被用于去格式化该场,而取代当前解码的映象数据单元。该操作的证 明是通过假定VSB数据和E-VSB数据间的混合以相对较慢的速率随场改变以使替代映象数 据单元将很可能限定合适的段混合。
卷积解交织器40的实例在图5中示出,且包括输入60和输出62间通过相应的同步 切换函数64和66耦合的16条路径。如图4所示,输入60耦合到A/D转换器34,而输 出62耦合到平均电路50。以数据元素接数据元素为基础,切换函数64和66同步地步进 通过这16条路径,以使输入60上接收的一个数据元素通过第一路径耦合到输出62,使 得输入60上接收的下一个数据元素通过第二路径耦合到输出62,等等。
卷积解交织器40的第一路径向通过其的数据元素施加45个元件延迟,卷积交织器 14的第二路径向通过其的数据元素施加42个延迟,…,卷积交织器14的第十四路径向 通过其的数据元素施加6个元件延迟,卷积交织器14的第十五路径向通过其的数据元素 施加三个元件延迟,且卷积交织器14的第十六路径不向通过其的数据元素施加延迟。
系统的Kerdock编码器70在图6中示出并可用于Kerdock编码器12。系统的Kerdock 编码器70接受具有N个数据元素的输入,诸如总共8位的映象数据亚单元A0和B0,并 通过附加N个奇偶位,诸如8个奇偶位P1,将具有2N个数据元素的相应代码字,诸如总 共16位的代码字{A0 B0 P1},输出到N个输入数据单元的端部,诸如具有8位的映象数 据亚单元A0和B0。基于N个输入数据元素,从查找表72中读出N个奇偶数据单元。
在每个映象数据亚单元是4位以使两个映象数据亚单元是8位的情况下,查找表72 存储256组奇偶位,其中每组都包含8位。附录A示出了查找表72的实例性数据。该实 例性数据中的每个位都具有两个值1或-1之一。在描述输入位和查找表中存储的奇偶位 组间的关系时,将具有-1值的位当做具有0值的位是有用的。提供作为到系统Kerdock 编码器70的输入的8个位被用作查找表72的地址。
查找表72中存储的数据被设置成:在根据8个输入位读出一组8个奇偶位并将其附 加到8个输入位上时,形成Kerdock代码字。Kerdock代码字具有与任何其它Kerdock代 码字的最小距离6。距离是两个代码字之间相差多少相应位的量度。
输入位和查找表72中存储的位之间的关系促进由系统Kerdock编码器70输出的 Kerdock代码字的形成。这种关系如下:具有-1 -1 -1 -1 -1 -1 -1 -1的值(即, 地址0)的输入位用于寻址附录A的第一行;具有-1 -1 -1 -1 -1 -1 -1 1的值(即, 地址1)的输入位用于寻址附录A的第二行;具有-1 -1 -1 -1 -1 -1 1 -1的值(即, 地址2)的输入位用于寻址附录A的第三行;具有-1 -1 -1 -1 -1 -1 1 1的值(即, 地址3)的输入位用于寻址附录A的第四行,等等。
作为实例,当系统Kerdock编码器70接收到输入-1 -1 -1 -1 -1 -1 -1 -1 时,从查找表72中读出附录A的第一行并将其附加到该输入,以形成Kerdock代码字-1 -1 -1 -1 -1 -1 -1 -1 -1 1 -1 1 1 -1 1 -1。作为另一个实例,当系统Kerdock 编码器70接收到输入-1 -1 -1 -1 -1 -1 -1 1时,从查找表72中读出附录A的第 二行并将其附加到该输入,以形成Kerdock代码字-1 -1 -1 -1 -1 -1 -1 1 1 -1 -1 -1 1 1 -1 -1。应注意,这两个Kerdock代码字具有彼此的距离6,因为这两个Kerdock 代码字之间第八、第九、第十、第十二、第十四和第十五位不同。
或者,系统Kerdock编码器74在图7中示出并可用于Kerdock编码器12。系统 Kerdock编码器74接受具有N个数据元素的输入,诸如总共8位的映象数据亚单元A0和 B0,并通过从查找表76中读出2N个数据元素代码字,输出具有2N个数据元素的相应代 码字,诸如总共16位的代码字{A0 B0 P1}。
在每个映象数据亚单元是4位使得两个映象数据亚单元是8位的情况中,查找表76 存储256个代码字,其中每个代码字包含16位。附录8示出了用于查找表76的实例性数 据。如在附录A的情况中,该实例性数据中的每个位都具有两个值1或-1之一。被提供 作为到系统Kerdock编码器74的输入的8位被用作进入查找表76的地址并对应于附录8 中示出的数据中的第一个8位行。在通过由一组8个输入位寻址的附录B的行是第一个8 位匹配8个输入位中的行。查找表76中存储的每个代码字都是Kerdock代码字,因为查 找表76中存储的每个代码字都具有与查找表76中存储的任何其它Kerdock代码字的最小 距离6。
作为实例,当系统Kerdock编码器74接收输入-1 -1 -1 -1 -1 -1 -1 -1时, 从查找表76中读出附录A的行78。行78包含以下位:-1 -1 -1 -1 -1 -1 -1 -1 -1 1 -1 1 1 -1 1 -1。作为另一个实例,当系统Kerdock编码器74接收到输入-1 -1 -1 -1 -1 -1 -1 1时,从查找表76中读出附录A的行80。行80包含以下位:-1 -1 -1 -1 -1 -1 -1 1 1 -1 -1 -1 1 1 -1 -1。应注意,这两个Kerdock代码字具有相 互之间的距离6,因为这两个Kerdock代码字之间第八、第九、第十、第十二、第十四和 第十五位是不同的。
系统Kerdock解码器82在图8中示出并可用于Kerdock解码器44。系统Kerdock 解码器82接受具有2N个数据元素的输入,诸如与映象数据亚单元A0和B0相对应的8 位以及与奇偶位相对应的8位,并输出N个数据元素的矢量,诸如具有8位的映象数据亚 单元A0和B0。
更具体地,相关器84使2N个输入数据元素与查找表86中存储的256个Kerdock代 码字中的每一个相关,其中每个Kerdock代码字包括16个数据元素,诸如位。附录B示 出了用于查找表86的实例性数据。例如,相关器84实现的相关可以是输入2N数据元素 和查找表86中存储的每个Kerdock代码字的点积。
因此,2N输入数据元素的第一数据元素乘以查找表86中存储的第一Kerdock代码 字的第一数据元素,以形成第一乘积,2N个输入数据元素的第二数据元素乘以查找表86 中存储的第一Kerdock代码字的第二数据元素,以形成第二乘积,…,且2N个输入数据 元素的第十六数据元素乘以查找表86中存储的第一Kerdock代码字的第十六数据元素, 以形成第十六乘积。将所形成的16个乘积相加,以形成2N个输入数据元素和查找表86 中存储的第一Kerdock代码字之间的第一相关。为查找表86中存储的其它255个Kerdock 代码字中的每一个重复该过程。
鉴别器88从查找表86中识别形成最大相关的Kerdock代码字,并输出该Kerdock 代码字的第一8个数据元素,作为构成要施加到段去格式器42的映象数据单元的两个映 象数据亚单元的8个数据元素。鉴别器88还可形成最大相关和下一个最大相关之间的差, 作为指示解码2N个输入数据元素的可靠性的可靠性因数。
或者,系统Kerdock解码器90在图9中示出并可用于Kerdock解码器44。系统 Kerdock解码器90接受具有2N个数据元素的输入,诸如具有8个位的映象数据亚单元A0 和B0以及相应的8个奇偶位P1,并输出具有N个数据元素的矢量,诸如具有8位的映象 数据亚单元A0和B0。
更具体地,相关器92使2N个输入数据元素与从序列发生器94和查找表96提供到 相关器92的256个Kerdock代码字的每一个相关。从序列发生器94和查找表96提供到 相关器92的每个Kerdock代码字都包括16个数据元素,诸如位。例如,相关器92实现 的相关可以与相关器84实现的相关相同。
提供给相关器92的第一Kerdock代码字的第一个8位包括序列发生器94生成的8 位的第一序列。例如,该第一序列可以是-1 -1 -1 -1 -1 -1 -1 -1(即,0)。提供 给相关器92的第一Kerdock代码字的第二个8位包括基于与序列发生器94生成的8位相 对应的地址从查找表96读出的8位。这两组8位被一起附加并被提供给相关器92。
附录A示出了用于查找表96的实例性数据。来自序列发生器94的输入位和查找表 96中存储的位之间的关系可以与系统Kerdock编码器70所使用的相同。因此,具有值-1 -1 -1 -1 -1 -1 -1 -1(即,地址0)的输入位用于寻址附录A的第一行,且具有值 -1 -1 -1 -1 -1 -1 -1 1(即,地址1)的输入位被用于寻址附录A的第二行,等等。
基于输入的2N位以及序列发生器94和查找表96形成的第一Kerdock代码字,相关 器92形成第一相关。
提供给相关器92的第二Kerdock代码字的第一8个位包括序列发生器94生成的8 个位的第二序列。例如,该第二序列可以是-1 -1 -1 -1 -1 -1 -1 1(即,1)。提供 给相关器92的第二Kerdock代码字的第二8个位包括基于与序列发生器94生成的8个位 相对应的地址从查找表96读出的8个位。这两组8个位被一起附加并提供给相关器92。
基于输入的2N位和序列发生器94和查找表96形成的第二Kerdock代码字,相关器 92形成第二相关,等等。
鉴别器98识别来自序列发生器94和查找表96的Kerdock代码字,其形成最大相关, 并输出该Kerdock代码字的第一8个数据元素,作为构成要应用于段去格式器42的映象 数据单元的两个映象数据亚单元的8个数据元素。鉴别器98还可形成最大相关和下一个 最大相关之间的差,作为表示解码2N个输入数据元素的可靠性的可靠性因数。
作为可选方案,图10所示的系统解码器100可用于Kerdock解码器44。系统解码 器100是美国专利No.6226318 B1中揭示的非系统解码器的修改形式。系统解码器100 包括两个列旋转器102和104,以及8个矢量乘法器106、108、110、112、114、116、118 和120。修改涉及两个列旋转器添加到美国专利No.6226318 B1的非系统解码器。
附录C示出了应用于乘法器106、108、110、112、114、116、118和120的第一输 入的陪集首(coset leader)。因此,附录C的第一行中的陪集首被应用于乘法器106的第 一输入,附录C的第二行中的陪集首被应用于乘法器108的第一输入,附录C的第三行中 的陪集首被应用于乘法器110的第一输入,…,且附录C的第八行中的陪集首被应用于乘 法器120的第一输入。
根据以下表的第一列,要解码的输入的十六个数据元素被重排(诸如,旋转),且该 旋转输入被应用于乘法器106、108、110和112的每个第二输入。根据以下表的第二列旋 转要解码的输入,且该旋转输入被应用于乘法器114、116、118和120的每一个第二输入。

根据上表的第一列,第四输入数据元素被移动到要提供给乘法器106、108、110和 112的第二输入的输出的第一数据元素位置,第十五输入数据元素被移动到要提供给乘法 器106、108、110和112的第二输入的输出的第二数据元素位置,第十四输入数据元素被 移动到要提供给乘法器106、108、110和112的第二输入的输出的第三数据元素位置,…, 且第一输入数据元素被移动到要提供给乘法器106、108、110和112的第二输入的输出的 第十六数据元素位置。因此,十六数据元素输入由列旋转器102旋转,以形成要提供给乘 法器106、108、110和112的第二输入的十六数据元素输出。
类似地,以上表的第二列示出了列旋转器104施加于十六输入数据元素上的旋转, 以形成要输出到乘法器114、116、118和120的第二输入的十六数据元素输出。列旋转器 102和104实际上将系统的代码矢量转换成非系统的代码矢量。
乘法器106、108、110、112、114、116、118和120的输出由16×16Hadamard变换 1191—1198的相应一个处理,以形成频谱分析仪122分析的相应频谱。频谱分析仪122确 定哪个频谱包含最大系数并解码该最大系数以便形成相应的Kerdock代码字。该Kerdock 代码字的第一8位由频谱分析仪122提供作为8个数据元素,其构成应用于段去格式器 42的映象数据单元的2个映象数据亚单元。频谱分析仪122也可形成最大系数和下一个 最大系数之间的差,作为表示解码2N个输入数据元素的可靠性的可靠性因数。
图4所示的接收结构执行图11A和11B的流程图所示的功能。块200接收一场,且 块202解析该场以便恢复映象数据单元符号。块204解交织映象数据单元符号,且块206 将解交织的映象数据单元符号存储于存储器中。当如块208所确定地全部映象数据单元已 被解交织时,块210确定该映象数据单元对应于奇数场还是偶数场。如果块210确定该映 象数据单元对应于奇数场,则块212简单地存储该映象数据单元,等待该数据映象单元的 副本的解交织和解码,因为在奇数场中发送的数据映象单元在偶数场中被复制。在块212 存储非副本映象数据单元后,流程回到块200。
如果块210确定该映象数据单元对应于偶数场,则恢复的映象数据单元是以前被解 交织和解码的映象数据单元的副本。因此,块214对当前映象数据单元和以前的映象数据 单元求平均。块216解码映象数据单元平均值,且块218为该映象数据单元平均值计算可 靠性因数。块220存储平均映象和相应的可靠性因数。
块222确定与块200处接收的场相对应的解码映象数据单元的可靠性因数是否指示 解码映象数据单元已被可靠地解码。如果可靠性因数指示出可靠解码,则块224去格式化 与合适的映象数据单元相对应的场,并根据该去格式化,合适地将VSB数据和/或E-VSB 数据发送到VSB处理器46和/或E-VSB处理器48。
另一方面,如果可靠性因数指示所述解码是不可靠的,如块222处确定的,则块226 检索可靠解码的前一个映象数据单元,且块228根据检索的前一个映象数据单元去格式化 场,并根据该去格式化,合适地将VSB数据和/或E-VSB数据发送到VSB处理器46和/或 E-VSB处理器48。
附录A
{  -1,  1,  -1,  1,  1,  -1,  1,  -1,},
{   1, -1,  -1, -1,  1,   1, -1,  -1,},
{   1, -1,   1,  1, -1,  -1,  1,   1,},
{  -1,  1,   1, -1, -1,   1, -1,   1,},
{  -1, -1,  -1, -1, -1,  -1, -1,   1,},
{   1,  1,   1, -1,  1,  -1,  1,   1,},
{   1,  1,  -1,  1, -1,   1, -1,  -1,},
{  -1, -1,   1,  1,  1,   1,  1,  -1,},
{   1,  1,   1,  1,  1,   1, -1,   1,},
{  -1, -1,  -1,  1, -1,   1,  1,   1,},
{  -1, -1,   1, -1,  1,  -1, -1,  -1,},
{   1,  1,  -1, -1, -1,  -1,  1,  -1,},
{   1, -1,   1, -1, -1,   1,  1,  -1,},
{  -1,  1,   1,  1, -1,  -1, -1,  -1,},
{  -1,  1,  -1, -1,  1,   1,  1,   1,},
{   1, -1,  -1,  1,  1,  -1, -1,   1,},
{  1,  1,  1,  -1,  -1,  -1,  -1,  -1,},
{ -1, -1,  1,   1,   1,  -1,  -1,   1,},
{ -1, -1, -1,  -1,  -1,   1,   1,  -1,},
{  1,  1, -1,   1,   1,   1,   1,   1,},
{ -1,  1,  1,   1,  -1,   1,   1,   1,},
{  1, -1, -1,   1,  -1,  -1,   1,  -1,},
{  1, -1,  1,  -1,   1,   1,  -1,   1,},
{ -1,  1, -1,  -1,   1,  -1,  -1,  -1,},
{  1, -1, -1,  -1,   1,  -1,   1,   1,},
{ -1,  1,  1,  -1,   1,   1,   1,  -1,},
{ -1,  1, -1,   1,  -1,  -1,  -1,   1,},
{  1, -1,  1,   1,  -1,   1,  -1,  -1,},
{ -1, -1, -1,   1,   1,   1,  -1,  -1,},
{  1,  1, -1,  -1,  -1,   1,  -1,   1,},
{  1,  1,  1,   1,   1,  -1,   1,  -1,},
{ -1, -1,  1,  -1,  -1,  -1,   1,   1,},
{ -1, -1,  1,  -1,   1,   1,   1,   1,},
{  1,  1,  1,   1,  -1,   1,   1,  -1,},
{  1,  1, -1,  -1,   1,  -1,  -1,   1,},
{ -1, -1, -1,   1,  -1,  -1,  -1,  -1,},
{  1, -1,  1,   1,   1,  -1,  -1,  -1,},
{ -1,  1, -1,   1,   1,   1,  -1,   1,},
{ -1,  1,  1,  -1,  -1,  -1,   1,  -1,},
{  1, -1, -1,  -1,  -1,   1,   1,   1,},
{ -1,  1, -1,  -1,  -1,   1,  -1,  -1,},
{  1, -1,  1,  -1,  -1,  -1,  -1,   1,},
{  1, -1, -1,   1,   1,   1,   1,  -1,},
{ -1,  1,  1,   1,   1,  -1,   1,   1,},
{  1,  1, -1,   1,  -1,  -1,   1,   1,},
{ -1, -1, -1,  -1,   1,  -1,   1,  -1,},
{ -1, -1,  1,   1,  -1,   1,  -1,   1,},
{  1,  1,  1,  -1,   1,   1,  -1,  -1,},
{  1, -1, -1,   1,  -1,   1,  -1,   1,},
{ -1,  1, -1,  -1,  -1,  -1,   1,   1,},
{ -1,  1,  1,   1,   1,   1,  -1,  -1,},
{  1, -1,  1,  -1,   1,  -1,   1,  -1,},
{  1,  1, -1,  -1,   1,   1,   1,  -1,},
{ -1, -1,  1,  -1,  -1,   1,  -1,  -1,},
{ -1, -1, -1,   1,   1,  -1,   1,   1,},
{  1,  1,  1,   1,  -1,  -1,  -1,   1,},
{ -1, -1,  1,   1,  -1,  -1,   1,  -1,},
{  1,  1, -1,   1,   1,  -1,  -1,  -1,},
{  1,  1,  1,  -1,  -1,   1,   1,   1,},
{ -1, -1, -1,  -1,   1,   1,  -1,   1,},
{ -1,  1,  1,  -1,   1,  -1,  -1,   1,},
{  1, -1,  1,   1,   1,   1,   1,   1,},
{  1, -1, -1,  -1,  -1,  -1,  -1,  -1,},
{ -1,  1, -1,   1,  -1,   1,   1,  -1,},
{   1,   1,  -1,  -1,  -1,   1,   1,   1,},
{  -1,  -1,   1,  -1,  -1,  -1,   1,  -1,},
{  -1,  -1,  -1,   1,   1,   1,  -1,   1,},
{   1,   1,   1,   1,   1,  -1,  -1,  -1,},
{  -1,   1,   1,  -1,   1,   1,  -1,  -1,},
{   1,  -1,   1,   1,  -1,   1,  -1,   1,},
{   1,  -1,  -1,  -1,   1,  -1,   1,  -1,},
{  -1,   1,  -1,   1,  -1,  -1,   1,   1,},
{   1,  -1,  -1,   1,  -1,  -1,  -1,  -1,},
{  -1,   1,  -1,  -1,   1,  -1,  -1,   1,},
{  -1,   1,   1,   1,  -1,   1,   1,  -1,},
{   1,  -1,   1,  -1,   1,   1,   1,   1,},
{  -1,  -1,   1,   1,   1,  -1,   1,   1,},
{   1,   1,  -1,   1,   1,   1,   1,  -1,},
{   1,   1,   1,  -1,  -1,  -1,  -1,   1,},
{  -1,  -1,  -1,  -1,  -1,   1,  -1,  -1,},
{   1,  -1,   1,   1,   1,   1,   1,  -1,},
{  -1,   1,  -1,   1,  -1,   1,  -1,  -1,},
{  -1,   1,   1,  -1,   1,  -1,   1,   1,},
{   1,  -1,  -1,  -1,  -1,  -1,  -1,   1,},
{   1,   1,  -1,   1,   1,  -1,  -1,   1,},
{  -1,  -1,  -1,  -1,   1,   1,   1,   1,},
{  -1,  -1,   1,   1,  -1,  -1,  -1,  -1,},
{   1,   1,   1,  -1,  -1,   1,   1,  -1,},
{  -1,  -1,   1,  -1,  -1,   1,  -1,   1,},
{   1,   1,   1,   1,  -1,  -1,   1,   1,},
{   1,   1,  -1,  -1,   1,   1,  -1,  -1,},
{  -1,  -1,  -1,   1,   1,  -1,   1,  -1,},
{  -1,   1,  -1,  -1,  -1,  -1,   1,  -1,},
{   1,  -1,   1,  -1,   1,  -1,  -1,  -1,},
{   1,  -1,  -1,   1,  -1,   1,   1,   1,},
{  -1,   1,   1,   1,   1,   1,  -1,   1,},
{  -1,   1,   1,   1,  -1,  -1,  -1,   1,},
{   1,  -1,  -1,   1,   1,  -1,   1,   1,},
{   1,  -1,   1,  -1,  -1,   1,  -1,  -1,},
{  -1,   1,  -1,  -1,   1,   1,   1,  -1,},
{  -1,  -1,  -1,   1,  -1,   1,   1,  -1,},
{   1,   1,  -1,  -1,  -1,  -1,  -1,  -1,},
{   1,   1,   1,   1,   1,   1,   1,   1,},
{  -1,  -1,   1,  -1,   1,  -1,  -1,   1,},
{   1,   1,   1,  -1,   1,  -1,   1,  -1,},
{  -1,  -1,   1,   1,   1,   1,  -1,  -1,},
{  -1,  -1,  -1,  -1,  -1,  -1,   1,   1,},
{   1,   1,  -1,   1,  -1,   1,  -1,   1,},
{   1,  -1,  -1,  -1,   1,   1,  -1,   1,},
{  -1,   1,   1,  -1,  -1,   1,   1,   1,},
{  -1,   1,  -1,   1,   1,  -1,  -1,  -1,},
{   1,  -1,   1,   1,  -1,  -1,   1,  -1,},
{  -1,  -1,  -1,  -1,   1,  -1,  -1,  -1,},
{   1,   1,   1,  -1,   1,   1,  -1,   1,},
{   1,   1,  -1,   1,  -1,  -1,   1,  -1,},
{  -1,  -1,   1,   1,  -1,   1,   1,   1,},
{   1,  -1,   1,  -1,  -1,  -1,   1,   1,},
{  -1,   1,   1,   1,   1,  -1,   1,  -1,1,
{  -1,   1,  -1,  -1,  -1,   1,  -1,   1,},
{   1,  -1,  -1,   1,   1,   1,  -1,  -1,},
{  -1,   1,  -1,   1,   1,   1,   1,   1,},
{   1,  -1,  -1,  -1,  -1,   1,   1,  -1,},
{   1,  -1,   1,   1,   1,  -1,  -1,   1,},
{  -1,   1,   1,  -1,  -1,  -1,  -1,  -1,},
{   1,   1,   1,   1,  -1,   1,  -1,  -1,},
{  -1,  -1,  -1,   1,  -1,  -1,  -1,   1,},
{  -1,  -1,   1,  -1,   1,   1,   1,  -1,},
{   1,   1,  -1,  -1,   1,  -1,   1,   1,},
{  -1,  -1,   1,   1,  -1,   1,  -1,  -1,},
{   1,   1,  -1,   1,  -1,  -1,  -1,   1,},
{   1,   1,   1,  -1,   1,   1,   1,  -1,},
{  -1,  -1,  -1,  -1,   1,  -1,   1,   1,},
{   1,  -1,  -1,   1,   1,   1,   1,   1,},
{  -1,   1,  -1,  -1,  -1,   1,   1,  -1,},
{  -1,   1,   1,   1,   1,  -1,  -1,   1,},
{   1,  -1,   1,  -1,  -1,  -1,  -1,  -1,},
{  -1,   1,   1,  -1,  -1,  -1,   1,   1,},
{   1,  -1,   1,   1,   1,  -1,   1,  -1,},
{   1,  -1,  -1,  -1,  -1,   1,  -1,   1,},
{  -1,   1,  -1,   1,   1,   1,  -1,  -1,},
{   1,   1,  -1,  -1,   1,  -1,  -1,  -1,},
{  -1,  -1,   1,  -1,   1,   1,  -1,   1,},
{  -1,  -1,  -1,   1,  -1,  -1,   1,  -1,},
{   1,   1,   1,   1,  -1,   1,   1,   1,},
{  -1,   1,  -1,  -1,   1,   1,  -1,   1,},
{   1,  -1,   1,  -1,  -1,   1,   1,   1,},
{   1,  -1,  -1,   1,   1,  -1,  -1,  -1,},
{  -1,   1,   1,   1,  -1,  -1,   1,  -1,},
{  -1,  -1,   1,  -1,   1,  -1,   1,  -1,},
{   1,   1,   1,   1,   1,   1,  -1,  -1,},
{   1,   1,  -1,  -1,  -1,  -1,   1,   1,},
{  -1,  -1,  -1,   1,  -1,   1,  -1,   1,},
{   1,   1,  -1,   1,  -1,   1,   1,  -1,},
{  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,},
{  -1,  -1,   1,   1,   1,   1,   1,   1,},
{   1,   1,   1,  -1,   1,  -1,  -1,   1,},
{   1,  -1,   1,   1,  -1,  -1,  -1,   1,},
{  -1,   1,  -1,   1,   1,  -1,   1,   1,},
{  -1,   1,   1,  -1,  -1,   1,  -1,  -1,},
{   1,  -1,  -1,  -1,   1,   1,   1,  -1,},
{   1,  -1,  -1,  -1,  -1,  -1,   1,  -1,},
{  -1,   1,   1,  -1,   1,  -1,  -1,  -1,},
{  -1,   1,  -1,   1,  -1,   1,   1,   1,},
{   1,  -1,   1,   1,   1,   1,  -1,   1,},
{   1,   1,   1,  -1,  -1,   1,  -1,   1,},
{  -1,  -1,   1,   1,  -1,  -1,   1,   1,},
{  -1,  -1,  -1,  -1,   1,   1,  -1,  -1,},
{   1,   1,  -1,   1,   1,  -1,   1,  -1,},
{  -1,  -1,  -1,   1,   1,  -1,  -1,   1,},
{   1,   1,  -1,  -1,   1,   1,   1,   1,},
{   1,   1,   1,   1,  -1,  -1,  -1,  -1,},
{  -1,  -1,   1,  -1,  -1,   1,   1,  -1,},
{  -1,   1,   1,   1,   1,   1,   1,  -1,},
{   1,  -1,  -1,   1,  -1,   1,  -1,  -1,},
{   1,  -1,   1,  -1,   1,  -1,   1,   1,},
{  -1,   1,  -1,  -1,  -1,  -1,  -1,   1,},
{   1,   1,   1,   1,   1,  -1,   1,   1,},
{  -1,  -1,  -1,   1,   1,   1,   1,  -1,},
{  -1,  -1,   1,  -1,  -1,  -1,  -1,   1,},
{   1,   1,  -1,  -1,  -1,   1,  -1,  -1,},
{  -1,   1,  -1,   1,  -1,  -1,  -1,  -1,},
{   1,  -1,  -1,  -1,   1,  -1,  -1,   1,},
{   1,  -1,   1,   1,  -1,   1,   1,  -1,},
{  -1,   1,   1,  -1,   1,   1,   1,   1,},
{   1,  -1,   1,  -1,   1,   1,  -1,  -1,},
{  -1,   1,   1,   1,  -1,   1,  -1,   1,},
{  -1,   1,  -1,  -1,   1,  -1,   1,  -1,},
{   1,  -1,  -1,   1,  -1,  -1,   1,   1,},
{  -1,  -1,  -1,  -1,  -1,   1,   1,   1,},
{   1,   1,   1,  -1,  -1,  -1,   1,  -1,},
{   1,   1,  -1,   1,   1,   1,  -1,   1,},
{  -1,  -1,   1,   1,   1,  -1,  -1,  -1,},
{   1,  -1,   1,  -1,   1,  -1,  -1,   1,},
{  -1,   1,   1,   1,   1,   1,   1,   1,},
{  -1,   1,  -1,  -1,  -1,  -1,  -1,  -1,},
{   1,  -1,  -1,   1,  -1,   1,   1,  -1,},
{   1,   1,   1,   1,  -1,  -1,   1,  -1,},
{  -1,  -1,  -1,   1,   1,  -1,  -1,  -1,},
{  -1,  -1,   1,  -1,  -1,   1,   1,   1,},
{   1,   1,  -1,  -1,   1,   1,  -1,   1,},
{  -1,  -1,  -1,  -1,   1,   1,   1,  -1,},
{   1,   1,   1,  -1,  -1,   1,  -1,  -1,},
{   1,   1,  -1,   1,   1,  -1,   1,   1,},
{  -1,  -1,   1,   1,  -1,  -1,  -1,   1,},
{  -1,   1,  -1,   1,  -1,   1,  -1,   1,},
{   1,  -1,  -1,  -1,  -1,  -1,   1,   1,},
{   1,  -1,   1,   1,   1,   1,  -1,  -1,},
{  -1,   1,   1,  -1,   1,  -1,   1,  -1,},
{  -1,  -1,  -1,   1,  -1,  -1,   1,   1,},
{   1,   1,  -1,  -1,   1,  -1,   1,  -1,},
{   1,   1,   1,   1,  -1,   1,  -1,   1,},
{  -1,  -1,   1,  -1,   1,   1,  -1,  -1,},
{   1,  -1,  -1,  -1,  -1,   1,  -1,  -1,},
{  -1,   1,   1,  -1,  -1,  -1,  -1,   1,},
{  -1,   1,  -1,   1,   1,   1,   1,  -1,},
{   1,  -1,   1,   1,   1,  -1,   1,   1,},
{  -1,   1,   1,   1,   1,  -1,  -1,  -1,},
{   1,  -1,  -1,   1,   1,   1,  -1,   1,},
{   1,  -1,   1,  -1,  -1,  -1,   1,  -1,},
{  -1,   1,  -1,  -1,  -1,   1,   1,   1,},
{   1,   1,   1,  -1,   1,   1,   1,   1,},
{  -1,  -1,   1,   1,  -1,   1,   1,  -1,},
{  -1,  -1,  -1,  -1,   1,  -1,  -1,   1,},
{   1,   1,  -1,   1,  -1,  -1,  -1,  -1,},
{   1,   1,  -1,   1,   1,   1,  -1,  -1,},
{  -1,  -1,  -1,  -1,  -1,   1,  -1,   1,},
{  -1,  -1,   1,   1,   1,  -1,   1,  -1,},
{   1,   1,   1,  -1,  -1,  -1,   1,   1,},
{  -1,   1,  -1,  -1,   1,  -1,   1,   1,},
{   1,  -1,   1,  -1,   1,   1,   1,  -1,},
{   1,  -1,  -1,   1,  -1,  -1,  -1,   1,},
{  -1,   1,   1,   1,  -1,   1,  -1,  -1,},
{   1,  -1,   1,   1,  -1,   1,   1,   1,},
{  -1,   1,  -1,   1,  -1,  -1,   1,  -1,},
{  -1,   1,   1,  -1,   1,   1,  -1,   1,},
{   1,  -1,  -1,  -1,   1,  -1,  -1,  -1,},
{  -1,  -1,   1,  -1,  -1,  -1,  -1,  -1,},
{   1,   1,   1,   1,   1,  -1,  -1,   1,},
{   1,   1,  -1,  -1,  -1,   1,   1,  -1,},
{  -1,  -1,  -1,   1,   1,   1,   1,   1,},
{  -1,   1,   1,  -1,  -1,   1,   1,  -1,},
{   1,  -1,   1,   1,  -1,  -1,  -1,  -1,},
{   1,  -1,  -1,  -1,   1,   1,   1,   1,},
{  -1,   1,  -1,   1,   1,  -1,  -1,   1,},
{  -1,  -1,   1,   1,   1,   1,  -1,   1,},
{   1,   1,  -1,   1,  -1,   1,   1,   1,},
{   1,   1,   1,  -1,   1,  -1,  -1,  -1,},
{  -1,  -1,   1,  -1,  -1,  -1,   1,  -1,},
{   1,   1,  -1,  -1,  -1,  -1,  -1,   1,},
{  -1,  -1,   1,  -1,   1,  -1,   1,   1,},
{  -1,   1,  -1,   1,  -1,   1,  -1,  -1,},
{   1,   1,   1,   1,   1,   1,   1,  -1,},
{   1,  -1,  -1,   1,   1,  -1,   1,  -1,},
{  -1,   1,  -1,  -1,   1,   1,  -1,  -1,},
{  -1,   1,   1,   1,  -1,  -1,   1,   1,},
{   1,   1,   1,  -1,  -1,   1,   1,   1,}
附录B
{   1,  -1,  -1,  -1,   1,   1,   1,   1,   1,   1,   1,   1,  -1,   1,   1,   1,},
{  -1,   1,  -1,  -1,   1,   1,   1,   1,  -1,  -1,  -1,  -1,  -1,   1,  -1,  -1,},
{  -1,   1,  -1,  -1,   1,   1,  -1,  -1,  -1,  -1,   1,   1,   1,  -1,   1,   1,},
{   1,  -1,  -1,  -1,   1,   1,  -1,  -1,   1,   1,  -1,  -1,   1,  -1,  -1,  -1,},
{  -1,   1,  -1,  -1,  -1,  -1,  -1,  -1,   1,   1,  -1,  -1,  -1,   1,   1,   1,},
{   1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   1,   1,  -1,   1,  -1,  -1,},
{   1,  -1,  -1,  -1,  -1,  -1,   1,   1,  -1,  -1,  -1,  -1,   1,  -1,   1,   1,},
{  -1,   1,  -1,  -1,  -1,  -1,   1,   1,   1,   1,   1,   1,   1,  -1,  -1,  -1,},
{  -1,  -1,   1,  -1,   1,  -1,   1,  -1,   1,  -1,  -1,   1,   1,   1,   1,  -1,},
{   1,   1,   1,  -1,   1,  -1,   1,  -1,  -1,   1,   1,  -1,   1,   1,  -1,   1,},
{   1,   1,   1,  -1,   1,  -1,  -1,   1,  -1,   1,  -1,   1,  -1,  -1,   1,  -1,},
{  -1,  -1,   1,  -1,   1,  -1,  -1,   1,   1,  -1,   1,  -1,  -1,  -1,  -1,   1,},
{   1,   1,   1,  -1,  -1,   1,  -1,   1,   1,  -1,   1,  -1,   1,   1,   1,  -1,},
{  -1,  -1,   1,  -1,  -1,   1,  -1,   1,  -1,   1,  -1,   1,   1,   1,  -1,   1,},
{  -1,  -1,   1,  -1,  -1,   1,   1,  -1,  -1,   1,   1,  -1,  -1,  -1,   1,  -1,},
{   1,   1,   1,  -1,  -1,   1,   1,  -1,   1,  -1,  -1,   1,  -1,  -1,  -1,   1,},
{   1,   1,  -1,  -1,   1,   1,   1,   1,  -1,   1,   1,  -1,   1,  -1,   1,  -1,},
{  -1,  -1,  -1,  -1,   1,   1,   1,   1,   1,  -1,  -1,   1,   1,  -1,  -1,   1,},
{  -1,  -1,  -1,  -1,   1,   1,  -1,  -1,   1,  -1,   1,  -1,  -1,   1,   1,  -1,},
(   1,   1,  -1,  -1,   1,   1,  -1,  -1,  -1,   1,  -1,   1,  -1,   1,  -1,   1,},
{  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   1,  -1,   1,   1,  -1,   1,  -1,},
{   1,   1,  -1,  -1,  -1,  -1,  -1,  -1,   1,  -1,   1,  -1,   1,  -1,  -1,   1,},
{   1,   1,  -1,  -1,  -1,  -1,   1,   1,   1,  -1,  -1,   1,  -1,   1,   1,  -1,},
{  -1,  -1,  -1,  -1,  -1,  -1,   1,   1,  -1,   1,   1,  -1,  -1,   1,  -1,   1,},
{  -1,   1,   1,  -1,   1,  -1,   1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   1,   1,},
{   1,  -1,   1,  -1,   1,  -1,   1,  -1,   1,   1,   1,   1,  -1,  -1,  -1,  -1,},
{   1,  -1,   1,  -1,   1,  -1,  -1,   1,   1,   1,  -1,  -1,   1,   1,   1,   1,},
{  -1,   1,   1,  -1,   1,  -1,  -1,   1,  -1,  -1,   1,   1,   1,   1,  -1,  -1,},
{   1,  -1,   1,  -1,  -1,   1,  -1,   1,  -1,  -1,   1,   1,  -1,  -1,   1,   1,},
{  -1,   1,   1,  -1,  -1,   1,  -1,   1,   1,   1,  -1,  -1,  -1,  -1,  -1,  -1,},
{  -1,   1,   1,  -1,  -1,   1,   1,  -1,   1,   1,   1,   1,   1,   1,   1,   1,},
{   1,  -1,   1,  -1,  -1,   1,   1,  -1,  -1,  -1,  -1,  -1,   1,   1,  -1,  -1,},
{   1,   1,  -1,  -1,   1,   1,  -1,   1,   1,  -1,  -1,  -1,  -1,  -1,   1,   1,},
{  -1,  -1,  -1,  -1,   1,   1,  -1,   1,  -1,   1,   1,   1,  -1,  -1,  -1,  -1,},
{  -1,  -1,  -1,  -1,   1,   1,   1,  -1,  -1,   1,  -1,  -1,   1,   1,   1,   1,},
{   1,   1,   1,  -1,   1,   1,   1,  -1,   1,  -1,   1,   1,   1,   1,  -1,  -1,},
{  -1,  -1,  -1,  -1,  -1,  -1,   1,  -1,   1,  -1,   1,   1,  -1,  -1,   1,   1,},
{   1,   1,  -1,  -1,  -1,  -1,   1,  -1,  -1,   1,  -1,  -1,  -1,  -1,  -1,  -1,},
{   1,   1,  -1,  -1,  -1,  -1,  -1,   1,  -1,   1,   1,   1,   1,   1,   1,   1,},
{  -1,  -1,  -1,  -1,  -1,  -1,  -1,   1,   1,  -1,  -1,  -1,   1,   1,  -1,  -1,},
{  -1,   1,   1,  -1,   1,  -1,  -1,  -1,   1,   1,   1,  -1,   1,  -1,   1,  -1,},
{   1,  -1,   1,  -1,   1,  -1,  -1,  -1,  -1,  -1,  -1,   1,   1,  -1,  -1,   1,},
{   1,  -1,   1,  -1,   1,  -1,   1,   1,  -1,  -1,   1,  -1,  -1,   1,   1,  -1,},
{  -1,   1,   1,  -1,   1,  -1,   1,   1,   1,   1,  -1,   1,  -1,   1,  -1,   1,},
{   1,  -1,   1,  -1,  -1,   1,   1,   1,   1,   1,  -1,  1,   1,  -1,  1,  -1,},
{  -1,   1,   1,  -1,  -1,   1,   1,   1,  -1,  -1,   1, -1,   1,  -1, -1,   1,},
{  -1,   1,   1,  -1,  -1,   1,  -1,  -1,  -1,  -1,  -1,  1,  -1,   1,  1,  -1,},
{   1,  -1,   1,  -1,  -1,   1,  -1,  -1,   1,   1,   1, -1,  -1,   1, -1,   1,},
{  -1,   1,  -1,  -1,   1,   1,  -1,   1,   1,   1,  -1,  1,   1,   1,  1,  -1,},
{   1,  -1,  -1,  -1,   1,   1,  -1,   1,  -1,  -1,   1, -1,   1,   1, -1,   1,},
{   1,  -1,  -1,  -1,   1,   1,   1,  -1,  -1,  -1,  -1,  1,  -1,  -1,  1,  -1,},
{  -1,   1,  -1,  -1,   1,   1,   1,  -1,   1,   1,   1, -1,  -1,  -1, -1,   1,},
{   1,  -1,  -1,  -1,  -1,  -1,   1,  -1,   1,   1,   1, -1,   1,   1,  1,  -1,},
{  -1,   1,  -1,  -1,  -1,  -1,   1,  -1,  -1,  -1,  -1,  1,   1,   1, -1,   1,},
{  -1,   1,  -1,  -1,  -1,  -1,  -1,   1,  -1,  -1,   1, -1,  -1,  -1,  1,  -1,},
{   1,  -1,  -1,  -1,  -1,  -1,  -1,   1,   1,   1,  -1,  1,  -1,  -1, -1,   1,},
{   1,   1,   1,  -1,   1,  -1,  -1,  -1,   1,  -1,   1,  1,  -1,   1,  1,   1,},
{  -1,  -1,   1,  -1,   1,  -1,  -1,  -1,  -1,   1,  -1, -1,  -1,   1, -1,  -1,},
{  -1,  -1,   1,  -1,   1,  -1,   1,   1,  -1,   1,   1,  1,   1,  -1,  1,   1,},
{   1,   1,   1,  -1,   1,  -1,   1,   1,   1,  -1,  -1, -1,   1,  -1, -1,  -1,},
{  -1,  -1,   1,  -1,  -1,   1,   1,   1,   1,  -1,  -1, -1,  -1,   1,  1,   1,},
{   1,   1,   1,  -1,  -1,   1,   1,   1,  -1,   1,   1,  1,  -1,   1, -1,  -1,},
{   1,   1,   1,  -1,  -1,   1,  -1,  -1,  -1,   1,  -1, -1,   1,  -1,  1,   1,},
{  -1,  -1,   1,  -1,  -1,   1,  -1,  -1,   1,  -1,   1,  1,   1,  -1, -1,  -1,},
{   1,   1,  -1,  -1,  -1,   1,   1,  -1,  -1,  -1,   1, -1,  -1,   1,  1,   1,},
{  -1,  -1,  -1,  -1,  -1,   1,   1,  -1,   1,   1,  -1,  1,  -1,   1, -1,  -1,},
{  -1,  -1,  -1,  -1,  -1,   1,  -1,   1,   1,   1,   1, -1,   1,  -1,  1,   1,},
{   1,   1,  -1,  -1,  -1,   1,  -1,   1,  -1,  -1,  -1,  1,   1,  -1, -1,  -1,},
{  -1,  -1,  -1,  -1,   1,  -1,  -1,   1,  -1,  -1,  -1,  1,  -1,   1,  1,   1,},
{   1,   1,  -1,  -1,   1,  -1,  -1,   1,   1,   1,   1, -1,  -1,   1, -1,  -1,},
{   1,   1,  -1,  -1,   1,  -1,   1,  -1,   1,   1,  -1,  1,   1,  -1,  1,   1,},
{  -1,  -1,  -1,  -1,   1,  -1,   1,  -1,  -1,  -1,   1, -1,   1,  -1, -1,  -1,},
{   1,  -1,   1,  -1,   1,   1,  -1,  -1,  -1,   1,   1,  1,   1,   1,  1,  -1,},
{  -1,   1,   1,  -1,   1,   1,  -1,  -1,   1,  -1,  -1, -1,   1,   1, -1,   1,},
{  -1,   1,   1,  -1,   1,   1,   1,   1,  -1,   1,  -1, -1,  -1,  -1, -1,   1,},
{  -1,   1,   1,  -1,  -1,  -1,   1,   1,  -1,   1,  -1, -1,   1,   1,  1,  -1,},
{   1,  -1,   1,  -1,  -1,  -1,   1,   1,   1,  -1,   1,  1,   1,   1, -1,   1,},
{   1,  -1,   1,  -1,  -1,  -1,  -1,  -1,   1,  -1,  -1, -1,  -1,  -1,  1,  -1,},
{  -1,   1,   1,  -1,  -1,  -1,  -1,  -1,  -1,   1,   1,  1,  -1,  -1, -1,   1,},
{  -1,   1,  -1,  -1,  -1,   1,   1,  -1,   1,  -1,  -1, -1,   1,  -1,  1,  -1,},
{   1,  -1,  -1,  -1,  -1,   1,   1,  -1,  -1,   1,   1,  1,   1,  -1, -1,   1,},
{   1,  -1,  -1,  -1,  -1,   1,  -1,   1,  -1,   1,  -1, -1,  -1,   1,  1,  -1,1,
{  -1,   1,  -1,  -1,  -1,   1,  -1,   1,   1,  -1,   1,  1,  -1,   1, -1,   1,},
{   1,  -1,  -1,  -1,   1,  -1,  -1,   1,   1,  -1,   1,  1,   1,  -1,  1,  -1,},
{  -1,   1,  -1,  -1,   1,  -1,  -1,   1,  -1,   1,  -1, -1,   1,  -1, -1,   1,},
{  -1,   1,  -1,  -1,   1,  -1,   1,  -1,  -1,   1,   1,  1,  -1,   1,  1,  -1,},
{   1,  -1,  -1,  -1,   1,  -1,   1,  -1,   1,  -1,  -1, -1,  -1,   1, -1,   1,},
{  -1,  -1,   1,  -1,   1,   1,  -1,  -1,   1,   1,  -1,  1,  -1,  -1,  1,   1,},
{   1,   1,   1,  -1,   1,   1,  -1,  -1,  -1,  -1,   1, -1,  -1,  -1, -1,  -1,},
{   1,   1,   1,  -1,   1,   1,   1,   1,  -1,  -1,  -1,  1,   1,   1,  1,   1,},
{  -1,  -1,   1,  -1,   1,   1,   1,   1,   1,   1,   1, -1,   1,   1, -1,  -1,},
{  1,  1,  1,  -1,   -1,  -1,  1,  1,  1,  1,  1,  -1,  -1,  -1,  1,  1,},
{ -1, -1,  1,   -1,  -1,  -1,  1,  1, -1, -1, -1,   1,  -1,  -1, -1, -1,},
{ -1, -1,  1,   -1,  -1,  -1, -1, -1, -1, -1,  1,  -1,   1,   1,  1,  1,},
{  1,  1,  1,   -1,  -1,  -1, -1, -1,  1,  1, -1,   1,   1,   1, -1, -1,},
{ -1,  1, -1,   -1,  -1,   1,  1,  1, -1,  1, -1,   1,  -1,  -1,  1,  1,},
{  1, -1, -1,   -1,  -1,   1,  1,  1,  1, -1,  1,  -1,  -1,  -1, -1, -1,},
{  1, -1, -1,   -1,  -1,   1, -1, -1,  1, -1, -1,   1,   1,   1,  1,  1,},
{ -1,  1, -1,   -1,  -1,   1, -1, -1, -1,  1,  1,  -1,   1,   1, -1, -1,},
{  1, -1, -1,   -1,   1,  -1, -1, -1, -1,  1,  1,  -1,  -1,  -1,  1,  1,},
{ -1,  1, -1,   -1,   1,  -1, -1, -1,  1, -1, -1,   1,  -1,  -1, -1, -1,},
{ -1,  1, -1,   -1,   1,  -1,  1,  1,  1, -1,  1,  -1,   1,   1,  1,  1,},
{  1, -1, -1,   -1,   1,  -1,  1,  1, -1,  1, -1,   1,   1,   1, -1, -1,},
{ -1, -1,  1,   -1,   1,   1, -1,  1, -1, -1, -1,  -1,   1,  -1,  1, -1,},
{  1,  1,  1,   -1,   1,   1, -1,  1,  1,  1,  1,   1,   1,  -1, -1,  1,},
{  1,  1,  1,   -1,   1,   1,  1, -1,  1,  1, -1,  -1,  -1,   1,  1, -1,},
{ -1, -1,  1,   -1,   1,   1,  1, -1, -1, -1,  1,   1,  -1,   1, -1,  1,},
{  1,  1,  1,   -1,  -1,  -1,  1, -1, -1, -1,  1,   1,   1,  -1,  1, -1,},
{ -1, -1,  1,   -1,  -1,  -1,  1, -1,  1,  1, -1,  -1,   1,  -1, -1,  1,},
{ -1, -1,  1,   -1,  -1,  -1, -1,  1,  1,  1,  1,   1,  -1,   1,  1, -1,},
{  1,  1,  1,   -1,  -1,  -1, -1,  1, -1, -1, -1,  -1,  -1,   1, -1,  1,},
{ -1, -1, -1,   -1,  -1,   1,  1,  1, -1, -1,  1,   1,   1,   1,  1, -1,},
{  1,  1, -1,   -1,  -1,   1,  1,  1,  1,  1, -1,  -1,   1,   1, -1,  1,},
{  1,  1, -1,   -1,  -1,   1, -1, -1,  1,  1,  1,   1,  -1,  -1,  1, -1,},
{ -1, -1, -1,   -1,  -1,   1, -1, -1, -1, -1, -1,  -1,  -1,  -1, -1,  1,},
{  1,  1, -1,   -1,   1,  -1, -1, -1, -1, -1, -1,  -1,   1,   1,  1, -1,},
{ -1, -1, -1,   -1,   1,  -1, -1, -1,  1,  1,  1,   1,   1,   1, -1,  1,},
{ -1, -1, -1,   -1,   1,  -1,  1,  1,  1,  1, -1,  -1,  -1,  -1,  1, -1,},
{  1,  1, -1,   -1,   1,  -1,  1,  1, -1, -1,  1,   1,  -1,  -1, -1,  1,},
{ -1,  1,  1,   -1,   1,   1, -1,  1, -1,  1,  1,  -1,  -1,   1,  1,  1,},
{  1, -1,  1,   -1,   1,   1, -1,  1,  1, -1, -1,   1,  -1,   1, -1, -1,},
{  1, -1,  1,   -1,   1,   1,  1, -1,  1, -1,  1,  -1,   1,  -1, 1,   1,},
{ -1,  1,  1,   -1,   1,   1,  1, -1, -1,  1, -1,   1,   1,  -1, -1, -1,},
{  1, -1,  1,   -1,  -1,  -1,  1, -1, -1,  1, -1,   1,  -1,   1,  1,  1,},
{ -1,  1,  1,   -1,  -1,  -1,  1, -1,  1, -1,  1,  -1,  -1,   1, -1, -1,},
{ -1,  1,  1,   -1,  -1,  -1, -1,  1,  1, -1, -1,   1,   1,  -1,  1,  1,},
{  1, -1,  1,   -1,  -1,  -1, -1,  1, -1,  1,  1,  -1,   1,  -1, -1, -1,},
{ -1,  1,  1,    1,  -1,  -1, -1, -1, -1, -1, -1,  -1,   1,  -1, -1, -1,},
{  1, -1,  1,    1,  -1,  -1,  1,  1,  1,  1, -1,  -1,  -1,   1, -1, -1,},
{ -1,  1,  1,    1,  -1,  -1,  1,  1, -1, -1,  1,   1,  -1,   1,  1,  1,},
{  1, -1,  1,    1,   1,   1,  1,  1, -1, -1,  1,   1,   1,  -1, -1, -1,},
{ -1,  1,  1,    1,   1,   1,  1,  1,  1,  1, -1,  -1,   1,  -1,  1,  1,},
{ -1,  1,  1,    1,   1,   1, -1, -1,  1,  1,  1,   1,  -1,   1, -1, -1,},
{  1, -1,  1,    1,   1,   1, -1, -1, -1, -1, -1,  -1,  -1,   1,  1,  1,},
(  1,  1, -1,    1,  -1,   1, -1,  1, -1,  1,  1,  -1,  -1,  -1, -1,  1,},
{ -1, -1, -1,    1,  -1,   1, -1,  1,  1, -1, -1,   1,  -1,  -1,  1, -1,},
{ -1, -1, -1,    1,  -1,   1,  1, -1,  1, -1,  1,  -1,   1,   1, -1,  1,},
{  1,  1, -1,    1,  -1,   1,  1, -1, -1,  1, -1,   1,   1,   1,  1, -1,},
{-1,  -1, -1,  1,  1,  -1,  1,  -1,  -1,  1,  -1,  1,  -1,  -1,  -1,  1,},
{ 1,  1,  -1,  1,  1,  -1,  1,  -1,   1, -1,   1, -1,  -1,  -1,   1, -1,},
{ 1,  1,  -1,  1,  1,  -1, -1,   1,   1, -1,  -1,  1,   1,   1,  -1,  1,},
{-1, -1,  -1,  1,  1,  -1, -1,   1,  -1,  1,   1, -1,   1,   1,   1, -1,},
{-1, -1,   1,  1, -1,  -1, -1,  -1,   1, -1,  -1,  1,  -1,   1,  -1,  1,},
{ 1,  1,   1,  1, -1,  -1, -1,  -1,  -1,  1,   1, -1,  -1,   1,   1, -1,},
{ 1,  1,   1,  1, -1,  -1,  1,   1,  -1,  1,  -1,  1,   1,  -1,  -1,  1,},
{-1, -1,   1,  1, -1,  -1,  1,   1,   1, -1,   1, -1,   1,  -1,   1, -1,},
{ 1,  1,   1,  1,  1,   1,  1,   1,   1, -1,   1, -1,  -1,   1,  -1,  1,},
{-1, -1,   1,  1,  1,   1,  1,   1,  -1,  1,  -1,  1,  -1,   1,   1, -1,},
{-1, -1,   1,  1,  1,   1, -1,  -1,  -1,  1,   1, -1,   1,  -1,  -1,  1,},
{ 1,  1,   1,  1,  1,   1, -1,  -1,   1, -1,  -1,  1,   1,  -1,   1, -1,},
{ 1, -1,  -1,  1, -1,   1, -1,   1,   1,  1,   1,  1,   1,   1,  -1, -1,},
{-1,  1,  -1,  1, -1,   1, -1,   1,  -1, -1,  -1, -1,   1,   1,   1,  1,},
{-1,  1,  -1,  1, -1,   1,  1,  -1,  -1, -1,   1,  1,  -1,  -1,  -1, -1,},
{ 1, -1,  -1,  1, -1,   1,  1,  -1,   1,  1,  -1, -1,  -1,  -1,   1,  1,},
{-1,  1,  -1,  1,  1,  -1,  1,  -1,   1,  1,  -1, -1,   1,   1,  -1, -1,},
{ 1, -1,  -1,  1,  1,  -1,  1,  -1,  -1, -1,   1,  1,   1,   1,   1,  1,},
{ 1, -1,  -1,  1,  1,  -1, -1,   1,  -1, -1,  -1, -1,  -1,  -1,  -1, -1,},
{-1,  1,  -1,  1,  1,  -1, -1,   1,   1,  1,   1,  1,  -1,  -1,   1,  1,},
{-1, -1,   1,  1, -1,  -1,  1,  -1,  -1,  1,   1,  1,   1,   1,  -1, -1,},
{ 1,  1,   1,  1, -1,  -1,  1,  -1,   1, -1,  -1, -1,   1,   1,   1,  1,},
{ 1,  1,   1,  1, -1,  -1, -1,   1,   1, -1,   1,  1,  -1,  -1,  -1, -1,},
{-1, -1,   1,  1, -1,  -1, -1,   1,  -1,  1,  -1, -1,  -1,  -1,   1,  1,},
{ 1,  1,   1,  1,  1,   1, -1,   1,  -1,  1,  -1, -1,   1,   1,  -1, -1,},
{-1, -1,   1,  1,  1,   1, -1,   1,   1, -1,   1,  1,   1,   1,   1,  1,},
{-1, -1,   1,  1,  1,   1,  1,  -1,   1, -1,  -1, -1,  -1,  -1,  -1, -1,},
{ 1,  1,   1,  1,  1,   1,  1,  -1,  -1,  1,   1,  1,  -1,  -1,   1,  1,},
{ 1, -1,  -1,  1, -1,   1,  1,   1,  -1, -1,  -1,  1,  -1,   1,  -1,  1,},
{-1,  1,  -1,  1, -1,   1,  1,   1,   1,  1,   1, -1,  -1,   1,   1, -1,},
{-1,  1,  -1,  1, -1,   1, -1,  -1,   1,  1,  -1,  1,   1,  -1,  -1,  1,},
{ 1, -1,  -1,  1, -1,   1, -1,  -1,  -1, -1,   1, -1,   1,  -1,   1, -1,},
{-1,  1,  -1,  1,  1,  -1, -1,  -1,  -1, -1,   1, -1,  -1,   1,  -1,  1,},
{ 1, -1,  -1,  1,  1,  -1, -1,  -1,   1,  1,  -1,  1,  -1,   1,   1, -1,},
{ 1, -1,  -1,  1,  1,  -1,  1,   1,   1,  1,   1, -1,   1,  -1,  -1,  1,},
{-1,  1,  -1,  1,  1,  -1,  1,   1,  -1, -1,  -1,  1,   1,  -1,   1, -1,},
{ 1, -1,   1,  1, -1,  -1,  1,  -1,  -1, -1,   1, -1,  -1,  -1,  -1,  1,},
{-1,  1,   1,  1, -1,  -1,  1,  -1,   1,  1,  -1,  1,  -1,  -1,   1, -1,},
{-1,  1,   1,  1, -1,  -1, -1,   1,   1,  1,   1, -1,   1,   1,  -1,  1,},
{ 1, -1,   1,  1, -1,  -1, -1,   1,  -1, -1,  -1,  1,   1,   1,   1, -1,},
{-1,  1,   1,  1,  1,   1, -1,   1,  -1, -1,  -1,  1,  -1,  -1,  -1,  1,},
{ 1, -1,   1,  1,  1,   1, -1,   1,   1,  1,   1, -1,  -1,  -1,   1, -1,},
{ 1, -1,   1,  1,  1,   1,  1,  -1,   1,  1,  -1,  1,   1,   1,  -1,  1,},
{-1,  1,   1,  1,  1,   1,  1,  -1,  -1, -1,   1, -1,   1,   1,   1, -1,},
{-1, -1,  -1,  1, -1,   1,  1,   1,  -1,  1,  -1, -1,   1,  -1,  -1, -1,},
{ 1,  1,  -1,  1, -1,   1,  1,   1,   1, -1,   1,  1,   1,  -1,   1,  1,},
{ 1,  1,  -1,  1, -1,   1, -1,  -1,   1, -1,  -1, -1,  -1,   1,  -1, -1,},
{-1, -1,  -1,  1, -1,   1, -1,  -1,  -1,  1,   1,  1,  -1,   1,   1,  1,},
{  1,  1,  -1,  1,  1,  -1,  -1,  -1,  -1,  1,  1,  1,  1,  -1,  -1,  -1,},
{ -1, -1,  -1,  1,  1,  -1,  -1,  -1,   1, -1, -1, -1,  1,  -1,   1,   1,},
{ -1, -1,  -1,  1,  1,  -1,   1,  1,   1, -1,  1,  1, -1,   1,  -1,  -1,},
{  1,  1,  -1,  1,  1,  -1,   1,  1,  -1,  1, -1, -1, -1,   1,   1,   1,},
{ -1, -1,   1,  1,  1,  -1,  -1,  1,   1,  1, -1,  1,  1,  -1,  -1,  -1,},
{  1,  1,   1,  1,  1,  -1,  -1,  1,  -1, -1,  1, -1,  1,  -1,   1,   1,},
{ -1, -1,   1,  1,  1,  -1,   1,  -1,   1,  1,  1, -1, -1,   1,   1,   1,},
{  1,  1,   1,  1, -1,   1,   1,  -1,   1,  1,  1, -1,  1,  -1,  -1,  -1,},
{ -1, -1,   1,  1, -1,   1,   1,  -1,  -1, -1, -1,  1,  1,  -1,   1,   1,},
{ -1, -1,   1,  1, -1,   1,  -1,   1,  -1, -1,  1, -1, -1,   1,  -1,  -1,},
{  1,  1,   1,  1, -1,   1,  -1,   1,   1,  1, -1,  1, -1,   1,   1,   1,},
{ -1,  1,  -1,  1, -1,  -1,   1,   1,   1, -1, -1, -1, -1,  -1,  -1,   1,},
{  1, -1,  -1,  1, -1,  -1,   1,   1,  -1,  1,  1,  1, -1,  -1,   1,  -1,},
{  1, -1,  -1,  1, -1,  -1,  -1,  -1,  -1,  1, -1, -1,  1,   1,  -1,   1,},
{ -1,  1,  -1,  1, -1,  -1,  -1,  -1,   1, -1,  1,  1,  1,   1,   1,  -1,},
{  1, -1,  -1,  1,  1,   1,  -1,  -1,   1, -1,  1,  1, -1,  -1,  -1,   1,},
{ -1,  1,  -1,  1,  1,   1,  -1,  -1,  -1,  1, -1, -1, -1,  -1,   1,  -1,},
{ -1,  1,  -1,  1,  1,   1,   1,   1,  -1,  1,  1,  1,  1,   1,  -1,   1,},
{  1, -1,  -1,  1,  1,   1,   1,   1,   1, -1, -1, -1,  1,   1,   1,  -1,},
{  1, -1,   1,  1,  1,  -1,  -1,   1,  -1,  1,  1,  1, -1,   1,  -1,   1,},
{ -1,  1,   1,  1,  1,  -1,  -1,   1,   1, -1, -1, -1, -1,   1,   1,  -1,},
{ -1,  1,   1,  1,  1,  -1,   1,  -1,   1, -1,  1,  1,  1,  -1,  -1,   1,},
{  1, -1,   1,  1,  1,  -1,   1,  -1,  -1,  1, -1, -1,  1,  -1,   1,  -1,},
{ -1,   1,  1,  1, -1,   1,   1,  -1,  -1,  1, -1, -1, -1,   1,  -1,   1,},
{  1, -1,   1,  1, -1,   1,   1,  -1,   1, -1,  1,  1, -1,   1,   1,  -1,},
{  1, -1,   1,  1, -1,   1,  -1,   1,   1, -1, -1, -1,  1,  -1,  -1,   1,},
{ -1,  1,   1,  1, -1,   1,  -1,   1,  -1,  1,  1,  1,  1,  -1,   1,  -1,},
{  1,  1,  -1,  1, -1,  -1,   1,   1,  -1, -1,  1, -1,  1,   1,  -1,  -1,},
{ -1, -1,  -1,  1, -1,  -1,   1,   1,   1,  1, -1,  1,  1,   1,   1,   1,},
{ -1, -1,  -1,  1, -1,  -1,  -1,  -1,   1,  1,  1, -1, -1,  -1,  -1,  -1,},
{  1,  1,  -1,  1, -1,  -1,  -1,  -1,  -1, -1, -1,  1, -1,  -1,   1,   1,},
{ -1, -1,  -1,  1,  1,   1,  -1,  -1,  -1, -1, -1,  1,  1,   1,  -1,  -1,},
{  1,  1,  -1,  1,  1,   1,  -1,  -1,   1,  1,  1, -1,  1,   1,   1,   1,},
{  1, -1,  -1,  1,  1,   1,   1,   1,  -1, -1,  1, -1, -1,  -1,   1,   1,},
{  1, -1,   1,  1,  1,  -1,  -1,  -1,   1, -1,  1, -1,  1,   1,  -1,  -1,},
{ -1,  1,   1,  1,  1,  -1,  -1,  -1,  -1,  1, -1,  1,  1,   1,   1,   1,},
{ -1,  1,   1,  1,  1,  -1,   1,   1,  -1,  1,  1, -1, -1,  -1,  -1,  -1,},
{  1, -1,   1,  1,  1,  -1,   1,   1,   1, -1, -1,  1, -1,  -1,   1,   1,},
{ -1,  1,   1,  1, -1,   1,   1,   1,   1, -1, -1,  1,  1,   1,  -1,  -1,},
{  1, -1,   1,  1, -1,   1,   1,   1,  -1,  1,  1, -1,  1,   1,   1,   1,},
{  1, -1,   1,  1, -1,   1,  -1,  -1,  -1,  1, -1,  1, -1,  -1,  -1,  -1,},
{ -1,  1,   1,  1, -1,   1,  -1,  -1,   1, -1,  1, -1, -1,  -1,   1,   1,},
{  1,  1,  -1,  1, -1,  -1,   1,  -1,   1,  1,  1,  1, -1,   1,  -1,   1,},
{ -1, -1,  -1,  1, -1,  -1,   1,  -1,  -1, -1, -1, -1, -1,   1,   1,  -1,},
{ -1, -1,  -1,  1, -1,  -1,  -1,   1,  -1, -1,  1,  1,  1,  -1,  -1,   1,},
{  1,  1,  -1,  1, -1,  -1,  -1,   1,   1,  1, -1, -1,  1,  -1,   1,  -1,},
{  -1,  -1,  -1,  1,  1,  1,  -1,  1,  1,  1,  -1,  -1,  -1,  1,  -1,  1,},
{   1,   1,  -1,  1,  1,  1,  -1,  1, -1, -1,   1,   1,  -1,  1,   1, -1,},
{   1,   1,  -1,  1,  1,  1,   1, -1, -1, -1,  -1,  -1,   1, -1,  -1,  1,},
{  -1,  -1,  -1,  1,  1,  1,   1, -1,  1,  1,   1,   1,   1, -1,   1, -1,},
{   1,   1,   1,  1,  1, -1,  -1, -1,  1,  1,  -1,  -1,  -1, -1,  -1,  1,},
{  -1,  -1,   1,  1,  1, -1,  -1, -1, -1, -1,   1,   1,  -1, -1,   1, -1,},
{  -1,  -1,   1,  1,  1, -1,   1,  1, -1, -1,  -1,  -1,   1,  1,  -1,  1,},
{   1,   1,   1,  1,  1, -1,   1,  1,  1,  1,   1,   1,   1,  1,   1, -1,},
{  -1,  -1,   1,  1, -1,  1,   1,  1,  1,  1,   1,   1,  -1, -1,  -1,  1,},
{   1,   1,   1,  1, -1,  1,   1,  1, -1, -1,  -1,  -1,  -1, -1,   1, -1,},
{   1,   1,   1,  1, -1,  1,  -1, -1, -1, -1,   1,   1,   1,  1,  -1,  1,},
{  -1,  -1,   1,  1, -1,  1,  -1, -1,  1,  1,  -1,  -1,   1,  1,   1, -1,},
{   1,  -1,  -1,  1, -1, -1,   1, -1,  1, -1,  -1,   1,   1, -1,  -1, -1,},
{  -1,   1,  -1,  1, -1, -1,   1, -1, -1,  1,   1,  -1,   1, -1,   1,  1,},
{  -1,   1,  -1,  1, -1, -1,  -1,  1, -1,  1,  -1,   1,  -1,  1,  -1, -1,},
{   1,  -1,  -1,  1, -1, -1,  -1,  1,  1, -1,   1,  -1,  -1,  1,   1,  1,},
{  -1,   1,  -1,  1,  1,  1,  -1,  1,  1, -1,   1,  -1,   1, -1,  -1, -1,},
{   1,  -1,  -1,  1,  1,  1,  -1,  1, -1,  1,  -1,   1,   1, -1,   1,  1,},
{   1,  -1,  -1,  1,  1,  1,   1, -1, -1,  1,   1,  -1,  -1,  1,  -1, -1,},
{  -1,   1,  -1,  1,  1,  1,   1, -1,  1, -1,  -1,   1,  -1,  1,   1,  1,}
附录C
-1  1  1  1  1  1  1  -1  -1  1  -1  1  1  1  1   1
-1  1 -1 -1  1 -1  1   1  -1 -1   1  1  1  1  1   1
-1  1 -1  1  1 -1 -1   1  -1  1  -1 -1  1 -1  1   1
-1  1  1  1  1  1 -1   1  -1 -1   1  1  1 -1  1  -1
-1  1  1 -1  1  1 -1   1  -1  1  -1 -1 -1 -1  1   1
-1  1 -1  1  1 -1 -1  -1  -1 -1   1 -1 -1 -1  1   1
-1  1 -1 -1  1 -1  1  -1  -1  1  -1  1 -1  1  1   1
-1  1  1 -1  1  1  1  -1  -1 -1   1 -1 -1  1  1  -1
将图2所揭示的结构修改成如图12所示的,以便在存在短静态重象的情况下允许映 象更易于检测。除了附加组件之外,图2和12所示的结构是相同的,因此,图2和12 使用相同的标号来描述相同的组件。但是,图12的结构还包括在副本映象中加扰位而不 在原始映象中加扰位的加扰装置(scrambler)300。
如图12所示,加扰装置300对Kerdock编码器12的输出进行操作并将其输出提供 给卷积交织器14。因为加扰装置300不加扰第一次出现的映象,所以来自Kerdock编码 器12的映象{A0 B0 P1},{C0 Ae P2},{Be Ce P3}的48位按它们离开Kerdock编码器 12的序列通过加扰装置300。但是,因为加扰装置300加扰映象的副本,所以来自Kerdock 编码器12的副本映象{A0 B0 P1},{C0Ae P2},{Be Ce P3}的48位按与离开Kerdock 编码器12的序列不同的序列退出加扰装置300。
如上所述,Kerdock编码器12以两个映象数据亚单元(每个映象数据亚单元有4位) 的组编码映象以形成每组16个输出位。这16位包括相应两个映象亚单元的8位和8个奇 偶位。序列中的这些16个位可以被任意地指定为1 2 3 4  5 6 7 8  9 10 11 12  13 14 15 16。因此,第一次出现的映象的第一个16位按该序列退出加扰装置300。但是,第二 次出现的这些第一个16位(即,副本映象的第一个16位)按加扰序列退出加扰装置300。 例如,这些16位可按以下的序列退出加扰装置300:13 9 5 1  14 10 6 2  15 11 7 3  16 12 8 4。因此,原始映象中的第一位是副本映象中的第四位,原始映象中的第二位是副本 映象中的第八位,等等。也可使用其它的可选加扰序列。
同样,第一次出现的映象的第二个16位按不加扰序列退出加扰装置300,且第二次 出现的这些第二个16位(即,副本映象的第二16个位)按以下加扰的序列退出加扰装置 300:13 9 5 1  14 10 6 2  15 11 7 3  16 12 8 4。类似地,第一次出现的映象的第三 个16位按不加扰的序列退出加扰装置300,且第二次出现的这些第三16个位(即,副本 映象的第三16个位)按以下加扰的序列退出加扰装置300:13 9 5 1  14 10 6 2  15 11 7 3  16 12 8 4。
因此,因为原始映象未被加扰而副本映象被加扰,在短静态重象的情况中,原始映 象和副本映象将重叠于相同帧同步位的可能性显著降低,使得更可能从原始和副本映象的 平均恢复映象。
将图4所揭示的结构被同样地修改成如图13所示,以允许映象在存在短静态重象的 情况下更易于检测。除了附加组件,图4和13所示的结构是相同的,因此,图4和13 使用相同的标号描述相同的组件。但是,图13的结构还包括解扰装置310,其设置于卷 积解交织器40和平均电路50之间。解扰装置310颠倒加扰装置300的过程。因此,解扰 装置310传递原始映象位而不进行解扰,且解扰副本映象的位以颠倒加扰装置300施加的 副本映象的加扰。
为了支持存在猝发噪声或重复的噪声猝发的接收器中的有效映象恢复,仍定义12位 的映象数据单元(mdu)。但是,在这些12位中,10位用于定义映象而其余的两位形成四 位的帧计数的一半。可被指定为mdu0的第一mdu被表示成{A0 B0 C0}。该mdu包括定义 当前映象的10位以及4位的帧计数位的两位。这两个帧计数位和定义当前映象的10位可 以按任何期望的方式分布于mdu0中。可指定为mdue的第二个mdu被表示成{Ae Be Ce}。 该mdu包括用于定义下一个映象的10位和4位帧计数位的其余两位。如前所述,其余的 两个帧计数位和定义下一个映象的10位可以按任何期望的方式分布于mdue中。
当前的映象是接收器用于确定当前接收的帧场中数据的位置的映象,下一个映象是 接收器用于确定未来帧的场中的数据位置的映象,且帧计数指示在开始用下一个映象确定 未来帧的场中的数据位置前接收器将必须接收的帧数。在发送未来帧之前的每个帧的每个 场时,当前映象和下一个映象保持相同。但是,在发送这些帧中的每一个时,帧计数递减。 如本领域已知的,帧由两个场构成。
例如,可假定:帧0是将mapa作为当前映象应用其上的第一帧。发送器将mapa插入 帧-1的两个场中,即帧0之前发送的帧。发送器还将定义下一个映象的mapb和帧计数0 插入帧-1。因此,当前映象比其所要应用的第一帧领先一帧。接收器从帧-1恢复mapa、 mapb和帧计数0,并将恢复的mapa、mapb和帧计数0存储于存储器中。但是,接收器使用 之前接收的当前映象来找到帧-1中的数据。
在准备帧0用于发送时,发送器将插入帧—1的相同映象插入到帧0,即mapa和mapb。 但是,发送器插入帧0的帧计数现在是k。接收器存储它在帧0中接收的mapa和mapb,以 及帧计数k。接收器使用mapa来定位帧0中的数据。
该过程继续,以便在后面的帧1、2、…、k—1的每一个中发送mapa和mapb。在这些 帧的每一个中,帧计数递减。当发送帧k时,帧k现在包含作为当前映象的mapb,作为下 一个映象的新映象mapc,以及帧计数0。以下是以上操作的简化实例的表,其中k=5。
  帧# 帧计数 映象数据 . . . . . . . . . -1 0 当前映象=映象(a,0) 下一个映象=映象(b,6) 0 5 当前映象=映象(a,1) 下一个映象=映象(b,6) 1 4 当前映象=映象(a,2) 下一个映象=映象(b,6) 2 3 当前映象=映象(a,3) 下一个映象=映象(b,6) 3 2 当前映象=映象(a,4) 下一个映象=映象(b,6) 4 1 当前映象=映象(a,5) 下一个映象=映象(b,6) 5 0 当前映象=映象(b,6)  下一个映象=映象(c,12) 6 5 当前映象=映象(b,7)  下一个映象=映象(c,12) 7 4 当前映象=映象(b,8)  下一个映象=映象(c,12) 8 3 当前映象=映象(b,9)  下一个映象=映象(c,12) 9 2 当前映象=映象(b,10) 下一个映象=映象(c,12) . . . . . .
  .     .   .  
帧计数以k=5为模递减。映象每个k+1个帧变化。符号“映象(x,y)”表示将应用 于帧#y的特定映象x。如上所述,当前映象比其所要应用的帧领先一个帧。在表的映象数 据中反映出该领先。如果VSB数据和E-VSB数据的位置不从帧k-1改变为帧k,则当前 映象和下一个映象简单地维持一样。
如上所述,接收器维持其存储器中其自己的帧计数,并且还将当前映象和下一个映 象保存于存储器中。在接收每个帧(包括两场)时,接收器将该帧中的帧计数存储于存储器 中或者将所存储的帧计数递减一,如以下更完整地讨论的。因此,存储帧计数的那部分存 储器这里将表示成倒计数器。因此,如果包含映象和帧计数信息的一个或更多场的一部分 由于信道中的噪声而不能被适当接收,则接收器可以从其自己的倒计数器确定何时开始使 用已存储于存储器中的下一个映象。
发送器可以将当前映象、下一个映象和帧计数插入场的任何期望段。较佳地,发送 器被安排成将当前映象、下一个映象和帧计数插入场的场同步段的保留部分。此外,发送 器可以被安排成加扰偶数场中而非奇数场中的当前映象、下一个映象和帧计数。例如,不 加扰奇数场中的当前映象、下一个映象和帧计数,它们被定义成在其场同步段中具有正的 中间PN63序列的场。另一方面,偶数场中的当前映象、下一个映象和帧计数被加扰,它 们被定义为具有其场同步段中的负的中间PN63序列的场。发送器可以使用上述加扰序列, 用于该加扰。此外,因为在帧的奇数和偶数场中发送相同的映象和计数信息,所以在接收 器中可以对该信息求平均,如上所述。
如图14所示,控制器400生成映象数据单元的序列,以便应用于Kerdock编码器 402。每次将8位提供给Kerdock编码器402。因此,提供给Kerdock编码器402的第一 个8位对应于映象数据亚单元A0 B0,提供给Kerdock编码器402的下一个8位对应于映 象数据亚单元C0 Ae,且提供给Kerdock编码器402的下一个8位对应于映象数据亚单元 Be Ce。用于随后场的映象数据单元按类似方式被应用于Kerdock编码器402。
对于每个8位输入,Kerdock编码器402形成16位的代码字或矢量,其由8个输入 位和8个奇偶位Px构成。因此,对于输入映象数据亚单元A0 B0,Kerdock编码器12的输 出是代码字或矢量{A0 B0 P1};对于映象数据亚单元C0 Ae,Kerdock编码器12的输出是{C0 Ae P2};以及,对于映象数据亚单元Be Ce,Kerdock编码器12的输出是{Be Ce P3}。因此, 覆盖当前映象、下一个映象和帧计数的三个映象数据亚单元被编码成三个16位输出矢量, 总共含48位。为此,Kerdock编码器402可使用以上联系图6和7描述的任何Kerdock 编码技术,或者其它Kerdock编码技术。
如图14所示,加扰装置404对Kerdock编码器402的输出进行操作并将其输出提供 给数据场格式器20。加扰装置404加扰被插入帧的偶数场中的当前映象、下一个映象和 帧计数,而不加扰被插入该帧的奇数场中的当前映象、下一个映象和帧计数。因为加扰装 置404不加扰被插入奇数场中的映象和帧计数数据,与该奇数场的映象和帧计数相对应的 来自Kerdock编码器402的48个位(即,{A0 B0 P1},{C0 Ae P2},{Be Ce P3})以它们离开 Kerdock编码器402的序列通过加扰装置404。但是,由于加扰装置404加扰被插入偶数 场的映象和帧计数数据,所以与偶数场的映象和帧计数数据相对应的来自Kerdock编码器 402的48位(即,{A0 B0 P1},{C0 Ae P2},{Be Ce P3})按与离开Kerdock编码器402的序列 不同的序列退出加扰装置404。加扰装置404可使用上述加扰序列。
VSB数据源406提供VSB数据,且E-VSB数据源408提供E-VSB数据。控制器400 控制VSB数据源406和E-VSB数据源408,以便根据其相应的当前映象来控制场中VSB和 E-VSB数据段的混合。VSB数据源406和E-VSB数据源408提供的数据段与来自加扰装置 404的编码(或可能加扰的)映象和帧计数数据一起被应用于数据场格式器410。数据场格 式器410与来自控制器400的场同步信号同步化并格式化所发送的场,以使48位编码(或 可能加扰的)映象和帧计数位被插入场同步段的保留部分,如上所述。因此,VSB数据源 406和E-VSB数据源408由控制器400控制,以使VSB数据源406和E-VSB数据源408提 供给数据场格式器410的VSB和E-VSB数据段对应于来自加扰装置404的映象的当前映象 和帧计数数据。数据场格式器410被同步化,以便根据相同场中包含的当前映象,贯穿当 前场,适当地多路复用这些VSB和E-VSB数据段。
最后,被格式化的场被连续地应用于标准ATSC调制器和发送器412,用于发送。
如图15所示,ATSC调制器和发送器412发送的信号由含调谐器420的接收器接收。 调谐器420的IF输出由ATSC解调器422解调,以提供表示发送符号的模拟基带输出。在 数字处理器426的控制下,该模拟信号由A/D转换器424采样,以便将解调符号转换成相 应的多位数字值。刚接收的场中包含的编码映象和帧计数数据被应用于解扰装置427,其 颠倒加扰装置404施加的加扰。刚接收的场中包含的编码映象和帧计数数据随后被应用于 平均器428,如上所述它对相同帧的两个场中包含的编码映象和帧计数求平均。被求平均 和编码的映象和帧计数数据随后被应用于Kerdock解码器430,用于解码。Kerdock解码 器430可使用以上结合图8和9描述的任何Kerdock解码技术或者其它合适的Kerdock 解码技术。如上所述,编码的映象和帧计数数据包括上述当前映象、下一个映象和帧计数。
Kerdock解码器430将解码的当前映象和解码的下一个映象应用于存储器438。存储 器438中存储并应用于接收场的当前映象被提供给段去格式器432。通过将接收场中的VSB 段传递到VSB处理器434以及通过将接收场中的E-VSB段传递到E-VSB处理器436,段去 格式器432响应该当前映象。VSB处理器434和E-VSB处理器436解码和处理来自段去格 式器432的各VSB数据和E-VSB数据。
此外,Kerdock解码器430将来自接收场的解码帧计数应用于倒计数器440。如以上 所建议的,倒计数器440可以是存储器438的一部分。此外,Kerdock解码器430将上述 可靠性因数应用于存储器438和倒计数器440。
如果可靠性因数表示接收场中包含的映象和帧计数信息是可靠的,则接收的帧计数 就存储于倒计数器440中,且当前映象和下一个映象也如上所述地存储。另一方面,如果 可靠性因数表示接收场中包含的映象和帧计数信息是不可靠的,例如因为接收场已受噪声 影响,则进行两个动作。首先,基于帧同步信号计时,倒计数器440中的计数以模k递减 (每个帧一次)。其次,旧的当前映象和旧的下一个映象被保留于存储器438中,除非倒计 数器440被递减到零。在这种情况中,存储于存储器438中并将应用于下一个接收帧的当 前映象被设定为存储的下一个映象,且所述下一个映象被保持原样。
这样,倒计数器440可以记住何时应将存储器438中存储的下一个映象用作当前映 象。因此,如果从当前映象使用到下一个映象使用的变换周围的一个或多个场中没有适当 地接收映象和帧计数信息,则倒计数器440提示的接收器可以简单地使用存储器438中存 储的下一个映象。在以上的表实例中,如果在帧4和5的场中没有适当地接收映象和帧计 数信息,则接收器可以简单地使用存储器438中存储的映象{b,6},以定位帧6的场中 的各种数据。
这样,本发明能经受猝发噪声,而不使用交织和解交织。此外,本发明能经受重复 的噪声猝发。
如上所述,当前映象、下一个映象和帧计数k的不加扰型式被插入帧的奇数场,且 相同当前映象、相同下一个映象和相同帧计数k的加扰型式被插入相同帧的偶数场。随后, 相同当前映象、相同下一个映象和帧计数k-1的不加扰型式被插入下一个帧的奇数场,且 相同当前映象、相同下一个映象和相同帧奇数k-1的加扰型式被插入相同下一个帧的偶数 场。对于每个场,在提供给加扰装置404前,映象和计数信息由Kerdock编码器402编码。 如上所述,Kerdock编码器402可以被称作16/8编码器,因为它基于8位输入提供16位 编码输出。类似地,如上所述,Kerdock解码器430可以被称作16/8解码器,因为它基 于16位输入提供8位解码输出。
Kerdock编码器402可以代替为64/12编码器,且Kerdock解码器430可以代替为 64/12解码器。因此,64/12编码器形式的非系统Kerdock编码器450在图16中示出,并 可用于Kerdock编码器402。非系统Kerdock编码器450接受12位输入,诸如总共具有 12位的映象数据亚单元A0、B0和C0,并通过从查找表452读出合适的64位代码字,输出 64位的相应代码字。
查找表452存储4096个Kerdock代码矢量,每个都具有64的长度。即,这些Kerdock 代码矢量中的每一个都包括64位。存在264个不同代码矢量,其具有长度64。但是,这 些264个不同代码矢量的仅212或4096个满足成为Kerdock代码矢量的要求。这些Kerdock 矢量描述于A.Roger Hammons,Jr.,P.Vi jay Cumar,A.R.Calderband,N.J.A.Sloane 和Patrick Sole的“The Z4—linearity of Kerdock,Preparata,Goethals,and Related Codes”,IEEE Transactions on Information Theory,vol.40,#2,pp301-319,1994 年3月。因此,12个输入位的每个不同组合都可用作查找表452中的唯一地址,以便唯 一地选择4096个Kerdock代码矢量的相应一个。
当Kerdock编码器450用作图14的Kerdock编码器402时,控制器400将每帧12 位的两个组提供给Kerdock编码器450。第一组包含当前映象和包含帧计数的四位中的第 一个两位。Kerdock编码器450将第一组中的这12个位用作查找表452中的地址,以便 输出相应的64位Kerdock代码矢量。数据场格式器将该64位Kerdock代码矢量插入帧的 奇数场。
第二组包含下一个映象和包含帧计数的四位的第二个两位。Kerdock编码器450将 第二组中的这12位用作查找表452中的地址,以便输出相应的64位Kerdock代码矢量。 数据场格式器将这64位Kerdock代码矢量插入帧的偶数场。
因此,当使用16/8Kerdock编码器时,当前映象、下一个映象和整个帧计数可编码 成三个16位Kerdock代码矢量,以便插入单个场的场同步段的保留部分。但是,当使用 64/12Kerdock编码器时,当前映象、下一个映象和整个帧计数被编码成两个64位Kerdock 代码矢量。因为单个场的场同步段的保留部分包含不足的空间用于保持这些Kerdock代码 矢量两者,所以这些Kerdock代码矢量的第一个(表示当前映象和第一个两帧计数位)被插 入帧的奇数场,且这些Kerdock代码矢量的第二个(表示下一个映象和第二个两帧计数位) 被插入帧的偶数场。
因此,与将当前映象、下一个映象和帧计数发送两次(帧的奇数场中一次,帧的偶数 场中一次)的16/8 Kerdock编码器的情况不同,在要求帧的两个场包含该映象和帧计数信 息的64/12Kerdock编码器的情况中,当前映象、下一个映象和帧计数仅发送一次。因此, 在使用64/12Kerdock编码器时,不加扰映象和帧信息的部分。但是,由于代码矢量的附 加长度所包含的附加鲁棒性,当要求两个64位Kerdock代码矢量发送映象和帧计数信息 时,加扰事实上是不必要的。因此,当Kerdock编码器402是64/12Kerdock编码器时, 可以省去加扰装置404。
此外,该附加鲁棒性意味着可除去解扰装置427和平均器428。在不使用加扰装置 404时,解扰装置427是不必要的。平均器428的实现变得更加艰难,因为在使用 64/12Kerdock编码器时映象和帧计数信息仅发送一次。虽然可以仅平均来自两个连续帧 的映象信息,因为通常仅帧计数随帧改变(除非帧计数已期满),使用更长的Kerdock代码 矢量所获得的附加鲁棒性使得求平均是不必要的。
非系统的Kerdock解码器454在图17中示出并可用于Kerdock解码器430。非系统 Kerdock解码器454接受64位输入,并输出12位的矢量,除了当前映象或下一个映象, 它可包含4位帧计数的两位。
更具体地,相关器456使64个输入位和查找表458中存储的4096个Kerdock代码 字中的每一个相关。这些Kerdock代码字可以是查找表452中存储的相同Kerdock代码字。 例如,相关器456实现的相关可以是输入64位和查找表458中存储的每个Kerdock代码 字的点积。
因此,64个输入位的第一位乘以查找表458中存储的第一Kerdock代码字的第一位, 以形成第一乘积,64个输入位的第二位乘以查找表458中存储的第一Kerdock代码字的 第二个位,以形成第二乘积,…,且64个输入位的第六十四个位乘以查找表458中存储 的第一Kerdock代码字的第六十四个位,以形成第六十四乘积。将所形成的64个乘积相 加,以形成64个输入位和查找表458中存储的第一Kerdock代码字之间的第一相关。为 查找表458中存储的其它4095个Kerdock代码字中的每一个重复该过程。
鉴别器(identifier)460鉴别来自查找表458的能产生最大相关性的Kerdock代码 字,并输出与该Kerdock代码字相对应的12个位作为构成当前映象和两个帧计数位或者 下一个映象和另两个帧计数位的12个输出位。鉴别器460还可形成最大相关和下一个最 大相关之间的差,作为表示解码64个输入位的可靠性的可靠性因数。
有可能给发送帧中的特殊帧计数提供专意义。例如,1111的帧计数可用于向接收 器表示:当前映象和下一个映象是相同的。
在以上参考图16和17描述的实施例的环境中,如果不是不可能,静态重象会使合 适地接收和解码映象信息变得困难。以下参考图18和19描述的本发明实施例即便在存在 静态重象的情况下也有助于映象信息的适当接收和解码。
如图18所示,64/12编码器形式的非系统Kerdock编码器470可用于Kerdock编码 器402。如前所述,非系统Kerdock编码器470接受12位输入,诸如总共12位的映象数 据亚单元A0 B0 C0,并通过从查找表472中读出合适的64位代码字而输出64位的相应代 码字。
如前所述,当Kerdock编码器470用作图14的Kerdock编码器402时,控制器400 将每帧12位的两个组提供给Kerdock编码器470。第一组包含当前映象和含帧计数的4 位中的第一个两位。Kerdock编码器470将该第一组中的这12位用作查找表472中的地 址,以输出相应的64位Kerdock代码矢量。数据场格式器将这64位Kerdock代码矢量插 入帧的奇数场。
第二组包含下一个映象和含帧计数的4位中的第二个两位。Kerdock编码器470将 该第二组中的这12位用作查找表472中的地址,以输出相应的64位Kerdock代码矢量。 数据场格式器将这64位Kerdock代码矢量插入帧的偶数场。
从查找表472中读取的64位Kerdock代码矢量被提供给倒相器(inverter)474以及 开关478的第一触点476。倒相器474的输出被提供给开关478的第二触点480。开关478 具有由控制器400(参见虚线)控制的活动触点482,当要插入帧的奇数场的64位Kerdock 代码矢量从查找表472中读出时,开关478由控制器400控制,以使第一触点476和活动 触点482接合且旁路绕过倒相器474。因此,该64位Kerdock代码矢量被插入帧的奇数 场,作为非倒相的64位Kerdock代码矢量。
但是,当要插入帧的偶数场的64位Kerdock代码矢量从查找表472中读出时,开关 478由控制器400控制,以使第二触点480和活动触点482接合且不旁路绕过倒相器474。 因此,该64位Kerdock代码矢量被插入帧的偶数场,作为倒相的64位Kerdock代码矢量。 该过程继续,以使奇数场的64位Kerdock代码矢量不被倒相而偶数场的64位Kerdock 代码矢量被倒相。
非系统Kerdock解码器490在图19中示出,并用于Kerdock解码器430。非系统 Kerdock解码器490接受64位的输入并输出除了10位映象信息还包含4位帧计数中的两 位的12位矢量。
更具体地,接收的64位Kerdock代码矢量被提供给倒相器492和开关496的第一触 点494。倒相器492的输出耦合到开关496的第二触点498。开关496具有与组合器502 耦合的活动触点500。
当接收到帧的奇数场中的64位Kerdock代码矢量时,开关496由数字处理器38(参 见虚线)控制,以使第一触点494和活动触点500接合且旁路绕过倒相器492。因此,该 64位Kerdock代码矢量被直接传递到组合器502,其保存该奇数场的64位Kerdock代码 矢量直到接收到偶数场的64位Kerdock代码矢量为止。组合器502由数字处理器38(参 考虚线)控制。
当接收到帧的偶数场中的64位Kerdock代码矢量时,开关496由数字处理器38控 制,以使第二触点498和活动触点500接合,且不旁路绕过倒相器492。因此,由发送器 中的倒相器474倒相的该偶数场的64位Kerdock代码矢量由倒相器492重新倒相回到其 原始状态。
组合器502执行重新倒相的偶数场的64位Kerdock代码矢量和之前保存的奇数场的 64位Kerdock代码矢量的位方式加法。组合器502将组合的64位Kerdock矢量提供给相 关器504。该过程继续,以使奇数场的64位Kerdock代码矢量和重新倒相的偶数场的64 位Kerdock代码矢量的相应对被相同地组合成相应的组合的64位Kerdock代码矢量,它 由组合器502提供给相关器504。
相关器504使来自组合器502的组合的64位Kerdock代码矢量与查找表508中存储 的4096个Kerdock代码字中的每一个相关。这些Kerdock代码字可以是查找表472中存 储的相同Kerdock代码字。例如,相关器504实现的相关可以是输入的64位和查找表506 中存储的每个Kerdock代码字的点积。
在作为奇数场的64位Kerdock矢量发送的当前映象和作为偶数场的64位Kerdock 矢量发送的下一个映象相同的情况下,相关器504产生单个大峰值相关。鉴别器508鉴别 来自查找表506的能形成该单个大相关峰值的Kerdock代码字,并输出与该Kerdock代码 字相对应的12个位,作为构成当前映象和下一个映象的12个输出位。
在作为奇数场的64位Kerdock矢量发送的当前映象和作为偶数场的64位Kerdock 矢量发送的下一个映象是不相同的情况下,相关器504形成两个较小的相关峰值。因为这 两个较小但仍相对较大的相关峰值是由于相关过程形成的,所以数字处理器38(参见到相 关器504的虚线)可以确定:当前映象和下一个映象是不同的。在这种情况中,数字处理 器38可忽略相关结果,取而代之地使用存储器510(参见虚线)中以前存储的映象。
如果在接收当前映象和下一个映象时接收到静态数据的重象,则当前映象期间接收 的重象不被倒相,而下一个映象期间接收的重象由倒相器492倒相。因此,当组合器502 组合表示当前映象和倒相的下一个映象的Kerdock代码矢量时,重象取消。按这种方式, 即使在存在静态重象的情况下,也能适当地接收和解码映象信息。
以上讨论的本发明的某些修改。其它修改可由本发明领域内的实施的人士想到。例 如,以上参考这里的各种附图描述的块可以是硬件块、软件模块、逻辑阵列等等。此外, 这些附图中示出的结构可以作为分开的块而实现,或者这些块可以按期望组合或划分,而 不背离本发明的范围。
此外,如上所述,卷积交织器14和解交织器40优选由参数N=48、B=16和M=3表征。 但是,卷积交织器14和解交织器40可以由参数N、B和M的其它值表征。
如上所述,原始发送的映象不被加扰而映象的副本被加扰。取而代之,原始发送的 映象可被加扰,在这种情况中该映象的副本不被加扰。此外,可以根据不同的加扰序列加 扰映象及其副本。
此外,可以按求平均之外的方式组合映象及其副本。例如,映象及其副本可以被简 单地相加。或者,如果接收器具有重象检测器,则在重象检测器没有检测出短静态重象的 情况中映象及其副本不必被组合。取而代之,可以选择两个映象中的较佳者,以便分开数 据帧中的数据。
此外,如上所述,图14的发送器不改变帧计数为0的帧的场中的当前映象或下一个 映象,且取而代之地使帧k+1中的映象改变,其帧计数被复位到k(或其它数)。因此,在 帧k+1中,之前的下一个映象变成当前映象,且新映象用作下一个映象。但是,该映象改 变可以在帧计数为1的帧之后的帧或任何其它帧中进行。因此,触发映象变化的帧计数是 任意的。
此外,应注意,四位被用于指定帧计数,因此k的值是有限的。但是,上述映象变 化可以被延迟大于k的帧数。事实上,通过简单地不递减k或者完全不递减k直到稍后的 dk帧,其中d是大于1的任何数,相同的当前映象和下一个映象组合可被插入大于k的 任何数量的帧。因此,大于0的任何一个或多个k值(或其它开关数)可以被简单地重复期 望的次数。
此外,在至少与图14—17的本发明相关的方面,利用不同于Kerdock编码和解码的 编码和解码技术的编码器和解码器可用于替代Kerdock编码器402和Kerdock解码器43。
此外,如上所述,在参考图14—17揭示的本发明方面,不需要采用交织和解交织。 然而,在参考图14—17所揭示的本发明的方面,可以采用交织和解交织。这种交织和解 交织可以提供针对猝发噪声的附加保护。
此外,如上所述,场可包含利用不同编码率编码的E-VSB数据。在这种情况中,映 象必须附加地指定应用于不同编码的E-VSB数据段的各种编码率。
此外,如以上参考图18和19所指示的,发送器中的倒相器将要插入偶数场的64位 Kerdock代码矢量倒相而不将要插入奇数场的64位Kerdock代码矢量倒相。或者,发送 器中的倒相器可取而代之地将要插入奇数场的64位Kerdock代码矢量倒相而不将要插入 偶数场的64位Kerdock代码矢量倒相。在这种情况中,接收器中的倒相器将接收到的奇 数场的64位Kerdock代码矢量倒相而不将接收到的偶数场的64位Kerdock代码矢量倒相。
此外,由组合器502组合的Kerdock代码矢量可在相同帧的不同场或不同帧的场中 发送和接收。例如,组合器502可以被安排成组合来自一个帧的偶数场的64位Kerdock 代码矢量以及来自相邻帧的奇数场的64位Kerdock代码矢量。
此外,为便于理解,开关478和496在图18和19中示为机械开关。但是,应理解, 这些开关可以是诸如电子开关的任何类型。
因此,本发明的描述仅仅是说明性的并用于教导本领域的熟练技术人员最佳模式地 实施本发明。可以实质性地改变细节而不背离本发明的精神,且保留所附权利要求书范围 内的所有修改的排他使用。
本申请是申请日为“2004年2月17日”、申请号为“200480004231.4”、题为“用 于发送和接收映象数据的强势系统”的分案申请。
相关申请
本申请是2003年1月16日提交的美国申请No.10/345699的部分延续,后者是2002 年10月29日提交的美国申请No.10/282394的部分后续,后者是2001年12月3日提交 的美国申请No.10/011333的部分后续,其要求2001年9月22日提交的美国临时申请 No.60/324096的权益。美国申请No.09/804262包含部分与本申请的揭示内容相类似的揭 示内容。
QQ群二维码
意见反馈