应答器数据报文解码算法研究

2015-07-18 11:22:36萍1童永全
关键词:应答器解码报文

王 萍1,童永全

(1. 西华大学电气与电子信息学院, 四川 成都610039;2.金亚科技股份有限公司,四川 成都 610091)

·机电工程·

应答器数据报文解码算法研究

王 萍1,童永全2

(1. 西华大学电气与电子信息学院, 四川 成都610039;2.金亚科技股份有限公司,四川 成都 610091)

根据欧洲铁路信号标准组织制定的应答器报文FFFIS编码策略,设计实现传输报文的解码,并针对传输过程中的随机噪声,提出一种序列中值滤波算法,在传统解码算法前先进行滤波处理,去除噪声影响。该解码算法已在手持式应答器报文检测仪上得到实际应用,与常规算法相比,在有噪声影响环境中能有效提高报文解码成功率。

应答器报文;解码;中值滤波

近年来,高铁技术在我国得到快速发展。为满足日益增长的运输需求,保证铁路运行安全,我国参照欧洲列车控制系统(ETCS),制定了中国列车控制系统(CTCS)的技术标准。根据《CTCS技术规范总则》,应答器作为中国列车控制系统的关键设备,用于向运行列车传递限速信息、线路状况、进出站信息、定位信息、轨道区段等重要列控安全信息,在整个CTCS系统中起到至关重要的作用[1-2]。

这些信息以报文信息形式经过调制,通过应答器对外发送,报文编码采用欧洲铁路信号标准组织制定的FFFIS编码策略。该编码策略定义了报文的格式和编码步骤[3]。本文基于该编码策略,分析实现了应答器报文解码的算法,同时针对报文发送和接收过程中可能产生的随机噪声,将一种序列中值滤波算法引入到报文解码步骤中。

1 应答器系统

应答器信息传输系统是一种开放式无线传输系统[4]。系统中的应答器是一种地面向列车进行信息传输的点式设备,为列车提供各种控制信息,确保列车运行状态下的安全[5-6]。

地面应答器安装于轨道中间,其工作原理是:当列车经过地面应答器上方时,应答器接收到列车车载设备接收天线发送的电磁能量后,将能量转换为工作电源,启动电子电路工作,把预先存储或LEU传送的信息作为应答器传输报文循环发送出去,直至电能消失[7]。报文数据有1 023 bits的长报文和341 bits的短报文,应答器数据传输速率为564.48 kbit/s,完成长报文数据传输约需要1.77 ms,应答器设备的有效通信距离可达0.5 m至2 m。以时速350 km/h的高铁计算,在完成一段完整长报文数据传输过程中,列车通过的距离是0.172 m,在单台设备的有效通信距离内,所以应答器设备适用于中国铁路各种运营线路。

2 应答器传输报文结构

应答器用户报文根据应答器用户数据表[8]编制,用户数据表包含各种铁路线路信息,按照规定的应答器信息包格式编制。

应答器传输报文是对应答器用户报文进行加扰编码,并加上相应的控制位、扰乱位、控制修正位、校验位等数据组合而成。具体结构如表1所示。

表1 应答器传输报文结构

报文开始部分的加扰用户报文,是由应答器用户报文经加扰编码和数据变换(10-to-11转换)后得到的。控制比特由3位比特构成,其中第1位是反转比特,另外2个比特目前不起作用。加扰比特存储的是加扰器对用户数据进行加扰时的初始状态,在扰乱用户信息位过程中使用。整形比特被用于对校验比特进行整形。校验比特用于错误检测和寻找同步。

3 应答器报文解码

车载设备或者手持式应答器报文检测设备获取到的应答器传输信息是经过编码的用户报文,要得到原始用户报文必须进行解码。

应答器报文的解码过程是报文编码的逆过程,常规的解码方法是按照FFFIS的编码策略,进行解码算法设计[9];然而由前面介绍可知,应答器的报文传输是一种开放式的无线传输,应答器布置于铁道中间,铁道上的电气设备众多,电磁环境复杂,信号的发射和接收需要经过调制和解调的过程,极易受到外界电磁干扰的影响,产生随机噪声,使应答器报文信息在传输过程中发生随机位错误,从而影响报文的正确解码。为解决随机噪声的影响,可以改进发送或接收端硬件电路,增强抗干扰能力,尽可能消除噪声干扰[10];但是此方式会增大硬件投入成本,而且若随机错误来自于信号发射端,则改进接收端的接收能力也是无效的。

