干配电网故障选线这活儿,谁干谁知道。纯架空线还好,一旦碰上电缆和架空线混着架设的缆-线混合网络,传统选线方法经常跟你说翻车就翻车。要么是五次谐波法被消弧线圈补偿效果压得没脾气,要么是零序电流幅值比较法在混合线路上因为波阻抗不一样、暂态分量畸变严重而直接误判。我自己在PSCAD上搭过不少模型来折腾这个问题,试过小波、试过FFT,最后发现基于短窗数据的S变换能量法是个很实用的路子——它既有小波那种时频局部化的能力,又不用纠结小波基怎么选,而且用短短一个工频周波的暂态数据就能把故障线路挑出来。这篇文章就把我这段仿真和调试的完整经过捋一遍,包括S变换的原理选型逻辑、PSCAD里缆线混合网络的建模细节,以及选线判据的参数怎么定、坑在哪里,给同样被选线问题折磨的同行一个能直接上手的参考。
1. 缆线混合配电网的故障选线为什么这么难
1.1 故障选线的核心矛盾
先说清楚我们要解决的问题是什么。中压配电网大多是中性点非有效接地系统,也就是小电流接地系统,发生单相接地故障后,故障电流很小,三相线电压仍然对称,系统还能带故障运行一段时间。选线就是要在这时候从母线上挂着的好几条馈线里,把真正发生接地的哪一条给揪出来。
故障选线的物理基础在哪儿呢?故障瞬间,相当于在故障点突然叠加了一个虚拟电源,这个阶跃性质的电压会在系统里激发出暂态分量。这个暂态零序电流从故障点流向母线,然后分配到各条健全线路的对地电容里去。理论上,故障线路的暂态零序电流幅值最大,极性跟健全线路相反。这就是一堆选线方法的祖宗逻辑。
问题在于,这个逻辑在纯架空线上成立,在缆线混合网络上就变得很微妙。因为电缆的波阻抗、传播常数和架空线差异极大,一个暂态行波从故障点出发,会在每一个电缆-架空线连接点发生折射和反射,波形被拆成好几段,传到母线侧的暂态信号已经不是原来的干净样子了。再加上电缆的对地电容比架空线大一个数量级,健全线路的总电容电流可能被某条电缆段长、距离近的健全线路抢走一大半,光靠“比幅”这一招就会翻车。这就是为什么实际工程里,缆线混合线路的选线正确率长期上不去的根本原因。
1.2 传统方法在混合线路上的失效模式
我早期试过几种经典方法,简单说下它们各自的死穴。
- 零序电流幅值比较法:彻底依赖“故障线路电容电流最大”的假设。混合线路上电缆段占比不同,暂态电流的幅值分布完全被打乱,健全电缆线路的暂态零序电流完全可能比故障的架空线混合线路还大,误判率高得离谱。
- 五次谐波法:利用接地变压器或线路非线性产生的五次谐波。但消弧线圈对五次谐波也有补偿作用,而且现代电网的非线性负载谐波源太多,背景噪声能把故障特征完全盖住,现场基本不太敢单独用。
- 有功分量法(零序有功功率法):靠故障线路阻性泄漏分量来判别,适用于高阻接地,但在瞬时性电弧接地、间歇性接地时状态不定,选线窗口很难抓准。
当时我做了一组对比仿真:一个6馈线的混合系统,故障点放在一条电缆段的末端,过渡电阻100欧。结果零序电流幅值最大的是另一条纯电缆健全线路,故障线路的幅值排在第三。那会儿我就明确了一件事——靠单一频段上的幅值特征已经不够了,得换思路。
1.3 S变换为什么值得引入
换成什么思路?我的选择是:把故障后的短窗暂态零序电流信号,在时频平面上摊开来看。故障暂态本身是一个宽频信号,不同频段的能量分布和传播特性不一样,高频分量在故障点附近信息丰富但衰减快,低频分量传得远但受消弧线圈影响大。如果能同时抓到“什么时间出现了什么频率的暂态能量”,就能大幅提高对故障特征的辨识度。
时频分析工具有那么几个,短时傅里叶变换窗口固定,低频高频分辨率一刀切,不匹配暂态信号的特性;小波变换虽好,但小波基的选择、分解层数的设定都带着主观性,换一个基函数可能结论就不一样,工程上不好交代;Wigner-Ville分布又有严重的交叉项干扰,多馈线信号叠一块儿根本没法看。
S变换的好处恰恰在于它的窗宽是随频率自适应变化的:高频段窗窄,时间分辨率高,能看清暂态波形的到达时刻和极性突变;低频段窗宽,频率分辨率高,能把主谐振频带看得清清楚楚。而且S变换是可逆变换,结果是一个复时频矩阵,不仅幅度信息完整,相位信息也在——这为后续做极性判别留了后门。这是我最终选定S变换作为核心分析工具的根本原因。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 短窗数据与S变换能量特征的设计思路
2.1 短窗数据到底截多短
标题里有个关键限定词——“短窗数据”。为什么强调短窗?两个层面的考虑。
第一,选线的时效性。传统的故障录波后人工分析可以慢慢看,但现在的智能选线装置要求在故障发生后很短时间内给出结论,数据窗拉太长没有工程意义。第二,暂态能量的大头集中在故障初瞬。单相接地故障发生后的第一个工频周期内,暂态分量最丰富,之后很快衰减,到第三个周期基本只剩稳定的工频零序电流和残流。拖的时间越久,反而引入更多的稳态干扰和谐波噪声。
我的做法是这样的:以故障时刻为基准,取故障点前1ms(用于对齐和基线校准)加故障后一个工频周波(20ms)的零序电流数据,总共21ms作为一个短窗。这个窗口长度经过我反复对比,效果最均衡。取10ms窗口的话,数据量小但低频段频率分辨率不够,主谐振频率计算误差大;取40ms以上的话,后续周波的衰减稳态分量反而稀释了暂态能量的占比,而且选线动作时间也拖慢了。
这里有个小技巧:短窗数据在送入S变换之前,最好先做去直流和去工频处理。方法也简单,用原始信号减去一个理想工频正弦拟合值就可以。否则50Hz基波分量的能量会把暂态特征频段的能量对比关系压得很不明显,尤其是过渡电阻较高的时候,信噪比会很难看。
2.2 S变换的数学本质和能量矩阵构建
我不打算把S变换公式抄一遍再假装高深,但核心逻辑必须讲明白。
S变换的结果是一个二维复矩阵S(τ, f),横轴是时间τ,纵轴是频率f,矩阵中每个元素是个复数,模值代表该时刻该频率的暂态分量幅值,相位代表该分量的相位信息。本质上,它对信号做的是“频率自适应加窗的傅里叶变换”——低频用大窗看整体,高频用小窗抓细节,这是它比短时傅里叶变换强的地方。
对某条馈线来说,取它的零序电流x(t),做S变换得到S_line(t, f),那么这条线路的暂态能量可以定义为特征频带内S变换模值的平方和:
E_line = Σ_t Σ_f |S_line(t, f)|², f ∈ [f_low, f_high]
这个能量定义相当于把时频平面上一个矩形区域里的所有暂态能量都累加起来。选这个判据而不是单纯选某个频率点的幅值,是因为故障暂态的能量在频带上是有分布的,单看一个点容易被噪声和传播畸变带偏。累加则天然具备一定的抗噪性和容错能力。
能量算出来后,故障选线的判据就非常直接了:比较每一条馈线的E_line,取最大值对应的线路判定为故障线路。为了工程上有更直观的裕度指标,还可以算一个“能量占比”,也就是某条线路能量占所有线路能量总和的百分比,占比超过某个阈值(比如我用的是60%,这跟馈线数量和长度分布有关)就认为这条线故障。这一招在故障特征明显的场景下非常干脆。
2.3 特征频带怎么定
能量矩阵里的频率范围不能拍脑袋定,得看系统参数。我做的是一个10kV中性点经消弧线圈接地的配电系统,馈线长度在3~12km之间,其中电缆段和架空线段混接。用PSCAD跑了一轮故障,把故障线路零序电流的S变换频谱铺开看,主谐振频带大致集中在300Hz到2500Hz这个范围。这个结论跟理论推算基本吻合。
特征频带选得太低,比如只看到100Hz附近,那基本就是消弧线圈补偿后的残流和五次谐波,故障特征已经被掩盖了;选得太高,比如超过5kHz,信号经电缆线路传播后衰减很厉害,到达母线处的幅值已经小到跟数值噪声一个级别。所以我最后把能量积分频带定在300~2500Hz,并且在算法里做了一个保护:如果某条线路在这个频带的能量占比超过70%,直接出结果;如果所有线路的能量都接近,则自动切换到更高频段(2500~5000Hz)再看一次,算是多级联判据。
补充一个点:电缆段的零序电容电流比架空线大很多,所以健全电缆线路的高频暂态能量也不会太小。如果只做全频带能量比较,还是有误判风险。特征频带的限制就是为了压住这部分干扰,实测下来对“健全长电缆+故障短架空线”这种最容易误判的组合,识别效果有明显改善。
3. PSCAD仿真模型的搭建实录
3.1 仿真系统结构设计
为了让选线方法在一个有说服力的环境里被验证,我搭了一个10kV中性点经消弧线圈接地的辐射状配电网模型。系统规模是4条馈线,已经能覆盖正常的选线场景,再多也就是重复。母线上方是一个110/10kV的降压变压器,容量选的是20MVA,短路阻抗10.5%,低压侧中性点通过消弧线圈接地,过补偿度按8%设计——这是国内最常见的配置。
四条馈线的结构故意做得很有差异,就是为了验证方法的适应性:
1号馈线:全长7.6km,前段2.8km是YJV22-8.7/15 3×120的电缆,后面4.8km是LGJ-120架空线,电缆和架空线在2.8km处混接,故障设在这条线上居多。
2号馈线:纯架空线路,全长10.5km,作为对比参照,算是传统场景。
3号馈线:纯电缆线路,全长3.5km,健全时会贡献很大的电容电流,专门用来干扰幅值比较类方法。
4号馈线:全长5.2km,先架空后电缆,跟前两条的混接顺序反过来。
故障支路设在1号线的电缆和架空线连接点之后约1.2km的位置。这个位置选得很刁钻,因为行波从故障点出发一路经过两个波阻抗变化点才到母线,波形已经被反复折腾过,最接近实际现场里难判的工况。
3.2 线路模型和关键参数
PSCAD里架空线和电缆的模型选择有讲究,这一点新手特别容易随手选个π型集中参数就完事,但在暂态分析里这是不行的。
架空线我用的Bergeron模型,因为它的参数是恒定的,在10kV这个电压等级、几十公里以内的中短距离上精度足够。每条线路的具体参数我是参考典型钢芯铝绞线的单位参数表再加PSCAD内置的线路几何结构算出来的,L-G-J-120的单位参数大致是:正序电阻0.27Ω/km,正序电感1.32mH/km,正序电容0.009μF/km;零序电阻0.35Ω/km,零序电感4.12mH/km,零序电容0.006μF/km。架设高度、弧垂、导线间距这些几何量我按常规单回路无避雷线杆塔填的,PSCAD会自己算出相间和相对地电容。
电缆部分麻烦一些。我用的频率相关(相位域)模型,因为电缆的零序参数随频率变化特别明显,用恒定参数算出来的暂态波形跟实际差别很大。选的电缆型号是YJV22-8.7/15 3×120,这在城市配网里极其常见,单芯铜导体,截面120平方毫米,XLPE绝缘,铜屏蔽,铠装,外护套。PSCAD里要填几何参数,包括内导体半径、绝缘层内外径、屏蔽层内外径、铠装层内外径、各种材料的相对介电常数(XLPE取2.3,PVC护套取3.5)和电阻率。电缆长度方向上的单位电容大概在0.3μF/km这个量级,比架空线大了30多倍,这就是混合线路上健全线路抢暂态电流的根源。
3.3 消弧线圈和故障设置
消弧线圈的参数是按系统单相接地电容电流算的。四条馈线的总对地电容电流加起来大概85A左右,过补偿度8%,意味着消弧线圈补偿后的残流大约是7A。电感值算出来大约是L = 1/(1.08 × ω²CΣ) = 0.337H,品质因数取30,这个参数我在模型里直接填进去。
故障的设置用PSCAD的时控逻辑来实现:用一个断路器在0.2s时刻闭合,把故障支路的接地电阻接到A相和地之间,模拟A相单相接地故障。故障持续时间设为0.3s,足够我们把故障后20ms的短窗数据完整录出来。过渡电阻从金属性短路(0.01Ω)到高阻接地(3000Ω)做扫描,故障初相角在0到90度之间两档对比。
仿真步长我设置的是20μs,对应50kHz的采样率。这个采样率去跑10kV配电系统足够富裕,S变换在几千赫兹频带的分析完全不会混叠。数据记录用PSCAD的录波功能,导出格式选CSV,方便MATLAB离线处理S变换。
3.4 与MATLAB的联调路径
PSCAD本身没有S变换工具箱,我采取的是离线联调的方案:PSCAD负责产生暂态波形数据,MATLAB负责读取CSV做S变换和能量判据。这个方案的好处是两边解耦,PSCAD专注仿真精度,MATLAB专注算法调试,各自的参数都能独立调整。
具体操作上,我用PSCAD的Multiple Run功能做批量故障扫描(改变故障距离、过渡电阻、初相角),每次运行自动输出一个带编号的out文件,然后在MATLAB里写个循环脚本批量读取所有CSV文件,逐条算出S变换能量矩阵,最后汇总选线结果。这一套下来的效率很高,一次能扫上百个工况。
4. 选线判据的实现与效果验证
4.1 从零序电流到S变换能量
所有馈线的零序电流我用的都是三相电流求和,即i0 = (ia + ib + ic) / 3,这跟直接从母线零序CT取信号等价。做S变换之前,我先把短窗数据里的趋势项去掉,再做轻度的余弦窗平滑,目的是抑制S变换在短数据窗两侧的边界效应。这里有个细节:S变换对有限长数据做处理时,首尾的变换系数会因为窗截断而出现虚高,如果直接积分能量会把虚假分量算进去。我的解决办法是把故障时刻前1ms的数据也放进窗里当做缓冲,最后能量积分时只统计故障点之后到窗口末尾的部分,把前1ms的缓冲带切掉,这样边界效应就能最小化。
MATLAB里S变换用的是公开的标准实现,核心就是S = ST(x),返回一个复数矩阵,行是频率、列是时间。我用的是网上流传的经典S变换函数版本,自己改了三处:第一,加入了频率轴滤波功能,只计算300~2500Hz范围内的系数,大幅减少无效计算量;第二,把输出从单精度改成双精度,避免高阻接地场景下小能量数值被舍入误差吃掉;第三,对能量积分函数加了特征频带边界检查,防止频率向量偏移导致积分范围错位。
每条线路的暂态能量E_line算出来后,我还额外算一个相对能量比,r_i = E_i / ΣE_j,这个比值是一个0到1之间的数。选线时就按r_i排序:最大的那条判为故障线路,次大的作为参照,用来评估裕度。如果最大和次大的差值小于15%,我会把它标记为“需要人工复核”,而不是硬给一个结果。
4.2 典型故障场景下的判据表现
我用这个流程跑了相当多组工况,挑几个有代表性的结果放进下表。这里统一设定故障点位于1号馈线电缆-架空混接点后1.2km处,对比不同过渡电阻和初相角下的选线结果。
| 工况编号 | 过渡电阻(Ω) | 故障初相角(°) | 各馈线能量占比 (%) | 选线结果 |
|---|---|---|---|---|
| 1 | 0.01 | 90 | L1: 86.4, L2: 5.2, L3: 6.1, L4: 2.3 | L1 |
| 2 | 100 | 90 | L1: 74.8, L2: 8.9, L3: 10.7, L4: 5.6 | L1 |
| 3 | 1000 | 90 | L1: 63.2, L2: 13.4, L3: 15.8, L4: 7.6 | L1 |
| 4 | 3000 | 90 | L1: 47.6, L2: 19.2, L3: 23.1, L4: 10.1 | L1 (裕度偏低) |
| 5 | 100 | 0 | L1: 71.5, L2: 10.2, L3: 12.4, L4: 5.9 | L1 |
| 6 | 1000 | 0 | L1: 60.8, L2: 15.6, L3: 17.3, L4: 6.3 | L1 |
可以看到,在金属性短路到几百欧的过渡电阻范围内,能量占比集中在故障线路上,判据非常干脆。初相角的影响比过渡电阻小,因为故障初相角主要改变暂态分量的初始幅值,对能量分布的相对比例影响不大。
到3000欧高阻接地时,故障线路的能量占比明显下降,这是因为高阻接地时故障点注入的暂态能量本身就小,加上故障点电压接近零相角时激发的暂态更弱,背景电容电流的相对权重就上来了。即便如此,故障线路的能量仍然是最大值,只是裕度没那么漂亮了。这说明特征频带的选择和短窗内的能量积累确实在起作用。
4.3 消弧线圈补偿和母线近区故障的特殊处理
消弧线圈在单相接地时会补偿掉容性电流的工频部分,因此如果只看故障后稳态周期的零序电流,故障特征几乎被抹平了。但暂态初始阶段消弧线圈的补偿作用还没完全建立(它的电感电流是逐渐增长的),所以故障后前几个毫秒的暂态分量反而受消弧线圈影响很小。这也是短窗数据+S变换的另一个隐藏优势——我们在分析最“干净”的暂态段,避开了消弧线圈的稳态补偿陷阱。
母线近区故障是另一个容易误判的场景。故障点紧靠母线时,所有馈线的暂态零序电流波形高度相似,因为它们的驱动源几乎一样,区别只在于各自线路的阻抗特性。这种情况下能量占比的区分度会明显下降。我加了两个辅助手段:第一,引入S变换复矩阵的实部极性比较——健全线路在特征频带的暂态分量极性与故障线路相反,极性相同的成组线路可以互相印证;第二,母线近区故障时,母线零序电压的暂态幅值会比其他场景大很多,我用零序电压的S变换能量做一个前置判断,先排除掉大部分非近区故障的情况。
4.4 噪声环境下的鲁棒性验证
现场录波的数据从来都不干净,电磁干扰、CT饱和、数据采集的量化噪声都在。我在原始仿真数据上叠了白噪声,信噪比从30dB一路降到10dB,观察判据的变化。
实测下来,30dB和20dB噪声下选线结果完全不受影响,因为S变换的时频积分本身就有平滑噪声的效果——噪声在时频平面上是散布在整个区域的,而故障能量集中在特征频带内,累加之后噪声的贡献占比很小。到10dB噪声时,低阻故障仍然能正确选线,高阻故障(1000欧以上)的裕度明显变差,部分工况出现最大占比和次大占比纠缠的情况。针对这个,我在能量积分的频率维度上做了一点优化:先根据噪声底估算一个能量阈值,低于阈值的S变换系数直接清零,等效于自适应去噪。这一招在10dB信噪比下仍然能保住高阻工况的正确选线,代价是极低能量工况下会漏判,工程上要加告警而不是硬出结论。
5. 常见问题与排查技巧实录
5.1 问题速查表
在折腾这套方法的过程中,我踩了不少坑,也积累了一些不试不知道的细节,整理成一张速查表。
| 现象 | 可能原因 | 处理办法 |
|---|---|---|
| PSCAD仿真波形严重振荡发散 | 仿真步长太大,或电缆模型参数填错 | 步长降到20μs以下;检查电缆几何参数的单位和数量级 |
| S变换能量矩阵出现明显横向条纹 | 数据窗首尾截断导致边界效应 | 加余弦窗,能量积分时切除首尾各1ms |
| 高阻接地时选线裕度不足 | 特征频带偏低,暂态能量被噪声稀释 | 把积分频带上限扩到3000Hz,加自适应噪声阈值 |
| 健全长电缆线路能量反而最大 | 特征频带太宽,把电缆稳态电容电流也算进去了 | 收紧频带下限到300Hz以上,增加极性辅助判据 |
| 批量扫描时MATLAB读CSV错位 | 不同工况的仿真时长或步长不一致导致行数不对齐 | 统一仿真结束时间,导出前检查每个文件的行数 |
| Multiple Run导出文件过多 | PSCAD每条工况一个独立子目录 | 在MATLAB里按文件名规则批量索引,别手动点开每个文件 |
5.2 短窗长度对S变换分辨率的影响
这是我调试中最折磨人的一个参数。S变换的频率分辨率在低频端由数据窗长度决定,20ms短窗在50Hz频率的分辨率只有50Hz,所以在分析特征频带300~2500Hz时完全够用,但如果你想把特征频带下探到100Hz以下,20ms窗就不行了,频率分辨率的栅栏效应会让谱线错位。工程上我的建议是:除非你是专门研究消弧线圈补偿后的低频残流特征,否则不要试图在短窗数据里分析低于150Hz的分量,那是自讨苦吃。
如果确实需要更低的频率分辨率,有两个变通办法:一是把S变换的频段做插值,在频率轴上加密输出点,但这不增加真实信息;二是换长窗,比如取3个周波甚至5个周波的数据,但这又回到时效性的问题上。实话说,对缆线混合配电网的暂态选线来说,300Hz以上的主谐振频带才是信息最丰富的区域,盯着低频反而容易掉坑里。
5.3 现场应用时的几个值得留意的点
仿真做完了,提几条我后来回想会对现场设备调试有帮助的经验。
第一,采样率和数据对齐比算法本身更决定成败。现场选线装置的数据来自各馈线的零序CT,CT之间的时延差异、增益差异会造成S变换矩阵在时间轴上对不齐。时间轴差半个毫秒,在3000Hz频带上的相位就差了将近一周,极性判据完全失效。所以做装置方案时,硬件同步精度得上心,至少要在微秒级。
第二,短窗数据里包含了故障时刻的检测误差。实际系统里“故障时刻”是由启动元件判断的,判断误差可能有1~2ms。这会导致我们截取的短窗并不是严格的故障后数据,前后错位。解决办法是在算法里加一个故障时刻搜索环节,用零序电压突变点作为参考重新对齐各条馈线的数据,这个我在MATLAB里做了,效果很好,强烈建议保留。
第三,现场实际的高阻故障往往是间歇性的电弧接地,而不是稳定的电阻接地。电弧的伏安特性导致故障电阻在工频周期内剧烈变化,暂态信号比恒定电阻工况更复杂。仿真阶段没完全覆盖这块,但S变换的时频展开对非平稳信号本身就是强项,实测数据处理下来,电弧工况主要影响的是高频段能量的稳定度,特征是“跳动大但不消失”,选线判据依然可用,只是阈值裕度得多留一些。
6. 最后的经验总结与扩展方向
这套基于PSCAD仿真、短窗S变换能量、缆线混合配电网故障选线的流程,从建模型到判据验证,我跑了差不多一个完整项目周期。回过头来看,最有价值的不是某个具体的公式或者参数,而是整个“问题分析——工具选型——仿真建模——判据设计——鲁棒性验证”的路径。很多做选线的人一上来就调算法,经常忽略对系统本身的建模精度和故障物理过程的理解,结果算法在论文里很漂亮,一接到现场数据就崩。我的建议是,先花时间把PSCAD模型做得足够接近真实系统,再让算法去适配这个物理过程,顺序不能反。
关于扩展方向,我现在陆续在试的几个事情顺便提一下:一是把S变换替换成广义S变换,通过调节高斯窗的衰减因子来匹配不同故障类型的最优时频分辨率;二是引入多馈线之间的S变换系数相关性分析,利用故障线路和健全线路在时频平面上相位关系的一致性来强化判据;三是把短窗从单周波扩展到自适应多分辨率的组合窗,在保证选线速度的前提下兼顾低频谐振信息。这些改进方向都是在那套仿真平台上迭代验证的,至少目前来看,S变换这个底子是足够扎实的,后续加的每一层都是锦上添花。
