基于LabVIEW 的地面电子单元C接口眼图算法研究与实现
2024-04-16陈文旗湛素丽
连 乐,张 诚,陈文旗,湛素丽
地面电子单元(Lineside Electronic Unit,LEU)作为列控系统的地面通信设备,主要用于接收列控中心传输报文,并通过线缆将列控报文传输到有源应答器[1]。有源应答器作为数据终端,负责将列控报文通过车载天线发送至经过列车,实现列车安全运行。LEU 设备通过C 接口向有源应答器发送列控报文(即C1信号),因此C接口信号的性能及其验证结果对整个列控系统的正常运行有着重大影响[2]。
王宁[3]对采集信号进行了眼图分析与测算,但并未详细介绍眼图的计算设计与优化;张美艳[4]通过K-means 聚类算法实现眼图对C1 信号的质量评估,但对数据量、数据处理与建模有一定要求;陈利东[5]提出的应答器在线检测分析系统可解析C 接口采集信号中与眼图参数相关的平均数据速率及最大时间间隔误差指标信息,但并未系统性地提出C1信号眼图计算方法。
基于目前LEU 产品C1 信号眼图算法的研究现状,结合常见应用场景,本文提出LEU产品C1输出差分双相调制(Differential Bi-Phase-Level,DBPL)信号眼图算法,可作为衡量C1信号传输质量的关键手段。本算法基于LabVIEW的丰富函数库以及快捷的图形化编程方式等优点,实现算法框架搭建以及各计算模块的功能,并对眼图参数进行计算,算法的硬件环境设计简单易实现,不仅适用于一般眼图测试环境,同样适用于LEU设备的生产环境。
1 眼图模型及参数要求
C1 信号眼图模型见图1。图1 中,T为一个DBPL 码元的平均周期,T1=0.6T,V2为C1 信号峰-峰值,V1=0.74V2,Tjitter为眼图抖动时间。除上述参数外,眼图参数还包括C1 信号的平均数据速率MDR、眼图上升时间Tr、眼图下降时间Td、眼图入侵掩模点数Pc。掩模即根据波形的眼图特性生成的四边形,如图1所示的中间阴影部分。
图1 眼图模型
《应答器传输系统技术条件》(TB/T 3485—2017)[6]明确了对C1 信号眼图各参数的指标要求,见表1。
表1 C1信号眼图参数指标要求
2 算法设计
2.1 硬件设计
算法的硬件设计框图见图2。硬件环境包括被测设备(Device Under Test,DUT)、供电模块(PXIe-4112 板卡)、处理模块、采集模块(PXIe-5122 板卡)、PC 端。其中,DUT 特指LEU 设备;处理模块主要功能为分离LEU 设备输出的混合信号中的C1差分信号;采集模块主要功能为采集C1差分信号并存储为离散点集。眼图算法设计是以C1 差分信号离散点集作为数据源进行处理计算,采集数据源的采样率选为100 Mb/s,采样长度选为1 Mbit,通过2 个无源探头信号相减获得差分信号。示波器探头选用国家仪器公司的CP400X 型无源探头;PC 端为算法运行平台,结合采集模块获取的离散数据点计算信号眼图与参数。
图2 眼图硬件设计框图
1)电源板卡PXIe-4112 的参数为:输出电压0~60 V;电源通道数量2;最大电流1 A。
2)示波器板卡PXIe-5122 的参数为:输入电压-10~10 V;最大带宽100 MHz;最大采样率100 MS/s;板载内存大小256 MB/ch。
3)示波器探头CP400X的参数为:最大额定电压DC60 V,AC30 V;衰减率10∶1;带宽400 MHz;输入电容13 pF。
2.2 软件设计
算法的软件设计包括实现C1 信号眼图的显示以及参数的计算。
2.2.1 MDR计算
MDR计算方法为选取一组1 500 位连续码元,用1 500除以上述1 500个码元的实际时域跨度获得平均数据速率[7]。算法流程见图3,计算步骤如下。
图3 MDR计算流程
Step 1确定码元位置。
首先获得DBPL 码元过零点及所有过零点集Ni,其中Xi、X(i+1)为任意2 个相邻过零点的时间轴坐标。将Ni点集中首尾不完整的码元数据删除,获得点集Nj。DBPL 码元模型见图4[8],可通过所有过零点集Nj获得实际码元过零点集Gi,通过Gi计算MDR值[9]。
图4 DBPL码元模型
Step 2计算MDR值。
Gi中从G1开始连续取1 500个值,即(G1,…,G1500),且在Gi中连续取上述数据长度的组合,如(G1501,…,G3000)、(G3001,…,G4500)、(G4501,…,G6000)…,直至Gi最终剩余值不足一组。每组数据采用相同的计算方式,取Mi为上述各组的MDR值,以Mx为例计算式为
式中:10-9为时间单位s 与ns 的换算,下同。其余Mi值计算方法同上,则
式中:564.48 为C1 信号标准数据率的值,单位kbit/s。通过式(2)可筛选出当前多组平均数据速率偏差最大的一组计算结果[10]。
Step 3生成眼图。
计算MDR平均值A和平均周期内点数a。
式中:n为Gi集合中可组合大小为1 500 个值的集合个数,由Gi实际数据长度决定。
如图1 所示,眼图模型由数据集切片和重叠形成[11],切片起始点可自定义,此处取44为标准C1信号数据速率的半码元点数。切片长度L0为
式中:b为标准C1信号数据率的码元点数;△L为实际波形码元点数对比标准码元点数的补偿值。
最终将获得的每组切片起始点对齐即可生成眼图,切片组成的点集为Qi。眼图形成原理示意见图5,C1信号生成眼图示意见图6。
图5 眼图形成原理示意
图6 C1信号生成眼图示意
2.2.2 抖动时间Tjitter计算
眼图的抖动参数可作为衡量信号传输质量的参数之一。抖动值可体现出周期性信号中各周期间的偏差量,以表征信号在传输过程中的受影响程度[12]。Tjitter计算方法如下。
调整横坐标轴偏差,Qi点集中各切片的过零点重新调整后,获得新过零点集Qj。计算抖动时间时,找出Qj点集中xi为0 或近似为0 的点,由各切片零点组成左右2 组抖动点集。其中,Zi、Zj为左边抖动点集的任意值,Ui、Uj为右边抖动点集的任意值,则
左侧抖动时间为
右侧抖动时间为
眼图抖动时间为
眼图抖动时间的计算流程见图7。
图7 抖动时间计算流程
从图6 中可以看出,正常情况下单眼眼图(眼图宽度为2个DBPL码元周期)有2个区域穿过横坐标轴,因此眼图的每组数据均有1 个或2 个过零点值,且在计算过程中须分开处理,处理方式相同。
2.2.3 眼图的上升时间和下降时间计算
眼图的上升/下降沿分别取眼图峰值的10%与90%所对应的上升沿/下降沿的时间轴长度。具体来说,由眼图点集Qi中每组切片的码元位置可知,上升时间和下降时间的计算可分为左右2 组,2 组数据均采用相同的方法计算,最终取2 组中的上升/下降时间的最小值。
Step 1计算峰值的10%点与90%点。
在Qi点集的每组切片中,取波形最大值为Mi,最小值为Ni,则:
眼图左侧波形峰值的90%处值对应点Li的纵坐标yLi为
眼图左侧波形峰值的10%处值对应点L′i的纵坐标yL′i为
眼图右侧波形峰值的90%处值对应点Ri的纵坐标yRi为
眼图右侧波形峰值的10%处值对应点R′i的纵坐标yR′i为
当上述计算获得的纵坐标值在眼图纵坐标集中无对应值时,采用插值法获得[13]。
Step 2区分切片的上升趋势或下降趋势。
对于任意一组切片,若yi≥y(i+1),则该过零点对应的码元为下降趋势;若yi≤y(i+1),则该过零点对应的码元为上升趋势。其中yi、y(i+1)为任意一组切片中第i个过零点与它下一个相邻点对应的纵坐标值。
Step 3计算上升时间和下降时间。
根据上述计算可获得左侧上升点集、左侧下降点集、右侧上升点集、右侧下降点集。上升/下降时间即为横坐标间隔;眼图左侧上升/下降时间为Li点集中的最小差值,即Min{|Lm-Ln|},以及L′i点集中最小差值,即Min{|Lk-Lb|},其中m和n、k和b分别为Li、L′i各点集中的任意2点;眼图右侧上升/下降时间为Ri点集中的最小差值,即Min {|Rm1-Rn1|},以及R′i点集中最小差值,即Min{|Rk1-Rb1|},其中m1和n1、k1和b1分别为Ri、R′i各点集中的任意2点。最终,眼图上升时间、下降时间的计算式为
眼图上升时间和下降时间的计算流程见图8。
图8 上升/下降时间计算流程
2.2.4 掩模入侵点计算
掩模是根据波形的眼图特性生成的四边形,入侵算法用于判定是否有波形入侵掩模范围,如图1所示的中部阴影部分。具体过程如下。
Step 1构建掩模模型并计算顶点坐标。
建立眼图掩模模型,见图9。可通过确定1、2、3、4 共4 个顶点的坐标值计算掩模范围,4 个顶点坐标分别为(x1,y1)、(x2,y2)、(x3,y3)、(x4,y4)。由图9得出的各点坐标值为点1(x1,V2/2),点2(x2,0),点3(x1,-V2/2),点4(x4,0),其中x1=x3。
图9 眼图掩模模型
左侧抖动点集为Zi,右侧抖动点集为Ui,因抖动时间取抖动点集中任意2 点的最大间隔值,因此设定Z1、Z2与U1、U2分别为求得的左侧、右侧抖动时间对应的点,由此可获得x1、x2、x3、x4分别为
至此可获得掩模4 个顶点坐标,根据直线定理可求出4条直线方程为
Step 2计算入侵点。
将眼图各切片点集中在掩模范围内的横坐标,代入掩模四边对应的直线方程的横坐标,若获得的值小于该点的纵坐标,则该点入侵掩模内部,由此判断所有眼图切片是否存在掩模入侵点。
设定Qi(xi,yi)为眼图任意切片中一点的坐标,其中x4≤xi≤x1,将xi代入式(22),获得的值为Y。因此,当|Y|>|yi|时,判定Qi点入侵掩模;当|Y|≤|yi|时,判定Qi点未入侵掩模。计算入侵点流程见图10。
图10 计算入侵点流程
3 算法实现与对比
3.1 算法实现
结合上述各参数计算流程,通过LabVIEW 平台实现的眼图测试软件界面见图11,包括眼图波形、眼图各参数的计算结果,以及根据标准对各参数的判定结果,从界面可直观获得信号的眼图特性以及对被测设备信号传输性能的判定。算法程序包括离散点数据读取模块、眼图计算模块、结果显示与判定模块。其中,眼图计算模块包括眼图显示子模块和参数计算子程序模块,是算法实现的核心部分。
图11 眼图测试软件界面
3.2 眼图计算对比
为验证以上眼图算法的可靠性,利用泰克示波器(自带眼图计算模块)对同一LEU 设备的C1信号进行眼图测试,并将示波器计算结果与眼图算法计算结果进行对比,对比结果分别见表2、图12、图13。
表2 示波器测试结果与眼图算法计算结果对比
图12 示波器测试结果
试验共进行了5 组计算,表2 数据为其中一组。通过纵向对比眼图算法的5 组计算结果可得出,对同一被测设备的输出信号,算法的计算结果较为接近,且同一参数的计算值也较稳定,计算结果通过聚类算法可获得稳定的分布范围[14],此处暂不详述。
横向对比眼图算法与示波器眼图模块采集的离散数据集可知,示波器眼图模块的数据集纵坐标最大值较眼图算法计算的纵坐标值更大,且在等间距分布的横坐标情况下,眼图算法的相应纵坐标的分布更平缓,采集数据的差异性可能对测试结果产生一定影响[15]。
对照表2 中结果1 和结果2 可以看出,信号幅值的测量结果较接近,而眼图的上升沿时间与下降沿时间数值结果1 较结果2 偏小。综合分析以上测量结果差异,可能原因如下。
1)算法设计的信号采集模块为NI板卡与无源探头组合,对差分信号的处理为2 个无源探头信号做减法得到,因此其信号损耗较差分探头采集结果的信号损耗更大。
2)差分探头输入电容<1 pF,而无源探头输入电容为13 pF,导致信号测量差异较大。
3)泰克示波器与采用NI示波器板卡的仪器存在差异性。
将示波器采集的数据生成离线文件,并导入眼图算法计算后获得表2 中的结果3。结果3较结果2的值更接近结果1。
综上,当上述算法与仪器仪表的硬件环境接近时,其软件的计算结果也更加接近,因此可通过优化硬件环境来提升算法可信度。若将上述算法用于LEU 设备功能测试,则可在同样配置的硬件环境下获得接近仪器仪表的计算结果,同时可通过拟合算法来补偿算法与仪器仪表测量结果的差异[16],这样不仅提高了生产测试的严谨度,同时也降低了成本。
4 结论
在LabVIEW 平台上,通过离散数据点对LEU设备输出的C1 信号眼图及参数进行算法设计与实现,并将软件计算结果与泰克示波器的测量结果进行对比,得出可以通过优化硬件环境得到接近标准仪器的计算结果;同时,通过多组计算对比可知算法计算结果稳定,具有一定的可靠性,可根据具体应用环境对算法设计进行优化。后续可在算法设计以及计算速度方面做进一步改善,提高算法的可靠性与实用性。