4 应答器传输报文解码算法实现

针对上述实际解码应用中的问题,本文基于FFFIS编码算法原理,设计了解码算法的具体步骤,同时在解码过程中采用了序列中值滤波算法消除随机噪声的影响。该算法在一种手持式应答器报文检测仪上得到了实际应用。

4.1序列中值滤波处理

应答器的上行链路信号是由用户信息通过编码生成应答器报文,再以2FSK方式调制而成。当列车通过地面应答器时,应答器被激活,向车载天线发送上行链路信号,车载天线将接收到的上行链路信号传给接收模块,进行解调、解码,恢复成原始用户报文[11]。整个过程中,FFFIS编码策略可以使发生的各种错误被有效检测出来,避免错误数据被列车接收,但是这仅仅解决了错误的检测。在信号调制、天线接收、解调过程中,由于电路和外界环境的干扰,信号很容易夹杂随机噪声,如果解码过程中发现了报文数据错误,会将报文数据丢弃并进行下次接收,直到能接收到被检测通过的数据报文。此策略无疑会降低数据的接收效率,最坏的一种可能性是,所有循环发送的报文中都有随机错误,这样就永远无法接收到正确报文。为此,本文针对随机信号噪声,提出了一种序列中值滤波算法,以有效地滤除随机噪声,提高数据接收效率。

中值滤波是一种非线性滤波,序列中值滤波算法的目的是在接收报文数据的同时去除随机噪声[12]。

(1)

再将这1 023个中心值按照顺序排列,重新组合成一段包含1 023 bits的新比特序列{F1i,F2,…,F1023},该序列即为滤波后的应答器数据传输报文。

4.2报文解码算法

4.2.1 报文解码流程

报文解码的具体流程如下。

1)取一个长度为L(L=(n+r)×m)的窗,接收连续比特流(长报文r=77,短报文r=121);

2)采用前述序列中值滤波算法进行处理,得到n+r比特窗口数据;

3)判断crc校验是否满足,如果不满足,重新接收,回到步骤1);

4)r位额外比特(窗口最右边r位)是否和开始的r位(窗口最左边)一致,如果不一致,回到步骤1);

5)利用同步算法找到报文的开始位置(bn-1),如果Rf(x)[v(x)]是不可能的值,返回步骤1);

6)对报文进行字母表条件检测,如果存在非法字,返回步骤1);

7)反转比特b109是否等于1,如果是,反转报文的所有比特;

8)检查控制比特的另外2个比特:b108和b107,如果它们不是分别等于0和1,接收机应当返回“未知报文格式” ;

9)进行反10-to-11-bit转换;

10)解扰;

11)输出用户数据比特。

4.2.2 报文校验

接收到的数据报文必须进行crc校验,检测得出一段符合要求的无错数据,才能对其进行下一步的操作。crc校验的具体操作就是将接收到的数据取一段报文长度(如果对报文形式未知可以选取长度为1 023)数据,将其看成多项式形式,除以校验多项式g(x),如果所得余式为0,即能被整除,则说明得到的数据是无错数据,可以用于后续解码,否则返回开始步骤重新读取数据,直到找到一段这样的无错数据。

4.2.3 同步算法

应答器发送端采用的是不断循环发送报文信号的方式。在接收端方面,接收到的窗口数据起始位置是随机的,和实际发送的起始位置往往并不一致,因此找出接收到的报文的起始位(即同步)是非常重要的一步。根据传输报文生成的特点,欧标定义了同步多项式f(x)。对于长报文,f(x)=fL(x);对于短报文,f(x)=fS(x)。

fL(x)和fS(x)分别为:

fL(x)=x10+x9+x7+x6+x4+x3+x2+x+1;

(2)

fs(x)=x10+x8+x7+x5+x3+x+1。

(3)

图1 同步算法描述示意图

图1中:S是从报文起始位置偏移的位数;bn是发送的序列;Vn是接收序列。二者的关系用多项式可表示为

