资讯动态

树线放电故障识别:基于小波变换的暂态零序电流判据方案

发布时间:2026/10/17 11:41:57 来源:尧图企业网站定制
树线放电这四个字在配网运维和继电保护圈子里一出现基本就意味着“难啃”。树枝搭上导线之后并不是稳定的金属性接地而是先形成间隙击穿、再发展成间歇性电弧燃烧过渡电阻可以从几十欧跳到几千欧故障电流有时候还没有正常负荷电流大。很多线路就是在这种状态下带病运行几个小时最后树枝碳化引发明火故障才被真正重视起来。这篇文章想做一件事把树线放电故障从“看见了认不出”变成“抓得住、分得清、能动作”。我会用一套完整的保护与识别方案来讲这个事先拆解树线放电的物理过程和电气特征再说清楚为什么传统零序保护在这里集体失灵然后给出基于暂态零序电流和小波变换的识别算法包括四个特征量的定义、判据组合逻辑和出口策略最后放上可以直接跑的Python代码以及我在现场调参数、回放录波数据时踩过的坑。适合配网自动化、继电保护整定、故障诊断方向的人参考刚入门的研究生也能跟着复现。1. 树线放电故障的核心难题高阻、电弧与保护失灵1.1 树线放电的物理过程从间隙击穿到碳化通道树枝和导线之间多数情况下并不是直接接触而是树枝在风力作用下摆动离导线越来越近。当空气间隙小到一定程度间隙上的电场强度超过空气击穿场强就会发生击穿放电。放电初期只是微弱的电弧电流小、持续时间短因为树枝内部的水分和木质本身的电阻会限制电流。但事情坏就坏在“反复”这两个字上。放电过程会把树枝表面的水分蒸发掉木质逐渐碳化形成半导电的碳化通道。碳化通道有一个很讨厌的特性——电阻随温度变化呈负温度特性温度越高电阻越低。于是故障电流会越烧越大电弧的熄灭和重燃交替出现。更麻烦的是碳化是不可逆的通道会越烧越畅通最终可能直接引燃树枝起明火。从保护的角度看这个过程对应的故障电阻不是固定值而是从高到低、再突变、再恢复零序电流波形根本不是稳定的工频正弦而是一堆毛刺加时断时续的小扰动。不懂这个物理过程的人拿到录波波形第一反应是“这是不是采集单元坏了”其实这就是树线放电最典型的特征。1.2 电气量特征工频量在这里为什么靠不住树线放电作为高阻接地故障的一种电气量特征和金属性接地完全不同。我给实际录波做过统计突出的特征大概有这几条过渡电阻高初期可以达到数百欧到数千欧故障点电流只有几安到几十安比正常负荷电流还小。电弧非线性电弧电阻随电流瞬时值变化电流过零附近电阻骤增波形出现明显的削顶、畸变伴随多次熄灭和重燃。零序电流幅值小相比金属性接地零序电流幅值大幅减小而且受中性点接地方式的影响非常明显。持续时间长树枝不会自己掉下来故障可以持续几十秒甚至数小时。谐波和暂态分量丰富电弧重复导通、熄灭会在很宽的频带里产生丰富的暂态分量高频段尤其突出。相位关系不稳定故障相电压和零序电流的相位关系受电弧随机重燃影响不像金属性接地那样相对固定。这六条特征放在一起直接否掉了“用稳态工频量识别”的路线。稳态零序电流太小整定值和灵敏度根本没法兼顾相位又不稳定方向判据经常自相矛盾。只有把眼光放到暂态过程才有足够的信噪比来捕捉故障信息。1.3 传统保护方案的困局零序过流和接地选线为什么失灵配网线路对付接地故障最常用的是零序过流保护和接地选线装置。但树线放电面前这两套方案都有明显短板。零序过流保护的定值要躲过线路正常运行时三相不平衡产生的零序电流一般整定在几安到几十安。初期树线放电的故障电流比这个还小保护根本启动不了。就算勉强启动电弧间歇性熄灭会导致零序电流时有时无出口继电器跟着抖动这种告警调度员根本不敢信。接地选线的问题更突出。很多选线装置还在用稳态零序电流比较或者零序电流方向比较在金属性接地场景下好用但面对树线放电这种非稳态、高阻、弧光重燃的故障各条线路的稳态量差异被拉平选线经常误选或者漏选。我见过一条线路树枝放电两个多小时选线装置换了几轮都没选出来最后是运维人员一条条拉线试停才找到故障点。还有一个现实问题就算保护发了告警调度看到的也只是笼统的“接地告警”到底是金属性接地、经电阻接地还是树线放电完全无法区分。后续处置策略完全不一样信息太粗就谈不上精准运维。1.4 整体方案选型暂态量融合工频量用小波做特征翻译既然稳态工频量靠不住那思路就得转。我最终确定的方案是基于暂态零序电流做特征提取用小波变换处理非平稳信号再融合少量的工频零序电压信息做复核。为什么是小波而不是傅里叶电弧放电产生的信号非平稳特征非常强故障发生时刻、熄灭重燃时刻都是突变点傅里叶变换只能告诉你信号里有哪些频率成分说不清楚这些成分是什么时候出现的。小波变换相当于把信号同时按时间和频率展开既能定位突变时刻又能区分频带。对树线放电这种“时刻在变”的故障信号小波是更合适的工具。单一特征量容易误动所以我设计了四个特征量来组合高频细节能量占比、暂态峰值系数、小波模极大值、工频零序电压变化率。前三个抓暂态和高频特征最后一个卡“确实发生了接地”这个前提。四者共同满足才确认树线放电只满足部分则报疑似给运维人员留出判断空间。2. 识别算法设计暂态特征如何变成可用判据2.1 处理流程与数据窗选择整个识别流程分七步采集三相电流、计算零序电流、数据加窗、小波分解、特征计算、阈值判别、结果输出。每一步都有值得抠的细节。先看数据窗。工频是50Hz一个周波20ms。树线放电的暂态过程在故障发生后1到3个周波内最丰富电弧重燃点也集中在故障持续期间。数据窗取太长零序电流的暂态统计量会被平均掉反而不容易分辨取太短特征值抖动太厉害。我实测下来10ms到40ms的窗长比较合适默认取40ms刚好两个完整工频周期。采样率建议10kHz以上这样才能把电弧高频暂态成分采进来。注意采样前必须有硬件抗混叠滤波器不然高频分量折返到低频段后面的小波分析全会被污染。零序电流的计算很简单由三相电流采样值相加除以三得到。工程上也有直接用零序电流互感器采集的效果一样。关键是计算前要去掉直流分量和趋势项否则小波分解后的近似系数会被直流分量抬高特征值失真。2.2 小波变换为什么适合干这个活傅里叶变换是把整个时间段的信号投影到无限长的正弦基上得到的是全局频谱。对稳态信号没问题但对电弧这种非平稳信号不同时刻发生的暂态会被混在同一个频谱里特征完全展不开。小波变换不一样它用有限长的、可伸缩平移的小波基去匹配信号的局部特征时频窗口可以自适应变化。低频部分频率分辨率高、时间分辨率低高频部分时间分辨率高、频率分辨率低刚好适合捕捉电弧重燃这种“突然发生、持续很短、频带很宽”的突变。在工程实现里小波基的选择直接影响特征质量。电力系统暂态分析常用db4小波消失矩适中、紧支撑性好既能突出信号的奇异点计算量又可控。分解层数一般取4到6层太高了计算量上来收益有限太低了高频细节分不开。采样率10kHz时分解5层能把几十赫兹到几千赫兹的成分分到不同尺度足够覆盖电弧暂态的主要频带。2.3 四个核心特征量的定义与计算逻辑这四个特征量是整套判据的核心单独拿出来都不够用组合起来才能压住误报。第一个特征量是高频细节能量占比。把零序电流做小波分解后细节系数cD1、cD2、cD3对应的高频段能量占比在树线放电时明显高于正常运行状态。电弧反复熄灭重燃会产生大量高频分量这个比值能直接把“纯工频”的正常状态和“富含暂态”的异常状态分开。计算方式是对各层细节系数取平方后求和除以全部小波系数的平方和。第二个特征量是暂态峰值系数。取零序电流数据窗内的最大值除以窗内均方根值。电弧性故障波形畸变剧烈、毛刺多峰值系数会明显高于正常正弦波形。正常工频正弦波的峰值系数是根号2大概1.414电弧波形动辄超过3、4是一个非常直观的指示量。第三个特征量是小波模极大值。用小波细节系数的模极大值来反映信号的奇异性强度。树线放电期间电弧多次重燃每次重燃都是信号上的奇异点模极大值出现的频率和幅值都很高。这个特征对故障瞬间的捕捉非常敏感。第四个特征量是工频零序电压变化率。这个量用来确认“确实发生了接地”。真实的单相接地故障发生后零序电压会在1到2个周波内稳定抬高而线路三相不平衡之类的原因不会持续抬高零序电压。取故障后零序电压有效值相对于故障前的增量按额定相电压的百分比计算作为逻辑与门的前提条件。四个特征量的物理意义、计算方法和判据方向可以总结成一张表方便对照。特征量物理含义计算方法故障时变化方向高频细节能量占比暂态高频成分在总能量中的占比小波细节系数平方和 / 全部系数平方和明显升高暂态峰值系数波形畸变和冲击程度窗内峰值 / 窗内均方根值明显升高小波模极大值信号奇异点强度细节系数模极大值增大、出现频繁工频零序电压变化率真实接地确认故障后零序电压增量 / 额定相电压持续抬高2.4 保护逻辑与出口策略告警先行跳闸可配判据逻辑不能简单粗暴地搞“四个全满足才动作”因为现场数据总有不完美的时候。我用的组合逻辑是工频零序电压变化率必须满足高频能量占比和暂态峰值系数同时满足再加上模极大值超过阈值判定为“确认树线放电”如果只满足其中两项判为“疑似树线放电”只发告警不出口。出口策略上告警延时设5秒跳闸延时默认120秒、可整定。为什么不建议立刻跳闸单相接地系统允许短时带故障运行很多瞬时性扰动需要时间自己恢复延时动作可以防止误跳。更重要的是树线放电故障如果树枝没掉跳闸后自动重合闸重合到故障点上电弧反而可能烧得更大。所以现场投运时我更建议“告警先行跳闸后跑”把识别结果当成智能巡检和抢修的辅助决策而不是一上来就追求跳闸出口。3. 代码实战小波特征提取与树线放电判定实现3.1 仿真与现场录波数据准备代码验证需要数据两个来源都用得上。一是仿真数据用某10kV配电网模型在仿真软件里搭一个带Mayr电弧模型的树线放电故障通过参数控制电弧时间常数和耗散功率模拟树枝碳化通道的电弧特性。仿真数据的好处是故障类型、故障时刻、过渡电阻都是已知的方便验证算法灵敏度。二是现场录波数据从故障录波器导出COMTRADE格式文件里面包含了真实线路的三相电流、零序电压波形。现场数据更有说服力因为噪声、互感器误差、线路结构差异全都真实存在算法在现场数据上的表现才是最值得信的。我建议先用仿真数据把算法流程跑通再用几组现场录波做回放验证。代码里用一个简单的DataFrame结构组织三相电流采样值列名用ia、ib、ic方便后续计算。3.2 代码结构从零序电流到特征向量import numpy as np import pywt import pandas as pd def calc_zero_seq_current(df): 由三相电流采样值计算零序电流。 df: DataFrame, 至少包含 ia/ib/ic 三列 返回: 零序电流数组 ia df[ia].values.astype(float) ib df[ib].values.astype(float) ic df[ic].values.astype(float) i0 (ia ib ic) / 3.0 return i0工程上有时用3I0 ia ib ic也就是三相电流直接相加不除以3注意这里的量纲差异。实际装置内部如果用零序电流互感器输入量直接就是3I0或者I0要看互感器变比和装置采样定义。代码里统一用除以3后的平均值特征量计算时做归一化处理避免量纲影响阈值。3.3 小波分解与能量计算详解def wavelet_decompose(signal, waveletdb4, level5): 对输入信号进行小波分解。 signal: 一维数组 wavelet: 小波基名称 level: 分解层数 返回: 小波系数列表顺序为 [cA5, cD5, cD4, cD3, cD2, cD1] coeffs pywt.wavedec(signal, wavelet, levellevel) return coeffspywt的wavedec函数返回的系数列表顺序要注意第一个是近似系数cA5低频后面依次是从低到高层的细节系数最后一个cD1是最高频细节。能量计算时要区分清楚。采样率10kHz、分解5层时各尺度对应的频带范围大致如下分解系数对应频带范围fs10kHzcD12500 Hz ~ 5000 HzcD21250 Hz ~ 2500 HzcD3625 Hz ~ 1250 HzcD4312.5 Hz ~ 625 HzcD5156.25 Hz ~ 312.5 HzcA50 Hz ~ 156.25 Hz树线放电电弧的暂态能量主要集中在cD1到cD3这些高频段。所以特征量计算时把cD1、cD2、cD3的平方和作为高频能量除以全部系数的平方和得到能量占比。def extract_features(i0, fs10000.0, win_cycles2): 从零序电流中提取四项特征量。 i0: 零序电流数组 fs: 采样率 win_cycles: 数据窗长度工频周波数 返回: 特征向量 [高频能量占比, 暂态峰值系数, 小波模极大值, 零序电压变化率] win_len int(fs * win_cycles / 50.0) window i0[:win_len] coeffs pywt.wavedec(window, waveletdb4, level5) cA5, cD5, cD4, cD3, cD2, cD1 coeffs e_high np.sum(cD1**2) np.sum(cD2**2) np.sum(cD3**2) e_total sum(np.sum(c**2) for c in coeffs) 1e-12 energy_ratio e_high / e_total rms np.sqrt(np.mean(window**2)) 1e-12 peak_ratio np.max(np.abs(window)) / rms mod_max np.max(np.abs(cD1)) # 零序电压变化率由外部输入对应前置判断 delta_u0 0.0 return np.array([energy_ratio, peak_ratio, mod_max, delta_u0])这里有一个容易被忽略的细节小波分解在数据窗边界上会产生边界效应边缘几个点的系数不可靠。实际处理时要么把数据窗前后各扩展一段计算完特征再把边缘丢掉要么直接把窗内数据做延拓后再分解。我一般用对称延拓方式处理简单有效。3.4 判据实现与阈值设置def tree_line_fault_classifier(features, thresholds, modesemi_and): 树线放电故障判别。 features: 特征向量 thresholds: 阈值数组 [t_ratio, t_peak, t_mod, t_u0] mode: semi_and 表示部分特征组合判断 返回: tree_line_fault / suspect / normal t_ratio, t_peak, t_mod, t_u0 thresholds ratio, peak, mod_max, delta_u0 features # 工频零序电压变化率必须是前提条件 if delta_u0 t_u0: return normal # 主判据高频能量占比 峰值系数 cond_main (ratio t_ratio) and (peak t_peak) # 辅助判据小波模极大值 cond_aux mod_max t_mod if cond_main and cond_aux: return tree_line_fault if cond_main or cond_aux: return suspect return normal阈值不能凭空拍脑袋这是整套方案里最需要现场数据支撑的环节。我用过的整定方法是拿被保护线路正常运行两周的录波数据计算所有特征量的分布取“均值 3倍标准差”作为基础阈值再拿各种故障样本回放人工调整阈值保证故障样本能判出来、正常样本不误动。实际算例中高频能量占比阈值定在0.15左右峰值系数阈值定在3.0到5.0之间模极大值阈值按录波数据归一化后取0.2左右零序电压变化率阈值取额定相电压的5%。这些数值只对特定线路有效换一条线路必须重新标定。3.5 参数调优的实操建议参数之间是互相牵制的不是单独调哪一个就行。采样率定了小波分解的频带范围分解层数定了特征聚焦的频带范围数据窗长定了时域统计的稳定性。我试过把采样率从10kHz降到5kHz结果cD1对应的频带直接缺了2500Hz以上的成分电弧高频特征明显变弱把数据窗从20ms拉长到80ms暂态峰值系数反而被平均掉灵敏度下降。组合起来看10kHz采样率、db4小波、6层分解、40ms窗长在大多数配网场景下是比较稳的起点配置。还有一个经验阈值最好用相对量而不是绝对量。高频能量占比本身就是比值跨线路差异小一些模极大值如果直接用原始幅值不同线路的电流互感器变比不同、负荷水平不同特征值尺度差几倍很正常。所以实际应用时我会先把模极大值除以窗内最大幅值做归一化再定阈值。4. 现场问题排查误动、拒动与参数调整实录4.1 健全线路频繁告警零序“串扰”怎么规避回放现场录波数据时遇到一个典型问题一条线路发生树线放电相邻两三条健全线路也频繁出告警。查下来原因很简单零序电流通过线路间的电磁耦合串过去了。共杆架设、平行线路或者电缆和架空混合线路健全线路上感应出的零序电流同样包含高频暂态分量特征值也跟着超标。这种场景下单靠本线路的特征量不足以区分故障线路和健全线路。处理办法是增加方向信息。母线零序电压和故障线路零序电流的方向关系是确定的健全线路因为感应电流方向和故障线路相反加方向判据之后就能直接滤掉。工程上更简单一点的做法是当一条线路判定为疑似时把同母线其他线路的特征值拉出来比较取特征值最大、最稳定的那条作为故障线路。我用这个方法回放过几组多线路联动告警的录波效果比单线路独立判断好得多。4.2 消弧线圈补偿系统里的频带调整中性点经消弧线圈接地的系统树线放电识别要更小心。消弧线圈会把接地点的容性电流补偿掉故障点的残流变得很小稳态零序电流几乎没有参考价值。但这不代表算法完全失效。关键是理解消弧线圈在高频下的表现。消弧线圈的电感量是按工频设计的在几百赫兹以上的频段感抗变得非常大相当于开路。也就是说高频暂态分量基本不受消弧线圈影响能量照样可以从细节系数里提取出来。所以这套算法用在消弧线圈接地系统里反而更要依赖高频能量特征和暂态峰值系数不要指望稳态量。实际处理时我调整过分解层数和频带范围。消弧线圈系统里的暂态自由分量频率受补偿度影响可能比不接地系统偏低一些把分析重点从cD1往cD2、cD3挪一挪特征更稳定。具体挪到哪一层拿本系统实际录波看一下频谱分布再定。4.3 其他高阻接地故障的误判与区分策略树线放电不是唯一会产生高频暂态和波形畸变的高阻接地故障。断线落地、绝缘子闪络、电缆单相接地波形上都有相似的地方。用这套特征量去识别有可能会误判。区分的关键在“持续性和间歇性”。树线放电的电弧是反复熄灭重燃的波形里有明显的“熄灭-重燃”间歇过程模极大值出现的频次高、持续时间长。绝缘子闪络往往是一次性击穿暂态集中在初始周波后续电流可能稳定下来断线落地如果形成金属性接地后续就变成了稳定的工频短路过程没有持续的间歇电弧。所以我在判据里加了时间维度数据窗内模极大值出现的次数超过一定数量才认为是树线放电单次冲击基本可以排除。这个判据加上工频零序电压变化率能挡住大部分一次性暂态干扰。4.4 调试中踩过的坑与避坑清单采样率不够采样率低于5kHz时高频电弧特征混叠到低频段特征量全面失真警觉信号是回放故障录波时识别率突然大幅下降。数据窗太短窗长小于10ms时特征值抖动明显同一线路正常运行时也能触发告警。数据窗建议至少覆盖两个工频周期。忘记归一化模极大值不归一化直接套用其他线路的阈值结果就是换一条线路就误动。定阈值前先确认特征量量纲是可比的。小波边界效应直接拿窗口边缘的小波系数算能量边界伪特征会干扰判断处理方式是延拓或丢弃边缘系数。阈值没做现场标定仿真数据调好的阈值直接用在现场十有八九要重调。现场录波和仿真波形的噪声底、互感器传变特性都不一样必须用本线路的数据重新整定。零序电压变化率没有作为前置条件只盯着高频特征不平衡负荷产生的谐波扰动也容易触发误报。加上工频零序电压变化率做前提误报能压掉一大半。我个人在实际操作里的体会是树线放电识别没有一劳永逸的定值特征融合比单个花哨算法管用。单靠高频能量占比误动率压不住把高频能量、峰值系数、模极大值、零序电压变化率组合起来再用方向判据和持续时间做辅助整套方案在现场录波上的表现才真正可用。参数必须用本线路数据标定仿真只能验证方向。另一个建议是投运节奏保守一点先离线回放录波数据再在线运行只发告警观察一两个完整周期、把误报降下来之后再开放跳闸出口。这套代码的价值在于把故障特征从“看不见摸不着”变成“可以计算可以比较”的数值后面的工程化细化还得结合装置平台一点点磨。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