MATLAB在雷电监测数据分析中的应用
2020-10-26李金猛周水威
李金猛,汪 宇,魏 来,刘 飞,周水威,查 明
(1.中国人民解放军91919部队,湖北 黄冈 438000;2.中船重工集团公司第七二二研究所,湖北 武汉 430079)
0 引 言
某大功率长波发信系统主体包含发射机和发信天线,天线形式为水平低架天线。天线架设在位于山顶的数十米高的铁塔上,具备天然的引雷特性[1-2]。为保障辐射效率,不能在天线上端敷设避雷线,而天线又覆盖了方圆上百公里的雷暴区,这些因素给天线的雷电防护工作带来了困难。天线本体遭受雷击后功能性能正常,却会将直击雷和感应雷雷电流引入与天线相连的发射机,大大增加了发射机遭受雷击的概率。为解决发射机遭受雷击损坏的问题,技术人员在大功率长波发信系统各处安装了雷电监测系统,期望分析雷电监测数据后,提出高效的雷电防护改进方案。
本文基于雷电监测系统采集的数据,结合MATLAB软件在数据处理方面的优势分析原始数据,判断某大功率长波发信系统遭受的雷电冲击电流特性,从而为后期的雷电防护改进工作奠定技术基础[3]。
1 MATLAB软件简介
MATLAB是一种交互式和基于矩阵的体系,主要用于科学和工程数值计算和可视化功能[4]。它的长处在于能轻松求解复数数值问题。利用它相对简单的编程方法,可以将MATLAB扩展创建出新的命令和函数[5]。另外,多年来附加了众多可使用的工具箱(在某一特定论题中一些专用函数的集合),进一步增强了基本的MATLAB程序。MATLAB软件界面如图1所示。
图1 MATLAB软件界面
用户通过MATLAB图形用户接口(GUI)的指令窗与MATLAB进行交互。在指令窗中,用户键入MATLAB指令,MATLAB立即执行该指令,并将运行结果显示在窗口中。当需要执行少量行代码时,MATLAB可以方便地采用非交互式指令模式。但是,当需要若干行代码且反复运行该代码时,或者需要在几个程序中以不同变量值作为输入调用该代码时,这种非交互指令模式效率不高。为此,MATLAB提供了脚本和函数两种结构。
对于信号与数据分析而言,数据的图形绘制是MATLAB最强大的功能之一。MATLAB可以绘制从简单的二维(2D)图形到具备全彩色功能的复杂高维图形等多种类型图形,且几乎所有的图形参数(如样式、尺寸、颜色等)都可以通过嵌入合适的指令或直接通过图形用户接口(GUI)编程加以修改[6]。
2 雷电监测系统介绍
雷电是大气中带不同电荷的云层在相遇时迅速、强烈的放电现象,具有瞬时性、尖峰性、序列性以及极强的破坏性[7-8]。雷电波侵入电力或通信线路后,会对相关设备造成极大损害,影响通信质量。因此,易引雷高压线路的雷电监测与防护一直以来都是不容忽视的环节。
本文重点分析的雷电监测系统是一种过电压监测系统,系统组成如图2所示。该系统主要由阻抗匹配模块、分压器、模/数转换模块、本地工作站和监测终端等部分组成。高压线路上的雷电压经分压器按固定变比降压采集后,通过阻抗匹配模块变换后与系统设置的波形记录阈值比较,若采集信号幅值大于阈值(合理设置为有雷电击中、感应或入侵时,即超过阈值),则再经模/数转换,记录采集的波形数据并存储于本地工作站,而监测终端则利用本地工作站存储的过电压数据文件进行雷电监测相关的数据分析与可视化。
图2 过电压监测系统结构示意图
3 MATLAB在雷电监测系统中的应用
实际工作中,过电压监测系统软件采用Labview开发,软件本身也能集成数据可视化与分析功能。但是,雷电数据量较大,如果采样率为107 Hz,则每毫秒时间内即采样10 000个数据点,记录1 s,则数据量达到1 000万,存储文件少则几百兆,多则几十吉比特[3]。本地工作站负荷能力有限且往往位于室外,软件也不能过于复杂,难以有效进行数据分析。因而,将本地工作站中的数据即时导入监测终端,在监测终端采用MATLAB软件进行分析与可视化,而本地站仅显示前10 ms的雷电压波形。
下面以某次雷击时产生的过电压数据为例,通过MATLAB程序进行数据分析与可视化。某次雷击发生后,本地工作站记录下了一个258 MB的tdms文件,通过MATLAB插件程序读入之后生成一个31 431 177×1的矩阵。若采样率为107 Hz,则本次记录时间约为3 143.117 7 ms。该数据矩阵经监测系统系数(含分压器变比、阻抗匹配系数、模/数转换系数)变换后,可用MATLAB中的plot函数绘制波形,结果如图3所示。
图3 某次雷击记录波形
从图3可以看到,记录波形的雷电尖峰数量较多,幅值有较大变动范围。使用MATLAB中快速傅里叶变换函数FFT进行信号的频谱分析,图4为该雷电压信号的单边幅度谱。可以看到,频谱中的频率分量非常丰富,且主要集中在两个区域。局部显示图4(即放大图形,如图5所示)后可以更清楚地看到,大部分频谱分量集中在从直流到75 kHz的低频范围,且随着频率升高迅速衰减,还有小部分频谱分量集中在450~650 kHz的高频范围。
图4 记录信号的单边幅度谱
从整体上不好把握雷击情况,可以对波形进行局部放大分析,如前10 ms波形和前100 ms波形分别用MATLAB绘制出来,如图6和图7所示。
图5 放大的信号单边幅度谱
图6 前10 ms波形
图7 前100 ms波形
着眼于超过一定幅值的尖峰,并以具体尖峰为分析对象。在分析前,需对记录数据适当做出以下处理。在幅值超过设定值的样本点挑出间隔大于2.5 ms的尖峰点序列,将每个尖峰点连同其前面3 000个点和后面5 000个点(共8 001个数据点)作为一个分析样本,共有336个样本。这里主要分析第一个样本,将其用MATLAB绘制出来,如图8所示。相比图6和图7,图8给出的雷电压波形细节更加丰富。
图8 第一个样本波形
针对图8的雷电过电压数据样本,重点分析电压峰值、上升时间(分10%~90%,30%~90%两种上升阶段所用时间)、波头时间、脉冲宽度以及半峰值脉冲宽度等几个指标[9]。分析前,本文约定样本前200个点的均值为背景电平,并作为后续波形电压变化的参考值。
(1)电压峰值:即样本中最大幅值。
(2)上升时间:找到相对背景电平和峰值电压的10%、30%、90%等上升数据点的位置(时刻),以分别得到峰值的10%~90%和30%~90%的上升时间。
(3)波头时间:波头时间定义为10%~90%上升时间的1.67倍。
(4)脉冲宽度:找到相对背景电平和峰值电压的10%下降数据点位置(时刻),将10%上升、下降的时间间隔定义为脉冲宽度。
(5)半峰值脉冲宽度:找出50%的上升和下降点位置(时刻),将两者间隔作为半峰值脉冲宽度。
通过计算可得,峰值电压=26.99 kV,上升时间10%~90% =0.4 μs、上升时间30%~90% =0.3 μs,波头时间=0.668 μs,脉冲宽度=0.9 μs,半峰值宽度=0.6 μs。另外,可以画出该样本信号的单边幅度谱,如图9所示。可见,它的分布规律与图4基本一致,高频部分比重有所增大。
图9 样本信号的单边幅度谱
4 结 论
通过以上MATLAB的辅助分析可以看到,雷电压具有数据量大(采样率需达到107 Samples/s级别以上)、峰值高(可达几十千伏)、上升快(为零点几个微秒级别)、脉冲窄(为零点几个微秒级别)以及谐波丰富等特点,简单说就是“大、高、快、窄、杂”。雷电压串入高压或通信线路后会沿着线路进入设备,对设备造成了极大危害,常常会导致脆弱地局部击穿放电甚至燃爆等严重后果。
雷电监测的最终目的是雷电防护,为雷电防护的科学有效实施和改进提供参考依据。而如何提高雷电监测的效果,从中获取更多有意义的支持,涉及到大量数据分析与可视化工作,尤其是大数据样本的数值运算。MATLAB强大的矩阵运算能力和丰富的数据可视化功能正好能满足雷电监测需求[10]。针对MATLAB在雷电监测中的应用,可思考和改进的地方还有很多,如采用句柄绘图或GUI功能增强软件集成与人机交互、实时刷新雷电数据进行波形和相关参数动态展示、结合其他编程语言构建更强大的分析系统等。