v(x)=Rxn-1[xs·b(x)]。

(4)

式中:R表示求余运算,n对于长报文和短报文分别是1 023和341;S表示接收序列的第1个比特相对与报文的头已经滑动了S个比特,要使报文同步,必须求出S(0≤S≤n)的值。校正子sf(x)可表示为:

sf(x)=Rf(x)[v(x)];

(5)

sf(x)=Rf(x)[xs·o(x)]。

(6)

其中对于长报文和短报文,f(x)分别为fl(x)和fs(x),o(x)=g(x)。也就是sf(x)=Rf(x)[xs·o(x)]=Rf(x)[v(x)],一旦Rf(x)[v(x)]确定,S的值就唯一确定,并且认为报文是同步的,可以得出

Rf(x)[v(x)+xn-1+xn-2+…+x2+x1+1]=

Rf(x)[v(x)]。

(7)

从式(7)可知,当报文中的所有比特都取反后,该同步算法仍然适用。

针对不同的S值,Rf(x)[xs·o(x)]也不相同,也就是S值与Rf(x)[xs·o(x)]值是一一对应。可以在使用之前事先取得一段标准的传输长报文或者短报文,分别计算不同的S值对应的Rf(x)[xs·o(x)]值存入数据表,此后对于收到的长报文和短报文,计算Rf(x)[v(x)]的值,通过查表找出S的值。该值对于数据表位置的偏移量,就是滑动的s个比特,因此通过此种方式,就可以恢复传输报文的起始位置。

4.2.4 检查控制比特

计算出偏移量,并恢复出同步数据后,接收端必须检查控制比特。如果反转比特b109等于1,所有接收到的比特都要被反转。另外,控制比特的另外2个比特(b108和b107),也要被检查。如果它们不是分别等于0和1,接收机应当返回“未知报文格式”。

4.2.5 反10-to-11-bits转换

进行同步后的数据并不是最初的用户数据的形式,而是为了使报文在传送过程中具备良好的抗干扰能力而进行10-to-11-bits转换后的数据;因此,要得到原来的数据,就需要采取逆转换处理。

反10-to-11-bits转换与编码过程中的10-to-11-bits转换基本上是相反的,将接收到的数据长报文的前913 bits或者短报文的前231 bits按照每组11 bits分组,分成83或者21组,然后将每组的11位比特数据看成是最高位在左的十进制数字。找到转换表(转换成十进制)中对应的码字,读取出这个码字的坐标,将坐标值转换成最高位在左的10位的比特流,这样就完成一个分组的反转换。同理,其他的分组也采用同样的方法,实现全部的转换。

4.2.6 解扰

根据应答器报文数据的编码算法,编码时分2种情况:当加扰后的输出值是1,那么数据加扰寄存器的原始值需要进行左移1位的移位运算,运算值再与编码算法中定义的特征多项式h(x)异或;当加扰后的输出值是0,则加扰寄存器的原始值左移1位,左移后最低位填充为0。解扰采用同样的扰码电路对数据进行处理,二者的算法是一样的,所以解码时也分为2种情况。对于扰码电路,加扰后的数据即为输入数据。当输入数据是1,则寄存器的原始值需要进行左移1位的移位运算,移位后的值再与h(x)异或,得到的值去掉最左位,将输入数据存放于寄存器的首位;当输入数据是0,则寄存器的原始值左移1位,左移后最低位填充为0。其具体步骤如下。

1)将12 bits的加扰比特b106…b95看成一个整数,最高位在左,B=b106·211+…+b96·2+b95,

通过下面公式计算整数S的值:

S=(2 801 775 573×B)mod2∧32。

(8)

2)上步得到的S的二进制即为寄存器的初始值。将经过反10-to-11-bits转换后的数据sm-1,…,s0(长报文m=830,短报文m=210),作为需要处理的数据。按照上述与寄存器做异或操作后,可得到解扰的输出数据为um-1,…,u0(长报文m=830,短报文m=210)。

