谭小刚,于艳波
(中国公路工程咨询集团有限公司,北京100097)
在日常使用过程中,光缆线路按照运营单位的计划进行定期维护,主要是通过测试设备进行光缆传输质量的检测,其中如何对光缆故障准确定位是人们关注的重点[1-4]。目前主要的检查方法包含以下几种:人工逐段排查判断;路面不便开挖时,采用OTDR设备检查;对特种光缆采用射频探测法检查;采用肉眼可见的红光源对光缆进行检查[5-8]。然而,这些方式不是定位不准确,就是要在对光缆进行破坏的情况下才能开展工作。日常生活中数据通信的连续性日益重要,这就要求在不中断数据流量的情况下对光缆开展排查,为了解决这个问题,本文寻找一种方便、快捷、准确而且不影响正常通信业务的检查方法。
维护人员使用OTDR 测量仪等设备进行测量后,将测量数据输入客户端软件系统,客户端软件采用现有的通信协议将数据传输至服务器,在服务器上用MATLAB软件进行过程复杂、压力负荷较大的小波变换等一系列计算分析工作,最后将计算结果再返回至现场笔记本电脑[9-12]。所以,光缆故障定位系统软件的结构可以清晰地划分为3个层次:前端的光缆初检数据采集客户端;中间的数据处理中间件;后台的光缆故障定位系统的智能运算服务器[13-14]。在计算机软件功能方面运用功能模块化设计,对应于前面介绍的系统结构,光缆故障定位系统也包含3部分:前端电脑上的数据采集软件;基于TCP/IP协议的通信接口;服务器上安装的数据处理软件[15-16]。
光缆故障定位系统的核心是数据处理部分,通过对前端采集的OTDR测量数据进行特征提取后,采用小波变换、小波包分析等相关数学处理工具提高对光缆故障定位的准确度。由于计算过程中需要使用不同类型的数学分析方法,数据计算量大,对硬件要求高,一般需要在服务器端进行数据处理。本文采用的方法是,首先选择一个自动操作服务器,可以使用MATLAB程序语言来完成,数学分析服务器同样使用MATLAB来进行架构,利用VB作为前端用户界面的程序设计工具,为光缆故障定位系统客户端编写出易用的数据采集页面,最终将以上几个部分结合,实现应用软件的建立。在建立MATLAB服务器程序的过程中,需要首先对MATLAB运行的进程进行定义,本文选择matlab.application作为进程名称,下一步需要建立容纳进程的数学分析服务器环境,本文选用MATLAB自带程序包中的actxserver函数来得以实现,最终得到的服务器还需要具有自动计算功能。目前有2种方式可以实现自动计算功能,即共享式和专用式,经过综合考虑,本文最终选用共享式服务器。共享式服务器对所有用户开放,可提高服务器的使用效率,程序包中的actxserver函数可以设置一个Visible(是否可见)的属性,根据其值设置为0或1,分别表示不可见和可见2种状态。图1所示的是进程设置和服务器环境设置的界面。
前端数据采集部分将采用VB语言编写,在与服务器数据处理进程进行对接时,主要使用MATLAB内置的语句GetObject获取传输至数据接口的数据,将客户端程序与服务器程序进行连接,所得到的命令为:h=GetObject(,“matlab.application”)
命令语句中h作为指针,指向服务器端中MATLAB数学计算程序,其中逗号前面的第一个参数是默认参数,第二个参数必须要选择“matlab.application”,用于与服务器程序进行进程对接。在命令指针h指向的数学计算服务器程序中,Feval过程执行直接调用MATLAB自身函数构成的functionname功能参数来确定,在调用服务器进程计算完之后,从数学计算服务器程序中返回的计算结果将会由单元数组变量result输出,单元数组变量result中的每一行将放置一个计算结果。为了进一步控制数学计算服务器程序中返回的计算结果,可以运用MATLAB自身函数Feval的另一个参数numout来实现,不过在实现过程中,数学计算服务器程序回转的数据量很可能少于预期,这是正常的。
由于客户端程序采用VB语言编写,其中Get-FullMatrix函数是十分重要的一个组成部分,可以将其实现为:
图1 服务器端调试过程
图2 VB接口软件设计过程
GetFullMatrix函数能够返回服务器端MATLAB工作区workspace上的计算结果varname,varname包含xreal和ximag两个部分,xreal代表复数实部,ximag代表复数虚部。图2是主要的编写代码流程。
光缆故障定位系统客户端软件界面设计由4个部分组成:主界面客户登陆管理设计;测试参数、传输通道设置界面设计;测试结果配置管理设置界面设计;性能管理设置界面设计。具体形式如图3~5所示。
图3 主界面布局
图4 系统参数设置界面
图5 配置管理设置界面
将光缆故障定位系统客户端安装在笔记本上,设置好服务器通信功能,便可以与数据处理中心建立起完整的数据连接,将测试产生的数据输入客户端,客户端与服务器进行数据交换之后即可达到正常使用的要求,并得到图6显示的信息,从而便于现场用户对测试数据进行实时详细分析。
图6 光缆故障定位测试结果
在进行正式应用之前,需要对光缆故障定位系统的总体兼容性、易用性、安全性、可靠性等方面进行以下5个方面的测试。
(1)检查软件运行在不同操作系统状态下对硬件的要求,主要包括最低配置、推荐配置以及特殊要求。Windows操作系统一般最低配置为双核处理器2.8GHz、内存4GB、硬盘100GB。Linux操作系统一般最低配置为双核处理器2.2GHz、内存2 GB、硬盘100GB。
(2)检验光缆故障定位系统安装时的方便性,可以在笔记本电脑上安装该系统,并对安装界面上出现的默认值和自定义功能进行检查,统计用户干预的参数设置,最终对系统安装的方便性进行验证。
(3)软件安装后,服务器端同时接收操作信息并进行校核,当用户名和密码输入正确,则可以直接登录成功,进行规定权限内的操作;如果输入错误,则会进行账号或密码错误的提示,判断客户端是否满足光缆故障定位系统安全性的要求。
(4)为了检验系统的信息保存能力是否正常,将安装了光缆故障定位系统的计算机进行强制关机操作,测试是否可以有效地保存关机前的内容。
(5)为了检验系统权限管理功能是否合格,需要对所有授权用户的工作内容进行实时记录分析,当出现超越权限操作的情况时,服务器应该记录违规操作内容并报警,严重时应断开通信链接。这样可以保证软件的整体安全性满足要求。
测试方法和工具如表1所示。
经过上述的5个测试步骤,对光缆故障定位系统软件各方面测试结果进行综合反馈,可知软件系统能够满足兼容性、易用性、安全性、稳定性、容错性相关的要求。将河北省涿州(京冀界)至石家庄公路改扩建工程中得到的测试数据输入到软件系统中,通过对OTDR测试数据进行进一步分析,可知经过运算分析得到的光缆故障点位置信息比仅用OTDR测试的结果更加精确。表2显示了系统运算结果与实际现场勘察的对比,其实际位置与系统测量所显示的位置误差较小。
表1 测试方法和工具
表2 事件检测结果
为了确保本文设计的光缆故障定位系统最终的运行结果与现场实际情况能够匹配,将软件系统代入了多条光纤的实际测试结果,在现场对OTDR测量数据处理后,可以更加精确地定位出曲线的故障信息所处位置,证明该软件完全可以满足光缆工程迁改QC小组的各种要求,并且也在河北省涿州(京冀界)至石家庄公路改扩建工程中得到了验证。
本文以高速公路改扩建工程对光缆检测的实际需求为出发点,提出了一套基于复杂数学运算的光缆故障定位系统软件,在综合运用小波变换等数学处理工具的条件下,以噪声滤除为提高精度的主要思路,取得了良好的应用效果。
根据算法对硬件的需求,分析确定了光缆故障定位系统软件结构,按照分布式架设的原则,将压力转移到后端的服务器上;后端服务器采用开放式的分享结构提高利用效率,前端采用VB语言编写系统软件数据采集部分,中间件采用VB与MATLAB接口通信设计。软件在编写过程中同时包含了配置管理、安全管理、故障管理、性能管理等各项功能,确保相关使用性能的实现和便利性。文中给出了部分代码编写的过程以及编译之后的软件界面,并进行了光缆故障定位系统软件工程现场的实际应用测试和对比分析。