3. 录波文件解析与数据预处理
录波装置在故障发生前后把电网的电压、电流以及保护、断路器位置等状态量高速记录下来,最终形成的是一个符合 COMTRADE(IEEE C37.111)标准的文件集合。分析人员拿到手的往往不是"一条曲线",而是若干通道、若干采样率、若干时标混在一起的数据。真正开始判据计算之前,必须先把这些原始数据"洗干净、对齐好、换算成可比量",这一步就是录波文件解析与数据预处理。它决定了后续所有判据的输入质量,处理不当会直接导致误判。
COMTRADE 标准解析:先看清文件结构
COMTRADE 标准把一次录波拆成多个文件,常见的是 1999 版和 2013 版。核心是三个文件:.cfg 配置文件、.dat 数据文件、.inf 信息文件(可选)。.cfg 是"说明书",.dat 是"数据本体",二者必须成对解析,缺一不可。
.cfg 文件用 ASCII 文本描述通道与采样信息,关键字段包括:站名、装置名、版本年份、通道总数(模拟量 A 与开关量 D 分别计数)、模拟量通道的 An,ch_id,ph,ccbm,uu,a,b,skew,min,max,primary,secondary,PS、开关量通道的 Dn,ch_id,ph,ccbm,y,以及采样率与采样段信息 nrates, samp, endsamp,最后是 00/00/0000,00:00:00.000000 形式的起始时标。其中 a、b 是模拟量一次值换算系数,primary/secondary 是互感器变比,PS 标识一次值还是二次值,这些直接决定后面标幺值转换是否正确。
.dat 文件按采样点逐行给出数据,常见 ASCII 格式为 采样序号, 时标, A1, A2, ..., D1, D2, ...,二进制格式则按固定字节结构存储。解析时最容易出错的是:把模拟量通道数和开关量通道数搞混、把 a、b 系数漏乘、把时标单位(微秒/毫秒)看错。建议解析后先打印通道清单和首末采样点做核对。
模拟量与开关量通道映射
解析出来的通道只是"编号",必须映射到实际物理对象才能分析。模拟量通道要明确:是 A 相电压还是 B 相电流、属于哪条线路、对应哪组互感器。开关量通道要明确:是保护跳闸出口、断路器辅助触点,还是重合闸动作信号。映射关系通常来自 .cfg 的 ch_id 和 ph 字段,但现场命名不规范时,需要结合 .inf 或录波报告人工确认。
映射的核心目的是建立"通道—设备—相别"三元组。例如把 A1 映射为"220kV 甲线 A 相电压 UA",把 D3 映射为"甲线断路器分位"。只有映射清楚,后续才能按相别、按设备组织判据,而不是对着一堆 A1、D3 猜。
时标对齐:让不同来源的数据站在同一时间轴上
一次故障往往涉及多台录波器、保护装置、故障录波器甚至行波测距装置,它们的起始时标和采样率可能不同。时标对齐要解决两件事:统一时间基准和统一采样时刻。
统一时间基准依赖 GPS/北斗对时。若各装置对时良好,起始时标可直接比较;若存在对时偏差,需要以某一台装置(通常选主录波器)为参考,用故障突变点(如电流突增时刻)做互相关对齐。统一采样时刻则通过重采样完成。对齐后,同一时刻的电压、电流、开关量才能放在一起做相量计算和逻辑判断。
坏点剔除与重采样
原始数据中常见三类坏点:尖脉冲(单点跳变)、丢点(采样缺失)、饱和/削顶(CT 饱和导致波形平顶)。尖脉冲可用中值滤波或 3σ 准则识别:若某点与相邻点差值超过阈值,判为坏点并用插值替换。丢点则按时间戳判断,缺失处用线性或样条插值补齐。饱和波形不能简单剔除,应标记并在判据中降权或改用其他特征。
重采样是把不同采样率统一到同一频率,常用方法有线性插值和三次样条插值。例如把 4kHz 和 5kHz 两路数据统一重采样到 10kHz,便于逐点比较。重采样会引入相位误差,对高频暂态要谨慎,必要时保留原始高采样率数据用于行波类判据。
标幺值转换
标幺值转换把有名值换算为以基准值为单位的无量纲量,便于不同电压等级、不同容量设备之间比较。基准值选取:S_base 取 100MVA 或系统容量,U_base 取该侧额定电压,则 I_base = S_base / (√3 · U_base),Z_base = U_base² / S_base。转换公式为 X* = X / X_base。
对录波数据,若 .cfg 中 PS 为 S(二次值),需先乘 primary/secondary 变比还原为一次值,再除以基准值。例如某 220kV 线路 CT 变比 1200/5,二次电流 1.2A,则一次电流 288A;若 I_base 取 262A,则标幺值约 1.10。这一步做错,后续过流、距离判据的定值比较全部失准。
一个可复用的预处理检查清单
把上述环节串起来,可以形成一份现场可用的检查清单,用于每次解析录波前逐项核对:
| 序号 | 检查项 | 核对内容 | 异常处理 |
|---|---|---|---|
| 1 | 文件完整性 | .cfg 与 .dat 成对存在,版本年份一致 | 缺失则无法解析,需重新获取 |
| 2 | 通道数量 | 模拟量 A 数、开关量 D 数与 .dat 列数匹配 | 不匹配说明解析错位,检查分隔符 |
| 3 | 系数与变比 | a、b、primary/secondary、PS 是否正确 | 错误会导致幅值整体偏移 |
| 4 | 时标基准 | 各装置起始时标是否同源对时 | 偏差大时用突变点对齐 |
| 5 | 采样率 | nrates、samp、endsamp 是否覆盖全时段 | 分段采样需逐段处理 |
| 6 | 坏点 | 尖脉冲、丢点、饱和是否已标记 | 按类型分别插值或降权 |
| 7 | 重采样 | 目标采样率是否满足判据要求 | 高频判据保留原始数据 |
| 8 | 标幺值 | 基准值选取是否与判据定值一致 | 不一致需统一换算 |
完成上述预处理后,得到的就是一份"干净、对齐、可比"的数据集:时标统一、采样率统一、通道语义明确、幅值已折算为标幺值,坏点已标记或修复。这份数据集才是后续相量计算、突变量提取、保护动作逻辑判据和故障定位的可靠输入。预处理做得越扎实,后面的判据分析就越接近真实故障过程,结论也越可信。