3)还原数据的第1个10 bits分组。根据FFFIS编码策略,这个分组是由所有分组按十进制取和,然后再对1 024取模而得到的;所以在解扰过程中,首先要将上一步得到的数据按照从高位到低位10 bits一组进行分组,取出除第1个分组之外的所有分组,转换成十进制数后取和,对这个和进行1 024取模。将判断结果与输入数据第1个分组比较,最后得到原始的第1个分组十进制数,进而得到原始报文数据。具体的计算过程如下。

设Z为加扰后的第1个分组,X为原始第1个分组,Y为后面所有分组的和,那么有

Z=mod(X+Y,1 024)。

(9)

X为10 bits数据,转换成十进制数后其值小于1 024,则Z=mod{[mod(X,1 024)+mod(Y,1 024)],1024}=mod{[X+mod(Y,1 024)],1 024}。

若[X+mod(Y,1 024)]<1 024,Z=X+mod(Y,1 024),则mod(Y,1 024)

所以X=Z-mod(Y,1 024)。

若[X+mod(Y,1 024)]>1 024 ,Z+1 024=X+mod(Y,1 024)则X=1 024+Z-mod(Y,1 024)。

这样便可以得出X为原始第1个分组的10 bits分组数据,将其和后面的分组数据组合成比特流,就可以得到原始应答器传输报文数据。

5 实验结果

本文的解码算法在一种手持式应答器报文检测仪上已经得到了实际应用。为验证该解码算法的有效性和可靠性,对成灌快铁安靖站的应答器进行了报文读取试验。

在未用中值滤波的传统解码算法进行应答器报文读取试验中,该站范围内分布的12个应答器中有11个均能正确解码报文,1个应答器的报文始终不能正确解码成功,读取成功率为91.7%。通过对接收到的该应答器报文数据进行分析,发现数据中出现一定数目的随机位错误。在100次读取的1 023 bits报文数据中,总共出现235 bits错误,平均每段报文会出现0.23%的比特错误,且出现位置随机,所以导致解码过程中crc校验失败。

在采用中值滤波的改进解码算法对该应答器报文进行数据读取试验中,100次均能解码成功,同时读取另外11个应答器报文也能正确解码,在安靖站的应答器报文读取成功率为100%。试验证明,改进解码算法对于消除随机噪声是有效的。

报文解码成功后,需要对报文按照规范进行解析,以提取报文中的列车控制信息。选取一段1 023 bits传输报文数据,进行解码结果和解析方法的说明。以下为检测仪接收到的1 023 bits传输报文数据:

000011001100011000101111011111110111001000111000000110100001001101000010111001001110011000100100011110110010111001100000100110011101100110100001001000110010100010000011101011011101100101110111101010101000101111010100111000011001111100100101110111101000011001101100100100010011101001100001101110110100011100000101110111111011101010000110000111100110110100010010010000100100001101100111101010011010010100100011100100111000111011010110100001000001000000110101100110011011010010010110101110000001011000111111001000000110001001010100011100110101100101010111000011011111101100000101111111011011011101111100101100000100101010001100111101000010110100011000000111011101011000011010010000101100101010001111100001110010000111110010001100101010100001100111011010100011010101101011011101001001111110110111010101000111110010010100111101111100110000010011101101011011111100101011010011100000000101101000010001001000100111010001100100000001000100011001100010011000100010000010010101110111001101110011011010101101100110101010110111011110000

按照本文提到的解码算法对该段数据解码后得到的报文数据如下(将该报文和车站原始数据比对后完全符合):

10010000000100100111111111000111001001000000001111000101010100000110111100100000000001101000000010000111000001010011011100000010000011001010100000000101000101110111000100000001000001110110011000000010000100111110110100000010000001110000100000000001000111000010000011111111000110110100000100011100100000000001101000111000000000001100001111100100001010000000000010000000001000110010000000001110000011010111111100000001001111010000001010001010001000000001110000000000000001010100111001110100100000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111

表2是《铁道部科技运[2008]144号-CTCS-3级列控系统应答器应用原则(V1.0)》中的报文规范定义。

表2 报文信息帧定义规范

按照表2中报文定义规范,可以对解码后的原始报文数据逐比特进行解析。表3是将原始报文数据按照报文定义规范[13-14]对报文信息帧进行解析后的结果。本文对报文信息帧头部分进行了解析,其后的用户信息包按照《应用原则》的规范定义逐个解析即可,不再赘述。

