最近在琢磨输电线路行波仿真这个方向,翻了半天资料发现一个问题:多数教程讲的是单线双端测距,故障行波从故障点往线路两头跑,然后通过两个变电站的到达时间差算位置。这个逻辑确实清晰,但真实电网哪有这么乖,环网供电、多电源并联才是常见形态。比如标题里这个“3电源4段环网分布参数”的工况,行波在环网里会沿多条路径传播,节点处还会发生折射、反射,波头序列比单一线路复杂得多。
这篇文章就把这个场景完整拆一遍:为什么要用3电源4段环网作为仿真对象,分布参数线路模型和集中参数模型到底差在哪,故障行波是怎么产生和传播的,以及最关键的——如何把一张环网拓扑的故障行波仿真从零搭起来,并从仿真结果里把故障位置算出来。适合正在做输电线故障测距、继电保护整定或者暂态仿真研究的工程师和学生参考,涉及的理论和操作都能直接落到自己的项目里。
1. 项目整体设计:3电源4段环网到底在仿真什么
1.1 为什么偏要选环网拓扑:从单线图到环路
单线图(一条电源一条负荷,中间一段线路)和双端线路是教材里的经典例题,行波从故障点出发,沿线路向两端跑,路径单一,测距公式非常简单:故障距离等于波速乘以两端到达时间差再加上线路长度再除2。但一旦网络结构变成环网,问题就开始有意思了。
环网的特点是节点之间有两条或以上的电气通路。以“3电源、4段线路”这种结构为例,4段输电线首尾相连,形成一个闭合环路,3个电源节点分布在该环路中的3个不同节点上。这种情况下如果某条线路上发生故障,故障点产生的行波会沿两个方向同时进入环网。这两路行波并不是各走各的然后消失,它们会在环网内部不断穿行,遇到电源节点会部分反射、部分透射,遇到线路分支点也会产生折射。结果就是:同一个测量节点在故障发生后的一段时间里,会接收到一串时间间隔不同的波头序列,初始波头对应的是行波沿最短路径到达该节点的时刻,后续波头对应的是绕远路、经过多次反射后的到达时刻。
这种场景在实际电力系统中对应的是城市环网、某些区域电网的合环运行,以及多座变电站由环形线路互联的输电网。做行波测距或者故障定位算法研究时,如果只在单线拓扑上调通了算法,放到环网上经常会遇到“波头配对错误”“算出来的故障距离不稳定”这些问题。根源就在于环网中行波传播路径不唯一,到达同一测量点的最短路径和次短路径之间的时间差,可能只有几十微秒,如果算法没有把拓扑信息考虑进去,很容易把后续反射波头误判为初始波头。
此外,3个电源的结构也让故障特征更贴近实际。多电源意味着故障暂态过程由多个电源共同“供能”,不同电源的短路容量差异、电压初相角差异,都会改变行波幅度和波形前沿陡度。这为行波本身的幅值分析、方向判别提供了更多素材,也更接近真实电网中合环运行时的故障特征。
1.2 为什么必须用分布参数:集中参数在行波面前不够用
这是整个仿真方案里最关键的一个选型问题:线路模型到底用集中参数还是分布参数。我的建议非常明确:做行波仿真,只要涉及微秒级波头识别,就必须用分布参数模型。
先说说集中参数模型为什么不行。集中参数把整条线路看成一组串联的电阻、电感和并联的电容器,这种模型只适用于低频暂态或者稳态分析。它的局限性在于没有时间延迟概念——线路两端电压电流变化是“同步”的,或者说延迟非常微小且不精确,没有体现电磁波在导线上的传播时间。而行波测距依赖的核心信息恰恰是传播时间:故障行波以接近光速的速度在线路上跑,跑1公里大约需要3.4微秒,如果整个线路模型本身的时间延迟都不对,那么测出来到达时间差完全没有意义。
分布参数模型则不同。它把线路的电阻、电感、电容沿线路长度方向连续分布,用偏微分方程描述电压电流随时间和空间的变化,在时域仿真中能够真实体现行波以有限速度沿线路传播的过程,并且能够模拟波在阻抗变化点处的反射和透射。换句话说,分布参数模型告诉我们“这一端在某一时刻看到的波动,其实是线路另一端若干微秒之前发生的事件”。
从实际仿真效果来看,同一个故障在集中参数模型和分布参数模型下输出的波形差异极大。集中参数模型输出的故障后电压波形表现为整体工频偏移加上一个衰减振荡,而分布参数模型输出的波形中可以看到明显的行波波头:一个陡峭的突变,幅值较高,前沿时间可能只有几微秒甚至亚微秒。这个波头才是测距算法的输入信号。
做故障测距方向的人经常说“行波测距拼的就是时间精度”,而时间精度的第一步就是线路模型的物理准确性,这一步错了后面全白搭。
1.3 三个电源在仿真中的工程含义:短路容量、初相角与环网潮流
写仿真方案时,很多人觉得电源只要有就行,随便放三个理想电压源,其实这种处理在行波仿真是要吃亏的。
3个电源节点通常对应3座变电站或发电厂并网点,在电磁暂态仿真种,每个电源都需要设置一个内阻抗,这个内阻抗在工程上反映的是电源的短路容量。内阻抗越小,该电源向故障点提供的短路电流越大,故障行波的幅值也越大。实际做仿真时,三个电源的内阻抗不应当完全一致,因为真实系统里不同变电站的容量和上级电网结构都不一样。通常可以取一个基准值,然后让三个电源的短路容量按 1.2 : 0.8 : 1.0 这种比例错开,这样在故障后的波形中能看到来自不同方向的波头幅值有差异,这个差异在波头识别和方向判断中其实是可利用的信息。
另外,稳态运行时的环网潮流也会影响故障前的电压相位分布。三个电源之间的电压相位差,决定了各段线路上正常运行时功率流动的方向。仿真中可以通过调整电源相位角来实现预期的潮流分布,比如让正常潮流沿某一条线路方向流动。这个设置虽然不直接影响行波传播速度,但会通过故障前电压幅值影响故障瞬间行波的能量大小——行波本质上是故障前运行电压在故障点处的突然释放,所以故障前电压越高,初始行波幅值越大。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 行波传播原理与模型参数:开工前先吃透两个核心公式
2.1 波动方程与两个核心量:特征阻抗和波速
输电线路的分布参数模型在数学上对应的是经典的波动方程。对于一条无损传输线,电压 u 和电流 i 满足
∂u/∂x = −L·∂i/∂t
∂i/∂x = −C·∂u/∂t
其中 L 是单位长度电感,C 是单位长度电容。这两个方程联立之后,u 和 i 都满足标准的波动方程,解的形式是前向波和后向波叠加的形式:电压行波和电流行波以相同的速度沿线路传播,方向相反的两个波会在线路里共存。
这个理论中两个物理量需要特别关注:
第一个是波速 v = 1/√(LC)。架空线的单位长度电感通常在0.8~1.1 mH/km 之间,单位长度电容大致在 10~14 nF/km 之间。代入算一下,波速大约在 2.9×10^8~3.0×10^8 m/s,略低于真空光速。为什么低于光速?因为线路周围的媒质不是完全真空,电磁场在导线周围空气和绝缘介质中传播,波长更短,速度略慢。做工程计算时,通常取 0.96~0.99 倍光速,具体看线路型号。实际的波速可以用单位长度参数精确计算。
第二个是特征阻抗 Zc = √(L/C)。架空线的特征阻抗一般在 250~400 Ω 之间。比如 L=0.88 mH/km、C=13 nF/km 时,特征阻抗约为 260 Ω。带电缆路则完全不同,因为电缆的电容要大得多,特征阻抗可能只有 30~50 Ω,这也是为什么行波在架空线和电缆的交接处会发生强烈的反射和透射。特征阻抗决定了行波幅值与行波电流幅值之间的关系:电压波幅值等于特征阻抗乘以电流波幅值,这个关系在波头提取时很重要——测量电压行波和测量电流行波本质上等价的,但实际提取时电流行波往往更容易做相模变换和滤波处理。
2.2 故障行波是怎么产生的:一个叠加扰动源
故障行波的形成原理用叠加定理解释最直观。故障发生前,系统处于正常的工频稳态状态,线路上每一点的电压电流都是可知的。故障发生后,故障点的电压从正常运行电压瞬间变化到接近零(金属性短路情况下),这个变化量可以等效为在故障点突然叠加了一个与故障前电压大小相等、方向相反的“阶跃扰动源”。
这个扰动源一旦出现,就会在故障点处激发出分别向线路两端传播的电压电流波。初始行波的幅值近似等于故障前故障点处的工频电压瞬时值除以相关阻抗,但工程上我们更关心的不是具体幅值,而是它的到达时间。
关键点在于:故障发生时刻决定了行波的初始幅值。如果故障发生在电压峰值附近(比如A相电压正最大值处),那么A相接地故障的初始行波幅值最大,波头最陡峭,最容易识别;如果故障发生在电压过零点附近,行波幅值很小,波头缓慢,可能被噪声淹没。因此,在仿真方案中设置故障时间时,一般会尽量让故障初始角接近90°,这样既能模拟实际工程中最常见的低阻短路情况,也方便波形观察和算法验证。这个细节在后面仿真配置里还会再讲。
2.3 分布参数线路的数值实现:贝杰龙模型的时间延迟思想
有了波动方程,怎么在计算机里实现呢?电磁暂态仿真工具里最常用的分布参数线路模型是贝杰龙(Bergeron)模型。贝杰龙模型的核心思想是用特征线法把偏微分方程转化为一组等效的集中参数网络,这个网络在每一步仿真中只需要计算历史电流源和波阻抗即可。
具体来说,一条分布参数线路在贝杰龙模型中等效为:线路两端各接入一个特征阻抗 Zc,同时每一端还并联一个受控历史电流源,这个历史电流源的数值取决于另一端在“过去一段时间”的电压和电流值。这个“过去一段时间”正好等于行波在线路上单程传播的时间 t = L/v。这个模型的神奇之处在于:它用“历史值”的方式精确保留了线路的时间延迟特性,能够模拟行波到达线路一端后经过L/v的时间再对另一端产生影响。
这也解释了为什么仿真步长必须足够小。贝杰龙模型假设在每个仿真步长内,线路的历史电流源保持不变,因此要捕捉到真实的行波波形,仿真步长必须远小于行波传播过程中我们关心的最短时间尺度。对于长度为30 km的线路,行波传播时间大约是 100 微秒,而波头本身的前沿可能只有 1~5 微秒,如果仿真步长取 10 微秒,波头完全被抹平了。做行波仿真时,步长一般建议取 0.05~0.5 微秒量级,对应采样率 2~20 MHz,仿真时长控制在 5~20 毫秒就足够覆盖故障后的行波多次反射过程了。
3. 仿真模型搭建实操:从零搭起一套3电源4段环网
3.1 仿真工具选型与整体流程
做输电线路行波仿真,需要选用自身支持分布参数线路模型和可控故障元件的电磁暂态仿真软件,市面上常见的ATP-EMTP、PSCAD/EMTDC,以及MATLAB/Simulink 电气系统模块都能实现。我个人的习惯是用经典电磁暂态仿真工具,原因很直接:贝杰龙模型是这类工具的内置标准模块,不需要自己推导历史电流源的迭代公式,搭建和排查都比较快。
整体流程可以按下面四步走:
- 确定系统参数:包括额定电压、线路长度、每段线路的单位长度电阻电感电容、三个电源的内阻抗和相位角。
- 搭建仿真拓扑:4段线路按环网闭环连接,3个电源分别接入其中3个节点,剩余1个节点作为普通联络节点。
- 设置故障与测量:在目标线路设定位置设置接地短路故障,设置多测量点的电压电流采集,采样步长按高频标准配置。
- 运行仿真并导出数据:获取故障后各节点电压电流波形,存储为高采样率的数据序列,便于后续波头提取和测距计算。
3.2 参数定标:从电压等级到故障位置
先给出一套可以照抄的参数示例,这套参数脱胎于典型的220 kV架空输电线路,内部各段长度和电源参数略有变化,仿真结果能够反映不同路径时延差异:
系统额定电压 220 kV,额定频率 50 Hz。线路采用4段,长度分别为:
- L12:N1至N2,30 km
- L23:N2至N3,25 km
- L34:N3至N4,28 km
- L41:N4至N1,32 km
四段线路首尾依次连接,形成环形拓扑。三个电源分别挂在 N1、N3、N4 三个节点上,N2 作为无电源的联络节点。
线路单位长度参数按典型220 kV单回架空线给定:
| 参数 | 正序值 | 零序值 | 说明 |
|---|---|---|---|
| 电阻 r | 0.027 Ω/km | 0.28 Ω/km | 正序电阻用于损耗 |
| 电感 l | 0.88 mH/km | 3.22 mH/km | 决定波速和特征阻抗 |
| 电容 c | 13 nF/km | 7.3 nF/km | 决定波速和特征阻抗 |
按正序参数计算,线模波速约为 2.96×10^8 m/s,折合 0.296 km/μs;特征阻抗约 260 Ω。
三个电源的内阻抗设置如下:
| 电源 | 内阻抗 | 相位角(相对于N1) | 说明 |
|---|---|---|---|
| G1 | 1.2 + j8.0 Ω | 0° | 基准电源 |
| G3 | 1.8 + j10.0 Ω | -5° | 容量稍小 |
| G4 | 0.9 + j7.0 Ω | +3° | 容量稍大 |
故障设置:在 L12 线路距 N1 约 12 km 处设置 A 相接地短路故障,接地电阻 Rf = 10 Ω。故障发生时刻设定在 A 相电压峰值附近(约 10.5 ms 处),仿真总时长 12 ms,仿真步长 0.05 μs,数据记录步长与仿真步长一致。这个配置下,故障前有充裕时间建立稳态,故障后的行波过程也能完整记录。
3.3 七步建模:拓扑连接、测量配置与仿真控制
下面按步骤过一遍实际操作,方便照着搭:
第一步,新建一个时域仿真工程,把模型基准频率设为 50 Hz,仿真步长设为 0.05 μs。这里需要提醒,如果步长设置得太小(小于 0.01 μs),仿真计算量会非常大,10 ms 仿真时长对应 20 万个步长,加上多节点环路,运行时间可能达到几分钟。如果不是特别在意微小差异,0.1 μs 是更平衡的选择。
第二步,搭建线路模块。创建4个分布参数线路模型,长度分别填入30、25、28、32 km,单位长度参数按上面的正序和零序参数填入。电磁暂态工具里通常可以选择“参数以单位长度输入”,勾选后会要求填R、L、C的单位长度值,贝杰龙模型会自动计算传播时间和特征阻抗。
第三步,接入电源。在 N1、N3、N4 节点分别连接三相交流电压源,输出幅值按 220 kV 额定电压峰值设置(相电压峰值约为179.6 kV),频率50 Hz,相位角按上表设置。每个电源串联对应的内阻抗模块,保证行波在电源节点处的反射系数符合实际。
第四步,连接环网拓扑。按 N1→N2→N3→N4→N1 的顺序,将各线路模块首尾相连,形成闭合环。特别注意连接顺序不能错,否则故障后行波传播路径与设计不一致。连接完成后,可以用软件的“电气节点检查”功能做一次导通性校验,确保没有悬空节点。
第五步,设置故障模块。在 L12 线路上设置一个可编程故障模块,放置在距 N1 12 km 处。故障类型选 A 相接地(AG),故障电阻 10 Ω。故障时刻设置为 10.5 ms,这时候 A 相电压接近正峰值,初始行波强度最大。故障模块的时间线需要单独设置,保证故障在稳态阶段结束后才投入。
第六步,布置测量点。在 N1、N2、N3、N4 四个节点分别放置三相电压测量单元,同时在 L12 两端以及故障点两侧(线路模块的前端和后端)放置电流测量单元。测量数据要设置为导出格式,包含时间戳、三相电压和三相电流数值。为了让后续波头识别更精确,建议同时保存各测量点的电压和电流,而不是只存一个量。
第七步,运行仿真并导出数据。运行前先检查一次仿真参数:总时长 12 ms,步长 0.05 μs,故障时刻 10.5 ms。运行完成后,把四个节点的电压电流数据导出为高精度的数据文件(CSV或MAT格式),导出时保持原始采样率,不要在软件内部做降采样。
3.4 测量节点覆盖与数据记录格式:后面算法全靠这些数据
很多初学者在搭建阶段不太重视测量点的完整覆盖,做完仿真后发现数据不够用,比如想做双端测距但某一端没有电流数据,或者想做环网多路径校验但只有两个节点的电压信息。建议在模型搭建时就把测量点布置得足够充分:四段线路的每个端节点都布置电压和电流测量,故障线路内部如果有中间节点也要尽量测量。
数据记录格式上,导出的表格至少要包含“时间”“节点编号”“A相电压”“B相电压”“C相电压”“A相电流”“B相电流”“C相电流”这几列。时间戳的精度一定要保留到微秒甚至亚微秒级,如果导出的时候时间戳被截断到毫秒,整个测距就没法做了。仿真平台通常有“输出精度”或者“数据采样”设置,务必把时间戳输出格式设为双精度浮点数。
4. 故障行波波形分析与测距定位:仿真结果怎么往下用
4.1 先看原始波形:故障后第一个突变在哪里
仿真跑完,导出的数据先别急着上算法,直接在画图工具里把N1节点的A相电压波形画出来。你会看到故障前是标准的工频正弦波,10.5 ms 故障发生后电压跌落,同时波形上叠加了明显的毛刺和震荡。放大故障后1ms时间窗,第二个明显的现象是:故障发生后约 41 μs,电压波形上有一个陡峭的突变,这就是从故障点沿线传播到 N1 的初始行波波头。
为什么是41 μs?因为故障点距 N1 为 12 km,波速约 0.296 km/μs,传播时间约 40.5 μs,加上故障发生后故障模块触发到行波实际形成的微小延迟,大致吻合。同理,在 N2 节点你会看到一个约 61 μs 的突变,对应18 km的传播距离。这两个突变之间的时间差约20 μs,是后面双端测距的关键量。
对比 N1、N3、N4 三个节点的波形还可以发现:N1离故障点最近,初始波头最陡、幅值最大;N3和N4离得远,波头幅值略有衰减,而且 N3 和 N4 的波头后面序列更复杂——因为行波到达 N1 后会继续沿环网传播,经过 L41 到 N4,再经 L34 到 N3,这一串后续波头会按路径长度依次到达。这部分波形特征是环网和单线拓扑最显著的区别。
4.2 相模变换:把三相耦合线路变成“单导线”来分析
三相输电线路在正常运行时存在相间耦合,A相故障时,B相和C相也会有感应分量,直接对A相电压做行波分析虽然可行,但会受到零模分量传播速度不稳定的干扰。更稳妥的做法是先对三相电压或电流做相模变换(相域变换),把耦合的相分量变换成相互独立的模分量。
常用的变换是Clark变换或者Karenbauer变换。以Karenbauer变换为例,变换后的三个模分量分别称为线模1、线模2和零模。线模分量对应的是线间电磁场主导的行波,传播速度稳定、衰减小,最适合做波头到达时间提取;零模分量与大地回路有关,波速不稳定,通常不作为测距的计算依据。
在实操中怎么做?导出的三相电压数据矩阵乘以变换矩阵即可。变换后的线模分量再做波头检测,比直接对单相波形检测稳定很多。这么大的好处已经够有说服力。实际操作中,如果使用波形分析工具,很多工具内置了相模变换函数,直接调用即可。
4.3 波头到达时刻提取:从陡峭突变到精确时间戳
波形上肉眼看到突变是一回事,算法上要自动且准确地提取波头到达时间又是另一回事。工程上常用的方法有两类:
一类是小波变换模极大值法。对线模电压或电流信号做离散小波变换,选择 db4 之类的短支撑小波,分解到第 1~3 层细节系数,细节系数的模极大值点对应信号的奇异点,也就是行波波头到达时刻。小波方法的优点是抗噪能力强,缺点是阈值的选取会影响对弱波头的检测结果。
另一类是Teager能量算子(TEO)法。先计算信号的TEO能量值 y[n] = x[n]^2 − x[n−1]·x[n+1],再以能量的显著跃升作为波头到达判据。TEO方法计算量小,适合实时处理,对陡峭波头非常敏感。实际操作时,我一般会把线模电流信号先做一次带通滤波(比如 1 kHz~2 MHz 带通),再计算TEO能量,设定能量阈值为序列最大值的 5%~10%,第一个超过阈值的点就是初始波头到达时刻。
无论用哪种方法,最终提取到的是一个精确到微秒甚至亚微秒的时间戳。例如 N1 处提取到 t1 = 10.5406 ms,N2 处提取到 t2 = 10.5610 ms,故障时刻减去各自的传播时间后,两个时间戳之差约 20.4 μs。这个数字就是测距算法的核心输入。
4.4 双端测距与环网多路径定位:公式代入与结果校验
先看最基本的双端测距公式。设故障发生在 L12 线路上,故障点距 N1 的距离为 d,线路总长为 L,波速为 v,故障行波到达 N1 和 N2 的时间分别为 t1 和 t2,且 t1 < t2,则可以写出:
d = (L − v·(t2 − t1)) / 2
代入数据:L = 30 km,v = 0.296 km/μs,t2 − t1 = 20.4 μs,计算得到:
d = (30 − 0.296 × 20.4) / 2 = (30 − 6.04) / 2 = 11.98 km
和预设的12 km非常接近,误差在0.02 km(20米)以内。这个精度在行波测距中是正常的,误差主要来自波速的实际值偏差以及波头提取时间戳的量化误差。如果希望进一步提高精度,可以对线路的波速做一次实测校准——人为制造一个已知距离的扰动,反向推算实际波速。
对于环网,只用两端数据其实不够。因为行波到达 N1 后还会继续绕过环网到达 N4、N3,这些后续波头包含了环网拓扑信息。可以利用完整的节点到达时间序列,通过“最短路径匹配”来校验定位结果:假设故障点在某个候选位置,计算该位置到各测量节点的最短传播路径长度和各路径对应的理论到达时间,然后与实际提取的到达时间对比,残差最小的候选位置即为定位结果。这本质上是一个最小二乘拟合问题,需要在代码里写一下寻优逻辑,但在拓扑结构比较清晰的情况下实现并不复杂。
现场实践中,环网测距的错误案例非常多。最常见的错误是:直接用最接近故障位置的相邻两端测距,得到的结果虽然基本正确,但后续波头匹配错误导致测距结果落在环网另一侧的线路段上。因此,任何环网定位算法都必须先确定故障在哪一个线段内,再结合双端数据精确定位。一个实用的判断方法是:比较所有节点初始波头到达时间,最先到达的两个节点就位于故障线路段的两个端点上。
5. 实战中的常见问题与排查技巧
5.1 数值振荡:分布参数线路与集中元件接口处的反射
做行波仿真时,最常见又最让人困扰的问题就是数值振荡。典型的现象是:故障发生后,电压电流波形上出现高频、大幅值的规则抖动,看起来像真实信号,但其实是仿真算法产生的数值伪波。它主要发生在分布参数线路与集中参数元件(电源内阻、电抗器等)的连接点,与行波在阻抗突变点的反射有关,特别是在仿真步长相对波头时间不够小的时候更容易被激励出来。
排查方法也简单:先把仿真步长缩小一半重新运行,如果振荡频率随步长变化,那就是数值振荡;如果不变化,恭喜,这是真实行波。实际仿真中,适当在电源节点并联一个小电容(比如 0.1~0.5 μF)来模拟母线杂散电容,可以显著抑制接口处的数值反射。如果仍不够,还可以在波阻抗和节点之间加一个阻尼电阻,不过这会影响行波幅值的准确性,建议仅在调试阶段使用。
5.2 波头识别总出错:先查滤波,再查阈值
波头识别不准是让很多人卡壳的地方。一个典型情况是:用TEO算法提取出来的第一个波头时间,比肉眼观察到的突变时间提前了几微秒;或者小波变换在某个节点上检测出了多个波头,无法判断哪个是初始波头。
排查思路分两步。第一步检查滤波环节。如果带通滤波器的上限频率太低,比如只有 100 kHz,那么行波波头因为高频成分被滤掉,波形会变得圆滑,峰值点对应的时间会比真实到达时刻偏移。建议带通上限至少保留到 1 MHz 以上,对 0.05 μs 步长采集的数据完全支持几兆赫兹的信号。第二步检查阈值设置。阈值设太小时,噪声的尖峰会被误判为波头;阈值设太大时,真实的行波波头可能被漏检。我习惯先统计故障前一小段信号的TEO能量均值,再以“均值 + 10倍标准差”作为自适应阈值,效果比固定阈值稳定得多。
5.3 故障初始角选不对,行波隐身:从根源上避免
还有一个非常容易被忽略的问题:故障发生时刻的电压初相角。如果 A 相接地故障恰好发生在 A 相电压过零点,故障前后电压几乎不变,故障点产生的电压行波非常微弱,电流行波虽然有突变但波形前沿不明显,整套算法都拿不到有效波头。仿真里看着跟没发生故障似的,其实不是模型错了,是行波本身没有“传递出足够大的扰动”。
做仿真设计时,无论是演示还是算法测试,故障时刻都应设置在故障相电压峰值附近。可以通过调整故障动作时间来实现,比如在 50 Hz 系统里,A 相电压峰值每 20 ms 出现一次,如果仿真时间轴从 0 开始,A 相电压幅值最大点大约在 5 ms、15 ms、25 ms……把故障时刻设在 10.5 ms 前后的非峰值位置也很常见,关键是避开过零点。如果现实中要模拟过零故障,那也是行波测距算法要解决的难题,但至少在做仿真验证时,不要给自己创造一个几乎无法识别波头的极端工况。
5.4 波形似懂非懂:一张快速检查表
最后分享一张我自己排查仿真问题时用的检查表:
| 现象 | 可能原因 | 优先检查 |
|---|---|---|
| 初始波头时间明显偏大 | 波速参数错误或线路段使用了集中参数模型 | 核对线路单位长度LC参数、模型类型 |
| 波形出现高频振荡 | 数值振荡 | 减小仿真步长、接口加杂散电容 |
| 波头时间逐次相差几个微秒 | 滤波过度或阈值偏差 | 提高带通上限、使用自适应阈值 |
| 故障后波形无明显突变 | 故障初始角接近过零 | 调整故障发生时刻 |
| N1先收到波头但N2没有收到 | 故障在线路内部,但测量点配置遗漏 | 检查故障位置和测量布置 |
| 双端测距结果偏差超过200 m | 波速取值不准 | 用已知距离实测校准波速 |
| 环网测距结果落在错误线段 | 波头配对错误 | 先比较初始波头时间,确认故障线段 |
6. 最后聊点经验:仿真数据别急着看完就删
这类行波仿真跑完,第一波激动过后别急着关掉工程文件。我个人有一个习惯:把不同故障位置、不同接地电阻、不同故障初始角的多组仿真结果全部存下来,形成一个小的“故障行波样本库”。后面调试测距算法、优化波头提取参数时,这些样本可以反复回放对比,比每次重新跑仿真效率高得多。特别是在环网拓扑下,不同线段故障的行波到达时间序列差异明显,多存几组数据能帮你快速确认算法在哪些位置精度高、哪些位置容易出错。
另外,如果文章里的这套模型是你第一次搭,建议先跑一个最简单的验证案例:单条线路、单个电源、单个故障,确认波形和理解都正确后,再逐步增加线路段数和电源数。直接上手3电源4段环网,万一结果不对,很难判断是模型错了还是算法错了。先用简单模型把波速和特征阻抗验证一遍,再打开环网猛跑,会省下不少调试时间。
