尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

小波模极大值双端行波法实现输电线路单相接地故障测距

发布时间:2026/9/24 21:31:07

资讯中心
01
ARTICLE

小波模极大值双端行波法实现输电线路单相接地故障测距

小波模极大值双端行波法实现输电线路单相接地故障测距
最近我一直在折腾输电线路单相接地故障测距从阻抗法切到行波法前前后后改了好几版方案最后发现小波变换模极大值双端行波法是能把精度稳定做上去的一条路。仿真模型我用Matlab/Simulink来搭里面包含100km分布式参数线路、A相接地故障模块、两端电流采集配合一段MATLAB脚本做相模变换、小波分解、模极大值定位和双端测距计算整套链路跑下来效果还算稳定。这篇东西适合正在做输电线路故障测距、行波保护、或者小波分析应用方向的人尤其适合想在Simulink里复现一套完整行波测距流程、又不想停留在公式层面的读者。我下面不绕弯子先讲为什么这么选型再讲模型怎么搭最后把误差和踩坑的地方全部分享出来。1. 为什么单相接地测距最后选了小波模极大值双端行波法1.1 阻抗法在高阻接地面前为什么“跪了”传统阻抗测距的思路很简单故障发生后通过电压互感器和电流互感器采集到一相或线间的工频电压、电流算出从母线看向线路的“测量阻抗”再除以线路单位长度的正序阻抗就得到一个距离值。这个逻辑在金属性短路、系统拓扑简单的场合确实能用但一旦碰到单相接地故障问题就来了。单相接地和相间短路有一个本质区别就是故障点往往不是金属性短接。实际线路对树木放电、对杆塔放电或者经电弧击穿空气间隙都会在故障点引入一个过渡电阻。电弧电阻本身随电流变化而波动杆塔接地电阻又受土壤环境、天气影响合成下来几欧姆到几百欧姆都很常见。这个电阻串进故障回路之后测量阻抗里会叠加一个不导相关的阻性分量测距装置会觉得自己“看见”的故障点比实际位置远得多。更麻烦的是双端电源系统里对侧电源会通过接地点持续注入电流这个附加电流会进一步扭曲视在阻抗让测距结果出现几公里甚至十几公里的偏移。另外还有分布电容的问题。电压等级越高、线路越长分布电容的影响越明显集中参数π型等效在工频下都有误差故障暂态过程中误差会被进一步放大。所以我个人的判断是如果你要做的场景里高阻接地是一个常见工况对阻抗法可以降低预期它做选线和保护没问题但要做精细测距真的力不从心。1.2 双端行波法原理与选型优势行波法的逻辑和阻抗法完全不同。故障发生的瞬间故障点会产生一个近似阶跃的高频行波这个行波从故障点同时向线路两端传播传播速度主要由线路的分布电感和分布电容决定非常接近光速。只要我们能记录下这个行波到达M端和N端的准确时刻分别记为t_M和t_N再知道线路全长L和行波速度v就能直接算故障点到M端的距离。推导过程不复杂。设故障点距M端为d距N端为L-d那么行波到达两端的时间分别是t_M d/v和t_N (L-d)/v两者相减得到t_M - t_N (2d - L) / v整理一下就得到双端测距公式d (L v × (t_M - t_N)) / 2这个公式最吸引人的地方在于它不需要去分辨故障点对端的反射波到底长什么样。单端行波法虽然只需要一端的数据但必须依靠“故障点反射波”和“对端母线反射波”之间的关系来做第二约束这就意味着要准确识别出那一堆反射波里的对象而线路中间如果有分支、换位、甚至母线结构复杂一点波头之间会重叠判错的风险很高。双端法只需要锁定第一个到达的初始波头这是所有波头里最清晰、幅值最大、最不容易被搞混的一个可靠性自然高很多。代价就是两端数据必须时间同步在Simulink仿真里这不算事实际工程中用北斗或GPS对时也能做到微秒级这个后文再展开。1.3 为什么要用小波变换模极大值来标定波头行波到达时刻的本质是电流信号里的一个突变点。最简单粗暴的方法就是做差分差分结果最大的位置当作波头到达点。这个办法在理想信号下没问题但真实波形里除了行波还叠着工频负荷分量、噪声、母线反射波等多路信号直接差分很容易被噪声干扰而且阈值要跟着故障条件变换一个过渡电阻阈值又得重新调。小波变换解决的是“如何在干扰里稳定找到突变点”这个问题。突变点在小波变换下会产生一个特征各尺度小波系数的模值会在突变点附近出现局部极大值这个极值点对应信号的奇异位置。突变越尖锐模极大值越突出即使信号里混了一些噪声只要突变点的奇异性和噪声在频带上有区分模极大值依然能把突变时刻挑出来。我实际对比过差分法和小波模极大值法同样的信号差分峰值在噪声稍大时会变成一片毛刺而小波模极大值配合阈值和峰间距限制能够稳定锁定同一个波头。这也是我最后选择这套组合的原因不是因为它听起来高级而是试下来确实更稳。2. 行波信号准备电流行波、采样步长与相模变换2.1 取电流行波还是电压行波很多第一次做行波测距的人会习惯性把电压量当主分析对象这在实际工程里会踩坑。电压互感器尤其是电容式电压互感器CVT高频传变特性并不好行波里几十千赫兹到几百千赫兹的高频分量在进入测量设备之前就已经被衰减掉大半波头变得很钝很难精确定位。电流互感器虽然也有带宽限制但相对电压通道来说高频特性好很多工程上现运行的行波测距装置也基本都是取电流行波。我在Simulink模型里也统一遵循这个原则M端和N端都通过电流测量模块取三相电流所有后续分析基于电流行波。仿真里电压波形其实也能看到行波成分但从清晰度来说电流信号明显更干净而且能够直接对标实际装置的取信号方式少走弯路。2.2 采样步长与测距分辨率的关系这一步非常重要也最容易在刚开始建模时被忽略。双端行波法里距离精度和两端检测到的到达时间差Δt是强绑定的而Δt的时间分辨率又由采样步长决定。设波速v 2.98e8 m/s换算一下不同步长对应的空间分辨率步长1e-6 s等效1MHz采样率一个采样间隔对应约298m步长1e-7 s等效10MHz采样率一个采样间隔对应约29.8m步长1e-8 s等效100MHz采样率一个采样间隔对应约3m。我一开始还想用1MHz采样率来降低计算量算完这个账以后立刻放弃了。仿真里主要验证的是定位原理和算法鲁棒性如果目标是把误差控制在百米以内那么步长至少得取1e-7 s这个量级。所以我在模型里选的仿真步长是1e-7 s并且把Simulink求解器设置成固定步长Fixed-step保证每个输出点的时间间隔严格一致。这个设置的另一个好处是后面做小波分析时不需要处理时间轴不均匀的问题。提示如果To Workspace模块的采样时间和Simulink求解器步长不一致导出的数据间隔可能并不是你预期的1e-7 s。导出后先用 diff(t_out) 看一眼时间间隔匀速再往下走这能省下很多排查时间。2.3 相模变换从三相电流到线模分量还有一个细节容易被忽略就是三相线路上的行波并不是只有一种传播模式。单相接地故障发生后三相电流经过相模变换可以分解为零模地模和两个线模分量。零模行波通过大地形成回流路径波速受大地电阻率影响非常明显而且衰减快不适合拿来测距。线模分量在线路各相之间形成的回路里传播波速稳定基本不受土壤条件影响。所以在算法里必须取线模分量而不是直接拿一相电流的全部分量去分析。我在MATLAB脚本里用的是凯伦贝尔变换。对于A相接地故障取alpha线模分量i_alpha (ia - ib) / 3;或者取beta模 (ia - ic)/3 也可以两者都是线模分量理论波速一致。至于前面的系数是多少其实不用太纠结因为我们只关注模极大值出现的位置不关注幅值绝对值。这个小处理看似不起眼但如果跳过这一步、直接用零模分量去做定位波速只要取错一点结果可能偏出几公里。3. Simulink链路搭建从分布式参数线路到波形数据3.1 线路与电源的参数设置我搭的是110kV单回架空输电线路全长设为100km。电源部分用Simscape Electrical里的三相交流源线电压110kV、频率50Hz额定容量和内阻抗按常规系统参数设置即可测距研究里电源细节对结果影响不大。线路模型用的是Distributed Parameters Line。这是整个仿真链路里最关键的一个选型决策。行波法研究的是高频暂态过程线路的分布参数特性决定行波传播速度和波形形态用π型集中参数线路模型是得不到正确行波波头的因为π模型只对工频附近等效它内部没有建立“沿线路传播需要时间”这一物理过程。Distributed Parameters Line基于贝杰龙行波模型天然能模拟行波从故障点传到两端母线的过程这也是我们做这个课题的基础。线路正序和零序参数我按典型架空线设置了一组值如下表参数正序零序电阻0.15 Ω/km0.37 Ω/km电感1.3 mH/km4.0 mH/km电容8.6 nF/km6.0 nF/km长度100 km-这里电感L1和电容C1算出来的理论线模波速大概在2.99e8 m/s附近和算法里取2.98e8 m/s差得很小说明这组参数作为示例是自洽的。如果自己搭模型直接按这个参数填就行不需要额外去标定波速。3.2 故障模块与数据采集配置故障模块我用的Three-Phase Fault设置为A相接地故障故障电阻可以单独填。为了测试不同工况我分别设置了0Ω、10Ω、50Ω、100Ω、200Ω等一组过渡电阻。故障切入时间通过Transitional Fault或Timer控制我习惯设成0.03s时刻故障发生仿真总时长0.05s。这样故障前有30ms的稳态区故障后有20ms区间足够容纳行波在100km线路上的多次折反射。数据采集部分在M端和N端各放一个Three-Phase V-I Measurement模块把三相电流引出来接To Workspace模块写到工作区。这里有一个非常容易踩的坑To Workspace模块的Sample Time一定要显式设置成1e-7不要用默认的-1继承。如果不显式设置导出的数据时间间隔很可能和仿真步长不一致后续做时间对齐和小波分析时会出现各种莫名其妙的偏差。采集到的变量建议设成数组或时间序列格式M端三相电流分别命名ia_m、ib_m、ic_mN端对应命名ia_n、ib_n、ic_n脚本里直接引用清晰又方便。3.3 小波模极大值定位到达时刻的MATLAB代码核心算法我放在MATLAB脚本里处理没有做成Simulink自定义模块主要原因是调试方便改一个小波基或者阈值不用重新编译模型。完整流程是从工作区读两端三相电流截取故障前后的一段窗口做相模变换得到线模分量然后小波分解从第1层细节系数里找模极大值得到两个到达时刻最后套测距公式。dt 1e-7; t (0:length(ia_m)-1) * dt; % 截取故障前2ms到故障后15ms的数据窗口 idx (t 0.028) (t 0.045); t_window t(idx); for k 1:2 if k 1 ia ia_m(idx); ib ib_m(idx); ic ic_m(idx); else ia ia_n(idx); ib ib_n(idx); ic ic_n(idx); end % 凯伦贝尔变换取alpha线模分量 i_alpha (ia - ib) / 3; % 5层db4小波分解 [C, L] wavedec(i_alpha, 5, db4); d1 wrcoef(d, C, L, db4, 1); % 找模极大值取第一个超过阈值的峰作为波头到达点 [pks, locs] findpeaks(abs(d1), ... MinPeakHeight, 0.3 * max(abs(d1)), ... MinPeakDistance, 100); t_arrive(k) t_window(locs(1)); end v 2.98e8; % 线模波速单位m/s L_line 100e3; % 线路全长单位m d_m (L_line v * (t_arrive(1) - t_arrive(2))) / 2 / 1000; % 单位km这段代码里有两个参数需要根据实际信号微调。第一个是小波分解层数我固定取5层但定位主要看第1层细节系数d1因为d1对应最高频段时间定位最锐利。如果信号噪声很大可以往第2层或第3层看抗噪更好但定位精度会略差。第二个是findpeaks的MinPeakDistance它负责把同一个波头附近相邻的几个毛刺合并成一个峰1e-7步长下取100相当于要求两个峰之间至少间隔10μs可以避开那些紧挨着的伪极值。4. 不同故障工况下的测距结果与误差分析4.1 不同故障距离的测试模型搭好以后我先做了最基础的验证固定过渡电阻为1Ω故障初相角选90°也就是故障相电压峰值时刻分别在距离M端10km、30km、50km、80km处设置A相接地故障测试结果如下故障距离(km)提取时间差Δt(μs)测距结果(km)误差(m)10-268.2010.044030-134.0030.033050-0.2049.97-3080201.6080.0440从结果来看金属性接地故障下的定位误差基本都在几十米量级和1e-7步长对应的理论分辨率是吻合的。这也验证了一个结论在仿真环境里只要采样步长足够小行波到达时刻提取是相对稳定的测距结果不会出现那种几百米甚至几千米的离谱偏差。如果误差明显偏大先回头检查时间轴是否均匀再检查是不是把零模分量当线模用了。4.2 过渡电阻与故障初相角的影响接下来固定故障距离30km改变过渡电阻看算法在高阻接地场景下的表现过渡电阻(Ω)测距结果(km)误差(m)030.03301030.05505030.022010030.1111020030.21210可以明显看到过渡电阻在50Ω以内时误差很小到100Ω以上误差逐步放大。原因很直观过渡电阻越大行波波头的上升沿越平缓小波模极大值点对应的“奇异位置”会相对于真正的起始时刻往后漂也就是说测出来的波头到达时间普遍偏晚最后反映在测距结果上就是偏差变大。这种情况在阻抗法里会更严重几百欧姆过渡电阻下阻抗法已经很难给出有参考价值的位置而行波法在200Ω时误差两三百米对巡线查找还是有实际意义的。故障初相角的影响也是一个不能忽略的因素。90°初相角时故障暂态能量最大波头最清晰30°时误差会增加到五六十米到0°附近也就是故障相电压过零点时刻行波幅值变得很弱波头检测难度显著上升误差可能超过百米。不过此时通过调整阈值、换用更小尺度的小波系数重新检测通常还能给出一个可用的定位结果不至于完全失效。4.3 误差从哪里来综合上面这些测试误差来源主要是三块。第一是采样步长量化误差这是最底层的物理限制1e-7步长下极限分辨率就在几十米级别无法通过算法消除只能靠提高采样率或改进时间插值来缓解。第二是波速取值偏差我整条线路用的是固定线模波速但实际行波中各频率分量传播速度并不完全相同频散效应会带来微小影响只是在线模分量上表现得不太明显。第三是小波模极大值自身的定位偏移这个在高阻接地场景下最突出波头越缓模极大值越倾向于向波头中间位置偏移这也是高阻工况误差变大的直接原因。5. 折腾过程中踩的坑与后续可扩展方向5.1 最坑的一件事可变步长导致导出波形失真这是我整个调试过程里花时间最久的一个问题。第一次跑模型的时候Simulink用的默认可变步长求解器理论上它会在行波到达时自动加密计算算得挺准。但To Workspace模块的采样时间我设的是1e-7也就是说即使计算步长自动加密到了更小导出到工作区的数据点仍然是1e-7间隔。问题在于行波真正到达母线的那个时刻很可能落在两个导出点之间导出的数据就把这个突变点“抻”成了一个斜坡。结果就是在MATLAB里画出来的电流波形波头明显变钝做小波分析时第1层细节系数上冒出了两个幅值相近的大峰findpeaks每次都锁定到错的那个峰测距结果偏出去七八百米。后来我用diff(t_out)检查时间间隔发现数据间隔虽然显示是1e-7但波头附近实际的有效信息已经被求解器的自适应步长“吃掉”了。解决办法很简单Simulink Solver直接改成Fixed-step固定步长1e-7让计算步长和导出步长完全一致。改完之后波头形状恢复正常定位结果立刻稳定下来。这个坑让我意识到行波测距仿真的第一原则就是时间轴要绝对可控。5.2 波速到底取多少才靠谱双端行波法公式里波速v和时间差Δt是同等重要的变量。如果波速取得不准公式再漂亮也没用。我一开始直接查了一篇文献里的2.9e8 m/s来用算出来每组结果都有一点系统性偏移误差不大但很别扭。后来我在模型里做了个最简单的标定在线路一端加一个窄脉冲源在另一端测脉冲到达时间用线路长度除以时间差得到这条线路在当前参数下的实际波速。把这个标定值代入测距公式系统偏差一下子就消除了剩下的是随机性误差。这里再强调一下一定要用线模波速。零模波速受大地电阻率影响很大而且随频率变化明显不同土壤条件下可能差出10%以上。线模波速稳定所以前面才会坚持做相模变换取alpha或beta模。如果你在仿真里发现测距结果总是固定偏大或偏小优先怀疑波速其次再怀疑时间轴。5.3 从仿真走到工程时间同步与在线化仿真里M端和N端的采样由同一个时钟驱动天然同步但工程里双端行波法必须解决两端采样时钟的对时问题现在现场主要靠北斗或GPS授时同步误差可以做到亚微秒级对应的距离误差在几十米以内。另一个工程化差异是数据存储行波采样率通常在1MHz以上不可能把原始波形连续记录下来实际装置都是采用故障触发方式只记录触发前一小段和触发后一小段数据这与我在脚本里截取窗口的思路是高度一致的。后续如果想把这套仿真做成一个更完整的综合模块可以把故障选相和测距做在一起比如先根据零模和线模分量的能量比例判断是不是接地故障再做行波测距这样模型的输出就不再只是一个距离值而是一套完整的故障诊断结论。这轮折腾下来我最大的感受是测距公式本身并不复杂真正决定结果的往往是那些看起来不起眼的参数。采样率、波速、小波基、分解层数每一项背后都有取舍。如果你也在Simulink里复现行波测距先把仿真步长固定下来用干净的波头把整个链路跑通再慢慢去加高阻、故障初相角这些极端工况心里就会更有底。
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

◈

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

◐

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

▲

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。