表3 信息帧解析结果

6 结束语

作为中国列车控制系统中重要组成部分之一的应答器系统,在列车安全控制中的作用是举足轻重的。本文介绍应答器原理和报文结构,并深入研究了应答器传输报文的解码算法。同时针对无线传输系统在信号接收、调制解调过程中易产生的随机噪声的情况,提出了一种滤波算法,有效地减小了随机噪声对数据解码的影响,提高了数据接收效率。本文的解码算法在手持式应答器报文检测仪上已经得到了实际应用。该检测仪在成都铁路局各车站的使用中得到检验,并已批量生产。因为实际铁路环境的复杂,该算法虽然在一定程度上能消除随机噪声的影响,但是在干扰很大的场景下仍然不能完全消除噪声,影响到报文读取成功率;所以如何提高强噪声环境下的算法的纠错能力,是今后需要继续研究的方向。

[1]李向红,李永善.高速铁路中的查询应答器[J].铁道通信信号,2004(4):5-7.

[2]铁道部科学技术司.CTCS技术规范总则及CTCS-2级技术条件[S].2004.

[3]Form Fit Function Specification Coding Strategy[S].2003:25-46.

[4]European Standard. EN50159-2[S].Europe: EUROPAISCHE NORM,2001:2-4.

[5]宋海锋,袁磊,吕继东,等.多分辨率建模在CTCS-3级列控系统车载设备与测试中的应用[J].西华大学学报:自然科学版,2014,33(1):12-16.

[6]铁道部科学技术司.既有线200km/h动车组列控系统车载和地面设备配置及运用技术原则[S].2005:7-9.

[7]铁道部科学技术司.应答器设备技术规范[S].2005:10-15.

[8]铁道部科学技术司.应答器用户数据表[S].2006:15-22.

[9]李晓宇,王安.FFFIS编解码算法与实现[J].微处理机,2007(12):67-72.

[10]徐宁,杨志杰. 欧洲应答器报文译码的研究以及FPGA实现[J].铁道通信信号,2008(6):9-11.

[11]肖甜,赵会兵.欧洲应答器编码策略的安全性研究[J].铁道学报,2008,30(6):127-130.

[12]梅各各,靳斌,龚伟.一种快速中值滤波算法[J].西华大学学报:自然科学版,2012,31(6):77-80.

[13]铁道部. 铁道部科技运[2008]144号-CTCS-3级列控系统应答器应用原则(V1.0)[S].2008:18-19.

[14]铁道部科学技术司.应答器编号规则[S].2006:3-6.

(编校:饶莉)

ResearchontheDecodingAlgorithmofBaliseDataTelegram

WANG Ping1,TONG Yong-quan2

(1.SchoolofElectricalEngineeringandElectronicInformation,XihuaUniversity,Chengdu610039China;2.GeeyaTechnologyCo.,Ltd.,Chengdu610091China)

According to the FFFIS coding strategy of European rail signal standards organization, we design and implement the decoding step of balise telegram. We also develope an algorithm of sequential median filter, which is used to eliminate impact of random noise during the transmission before starting traditional decoding. This algorithm has been used in hand-held balise telegram detector. It has been verified that it is more effectively than traditional decoding algorithm in the environment with random noise.

balise telegram; decoding; median filter

2014-07-16

王萍(1976—),女,讲师,硕士,主要研究方向为计算机应用技术和控制技术。E-mail:99083094@qq.com

U283;TN919.72

:A

:1673-159X(2015)06-0036-06

10.3969/j.issn.1673-159X.2015.06.008

猜你喜欢
应答器解码报文
基于J1939 协议多包报文的时序研究及应用
汽车电器(2022年9期)2022-11-07 02:16:24
《解码万吨站》
CTCS-2级报文数据管理需求分析和实现
应答器THR和TFFR分配及SIL等级探讨
解码eUCP2.0
中国外汇(2019年19期)2019-11-26 00:57:32
浅析反驳类报文要点
中国外汇(2019年11期)2019-08-27 02:06:30
NAD C368解码/放大器一体机
Quad(国都)Vena解码/放大器一体机
ATS与列车通信报文分析
虚拟应答器测试方法研究