铁路通信系统中的信号差错检测 本发明要求于2001年10月17日提交的、申请号为60/329,984的临时专利申请的优先权。
【技术领域】
本发明一般涉及铁路通信系统,具体涉及一种与铁路通信系统结合操作的差错检测子系统。
背景技术
用于火车的具有引导单元和一个或多个远程控制单元或者多组远程控制单元的(声音或数据信号的)无线通信系统是公知的。机车分布在火车组成内的这一结构被称为分布式动力操作,并因此所述通信系统被称为分布式动力通信系统。通常,由来自引导单元的、经由通信系统传送的命令来控制一个或多个远程单元或多组远程单元。无线通信信道还传送由远程单元对引导单元命令的响应。另外,远程单元中某些重要的警报状态以及操作参数数据引起引导单元中的火车司机的注意,以确保精确和安全的火车操作。
由于在使火车运行的引导和远程单元之间传递的许多消息涉及正确的牵引和制动命令,因此即使在影响通信链路地可靠性的多种变换操作和环境条件的情况下,它们也必须被可靠和精确的接收。另外,对于在火车和诸如调度中心、机车监控和诊断中心、在车场(rail yard)或装载/卸载设施中的人员和道旁设备的各种地面地点之间通信的信号也需要精确性和可靠性。
图1示意性地图解了火车18和用于在一个或多个远程单元12和13以及引导单元14之间传送控制和监控信号的分布式动力通信系统10(图1)。在未示出的另一个实施例中,引导单元14执行的功能由在其中通过调度员(直接或经过引导单元)向火车组成中的所有机车发出命令的控制塔来代替。场外(off-board)中继器26可以被放置在火车18的无线电通信距离之内,用来当诸如火车18正穿过隧道时在引导单元14和远程单元之间直接通信受到阻碍时,中继在引导单元14和远程单元12和13之间传送的通信信号。引导单元14、远程单元12和13、场外中继器26和控制塔(未示出)装备有收发信机28(和天线29),用来接收和发送通信信号。引导单元收发信机28与引导控制器30相联系,引导控制器30发出命令以便控制远程单元12和13以及对来自远程单元12和13的输入信号进行响应。远程单元12和13的每一个以及场外中继器26包括对来自引导单元14的收发信机28的信号作出响应的远程控制器32,用于响应引导单元命令。控制器32还可以对至引导单元14的消息传输进行初始化,以通知状态信息和警报条件。
在现有铁路通信系统的一个实施例中,通信链路是单个具有3KHz带宽的半双工通信信道。每个消息传输包括一个串行位流代码字,还包括从几何差错检测方案得到的信息位和差错检测位,根据已知的频移键控调制技术调制载波信号。在被公共拥有的、名称都是“铁路通信系统”的美国专利第5,039,038号和4,582.580号中详细描述了经由通信系统10传送的各种消息类型、内容和格式,所述美国专利通过引用结合于此。系统元件和消息格式试图用来提供用于信息信号的安全传输链路,其具有接受传输期间被破坏的消息的较低概率。该系统还试图使受到来自同一无线电信道上的和在无线电传输距离之内的其他引导和远程单元的干扰的概率较低。
火车18还包括多个车厢20,它们将引导单元14与远程单元12和13相分离。车厢20通过制动管22相连接,该制动管响应制动管压力下降而发出施加制动信号,和响应压力增加而发出解除制动的信号。通过在引导单元14以及远程单元12和13中的任何一个或全部中的气闸控制器24来控制制动管中的压力。
每个消息包括信息字节或字以及差错检测位。如本技术领域中所公知的,包含差错检测位允许以增加消息开销为代价使接收机检测经由噪声信道传输期间可能产生的位差错。在通信系统10的现有技术实施例中,以几何格式将差错检测位构造为水平和垂直奇偶校验位。对每个信息字节进行奇数或偶数奇偶校验的检验,并且按照需要添加额外的位以满足奇数或偶数奇偶校验条件。这一额外的位被称为水平奇偶校验位。每个消息还包括一个垂直奇偶校验字节,其被生成用来为消息中的每个列创建可选择的奇数或偶数奇偶校验,其中所述列是通过并置在叠加的行中的字或字节并且确定每个列中的位奇偶性而形成的。一旦确定了每个列的奇偶性,则形成垂直奇偶校验字节以提供该列的奇数或偶数奇偶校验。
图2中示出了一个示例,其中列出了信息字A至D的各自的位。这些位仅仅是示例性的,并不是试图代表经由通信网络10传送的完整的消息。每个字有八个信息位,标示为0至7。标示为“HP”的列是水平奇偶校验位。在该示例中,选择奇数奇偶校验并且因此选择HP列中的值,以确保每一行中出现奇数个1,或者每个字节具有奇数奇偶校验。通过“VP”行中的字建立垂直奇偶校验,并且在该示例中,选择VP行中的字为确保每一列中出现偶数个1。
在通信系统10的接收单元使用水平和垂直奇偶校验位,以确定当消息通过信道时是否出现了差错。当引导单元14或远程单元12或13接收到消息时,相关联的收发信机28将接收到的信号解调为基带二进制串行数据流并将该数据流分离为单独的字节。可应用控制器30或32在解调的字节被分离时确定它们的水平奇偶性。为了确定垂直奇偶性,将字节排列为诸如图2中所示的块形式。(注意图2的代码块形式仅仅是示意性的。当能够通过缓冲单独的位以致可以分析缓冲过的位就好像它们在一个列中一样来确定垂直奇偶性时,不必构造块。)如果接收到的字具有正确的垂直和水平奇偶性,则执行由基带信息段代表的命令或消息。如果奇偶性不正确,则接收单元拒绝该消息并且不发送响应。如果启动引导单元(或塔)没有从作为消息的目标的每个单元接收到有效的响应,则重发消息。在接收单元,通过差错检测步骤再次解调和处理重发的消息。
在大多数通信区间中,火车是运动的。因此当火车经过铁轨时人造或自然建筑物或构造物干扰发送和接收单元之间的通信路径时,这些通信链路可能会损失或退化。同样,当在发送和接收单元之间失去了瞄准线时,通信信号会被中断。这样的链路中断会在接收信息中产生差错。已经注意到,在如上所述的现有技术的分布式动力通信系统的操作期间,不能检测出接收到的消息中的某些四位差错。还存在一个统计上很大的概率,即不检测具有超过四个出错的位的差错。如果在接收单元没有检测出差错,则会出现火车操作性问题。例如,如果引导单元14将制动命令发送至远程单元,并且该命令在传输期间被破坏,但是所述破坏以一种不可检测的差错模式造成差错,则该命令被解释为有效命令,然而不在远程单元12和13进行制动。
图3中图解了用现有技术的几何奇偶校验方案可能出现的未检出的差错的示例。一类不可检测的差错在偶数个行中产生偶数个差错,其中在每一行的相同列中产生差错。为了简单起见,图3仅图解了五行的信息字,每个字包括八位,加上一个水平奇偶校验位(HP)和一个垂直奇偶校验位(VP)。选择奇数奇偶校验。删去出错的位并且在删去标记之上写上出错位的值。当由于噪声和其他信道影响而将所发送的0比特作为1比特接收时(或者反之亦然),产生差错。如在出现所指出的差错之后通过检验每一行和列的奇偶性所能够看到的,水平和垂直奇偶校验位仍指示五个正确的信息字,尽管有四个出错位。由于远程单元12和13将不能接收正确的命令或从引导单元14发送的数据,但却无法确定出现了差错,这样的未检测到的差错会产生严重的操作问题。
实现附加差错检测能力以减少位差错概率受到目前利用上述的现有技术的几何奇偶校验方案的大量操作机车(引导单元14及远程单元12和13)以及在一个车队中的所有机车必须是能够共同操作的这一要求的束缚。装配具有多个机车以便具有足够的动力来满足火车的任务需要的火车的过程是一个复杂的过程,其将会由机车通信系统的互操作性的附加问题而变得更加困难。由于用传统的几何奇偶校验方案操作的机车随后将不能与使用较新的差错检测方案的机车共同操作,从而不可能通过简单地升级仅仅是分离的、单独的机车的通信系统10以包括已知的功能更加强大的差错检测方法中的一种来减少位差错率。在短时间段内升级遍及整个北美铁路网络的所有机车是有问题的。考虑到所涉及的大量的机车、它们的地理分布以及各种铁路公司所有者,这样的转换将是费时、繁重和昂贵的任务。
从而,遗留的问题是提供一种差错检测方案,其能够将位差错率减少为低于用现有的几何奇偶校验方法所提供的位差错率,同时提供与使用现有的几何奇偶校验方案的通信系统的互操作性。
【发明内容】
为了改善分布式动力通信系统的差错检测能力,本发明讲授了附加差错检测位的使用,其形成将被传送的信息的一部分并且可以与现有的几何奇偶校验位方案结合操作。这使得将通过具有有着更高准确性和可靠性的附加差错检测能力的接收机来解码发送的字。同时,未被配备为处理附加差错检测位的接收单元忽略附加差错检测位。在优选实施例中,使用循环冗余码多项式来提供附加的差错检测位。
【附图说明】
从附图中举例说明的本发明的下面更加具体的描述中,本发明的上述和其他特征将变得更加清楚,在附图中,贯穿不同附图的,相同的参考符号表示相同的部件。附图不必是按照比例的,而是重点在于图解本发明的原理。
图1是可以对其应用本发明的铁路火车的方框图;
图2是图解块形式的数据位的表;
图3是图解根据现有技术方案未检测到的差错的数据块;
图4是图解根据本发明的差错检测位的数据块;
图5和6是根据本发明的编码器和解码器的方框图;和
图7和8是根据本发明的编码和解码过程的流程图。
【具体实施方式】
在具体描述根据本发明的详细铁路通信系统之前,应当注意到本发明主要属于涉及数据差错检测的方法步骤和硬件元件的新结合。因此,在附图中用传统的元件来表示硬件元件和方法步骤,仅示出属于本发明的那些特定的细节,从而不会因从此处的描述获得益处的本领域技术人员将容易地明白的结构细节而使本发明公开内容含混不清。
为了改善与铁路火车的分布式操作相关联的通信系统10的差错检测能力,用循环冗余校验(CRC)码或缩短的循环码来增加上述几何码。
未检测出的差错性能的实质改善主要是由于开发CRC和几何差错检测位的不同和独立的方案。最优化这两种方案以检测不同模式的数据差错。当以块排列时基于消息的奇偶性来构造几何位,因而如上面在图3中所图解的差错未被检测到。从将移位的信息位除以诸如下面阐述的多个代码生成多项式之一的代码生成多项式产生的余项来形成CRC位。从而CRC位检测在图3中图解的未检测出的差错。在一个实施例中,几何差错检测位和CRC位的结合将差错检测能力改善为优于单独使用几何奇偶校验大约六个数量级。
此外,由CRC码生成的附加差错检测位包含在消息的信息段内,所述附加差错检测位具有“环绕”信息位和CRC位的垂直和水平奇偶校验位。图4图示了示例性消息40,包括信息位41和CRC位42。基于信息位41和CRC位42的行的奇偶校验形成水平奇偶校验位43。对于这一示例选择奇数奇偶校验。基于信息位41、CRC位42以及水平奇偶校验位43的列形成垂直奇偶校验位45(奇数奇偶校验)。
这样配备了CRC的机车利用几何奇偶校验位和CRC位来检测消息差错。未配备CRC的机车能够仅使用几何奇偶校验位,将CRC位忽略为不需要处理的简单的无关“信息”位。尽管未配备CRC的机车不能利用消息中的附加差错检测能力,但是他们能够基于几何奇偶校验来检测差错,从而能够与配备了CRC的机车(以及其他未配备CRC的机车)共同操作。
已知循环码是基于生成多项式的,并且多项式的次数与在位流中包括的用于提供差错检验功能的检验位的数目相等。适合于分布式动力通信系统10使用的生成多项式的一个示例为:
g(X)=1+X2+X15+X16
这样,这一生成多项式产生16个检验位以检测信息位流中的差错。当根据上面的生成多项式生成的循环码被附加于上述的几何校验码时,在未检测到的差错率性能上有显著的改善。在另一个实施例中,将具有下面的形式的代码生成多项式用作生成多项式:
g(X)=1+X5+X12+X16
根据分布式动力通信系统10的一个实施例,经由链路传输的消息包括一个20-32字节的信息字段加上一个1字节的垂直奇偶校验字。从而总的代码字为21至33字节长。假设,例如用本发明的两个循环冗余检验(CRC)码字节来增大21字节的代码字,则传送的代码字包括18个信息字节(144位)、每个信息字节1个水平奇偶校验位(18位)、2字节(16位)的循环冗余检验位、和9个垂直奇偶校验位。两个CRC字节检验所有的信息字节和与每个信息字节相关的水平奇偶校验位。垂直奇偶校验字节检验CRC字节和水平奇偶校验字节。总的消息长度为具有45个奇偶校验位的189位。有29个几何奇偶校验位(9个垂直和18个水平)加上16个CRC检验位。
在通信系统10包括一个有CRC能力的机车和一个没有CRC能力的机车的情况下,有CRC能力的机车使用49个差错检测位,即CRC位、水平奇偶校验位和垂直奇偶校验位来执行差错检测。未配备CRC的机车仅使用垂直和水平奇偶校验位(29位)并忽略CRC位。
在各个实施例中,形成两个CRC检验字节、水平奇偶校验位和垂直奇偶校验位的顺序是可以互换的。从而,根据一个实施例,首先形成CRC检验字节,随后是水平奇偶校验位,然后是垂直奇偶校验位。在另一个实施例中,首先形成CRC检验字节,随后是垂直奇偶校验位,然后是水平奇偶校验位。在这样的两个实施例中,相对于随后形成的垂直和水平奇偶校验位(以任意一种顺序),CRC检验字被作为信息的一部分。因此这一技术不同于传统的差错检测方案,在所述传统差错检测方案中,将差错控制码字或位添加到信息位中,并在接收地点将其作为单独处理的单独的实体。
需要花费一定的时间来完成在所有现今的机车上操作的分布式动力通信系统中实现CRC差错检验能力。由于在一个时期内,非CRC和CRC分布式动力通信系统两者都将运转,因此如上所述,开发能与CRC和非CRC两者共同操作的差错检测系统是可取的。随着这些遗留的系统被升级或替换,可以并入CRC差错检测能力。为了允许这一互操作性,消息格式包括一个用于表示机车是否具有CRC能力的位。
当启动通信会话时,引导单元14通过在消息中设定CRC指定位和在消息中包括CRC码字来表明CRC能力。如果CRC处理在接收单元,即远程单元12和13中的任一个中是可用的,则CRC码字被用来检测接收的消息中的差错。同样,在应答消息中设定指定位并且应答消息中包括如上所述生成的CRC码字,即应答是具有CRC能力的。
如果接收单元是不具有CRC能力的,则来自引导单元14的消息中的CRC指定位不起作用并且被忽略,当接收单元解码接收到的消息时忽略CRC码字节,并且接收单元用非CRC应答进行应答,即,在应答消息中不设定CRC指定位并且在应答消息中不出现CRC码字节。在应答消息中缺少设定位向引导单元14表明接收单元是不具有CRC能力的,因此不对将来至该接收单元的消息进行CRC编码。有利的是,相对于随后形成的垂直和水平奇偶校验位将CRC位作为信息的一部分的本发明的差错检测方案允许接收单元简单地忽略CRC码字,而继续对于差错检测使用水平和垂直奇偶校验位。
这一方案允许不具有CRC能力的机车从具有CRC能力的机车接收消息,并保持使用水平和垂直奇偶校验位对接收到的消息进行差错检测的能力。从而,对于由水平和垂直奇偶校验位提供的差错检测,不具有CRC能力和具有CRC能力的机车是可以互操作的。两个具有CRC能力的机车可以用由水平和垂直奇偶校验位提供的差错检测以及由CRC位提供的差错检测进行通信。向消息中添加CRC位是与缺少CRC码位的消息向后兼容的。
如果引导单元14是不具有CRC能力的,则不在消息中设定CRC指定位,并且在响应时远程单元12和/或13用非CRC应答消息进行应答。即使远程单元12和/或13是有CRC能力的,在与非CRC的引导单元14进行通信时也抑制CRC操作。
图5以方框图的形式示出了用于生成消息位流的编码器50。通常,编码器50是引导单元14或远程单元12和13的控制单元30或32中的一个元件。编码器50包括一个用于执行与信息位、CRC位和几何奇偶校验位相关的所有功能的处理器件,或每一个执行所列出的功能中的一个的多个处理器件。此外,处理器件可以包括被编程为执行示例的功能以及执行控制单元30或32中的其他功能的通用处理器件。可选的,专用处理器可用来提供所描述的功能。
关于图5,通过处理器的功能属性来指示它们。当从引导单元14或远程单元12和13的其他组件(未示出)中接收到信息字节时,在缓冲器52中对他们进行组合,并输入到CRC码分析器54用来生成CRC码位。垂直奇偶校验位生成器56接收信息位和CRC位,用来生成如上所述的垂直奇偶校验位(奇数或偶数)。作为结果的位被输入到水平奇偶校验位生成器58,用来构造水平奇偶校验位(奇数或偶数)。输出代码字被输入到收发信机28,用于调制传送到接收单元,即,远程单元12和13中的一个或两者或者引导单元14的载波。
尽管水平奇偶校验位生成器58被图示为解码器50的分离的组件,但是在一个实施例中,通过收发信机28中的硬件来执行这一功能,例如通过收发信机28中将消息的多个并行字位流转换成单个串行位流以进行载波调制的通用异步接收机/发送机(UART)来执行这一功能。在所述转换处理期间,UART添加水平奇偶校验位。
在另一个实施例中,水平和垂直码字的添加被反转。即,形成信息字节和CRC字节并为这些字节中的每一个形成一个水平奇偶校验位(奇数或偶数)。信息和CRC字节以及用于它们中的每一个的各个水平奇偶校验位随后被数字形式地排列到代码块中,如矩阵中所示例的,然后确定每个矩阵列的垂直奇偶校验,在此之后,按照通过选择了奇数还是偶数奇偶校验位所确定的来添加垂直奇偶校验位。
在此处示出的各个实施例的任一个中,水平和垂直奇偶校验可以是相同的或不同的。即两者可以都是奇数或偶数奇偶校验。可选的,可以为具有奇数垂直奇偶校验的水平奇偶校验选择偶数奇偶校验,或反之亦然。
在接收地点,在图6的方框图中所描述的解码器60中发生差错检验。在收发信机28中接收和解调消息。所接收到的字节被输入到在其中确定每个字节的水平奇偶校验的水平奇偶校验分析器62中。预先知道字节的正确奇偶性验(奇数或偶数)。从而水平奇偶校验分析器62确定每个接收到的字节的水平奇偶性是否正确。
尽管水平奇偶校验分析器62被图示为解码器60的分离的组件,在一个实施例中,在将接收到的串行位流转换为单独字节的并行位流的处理中,在收发信机28的UART中执行水平奇偶性分析处理。
如果字节的水平奇偶性是正确的,则将消息存储在缓冲器64中。通过垂直奇偶校验分析器66来存取单独的字,以确定每个列的奇偶性,并将结果与已知的正确的垂直奇偶性进行比较。如果垂直奇偶性是正确的,则通过CRC码生成器68来存取存储在缓冲器64中的字节,并响应于接收到的消息来生成CRC位。如果生成的CRC位与接收到的CRC位相匹配,则接收到的消息具有非常高的概率是无差错的。所述消息随后被输入到控制单元30或32中,适当地用于与消息内容相一致的进一步的处理。
关于在上面描述的、其中反转了添加水平和垂直奇偶校验位的顺序(即,首先是水平奇偶校验位,随后是垂直奇偶校验位)的可选实施例,在接收单元中的奇偶检验的顺序应当相应地被反转。
作为利用生成多项式来再生CRC检验位和将所得CRC检验位与接收的CRC检验位进行比较的可选对象,已知确定接收到的检验位的校正子,其中非零校正子表示在接收到的消息中的一个或多个差错。
如上所述,在某些操作情况中,引导单元14可能不能直接与远程单元12和13中的一个或多个进行通信,或反之亦然。在这一情况中,中继站26用来在传输和发送单元之间接收和中继消息。根据通信系统10的一个实施例,中继器站26在接收到的代码字中设定预定的位,以将该消息设定为中继的消息,然后传送该消息。这样,在中继器接收到的消息与从中继器传送的消息是不同的。结果,中继器站26重新计算垂直奇偶校验字并发送具有设定的中继位和重新计算的垂直奇偶校验字的消息。在接收单元(引导单元14或远程单元12和13),首先检验接收到的垂直奇偶校验字。如果正确,则接收单元随后在通过CRC码生成器68处理之前复位中继位。这一技术确保中继器站26的使用不会阻碍CRC位的功能。
在某些其他操作情况中,消息被远程单元12或13所中继,并且在消息中设定不同的位。接收单元以相同的方式处理这些中继信息,就好像所述消息是如上所述通过中继器站26中继的一样。
由于某些奇偶校验生成和检验方案可以“在运转中(on the fly)”执行,即,数据位正在进行处理,而不需要存储这些位,因此并不是本发明的所有实施例都需要使用缓冲器52和64。
图7是在发送单元执行的差错检测码生成过程的流程图,所述发送单元即引导单元14、远程单元12和13中的一个或多个、或者中继器单元。在通过适当的控制器30或32生成了消息的信息位之后,在步骤80,生成CRC检验位。在步骤82,基于信息位和CRC检验位两者来生成垂直奇偶校验位。在步骤84,为包括信息字节、CRC检验字节和垂直奇偶校验字节的每个字节生成一个水平奇偶校验位。如通过步骤86所表示的,从单独的字节形成位流,并对载波信号进行调制,以在通信信道10上传输。如上所述,可以根据本发明的另一个实施例来反转在其中检验水平和垂直奇偶检验和分配正确的奇偶检验位的顺序。
图8是在接收单元执行的差错检测码分析过程的流程图。在步骤90,对消息进行解调,并从所解调的信号形成二进制位流。在判定步骤92,与位流被分隔为单独的字节的同时或在此之后,分析水平奇偶校验。如果一个或多个字节的水平奇偶校验不正确,则如步骤94所表示的拒绝该传输。如果水平奇偶校验正确,则处理继续至在其中检验垂直奇偶检验位的判定步骤96。如果垂直奇偶检验不正确,则处理继续至步骤94。如果垂直奇偶校验正确,则在判定步骤98生成CRC检验位,并与接收到的CRC检验字进行比较。如果判定步骤98产生肯定的答案,则认为接收到的消息是正确的,并将其提供至控制器30或32以用于执行。如上所述,在另一个实施例中,可以转变水平和垂直奇偶性检验的顺序。
尽管已经结合分布式动力火车的引导机车和一个或多个远程机车之间的通信信道描述了本发明,但是这里公开的本发明技术方案可以被应用至其他通信信道。特别的,在另一个铁路应用中,本发明的差错编码技术可以应用于机车与路旁设备、机车监视和诊断中心、以及由在车场中或周边工作的人员操作的设备之间的通信。