平波电抗器柔性直流输电线路保护与故障定位实现【附源码】
✨ 本团队擅长数据搜集与处理、建模仿真、程序设计、仿真代码、EI、SCI写作与指导,毕业论文、期刊论文经验交流。
✅ 专业定制毕设、代码
✅如需沟通交流,查看文章底部二维码
(1)基于行波能量谱的快速暂态保护方案设计:
针对柔性直流输电线路故障高频分量丰富但衰减快的特性,设计了一种利用平波电抗器两端初始行波能量谱差异的快速保护方法。该方法首先捕捉故障发生瞬间由平波电抗器耦合至保护测量点的电压行波信号,通过小波变换提取特定频带内的能量分布。在区内故障时,线路两端行波能量谱呈现出高度关联的衰减模式;而区外故障时,能量谱则表现出显著的相位反转与能量突变。利用皮尔逊相关系数量化这种谱间差异,能够在2毫秒内完成故障方向的判别。该方案天然耐受过渡电阻影响,因为行波能量比值几乎与故障电阻大小无关。此外,设计了基于电压变化率突变检测的自适应启动单元,避免负荷波动导致的误启动,同时利用正负极电压行波幅值符号差异实现选极,无需额外的选极元件。仿真验证表明,在500kΩ高阻接地故障下仍能可靠动作。
(2)故障暂态等值模型与双端测距方程构建:
深入分析了双极MMC-HVDC系统直流侧短路故障后的电流回流通路,建立了精确的RLC等效放电模型。不同于传统方法对线路参数的理想化假设,本方案考虑了线路参数的频变特性,将平波电抗器作为理想的电压积分元件,利用其两端电压差与所通过电流微分值的伏安关系直接计算故障电流的微分。基于该等效模型,分别推导了双极短路与单极接地故障下的测距代数方程。方程中仅包含线路单位长度阻抗、平波电抗器已知电感以及保护安装处测量的电压电流量,回避了对故障过渡电阻的求解。针对方程中电流微分项容易放大噪声的问题,采用三阶巴特沃斯滤波器配合差分算法进行平滑处理,在保证响应速度的同时将噪声干扰降至最低。
(3)迭代参数辨识与在线线路参数校正:
为了解决架空线路参数因环境温度、弧垂变化而导致的实际值与设计值偏离问题,引入了一种最小二乘迭代参数辨识方法。该方法利用系统正常运行时极间电压和流过平波电抗器的稳态电流,不断反推线路的实际单位长度电阻和电感。当线路发生故障时,保护装置立即冻结最近的参数辨识结果,并将其代入故障测距方程进行求解。该机制有效消除了线路参数变化带来的系统性测距误差。此外,针对线路末端的折反射干扰,设计了基于格雷码编码的伪随机序列注入方案,在故障后短暂闭锁重启动期间注入微弱高频信号,利用相关法提取准确的波速,进一步将测距误差控制在1%以内。该方案不依赖对侧通信,仅利用单端量即可实现高精度定位,显著增强了保护的独立性。"
import numpy as np import pywt from scipy import signal # 1. 行波能量谱特征提取与区内区外故障判别 def extract_wavelet_energy(v_signal, wavelet='db4', level=3): coeffs = pywt.wavedec(v_signal, wavelet, level=level) energy = [np.sum(np.square(c)) for c in coeffs] return np.array(energy) def fault_direction_criterion(v_m, v_n, threshold=0.5): # v_m, v_n: 线路两端电压行波 energy_m = extract_wavelet_energy(v_m) energy_n = extract_wavelet_energy(v_n) # 使用T型关联度或简单相关系数 correlation = np.corrcoef(energy_m, energy_n)[0,1] if correlation > threshold: return "Internal Fault" else: return "External Fault" # 2. 故障测距核心计算(利用平波电抗器伏安特性) def fault_location(v_l, v_r, i_l, L, dt=1e-5): # v_l, v_r: 电抗器两端电压; i_l: 流过电流; L: 电感 di = np.diff(i_l) v_diff = v_l[1:] - v_r[1:] # 电抗器电压差 # 伏安关系: L * di/dt = v_diff ideal_di = v_diff / L * dt # 三点差分法求实际di/dt (去噪) actual_di = (i_l[2:] - i_l[:-2]) / (2*dt) # 故障距离估算 (简化为比例关系) # 实际算法需结合线路单位阻抗 return np.median(v_diff * L / actual_di) # 3. 最小二乘法在线参数校正 (RLC模型) def online_parameter_estimation(v_hist, i_hist, L_initial): # 构建观测矩阵: di/dt 和 i dt = 1e-5 di = np.diff(i_hist) A = np.vstack([di/dt, i_hist[1:]]).T target = v_hist[1:] # 电压记录 # 最小二乘解: [R, L_corr] 实际电感 = L_initial + L_corr x = np.linalg.lstsq(A, target, rcond=None)[0] R_est, L_corr = x[0], x[1] L_est = L_initial + L_corr return R_est, L_est # 模拟保护启动判据 (基于电压变化率) def startup_check(v, threshold=0.1): dv = np.diff(v) / 1e-6 if np.max(np.abs(dv)) > threshold: return True return False"如有问题,可以直接沟通
👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇
