专利名称:在通过通信系统传输数据时的错误处理的制作方法
技术领域:
本发明从根据权利要求的前序部分的、用于在通过具有至少两个用户的通信系统传输至少一个数据字形式的编码数据时进行错误处理的方法和装置、以及该通信系统的相应的用户、和相应的计算机程序以及计算机程序产品出发。
背景技术:
用于通过通信系统、特别是通过串行总线的数据传输的代码根据传输介质、比特率和时钟恢复的要求以及EMV特征值而彼此不同。为了以最高25Mbits/s传输数据,例如在MOST系统中设置了光传输,以便保证EMV相容性。然而在此情况下电光转换器是非常昂贵的,并且所使用的塑料光纤对车身中的布线有特殊要求。为了该目的,信号在MOST总线中根据双相marc码(双频码)被编码。在此,每个信息位通过两个代码位来表示。如果两个代码位具有相同的值,则这对应于信息位的值0。通过代码位的不同值来表示1。此外,不依赖于信息值而总是按照两个代码位进行电平切换代码位 00 10 10 11 0011 0101 ..
信息位 01100 01 1...
在此,代码与有用位相比具有100%的冗余。但是如果通过电路传输这样的代码位序列,则由于经常的电平改变而出现对应于比特率(在优选地多个0的情况下)和双倍比特率(在优选地多个1的情况下)的高EMV辐射。针对1和0之间的过渡,在频谱中还得到其它的频率值,但并不使主要的两个频率明显衰减。这由此实现,因为由于编码规则在位边界处总是要求电平切换。如果在没有冗余的情况下、即以具有值1、2、4、8等等的二进制编码传输数据、例如也可以以十六进制编码表示(0x0对应于二进制0000并且0xF对应于二进制1111),则具有这样的缺点,即一方面必须不必要地存在电平切换(持续地为0x0或0xF),或者只要持续发送0x5或0xA,这些数据就以与上面在每个位的情况下相似的频率出现。然而因为在此不存在代码冗余,而是所有的位都是信息位,所以传输频率可以被降低至一半的值。然而由此这种所使用的代码不能是无直流的,并且同时不提供借助PLL(锁相环)恢复时钟的可能性,因为不存在没有电平切换的可预定的最大位数。PLL为了使至少所有n个位同步(Einsynchronisierung)需要电平切换。由此,该代码如刚才所描述的那样显示出一些不期望的缺点。
这些缺点可以部分地如例如在1996年10月Hewlett Packard出版的由Alistair Coles所著的“A new 8B10B Blockcode for HighSpeed Data Transmission Over Unshielded Twisted PairChannels”中那样通过使用已知的块码来避免。在此情况下,代码冗余为25%,因为代替8个信息位传输10个代码位。该代码平均是无直流的,因为根据与0相比所传输的1的数目(游程数字和-RDS),代码字以反转或者不反转的方式被传输。相同的代码位值的最大数目(最大游程长度MRL)是17。由此原则上还可以连接用于时钟恢复的PLL,其中然而在此对PLL的稳定性提出高的要求并且起振时间变得显著更长。
块码的特殊的缺点是,它不是系统码并且由此如例如在具有相应代码位根据其位置的值分配的十六进制码的情况下那样不存在编码规则。
这特别是在递增器或比较器的实现中起作用,因为首先特别是在递增器的情况下必须接收整个代码字,代码值必须借助表格通过解码来确定,并且针对增加1的代码值,借助表格生成相应的代码字,该代码字随后在通过至少一个触发器被同步的情况下才可以又被发出。针对上面提及的块码,由此产生至少11个节拍的延迟;在同步的RAM中存储代码表的情况下甚至产生至少13个节拍的延迟。
如刚才所述的,所提及的现有技术在每个方面都没有显示出最佳的特性。
发明内容
特别是以下特征的总和,即所使用的代码应该是无直流的,并且由于所需的时钟恢复,应该包含常见的边沿,以及应该提供连续递增的可能性,以便通过特定控制字节的简单递增产生节点的网络位置并且在没有大的延迟的情况下转发。在此,特别值得期望的是,找到一种电学解决方案,它具有明显更小的成本,即特别是不必屏蔽就可以在EMV相容性的范围内被使用。
在此,应根据强度、特别是纠正可能性的强度使用于错误处理、即用于错误识别和/或错误纠正的代码配备有不同的代码冗余,该代码冗余使得能够将代码字与非代码字或非代码数据字区分开。于是,非代码字正是这样的代码字,该代码字没有按照被设置用于数据的编码的编码规则被编码并且可以与这些数据区分开。在小的Hamming距离、即所接收的非代码字或非代码数据字与正好一个代码数据字的错误距离的情况下,不同的代码冗余使得能够推断出涉及有关的代码数据字,该代码数据字在传输段中在例如一个位中出错。纠正可能性的前提是,如果应识别出单个位错误,则所有代码字彼此具有至少为2的Hamming距离,并且如果应纠正单个位错误,则具有至少为3的Hamming距离。在此,如果对于一个数据字来说存在多个编码可能性,即根据其它的条件或者这一个或者另外的代码数据字被发送,则遵守该条件越来越困难。
在不变的代码冗余情况下,当使用多个代码数据字时,Hamming距离相应地变得更小。当例如代码必须平均是无直流的时候,如已经提及的,需要交替地发送不同的代码字。这例如在通过不同的传输介质(电,光)的不同传输可能性的情况下是必需的并且是可能的。在此随后允许,为了实现无直流,正是在有条件地通过将数据表示为位(1或0)而更好地均衡迄今所发送的1和0的数目时发送真正的代码数据字的反转的代码数据字。在完全无直流的代码的情况中,所发送的1和0的数目应该被分配为分别50%。当记录迄今所发送的位值的差、即特别是形成游程和(laufende Summe)时,这平均利用根据本发明的交替的代码字、特别是利用代码字1和相对于其反转的代码字2来实现。如果迄今发送了更多的1,则选择具有更多的0的代码数据字,或者相反。
现在为了能够实现具有随后的代码纠正的代码识别,在两个任意的代码数据字之间至少需要为3的Hamming距离。其前提是,在代码空间里,对于n个(N中的n)可能的代码字来说有2n个非代码数据字可供使用。如果现在应该传输m个数据字(N中的m),则n必须至少等于2m,以便能够实现替代的代码选择。因此在代码空间中同样必须设置2m个代码数据字和2×2m个非代码数据字,即这样设置6m个代码数据字和非代码数据字,使得总是保证两个代码数据字之间的Hamming距离3。如果现在为了数据字的编码、即为了产生具有k位(N中的k)的代码数据字而附加地将3个位用于编码,则理论上得到这样的可能性,即在2(k+3)代码空间中满足这些条件。因此,对于具有4位的数据字来说至少需要75%的代码冗余(3位)。
然而在实际的实施中,经常由于附加的针对编码、如例如针对在代码数据字中或者在代码数据字边界上具有尽可能少的位切换/电平切换的符合EMV要求的编码的边界条件而失败。由此还可以提高代码冗余。必要时还要将控制代码字增加到代码数据字中,这些控制代码字执行特殊的功能并且不允许与代码数据字混淆。因此,特别是在短的数据字的情况下,具有100%代码冗余的代码同样被应用。
随后详细阐述的、继续该想法的、根据本发明的解决方案可以避免上面提及的现有技术的缺点,并且在同时明显更小的开销的情况下同时至少为数据的一部分提供所要求的特性,即特别是实现所期望的可预先给定的Hamming距离。
为了平均无直流地进行传输,存在根据本发明的规则,该规则规定在发送机、特别是在第一用户中的代码数据字的选择。当接收机、特别是第二用户有利地拥有与发送机相同的信息时,其也可以判定,是否必须进行代码数据字的反转。为此,根据本发明只需通知接收机,在哪些条件下发送机进行了该编码。如果出发点为,因为接收机在连续传输的情况下后来才连接上或者在干扰的情况下丢失了一部分数据,所以接收机没有接收到发送机的所有数据,则接收者将不具有该信息。
因此本发明的核心是,除了该数据之外特别是借助非代码数据字来传输该信息的可能性。
通常需要这样的非代码数据字,以便例如标识传输的开始或者区分随后的数据的类型,以及在连续传输的情况下也能够实现使新添加的接收机同步的可能性。因此例如存在这样的总线系统,即通信系统,其中数据在所谓的帧中被组织,这些帧以前同步码(Praeambel)开始。这些前同步码必须与代码数据字不同。当编码标准对于接收机来说是已知的时候,在必要的错误识别或错误纠正中该接收机不再需要将所有的代码数据字都包括在内,而是仅还需要一半。由此可合理地在留下的代码字之间更好地遵循所要求的Hamming距离,而无需提高代码冗余。
由此,本发明有利地从用于在通过具有至少两个用户的通信系统传输至少一个数据字形式的编码数据时进行错误处理的方法出发,其中针对至少一个数据字,根据可预先给定的编码规则来选择代码数据字,其中该数据被表示为多个能够取两个不同的值、即1和0的位。符合目的地,在此这样形成游程数字和、即所谓的running digitalsum RDS,使得至少通过该代码数据字形成1的总数和0的总数的累计差并且将该游程数字和RDS从第一用户传输至第二用户,其中第二用户确定第一用户的随后的代码数据字的游程数字和,并且与随后所传输的游程数字和相比较,其中在有偏差的情况下识别出错误。此外所传输的游程数字和被存储在接收机中并且以每个所接收的数据字来更新,即基于以前的游程数字和以及刚才所接收的数据字的1和0的数目,根据每个数据字重新计算游程数字和。只要在传输中没有发生错误,则在接收机中在数据字的每个位置上现在都正好存在相同的信息,其中发送机在该数据字根据编码规则被编码时具有该信息。现在可以检验每个代码数据字,是否该代码字的选择是合理的,或者是否在现有条件下不必使用反转的代码数据字。为了检验合理性,不仅考虑数字游程和,而且还考虑,根据编码规则在所接收的代码字的起始处是否应针对均衡的代码字进行电平切换(PV)以及是否进行该电平切换(PE)。即有利地根据当前的游程数字和rds和编码规则对当前的代码数据字作出判定。通过传输和持续的更新,该RDS值对于接收机、即特别是第二用户来说是已知的,通过这种方式,可能的代码数据字的选择于是可以被限制为大约一半。因此有利地规定,特别是周期性地传输RDS,并且在接收机中、即特别是在第二用户中基于该RDS进一步进行计算,直到下一次更新。根据本发明,随后可以借助新接收的RDS值确认迄今的代码数据字或已经进行的数据纠正的正确性,或者必要时在有偏差的情况下识别错误。
合理地,除了编码数据之外,还在第一用户和至少第二用户之间传输至少一个非代码数据字,该非代码数据字没有按照可预先给定的编码规则被编码,并且游程数字和至少作为非代码数据字的一部分被传输。
在此,合理地,如上面已经提及的,根据可预先给定的编码规则选择分别对应于第一或第二代码数据字的代码字或代码数据字,该第一或第二代码数据字是相对于彼此反转的代码数据字。
有利地,根据可预先给定的编码规则从多个、即至少两个不同的代码数据字集中选择该代码数据字。
有利地,在识别出错误时生成用户的错误信号,该用户已识别出该错误并且该错误信号至少被传输给这样的用户,该错误是从该用户被传输的。
合理地,在识别出错误时,作为错误反应丢弃有错误的数据,并且传输这些数据的用户收到重新发送这些数据的请求信号。
此外有利的是,除了编码数据之外还在第一用户和至少第二用户之间传输至少一个非代码数据字,该非代码数据字没有按照可预先给定的编码规则被编码并且游程数字和也通过非代码数据字来形成。
此外合理地根据本发明通过以下方式进行错误的纠正,即根据游程数字和、即RDS重新确定随后的RDS,并且据此替换有错误的数据。
有利地根据错误的数目进行用于错误处理的策略预先规定。在此,除了错误纠正之外,策略还可以规定,在可预先给定的前提下不进行错误纠正或者通过以下方式这样进行错误的纠正,即有错误的数据字用确定的所规定的数据字来替代,或者从在考虑RDS的情况下满足编码规则的可能的纠正数据字、即数据字的集合中选择确定的纠正数据字,该纠正数据字随后代替被识别为有错误的所接收的数据字被进一步使用。
特别有利的是,在具有被存储在数据载体上的程序代码的计算机程序或计算机程序产品的范围内描述根据本发明的方法,其中当程序在计算机支持的通信系统中如上所述被执行时,该方法被实施。在此,作为计算机程序产品的数据载体,可使用任何可能的数据载体、例如ROM、CD-ROM、EPROM、EEPROM、Flash-EPROM、PROM、DVD、软盘、RAM等等。即数据载体的选择依赖于计算机系统,其中该方法应在该计算机系统中运行,但是对本发明完全不具有限制的作用。
另外的优点和有利的扩展方案从说明书中以及权利要求的特征中得出。
下面借助附图中示出的图以及表格更详细地阐述本发明。其中图1示出具有用户的通信系统。
图1a示出一种根据本发明的具有根据规则1b的分配的代码生成器。
图2b示意性地示出输入码借助被构造为递减器的代码生成器至输出码的转换。
图3a同样示出借助递减器的在此特别是根据规则5b的转换。
图2、2a、3和4以及4a示意性地示出输入码借助代码生成器(图2)、解码器-“与箭头方向相反”、即EC2a对应于AC2并且AC2a对应于EC2(图2a)、递增器(图3)或比较器(图4)以及具有比较器和转接单元的裁决单元(图4a)至输出码的转换。
在图5中示出了根据本发明的连续递增器。
图6示出根据本发明的连续比较器。
图7示出作为通信系统的接口或通向通信系统的接口的串行发送机。
在图8中示出了相应的串行接收机。
图9再次在图9a和9b中示出具有交替的代码数据字的代码生成器和代码数据字通过传输段的传输以及具有解码器和从RDS中重新获得附加信息的相应的接收机。
图10示出具有不同前同步码的本发明帧的例子。
图11最后再次示出具有根据可预先给定的策略和匹配能力的错误纠正的解码器。
表12示出用于在小的代码冗余的情况下部分纠正的代码纠正规则的例子。
下面借助实施例更详细地阐述本发明。
具体实施例方式
在此,图1示出具有输入接口110、108和112、即接收机或接收模块以及具有输出接口109、107、111、即发送机或发送模块的通信或总线系统100。利用这些发送机和接收机,用户101、102和103借助通信系统100彼此连接。以106示出了一个处理单元,该处理单元根据本发明执行代码生成和/或解码和/或递增或递减和/或比较或裁决的功能。以104示出了在通信系统100外部的单元,该单元单向或双向地通过接口105与用户、特别是在此用户101相连接。该外部单元104代表另外的设备、单元或元件通过接口或总线或通信系统至各个用户的连接。
在此情况下现在应该在通过串行总线、即特别是通信系统100传输数据时根据在传输编码数据的情况下的虚线传输箭头特别是进行递增或裁决、也即比较。但是同样也可以通过外部的用户104将数据输入至用户101并且随后对该数据进行编码,例如在此又根据虚线箭头转发给用户103,或者接收用户102给用户101的编码数据并且随后将该数据以解码的方式转发给外部的用户104。然而特别应正是将递增、递减或者比较或裁决包括在内的情况下在通信系统100上、在此例如从用户102至用户101并且随后至用户103进行编码数据的转发。
在将双频码用于编码的情况下,如果例如首先传输数据字的最低值位、即LSB(最低有效位),则为了连续递增仅需要2个节拍的延迟。在此,只需要知道当前接收的代码位值和以前的代码位值具有哪个值,以便确定要发出的、即要转发的相应位的值。
现在根据本发明提出,按以下方式以三个代码位进行两个信息位的编码(规则1)信息位代码位值分配(十进制/十六进制)00000 001100 110110 211111 3由此这里以50%的代码冗余实现,代码字010和101被避免,由此降低代码字中的高频谱部分的影响。值21或20被分配给左边的信息位,而所有代码位的权重都是20。为了区分代码中的各个位,这里根据随后的规则2、3和4从左向右使用命名法20(3)、20(2)或20(1)。由此给出一种系统的编码规则,该规则从任何其它代码出发也起作用。如果例如具有one-hot编码,则4个代码字0001、0010、0100和1000同样可以被分配给值0、1、2和3,如在Gray码00、01、11和10的情况下那样。
因此,总是可以明确地由根据图2的输入代码字或输入数据字EC2通过代码生成器200CG实现输出代码字或输出数据字AC2的代码生成。同样地,在图2a中示出了通过解码器DC 201将数据字EC2a解码为数据字AC2a。该根据本发明的代码现在也适合于执行连续的递增,如这在以下还要阐述的那样。根据(随后的)规则2、3和4,现在代码中的这些单个位可以从左向右根据命名法20(3)、20(2)或20(1)来区分,其中给出了递增值并且相应地产生进位或溢出OF。这种所生成的进位或溢出OF在连续编码时被使用,如随后规则5那样或图5中所示那样。
规则2用于20(1)的生成代码位 20(1)的递增值以及 进位(OF)0000 01000 01101 01110 1规则3用于20(2)的生成代码位 20(2)的递增值以及 进位(OF)0000 01001 01101 01110 1规则4用于20(3)的生成代码位 20(3)的递增值以及 进位(OF)0001 01001 0
1101 01110 1因此根据图3由输入位序列或者输入数据字或输入代码字EC3通过递增器INC 300生成输出序列AC3。这也可以根据图4在通过比较器COMP 400进行比较的范围内、特别是在根据图4由输入代码序列或输入数据字EC4裁决为输出数据字AC4时实现。
在此,在方向转接时、更确切地说如下进行从递增至裁决的切换,即LSB、也即最低有效位、最低值位首先被分析,如这对于递增来说是必需的那样,或者在发送方向切换时最高有效位MSB、也即最高值位首先被分析,并且由此导致比较、特别是裁决。这在稍后还将直观地阐述。因此,图2中的代码生成器CG 200执行根据规则1的分配,根据图3的递增器执行根据规则2、3和4的分配,其中在图2中由输入码EC2产生所生成的根据本发明的输出码AC2,并且在图3中由已经被编码的输入码EC3生成递增的根据本发明的输出码AC3。
现在借助图5以相应的值c或u、x、y、z、w根据规则5更详细地阐述连续递增规则5c或u y xz w0 0 00 00 1 00 00 1 11 00 0 11 01 0 00 11 1 01 01 1 10 11 0 10 1图5示出根据图3的具有递增模块306 INC、递增装置301以及包括触发器305的反馈分支的递增器300。另外的触发器以302、303和304示出。这些触发器可以通过任意的受时钟控制的存储元件来实现。在该递增器300、即具有反馈的递增装置301中,现在一方面如所示的那样引入对应于数据字或具有多个、至少两个数据字的数据帧的输入位序列EBF,同时考虑如所示的进位、即溢出OF,并且转换为根据本发明的递增的输出位序列ABF或输出数据字或输出数据帧。当以最低有效位LSB、即位序列的最低值位开始传输时,对于代码的连续递增来说,为了生成代码位x总是需要关于紧接着的代码位y的信息。因此,该代码必须被延迟至少一个节拍而转发。为了使所接收的以及要发送的数据位序列同步,有利地分别在输入端和输出端处插入触发器、即302和304。针对输出位z以及所生成的中间进位w,根据规则5针对输入进位或溢出OF c、中间进位u、输入位x和y进行递增。由此现在可以在必要时多次利用规则1的情况下分别为代码字的部分组成更大的代码字,或者直接插入没有另外的编码的部分、恰好是规则1中的信息位,如在规则6中更详细阐述的那样。
规则6信息位 代码位 值分配(十六进制)00 00000 000 000 01000 100 100 10000 110 200 11000 111 301 00100 000 401 01100 100 501 10100 110 601 11100 111 710 00110 000 810 01110 100 910 10110 110 A10 11110 111 B11 00111 000 C11 01111 100 D11 10111 110 E11 11111 111 F相对于块码的递增(如已经示出的那样该递增不能连续地进行),利用根据图5的装置在规则6的情况下也总是只产生3个节拍的延迟,因为两个代码部分被相继地处理。规则6的代码处理作为信息字的半个字节、即四个信息位=1 Nibbel。代码冗余为50%。然而在此情况下不利的是,通过值O或F的彼此连接可产生没有电平切换的更大的块并且该代码不是无直流的。
为了消除这一点,当不加改变地接受原始码的一部分时,首先根据规则7选择仅具有25%的代码冗余的代码。
规则7信息位 代码位 值分配(十六进制)00 00000 00 000 01000 01 100 10000 10 200 11000 11 301 00100 00 401 01100 01 501 10100 10 601 11100 11 710 00110 00 810 01110 01 910 10110 10 A10 11110 11 B11 00111 00 C11 01111 01 D11 10111 10 E11 11111 11 F为了根据规则7无直流地构建代码,在最低有效位、即最低值位之后还插入反转位,该反转位首先具有值0。整个代码字(即包括反转位)的反转则不导致值的变化。由此,存在两个具有相同值的、以不同位值开始的代码字。在0的序列的情况下,随后可以交替地发送代码字000000和111111。由此,得到直流部分的完全补偿、即分别在两个代码字之后的相同数目的1和0。此外,在此在代码字每次开始时都存在电平切换,该电平切换可被用于借助PLL的时钟恢复。由此现在得到如下所示的规则8。
规则8
信息位代码位 反转位 值分配(十六进制)00 00 000 00 0000 01 000 01 0100 10 000 10 0200 11 000 11 0301 00 100 00 0401 01 100 01 0501 10 100 10 0601 11 100 11 0710 00 110 00 0810 01 110 01 0910 10 110 10 0A10 11 110 11 0B11 00 111 00 0C11 01 111 01 0D11 10 111 10 0E11 11 111 11 0F现在,以下的规则9示出具有两种可能的变型的所有代码字。
规则9(用于LSB在先的发送)信息位代码字1 代码字2值分配(十六进制)00 00 000 000 111 111000 01 000 010 111 101100 10 000 100 111 011200 11 000 110 111 001301 00 100 000 011 111401 01 100 010 011 101501 10 100 100 011 011601 11 100 110 011 001710 00 110 000 001 111810 01 110 010 001 101910 10 110 100 001 011A10 11 110 110 001 001B
11 00 111 000000 111 C11 01 111 010000 101 D11 10 111 100000 011 E11 11 111 110000 001 F规则9是LSB在先发送代码的一种优选实施例。如果在传输中1的数目持续地被增加并且由此0的数目被减少,则得到RDS、即游程数字和,其给出关于是否传输更多1或0的说明。利用包含不同数目的1和0的代码字,由此RDS可受在代码字1和代码字2之间的选择影响。有利地,尝试达到值RDS=0并且由此平均无直流地构建代码。然而在此情况下如果例如由于时钟恢复、即PLL而希望在代码字之间迫使电平切换,或者例如由于频谱而希望避免电平切换时,则该规则的小的偏差也是可能的并且可设想的。
如果输入代码字根据规则9在递增器中连续递增、即从该值开始被改变,则可导致相对于原始值的、根据递增的数据值的RDS值的变化。在此,对于要发送的递增的数据字来说,不存在选择反转的代码字的可能性,因为在接收到整个代码字之前必须已经发送反转位。在此,当在就帧标识而言含义相同的情况下允许从具有不同RDS值的多个值中进行选择时,可以通过随后的、例如标识数据帧的起始的非数据代码字来实现纠正。
根据规则2、3、4和5的递增仅针对根据规则9的代码字1来描述。对于代码字2来说,所有零(0)应该用一(1)来代替并且相反地1应该用0来代替。于是,相同的规则适用。
在前面段落中根据规则9所描述的代码特别适合于连续递增(在LSB在先时)或者适合于裁决(在MSB在先时)。对于递减来说,该代码不太适合,因为对于该代码来说随后不存在对应于规则5的规则,该规则不依赖于在代码中的位置而根据输入位x和y以及进位位c和u来确定新的(要发出的)代码位。因此,特别是针对递减使用以下的代替规则1的生成规则1.b数据 编码规则1.b 值(十六进制)00000 001001 110011 2
11111 3代替基于规则1的用于递增的规则2、3和4,得到以下的基于代码1.b的用于递减的规则2b、3b及4b(规则2b)用于20′的生成代码位 20′的递减值和 进位0001 10010 00111 11111 1(规则3b)用于20″的生成代码位 20″的递减值和 进位000 1 10010 00110 01111 1(规则4b)用于20的生成代码位 20的递减值和 进位000 1 10010 00110 01110 0所生成的进位在连续编码时被使用(参见规则5b)。该代码的优点是,输出值和进位在递减的情况下是相同的并且否则进位为0。
对于代码的连续递减来说,(当LSB开始传输时)为了生成代码位x总是需要关于紧接着的代码位y的信息。因此,如也在连续递增的情况下那样,代码必须被延迟至少一个节拍而转发。为了使所接收的和要发送的数据位序列同步,有利地分别在输入端和输出端处插入触发器。针对输出位z以及所生成的中间进位w,根据规则5b针对输入进位c、中间进位u、输入位x和y进行递减(图3a)规则5bc或uy xz w0 0 00 00 0 11 00 1 00 00 1 11 01 0 01 11 0 10 01 1 01 11 1 11 1但是,根据本发明的代码也可以用于裁决目的、即比较目的。因此,所描述的代码、特别是根据规则9的代码也可以以可变的优先级被用于裁决目的。为此必需的是,以最高值位、即最高有效位的发送开始,而对于递增来说,如前面提及的那样,以最低有效位、即LSB、最低值位开始。然而反转位也随后首先被传输(规则10)。
用于以MSB在先的发送的规则10信息位 代码字1 代码字2 值分配(十六进制)00 000 000 00 1 111 11 000 010 000 01 1 111 10 100 100 000 10 1 111 01 200 110 000 11 1 111 00 301 000 100 00 1 011 11 401 010 100 01 1 011 10 501 100 100 10 1 011 01 601 110 100 11 1 011 00 710 000 110 00 1 001 11 810 010 110 01 1 001 10 910 100 110 10 1 001 01 A10 110 110 11 1 001 00 B
11 00 0 111 00 1 000 11 C11 01 0 111 01 1 000 10 D11 10 0 111 10 1 000 01 E11 11 0 111 11 1 000 00 F以根据图6和图6a的比较器400示出了用于这种比较或裁决的电路。其中示出了具有真正的比较器405或409COMP的比较器模块401或408,其中这里仅分别需要用于两个要比较的输入位序列的延迟和同步的两个触发器402、403或412、413,这里这些触发器也可通过任意的受时钟控制的存储元件来示出。对于代码的裁决来说,为了判定代码位x或r的发送,在图6中或图6a中在一般情况下又需要关于紧接着的代码位y或s的信息。在此,当以MSB、即最高有效位开始传输时。在此代码因此也必须被延迟至少一个节拍而转发。为了使所接收到的和要发送的数据位序列同步,在此也有利地分别在输入端和输出端处插入触发器402或412和404。按照根据本发明的规则,在此情况下现在由输入位x和y或r和s执行输出位z,并且由此执行输入位序列EBF或EBF1或EBF2的选择以及在裁决的范围内执行输入位序列EBF或EBF1或EBF2至输出位序列ABF的转换。在此,比较器判定在图6a中仍然存储在存储元件406中,直到判定借助控制单元407被复位。曾经作出的比较器判定在数据传输的随后过程中也可被使用,以便有目的地进行两个输入位序列之间的另外的转换。为此,当前作出的比较器判定被传输给控制单元407并且在那里被存储。借助该信息,存储元件406可由407任意地设置和复位。在图6a中此外还设置有开关或转接单元S2,该开关能够在有另外的序列的情况下实现在输入位序列EBF1和EBF2之间的切换,如刚才针对图6和6a所描述的那样。
图4a示出这种切换、借助用于根据图4的比较器401的两个输入数据字EC4和EC5以及输出数据字AC4的开关或转换单元S1的这种电路。
递增或递减和裁决在数据字中同时彼此排斥。然而在必须裁决或者必须递增或递减的情况的范围内可进行传输顺序或发送顺序的切换。根据发送方向,现在针对规则9、优选的实施例恰好得到LSB在先以及由此得到递增变型方案,或者利用规则10得到MSB在先并且由此得到裁决变型方案。在此,现在数据的头两位根据两位到三位编码被转换,并且另外的两位、即数据的位3和4以未被编码的形式被接受。同时,反转位、即表明是否涉及反转或未反转的变型的位根据规则9作为最低有效位、即在最右边被添加到代码字1和代码字2中。就MSB侧而言现在是类似的,因此数据的头两位分别在中间的三块中被编码为三位,并且代码字1或2的最后两位简单地接受数据的位3和4。然而在此情况下,表明反转的位作为最高值位、即MSB分别在MSB变型方案的代码字1和代码字2的左边被添加。
作为例子,在此总线也适合于示出,其中如在MOST总线的情况下数据在固定长度的帧中被传输,其中根据帧(Frame)位置可以进行传输顺序或发送方向的切换。如果例如控制帧信息的发送根据优先级排列(Priorisierung)通过以下方式来决定,即将接收到的优先级与自己的优先级进行比较,则有利的是,首先发送MSB。由此,可以如图6a中所示进行直接的转接。如果与此相反应该确定网络位置并且同时(在没有缓存的情况下)应该传输给下一个节点,则必须LSB在先发送相应的控制字节,以便能够连续递增(根据图5)。因为具有用于裁决的必要性的控制帧信息总是在数据帧、即帧的固定位置上(在MOST的情况下总是为第61和第62个字节)被传输,所以在此有利地根据数据帧内的字计数器或者字节或位计数器、即计数器将传输顺序改变为MSB在先。在递增或递减可能是必要的帧中的所有字节位置上,传输顺序被切回至LSB在先。在既不需要通过多个位的比较来裁决、也不需要递增或递减的位置上,传输顺序是无关紧要的并且可以根据其它的标准自由地选择。
在此,原则上、即不仅针对MOST情况要注意,根据本发明反转位总是首先被发送,即不依赖于是否以LSB或MSB开始。
针对上述的、就EMV特性而言是根据本发明将两个信息位编码为三个代码位的有利的系统解决变型方案的规则1,也可设想并且可实现规则1的以下的变型方案数据 编码规则1.b编码规则1.c值(十六进制)000000000010010101100111102111111113
数据编码规则1.d 编码规则1.e值(十六进制)00 000 000001 100 011110 110 110211 011 1113在此,与用于递增的规则1相比,根据1b的用于递减情况的编码规则具有相同的优点。在此也存在系统码,其中每个代码位都可被分配值20。然而在此应首先进一步阐述递增的情况。
按照根据规则1或由其发展出的规则9和10的优选实施变型方案,现在可以描述根据图7和图8的特别的发送和接收模块、即发送机和接收机。图7示出一种串行发送机,其中并行数据输入PDI、即例如n位并行地被引入到寄存器和代码生成器705中。在该例子中,n优选地为4。借助可容纳k位的移位寄存器704,于是可将输出位序列ABF输出至通信系统100,其中在此k优选地为6。在此,现在发送模块700包含可选的还将被阐述的元件701至703。如果例如在LSB和MSB在先之间、即在递增和裁决之间转换时根据字计数器或计数器改变传输顺序,则这种计数器701是必需的。同时需要控制电路703,该控制电路根据规则9或10特别是控制反转控制,即对应于LSB和MSB的反转位的预先给定。同时,RDS值的监控或预先给定可通过该电路703来进行。块702用于插入非数据字,该块在后面还将被阐述。同样在块703中还可实施D控制的功能,这也将在后面更详细地被阐述。
对应于发送模块700,图8以800示出接收模块或串行接收机。在该实施例中,输入位序列EBF被输送给具有k位的移位寄存器804,在此也优选地k=6。以803示出了相应的特别是具有寄存器的解码器模块。为了根据本发明输出并行的位序列、即PDO、例如n=4的n位,再次利用转换并且例如根据字计数器来改变传输顺序,在此也可选地使用该计数器801。块802用于非数据字的识别,即用于非数据字的解码,由此可进行计数器的部分置位,如这在后面还要阐述的那样。即根据图7和图8的发送机和接收机可根据本发明进行完全的编码或解码。
现在对已经结合元件702和802提到的非数据字进行更详细阐述。6个代码位的代码空间允许26=64种不同的可能性,其中根据规则9只分配32个数据代码字。对于一些应用情况来说有意义的是,使一些非数据代码字或非数据字与另外的信息、特别是与控制信息协调一致以用于控制目的。由此例如可以标识传输的开始或引起其它的控制功能、例如过渡到另一种工作模式中,以及引入特别的顺序信息的传输。这些非数据代码字例如可以是块前同步码或数据帧前同步码、即帧前同步码。该帧前同步码仅仅标识帧的开始。如果允许多个不同的帧前同步码,则可通过变量的选择来传输不同的附加信息。这种附加信息可以是RDS值,以该RDS值进行了当前的编码。其例子在表1中给出,其中该表并未完成。
表1
在非数据代码字的情况下,位序列010101或反转地101010起着特别的作用。该位序列被用于同步并且应该并非无意地、也通过两个数据字的连续组合而形成。在从LSB开始传输时,在没有附加的条件的情况下,根据规则9例如通过数据字D(代码字1)连接在4、5、6或7(来自代码字1)之后形成序列111010 100xx0,其中这两个数据字之间的电平切换通过RDS规则来规定。当在忽视RDS规则的情况下总是在D的传输中设法不进行电平切换时,避免通过数据代码字的组合来生成该位模式(Bitmuster)。在上面的根据规则9的例子中,由此得到位序列000101 100xx0,并且所选择的位序列不能形成。这可能可暂时导致直流部分的增加。然而排除了,D的发送的多次连续导致RDS的持续增加,因为根据规则9随后恰好总是在代码字1和代码字2之间切换。如果此外设法,在所有在值D之后的、具有均衡数目的0和1的代码字(7、9、A、C和非数据代码字)中总是进行电平切换(只要不均衡的代码字不打破该规则),则RDS即使在数据值D随后再次被发送的情况下也不被累计,因为随后D的另外的代码字可用并且根据上述规则也被强制使用。发送机中的特定的控制单元控制数据字D的发送,如在图7中在块703中可实施的那样。另一个规则是,在RDS=0时增加RDS值,使得RDS在0之后不变为负的并且由此给出单值性。
在这些边界条件下,特别的代码字010101和其反转的传输允许在接收机中触发特殊的控制信号,这些控制信号导致所选择的系统状态。这例如可以是接收机中的计数器的置位,例如图8中的计数器801中通过块802的置位。如果只在有规律的时间点允许非数据代码字或非数据字,因为它们例如标记具有恒定长度的数据帧的开始,则也有意义的是,仅仅在这些特别的代码字中的两个之间的已知位置上允许所有其它的非数据字。于是不会将这些代码字与数据字混淆,或者对于由两个彼此相继的数据字形成的并且与非数据代码字的位序列一致的模式来说不会与该特殊的控制信号混淆。由此,也可实现错误识别的有限的可能性。除了所示的具有根据规则9或10的优选变型的代码变型之外,同样可以多次实现规则1的另外的组件或组成、即该规则和直接二进制编码的多次应用。优选实施例的代码避免双相marc编码的占优势的频谱。当不考虑事后的通过递增或递减的数据改变时,该代码平均是无直流的并且(根据编码规则)具有13或14的最大游程长度。但是,该数据改变又可通过随后的非数据代码字来补偿。优选地,非数据代码字例如对应于表101010、001110、001100、011110、011100以及相对于其反转的值,然而原则上也可使用所有其它的非数据字。
用于通过根据规则9的实施例组成编码数据字来避免位序列101010的规则应在递增和裁决的转换中被相应地匹配如果从LSB在先切换为MSB在先,则除了在量值上减小RDS值之外不产生关于反转的规则。
在两个MSB在先的值之间,必须避免在十六进制值“A”之后(而不是在“D”之前)的电平切换。
对于在“A”之后的所有均衡的代码字来说,在此不存在任何规则,因为“A”本身是均衡的(伴随A没有RDS值改变,由此对于间接相继的“A”来说无需规则)。
为了从MSB在先过渡为LSB在先,只要最后3位是交替的(根据2、6、A、D),一般应防止电平切换。
对于随后的“D”,与往常一样相同的条件适用,即没有电平切换。
对于由多于2位组成的数据字的编码来说,此外可判定,是否根据规则1或1b对所有位对进行编码或未编码地接受哪些位对。在规则9中,4位数据字的2个LSB根据规则1被编码,而2个MSB被直接接受。可完全一样地实现根据规则9a的相反的方法,其中LSB被直接接受并且MSB按照规则1被编码规则9a(在最初根据规则1进行编码并且交换编码数据位的顺序的情况下的优选实施例)LSB在先 MSB在先信息位 代码字1 代码字2 值分配(十六进制)00 00 00 000 0 11 111 1 00 00 000 1 11 11101 00 00 100 0 11 011 1 10 00 100 1 11 01110 00 00 110 0 11 001 1 20 00 110 1 11 00111 00 00 111 0 11 000 1 30 00 111 1 11 00000 01 01 000 0 10 111 1 40 01 000 1 10 11101 01 01 100 0 10 011 1 50 01 100 1 10 01110 01 01 110 0 10 001 1 60 01 110 1 10 00111 01 01 111 0 10 000 1 70 01 111 1 10 00000 10 10 000 0 01 111 1 80 10 000 1 01 11101 10 10 100 0 01 011 1 90 10 100 1 01 01110 10 10 110 0 01 001 1 A0 10 110 1 01 00111 10 10 111 0 01 000 1 B0 10 111 1 01 00000 11 11 000 0 00 111 1 C0 11 000 1 00 11101 11 11 100 0 00 011 1 D0 11 100 1 00 01110 11 11 110 0 00 001 1 E0 11 110 1 00 00111 11 11 111 0 11 000 1 F0 11 111 1 00 000←------←------ 发送方向 ------→ ------→同样,特别是在选择递减可能性时可以实现另外的编码规则(规则9b和9c)规则9b(具有未编码的数据位的顺序的交换和根据规则1.b的编码)
LSB在先 MSB在先信息位代码字1 代码字2 值分配(十六进制)00 00 00 000 0 11 111 10 0 00 000 1 11 11101 00 00 001 0 11 110 11 0 00 001 1 11 11010 00 00 011 0 11 100 12 0 00 011 1 11 10011 00 00 111 0 11 000 13 0 00 111 1 11 00000 01 01 000 0 10 111 14 0 01 000 1 10 11101 01 01 001 0 10 110 15 0 01 001 1 10 11010 01 01 011 0 10 100 16 0 01 011 1 10 10011 01 01 111 0 10 000 17 0 01 111 1 10 00000 10 10 000 0 01 111 18 0 10 000 1 01 11101 10 10 001 0 01 110 19 0 10 001 1 01 11010 10 10 011 0 01 100 1A 0 10 011 1 01 10011 10 10 111 0 01 000 1B 0 10 111 1 01 00000 11 11 000 0 00 111 1C 0 11 000 1 00 11101 11 11 001 0 00 110 1D 0 11 001 1 00 11010 11 11 011 0 00 100 1E 0 11 011 1 00 10011 11 11 111 0 11 000 1F 0 11 111 1 00 000←------ ←------ 发送方向------→ ------→规则9c(没有未编码的数据位的顺序的交换和根据规则1b的编码)
LSB在先MSB在先数据 代码字1 代码字2 值(十六进制) 代码字1 代码字200 00 000 000 111 111 0 0 000 001 111 1100 01 000 010 111 101 1 0 000 011 111 1000 10 000 100 111 011 2 0 000 101 111 0100 11 000 110 111 001 3 0 000 111 111 0001 00 001 000 110 111 4 0 001 001 110 1101 01 001 010 110 101 5 0 001 011 110 1001 10 001 100 110 011 6 0 001 101 110 0101 11 001 110 110 001 7 0 001 111 110 0010 00 011 000 100 111 8 0 011 001 100 1110 01 011 010 100 101 9 0 011 011 100 1010 10 011 100 100 011 A 0 011 101 100 0110 11 011 110 100 001 B 0 011 111 100 0011 00 111 000 000 111 C 0 111 001 000 1111 01 111 010 000 101 D 0 111 011 000 1011 10 111 100 000 011 E 0 111 101 000 0111 11 111 110 000 001 F 0 111 111 000 00←------ ←------ 发送方向 ------→ ------→规则9b对于在以LSB在先传输时的简单的递减来说更有利,因为这里为了避免非数据代码字010101或101010而总是必须在“6”之后避免电平切换。
对于代码的选择,现在以下的一般规定适用1.如果应该递增或递减,则应以LSB在先进行发送。
2.根据规则9或9.a,递增更有利。
3.根据规则9.b或9.c,递减更有利。
4.如果应该裁决,则应以MSB在先进行发送。
5.根据规则9或9.a,裁决更有利。
6.如果已知在哪个位置使用什么代码,则可任意切换编码类型。
为了避免代码字010101或101010,必须遵守下列表中的规定
为了进行错误识别和错误纠正,现在根据本发明依赖于结合代码生成规则的当前的running digital sum RDS、即游程数字和来进行当前的代码数据字的判定。如果该值对于接收机、特别是第二用户来说是已知的,则可如所述的那样将可能的代码数据字的选择限制于大约一半。因此根据本发明规定,特别是周期性地传输RDS并且在接收机中基于该RDS对该RDS进行进一步计算,直到下一次更新。随后也可以利用新接收到的RDS值确认迄今的数据和/或数据纠正的正确性,或者必要时生成错误信号,该错误信号对前面的数据的正确性提出疑问。这些随后被识别为有错误的数据随后可以被再次检验,或者也可以随着对发送机、即特别是第一用户的数据的再次发送的要求而被丢弃。如果例如以用于EMV降低的电传输的代码、例如在已经提及的规则9中所描述的代码作为基础,则产生信息位、代码字1、代码字2和值分配(十六进制)的可能性,如已经针对规则9所描述的那样。规则9的该代码具有50%的代码冗余,并且在没有附加的关于RDS的信息的情况下不能够纠正错误。相反,单个位错误在此已经可能导致另外的代码字。如果例如取具有111000的十六进制值C的代码字1并且仅仅最后一位出错,则得到具有111001的十六进制值3的代码字2。相应地这里得到代码数据字之间的以下的邻近关系111 000 / 111 001 C/3111 010 / 111 011 D/2111 100 / 111 101 E/1111 110 / 111 111 F/0这导致,当恰好最后的代码位出错时,如果没有保证附加信息的根据本发明的传输,则必须考虑到值的巨大改变,而没有错误识别可能性。
图9a再次象征性地在框900中示出具有交替的代码字和小的代码冗余、然而具有不同的非代码数据字的代码生成器。以901示出了没有附加的资源(线路/数据)的传输段信息通过替代的控制字的选择而被传输。框902最后示出具有解码器的接收机,该接收机特别是从非代码数据字或控制字中重新获得信息、即关于代码生成器判定标准的RDS,由此可以从整个代码数据字的子集中进行代码数据字选择,以便执行错误识别和错误纠正。
在图9b中,这再次更详细地被示出。其中再次以900示出了代码生成器,以902示出了具有解码器的接收机并且以901示出了传输段,其中附加地在代码生成器900中示出了不同的替代的代码字数据集903-905,这些代码字数据集代表代码数据字集1、2至n。以906示出了真正的编码器,并且以框907示出了用于附加信息、就是RDS值的分析或生成单元,随后可以通过该RDS值选择确定的代码数据字集并且通过选择模块908从中选择确定的代码数据字。
类似地,现在建立了具有解码器的接收机902,其中同样以909、910和911示出了替代的代码数据字集1、2至n,并且通过分析或重新获得模块912根据RDS值、特别是根据非代码数据字确定附加信息,并且由此特别是为了纠正错误而通过选择模块913从相应的代码数据字集中选择正确的代码数据字。真正的解码器以914示出。
如果现在数据通过传输段在根据图10和10a的帧、即每i个字节的帧中被传输,其中i例如是1、2、4、8、16、32以及优选地64、128、256等等,并且每个帧以前同步码FP开始,该前同步码FP尤其是非代码数据字,则得到以下可能性当假设总是j个帧形成数据块时,例如在固定数目j个帧之后代替帧前同步码被发送的特别有特色的前同步码、即块前同步码BP具有以下任务,即与帧系统的第一同步,并且因此不允许通过数据字的连接作为该组合的部分位模式出现或者以其它的方式借助数据的组合而实现。该保留的前同步码例如具有代码101010或010101。因为在电传输时该前同步码以其持续的位值切换而导致高的EMV行为,所以该前同步码有利地也特别地不是被用于每个帧,而是例如只是在固定数目的帧之后、例如在由j个帧F1、F2、Fj(j例如是1、2、4、8,优选地是16、32、64等等)构成的块开始时被使用。只有当该前同步码一旦被识别出时,接收机中的内部计数器这样被调整,使得精确地得知,何时一个帧以及一个块开始。在块前同步码BP开始时,必须避免位切换,以便保证准确的同步。因为在第一同步之后已知,新的帧何时开始,所以下一个以及所有随后的帧的帧前同步码FP都已经被期待并且可以被相应地解码,而不会与数据字或与两个相继发送的数据字的部分的组合混淆。因此,帧前同步码不需要满足这样的要求,即不出现在数据模式中。因此,作为帧前同步码,首先建议以下的代码101110和/或010001。当RDS等于0或在前同步码发出之前等于0时,该值于是应该恰好作为前同步码被发送。因为在RDS值为0时根据稍后还要阐述的编码规则总是力求正的RDS值,所以更确切地应使用位序列101110;位序列010001可以替代地被用于另外的信息的传输,当在编码规则中这样约定时。因为上面的数据代码字具有为偶数的位数目(特别是在此为6),所以随着数据字的每次传输对RDS值增加0、2、4或6,或者RDS值被减少该值。在正常的无错误的工作中可以期待,最大可出现量值8(+/-8),并且RDS值可以在每个字的代码位的数目为偶数的情况下变为偶数。这些标准也可以被用于检验所接收的数据的合理性。另外的帧前同步码说明,在前同步码的发送之前发送机的RDS值是怎样的101 110(010 001) rds是0(见上文) (随后rds变为+2/(-2))011 110100 001 rds是-2/+2 (随后rds变为0)011 000100 111 rds是+4/-4 (随后rds变为+2/-2)101 000010 111 rds是+6/-6 (随后rds变为+4/-4)010 010101 101 rds是+8/-8 (随后rds变为+6/-6)所有具有RDS信息的前同步码都应该彼此具有至少为2的Hamming距离,以便能够识别前同步码中的单个位错误。这是必要的,因为在RDS值的传输中的错误可以影响随后的纠正。此外,在RDS=0的情况下例如应该总是遵循正的RDS或0,其中在此这对应于任意的作为唯一性实现的例子的编码规则。此外可以应用另外的前同步码,例如011 010100 101 没有rds信息的帧前同步码001 100110 011 用于控制目的的没有rds信息的前同步码010 100101 011 用于控制目的的没有rds信息的前同步码如果现在基于RDS信息来设置RDS计数器并且在随后的数据字中找到非代码数据字,则可以容易地根据编码规则确定,是否它必须是代码字1或代码字2,即根据规则9确定最低有效位LSB。替代地,这自然同样地对规则10起作用,因此随后确定最高有效位MSB。即借助规则9描述的方法自然类似地对规则10起作用,并且出于开销的原因不再次明确地描述。
在增加要花费的开销的情况下,现在根据本发明可以实现进一步的改进,因为即使当借助RDS执行所提及的错误纠正信息传输时,但是现在例如在规则9的代码中例如也不是所有的单个位错误都可以被考虑到。在已经描述的情况之外,总是有错误可能性。因此例如对于一些代码字来说,当两个数据字的区别仅在于一个位时,即Hamming距离为1时,错误不可识别。这例如就是位1或2改变的情况。因此,根据规则9,例如由于代码字1的位2中的错误,数据值0变为数据值2。
为了提供完全的纠正可能性,则必须将代码冗余提高到这种程度,使得所有数据字彼此至少具有Hamming距离3。为此应在频率相应提高的情况下传输多个代码位,以便保证每个时间单位有相同的信息含量。由于较不利的EMV特性,这已经不被推荐。
因此现在在进一步发展的范围内寻找这样的可能性,即在不提高代码冗余的情况下进行可靠的识别或甚至纠正。在此,根据应用,也可以进行并不明确的纠正。在多个可能的纠正字的情况下,应该根据可预先给定的策略来判定,选择可能的代码字中的哪一个,或者是否例如也找到这样的折衷,即不选择可能的代码字中的任何一个,而是取而代之使用所有可能的代码字的值的算术平均值。在纠正情况下的不明确的分配在此必须用信号通知,并且策略的组成部分也是可以防止纠正。这可以通过选项的选择来进行,或者当迄今已经进行了太多纠正时也可以自动进行。
由此,根据本发明,此外应在进一步发展的范围内有区别地处理错误识别,并且确切地说以多个等级来处理错误识别(0)不存在错误或者至少不能识别出错误。
(1)可以实现错误识别并纠正为明确的值(根据Hamming)。
(2)存在多个代码字,这些代码字恰好与所接收的位模式有1位不同并且同时满足关于RDS和所提及的电平切换的条件。在该情况(2)下根据可选择的策略进行纠正,例如-可能的代码字的最小值-可能的代码字的最大值-可能的代码字的算术平均(结果不必必然与所接收的位模式相关)-数据值的内插(与先前已经接收的值相关联)
-脉冲抑制(例如通过低通函数使位模式中的干扰渐隐)-分别具有多于一个恒定位值的位模式的边沿移动(传输段的低通或高通特性的均衡)-作为传输段的低通特性的均衡的脉冲生成-不纠正,而是用信号通知错误以及发送固定的预先给定的数据值、例如0。
(3)没有纠正可能性的错误识别,例如多个位错误(必要时不同于第2点用信号通知错误)并且发送预先给定的数据值(例如0)或者这样的值,该值在不理会RDS值或电平改变规则的情况下接近所接收的值。
在点(0)中,不存在错误,或者错误、例如单个或多个位错误不可识别,因为形成另外的数据代码字。
在点(1)中,识别出一个错误,并且恰好有一个代码字,该代码字由于所接收的字中的一个位的改变而形成(在Hamming距离1内只有一个代码字)。
在点(2)中,存在多个数据代码字,这些数据代码字都对应于与所接收的字的Hamming距离1。从可能的代码字的该集中,根据可选择的策略找出一个值。要注意的是例如内插例如有意义的是,知道信号的信号特征并且例如在传感器信号或音频信号的情况下知道,根据极限频率只能在从传感器值至传感器值或者从采样值至采样值的有限的范围内产生变化。
为此,在错误情况下当前解码条件的存储是有意义的,并且可以根据图11在控制器上例如借助中断实现值的后处理。纠正的数目和类型也应该被存储,并且必要时在超过这样的纠正的可预先给定的数目情况下不执行根据点(2)的进一步纠正。一旦新的RDS信息被传输,该错误存储器就可以被完全或部分地删除,必要时只有当在将内部计算的RDS信息与新接收的值进行比较的情况下确定没有偏差或至少没有大的偏差时,该错误存储器才被完全或部分地删除。由此错误纠正可以具有自适应的特征。但是策略的改变也可以是任意不同的,并且可在任何时候受使用者影响。因此例如也可以在学习阶段中在切合实际的环境条件下自己确定最佳的纠正可能性。
当出现一个或者甚至多个位错误时,策略应特别是被改变为用信号通知错误。随后可以不再信赖在接收机中所计算的RDS值。根据点(2)的错误纠正随后可以被停止,至少恰好直到又接收到新的当前的RDS值并且没有检测到新的多重错误。
较高的三个位中的未识别出的单个位错误引起值域的最大25%的值改变。LSB的改变可以引起从1至F的彻底的值改变。当附加信息、即RDS可供解码使用并且存在相应的编码条件、即通过RDS传输的错误纠正信息传输时,这被排除。结合所描述的RDS传输,在一些情况下也可以判定,必须在哪个方向上进行纠正。由此可以导致明确的纠正。
以下的根据具有传输方向LSB在先的规则9的单个位错误在非代码数据字的情况下被可靠地确定并且是可纠正的-只要位4是有效的,位5(MSB)中的错误。
-只要位5不是有效的,位4(第二最高位)中的错误。
-只要位4不是有效的,位3(第三最高位)中的错误。
在此情况下,有效意味着代码字1中的“1”和代码字2中的“0”。
当只考虑一个代码字时,所有其它的单个位改变都不能被发现或纠正。然而如果假设,代码生成规则正好是已知的,则也可以根据关于在字边界上的电平切换的信息结合RDS信息进行纠正。在此,当发送均衡的代码字时,必须总是根据编码规则在数据字D之后进行电平切换。当多个均衡的数据字紧接在D之后时,这也适用。通过这种方式防止RDS由于多个(间接或间接)连续的数据字D而累加。在所有其它数据字的情况下,电平切换通过RDS信息来控制。
在RDS=0时,不允许通过该代码字形成RDS的负值,而是形成尽可能最小的正值。虽然代码冗余小,但由此可以在单个位错误情况下实现进一步的纠正或者对改变的提示。在每次将有效的代码字纠正为另一个代码字的情况下,附加地传输错误信息。利用附加的选项可以阻止与此相联系的纠正。于是仅仅输出关于错误的信息。所有的纠正导致数据字的值域的最高25%的改变。
在多重错误的情况下,例如发送固定的预先给定的值(以及中断)。在多个数据字中作出判定的可能性的情况下,该策略进行判定。可以通过图11中的错误计数器来实现策略的切换。于是必要时也阻止纠正,即不进行纠正,而是采用固定的值。图11中的计数器通过RDS值的更新被复位。图11此外再次以象征性的具有运行过程的示图示出具有解码器914的接收器902以及传输段901。
首先特别是从非代码数据字(或控制字)中提取出RDS信息。RDS通过块915和916(对应于图9b中的块912)与所确定的RDS信息进行比较。在此持续地执行递增/递减。接着进行具有比较(块916)的定期更新。如果包括RDS的数据字没有错误(块917),则输出该数据字。否则到达错误纠正918,由该错误纠正产生纠正后的数据字或固定的数据字(也参见表12)。在不能进行纠正的情况下,特别是以这样的信令进行中断(中断919),即不能进行纠正和错误显示。在RDS的比较有错误的情况下,同样生成特别是具有错误显示的中断(920)。随后可以借助错误计数器921在块922中根据具有匹配或适配可能性的应用实现所述的策略预先规定。最后,在RDS更新时,错误计数器921被复位(reset),如上面已经描述的那样。
为此,最后在表12中作为变型方案1a描述作为在小代码冗余的情况下部分纠正的例子的代码纠正规则。在此,从根据规则9的以LSB在先的传输出发。此外针对该例子假设,在针对随后的均衡的代码字(相同数目的0和1)没有规定电平切换(/PV)的情况下,只要不需要其它的编码规则,也就不应进行电平切换。这是EMV有利的变型方案,因为比在其它编码规则中进行平均更少的电平切换。该编码变型方案具有为14的最大游程长度(MRL)。
在此MF意味着存在根据点(3)的多位错误(错误被识别,但是通常没有纠正可能性)OK意味着没有错误可识别(点(0))PV意味着针对均衡的代码字规定电平切换(直接或间接地在D之后)/PV意味着针对均衡的代码字不允许电平切换PE意味着存在电平切换当前的LSB不等于最后的位值(last bitvalue)/PE意味着不进行电平切换(当前的LSB=最后的代码字的最后的位值)X.1意味着数据字X的代码字1(例如D的D.1,C的C.1,5的5.1等等)X.2意味着数据字X的代码字2(例如F的F.2,E的E.2,6的6.2等等)n.d.意味着没有数据代码字,即非代码数据字在前同步码的位置上特别的条件适用在一些位值的情况下,值之一中有错误是可能的(根据点(2)或点(1)纠正)以下将描述表12中的列第1列所有代码字第2列作为数据字(代码数据字)或非数据字(非代码数据字)的意义第3列这里条件是rds<=0,针对均衡的代码字规定了电平切换(PV),存在电平切换(PE),纠正为所给出的代码字的可能性(或者OK,MF)第4列这里条件是rds<=0,针对均衡的代码字规定了电平切换(PV),不存在电平切换(/PE),纠正为所给出的代码字的可能性(或者OK,MF)第5列这里条件是rds<=0,针对均衡的代码字没有规定电平切换(/PV),并且这里根据所选择的编码规则也不应针对这种代码字进行电平切换,存在电平切换(PE),纠正为所给出的代码字的可能性(或者OK,MF)第6列这里条件是rds<=0,针对均衡的代码字没有规定电平切换(/PV),并且也不应该进行电平切换(见上文),不存在电平切换(/PE),纠正为所给出的代码字的可能性(或者OK,MF)第7列这里条件是rds>0,针对均衡的代码字规定了电平切换(PV),存在电平切换(PE),纠正为所给出的代码字的可能性(或者OK,MF)第8列这里条件是rds>0,针对均衡的代码字规定了电平切换(PV),不存在电平切换(/PE),纠正为所给出的代码字的可能性(或者OK,MF)第9列这里条件是rds>0,针对均衡的代码字没有规定电平切换(/PV)并且也不应该进行电平切换(见上文),存在电平切换(PE),纠正为所给出的代码字的可能性(或者OK,MF)第10列这里条件是rds>0,针对均衡的代码字没有规定电平切换(/PV)并且也不应该进行电平切换(见上文),不存在电平切换(/PE),纠正为所给出的代码字的可能性(或者OK,MF)具有变型方案变型方案1b LSB在先该编码变型方案类似于在变型方案1a中所描述的根据规则9的编码并且LSB在先的传输方向。区别仅仅在于这样的规则,即只要没有其它的规定与此对立,就针对均衡的代码字迫使电平切换。利用该编码规则实现为13的最大游程长度(MRL),这对于PLL来说是更有利的。为此EMV特征值略微更差。随后的代码纠正表与表12中所描述的代码纠正表略有不同。
图例MF存在根据3的多位错误(错误被识别,但是通常没有纠正可能性)OK没有错误可识别(点0)PV针对均衡的代码字规定电平切换(直接或间接地在D之后)/PV针对均衡的代码字没有规定电平切换(直接或间接地在D之后),但是这里不同此外针对均衡的代码字规定电平切换PE存在电平切换当前的LSB≠最后的位值/PE不存在电平切换(当前的LSB=最后的位值)X.1数据字X的代码字1X.2数据字X的代码字2n.d.没有数据代码字在前同步码的位置上特别的条件适用粗体位值在这些值之一中可能有错误(根据点2或1的纠正),必要时是有条件的表1作为在小的代码冗余情况下部分纠正的例子的代码纠正规则针对变型方案b)(与原始的表1不对应)
表的注释列1所有的26个代码字列2作为数据字或非数据字的意义列3这里条件是rds<=0,针对均衡的代码字规定了电平切换(PV),存在电平切换(PE),纠正为所给出的代码字的可能性(或者OK,MF)列4这里条件是rds<=0,针对均衡的代码字规定了电平切换(PV),不存在电平切换(/PE),纠正为所给出的代码字的可能性(或者OK,MF)列5这里条件是rds<=0,针对均衡的代码字没有规定电平切换(/PV),但是根据PLL条件应该进行电平切换,存在电平切换(PE),纠正为所给出的代码字的可能性(或者OK,MF)列6这里条件是rds<=0,针对均衡的代码字没有规定电平切换(/PV),但是根据PLL条件应该进行电平切换,不存在电平切换(/PE),纠正为所给出的代码字的可能性(或者OK,MF)列7这里条件是rds>0,针对均衡的代码字规定了电平切换(PV),存在电平切换(PE),纠正为所给出的代码字的可能性(或者OK,MF)变型方案2如已经在前面的实施方案中描述的,代码适用于根据规则10的以MSB在先的传输,但具有以下不同点必须注意,总是首先发送反转位(不依赖于是否以LSB或MSB开始)。根据规则9LSB的实施例的用于通过组成编码数据字来避免位序列101010的规则必须相应地被匹配1.如果从LSB在先切换为MSB在先,则除了降低RDS值之外不产生关于反转的任何规则。
2.在两个MSB在先的值之间,必须避免在MSB在先的情况下(0110101或100101)在十六进制值“a”之后(代替在LSB在先的情况下在“d”之前)的电平切换。
3.对于所有在“a”之后的均衡的代码字来说,在此不存在规则,因为“a”本身是均衡的(伴随a没有rds值改变,由此对于间接相继的“a”来说不需要规则)。
4.为了从MSB在先过渡为LSB在先,只要最后3位是交替的(在2,6,a,d之后),则一般必须防止电平切换。
5.对于在LSB在先时随后的“d”来说,与往常一样相同的条件适用(没有电平切换)。
对于MSB在先来说,根据规则10的编码具有为12的最大游程长度(MRL),而不依赖于是否符合EMV要求或符合PLL要求被编码。
这里在表中示例性地列出两种变型方案。一种更精确的编码规则在不要求电平相同的情况下(/GV,见下文)导致更明确的纠正。
图例MF存在根据3的多位错误(错误被识别,但是通常没有纠正可能性)OK没有错误可识别(点0)GV针对均衡的代码字规定相同的电平(在A之后)不允许电平切换!/GV在均衡的代码字的情况下不要求电平相同;应该a)电平保持相同(EMV降低,明确性)b)切换电平(PLL行为,明确性)G存在相同的信号电平当前的LSB=最后的位值(没有电平切换)/G存在电平切换当前的LSB≠最后的位值X.1数据字X的代码字1X.2数据字X的代码字2n.d.没有数据代码字在前同步码的位置上特别的条件适用粗体位值在这些值之一中可能有错误(根据点2或1的纠正),必要时是有条件的表2作为在小的代码冗余情况下部分纠正的例子的代码纠正规则没有考虑在均衡的具有/GV的代码字的情况下的优先地位。
对于变型方案a)来说,在/GV情况下通常应如下相应地替换值列/GV和G如同列GV和/G列/GV和/G如同列GV和G对于变型方案b)来说,在/GV情况下通常应如下相应地替换值列/GV和G如同列GV和G列/GV和/G如同列GV和G这些替换分别相应地适用于rds<=0和rds>0。
表的注释列1所有的26个代码字列2作为数据字或非数据字的意义列3这里条件是rds<=0,针对均衡的代码字规定了电平切换(PV),存在电平切换(PE),纠正为所给出的代码字的可能性(或者OK,MF)列4这里条件是rds<=0,针对均衡的代码字规定了电平切换(PV),不存在电平切换(/PE),纠正为所给出的代码字的可能性(或者OK,MF)列5这里条件是rds<=0,针对均衡的代码字没有规定电平切换(/PV),存在电平切换(PE),根据编码规则(根据变型方案a)符合EMV要求或根据变型方案b符合PLL要求)应该在均衡的代码字的情况下进行电平切换;当条件没有被预先给定时,纠正为所给出的代码字的可能性(或者OK,MF),否则根据变型方案a)中的列4或变型方案b中的列3纠正为相应代码的可能性列6这里条件是rds<=0,针对均衡的代码字没有规定电平切换(/PV),不存在电平切换(/PE),根据编码规则(根据变型方案a)符合EMV要求或根据变型方案b符合PLL要求)应该在均衡的代码字的情况下进行电平切换;当条件没有被预先给定时,纠正为所给出的代码字的可能性(或者OK,MF),否则根据变型方案a)中的列3或变型方案b中的列4纠正为相应代码的可能性列7这里条件是rds>0,针对均衡的代码字规定了电平切换(PV),存在电平切换(PE),纠正为所给出的代码字的可能性(或者OK,MF)另外的实施例根据本发明的方法并不局限于系统码。特别地,当总是在考虑RDS的情况下从交替的等价的代码字的集中选择代码字时,(如例如在前面提及的文献中的)块码的任意的编码规则都可以以相同的方式来处理。在一般情况下,可以采用任意的明确的编码规则,二进制的代码字都用0来补充,并且在这些包括所补充的位值0的代码字的所有位反转的情况下将相同的数据值分配给所得到的代码字。然后借助RDS值选择第一代码字或修改后的代码字。
权利要求
1.用于在通过通信系统传输至少一个数据字形式的编码数据时进行错误处理的方法,其中针对所述至少一个数据字,根据可预先给定的编码规则来选择代码数据字,其中所述数据被表示为多个能够取两个不同的值、即1和0的位,其特征在于,这样形成至少一个游程数字和,使得至少通过该代码数据字形成1的总数和0的总数的累计差并且传输该游程数字和,该游程数字和对所述数据字的编码规则有影响,其中在包括所有随后的代码数据字的情况下确定所述游程数字和并且由此检验每个单个代码数据字的编码规则,其中在有偏差的情况下识别出错误。
2.根据权利要求1的方法,其特征在于,除了所述编码数据之外,在第一用户和至少第二用户之间还传输至少一个非代码数据字,所述非代码数据字没有根据所述可预先给定的编码规则被编码,并且所述游程数字和至少作为所述非代码数据字的一部分被传输。
3.根据权利要求1的方法,其特征在于,根据所述可预先给定的编码规则所选择的代码字分别对应于第一或第二代码字,该第一或第二代码字是相对于彼此反转的代码字。
4.根据权利要求1的方法,其特征在于,根据所述可预先给定的编码规则所选择的代码字可以根据所述编码规则从至少两个不同的代码字集中选择。
5.根据权利要求1的方法,其特征在于,通过多个代码数据字形成所述游程数字和,并且检验,所述游程数字和是否超过可预先给定的最大量值,其中随后识别错误。
6.根据权利要求1的方法,其特征在于,在识别出错误的情况下生成第一用户的错误信号,其中所述第一用户已识别出该错误并且将所述错误信号至少传输至第二用户。
7.根据权利要求1的方法,其特征在于,在识别出错误的情况下,将有错误的数据丢弃并且传输该数据的用户得到重新发送该数据的请求信号。
8.根据权利要求1的方法,其特征在于,除了所述编码数据之外,在第一用户和至少第二用户之间还传输至少一个非代码数据字,所述非代码数据字没有根据所述可预先给定的编码规则被编码,并且还通过所述非代码数据字来形成所述游程数字和。
9.根据权利要求1的方法,其特征在于,通过以下方式进行错误的纠正,即根据所述游程数字和重新确定随后的游程数字和,并且据此替换有错误的数据。
10.根据权利要求1的方法,其特征在于,根据错误的数目进行用于错误处理的策略预先规定。
11.根据权利要求1的方法,其特征在于,策略规定,在可预先给定的前提下不进行错误纠正。
12.根据权利要求1的方法,其特征在于,通过以下方式进行错误的纠正,即有错误的数据字用确定的所规定的数据字来替换。
13.用于在通过通信系统传输至少一个数据字形式的编码数据时进行错误处理的装置,其中针对所述至少一个数据字,根据可预先给定的编码规则来选择代码数据字,其中所述数据被表示为多个能够取两个不同的值、即1和0的位,其特征在于,这样形成至少一个游程数字和,使得至少通过该代码数据字形成1的总数和0的总数的累计差并且传输该游程数字和,其中确定随后的代码数据字的游程数字和并且与随后传输的游程数字和相比较,其中在有偏差的情况下识别出错误。
14.具有用于在通过通信系统传输至少一个数据字形式的编码数据时进行错误处理的装置的用户,其中针对所述至少一个数据字,根据可预先给定的编码规则来选择代码数据字,其中所述数据被表示为多个能够取两个不同的值、即1和0的位,其特征在于,这样形成至少一个游程数字和,使得至少通过该代码数据字形成1的总数和0的总数的累计差并且传输该游程数字和,其中确定随后的代码数据字的游程数字和并且与随后传输的游程数字和相比较,其中在有偏差的情况下识别出错误。
15.具有被存储在数据载体上的程序代码的计算机程序产品,用于当程序在计算机支持的通信系统中被执行时实施根据权利要求1至10之一的方法。
16.具有程序代码的计算机程序,用于当所述程序在计算机支持的通信系统中被执行时实施根据权利要求1至10之一的所有步骤。
全文摘要
用于在通过通信系统(900,901,902)传输至少一个数据字形式的编码数据时进行错误处理的方法和装置,其中针对至少一个数据字,根据可预先给定的编码规则来选择代码数据字,其中所述数据被表示为多个能够取两个不同的值、即1和0的位,其中这样形成至少一个游程数字和,使得形成至少关于该代码数据字的1的总数和0的总数的累计差(907)并且传输该游程数字和(901),其中确定随后的代码数据字的游程数字和并且与随后传输的游程数字和相比较,其中在有偏差的情况下识别出错误。
文档编号H03M13/05GK1943154SQ200580012103
公开日2007年4月4日 申请日期2005年4月7日 优先权日2004年4月8日
发明者E·贝尔, M·贝尔 申请人:罗伯特·博世有限公司