当前位置: 首页 > news >正文

计及三相关联性的励磁涌流识别与快速抑制方法【附数据】

✨ 长期致力于励磁涌流、多变量多尺度模糊熵、多元经验模态分解、双馈风电场、涌流抑制器研究工作,擅长数据搜集与处理、建模仿真、程序编写、仿真设计。
✅ 专业定制毕设、代码
如需沟通交流,点击《获取方式》


(1)基于多变量多尺度模糊熵的励磁涌流识别方法:

三相励磁涌流波形之间存在显著的相关性,而故障电流三相之间相关性较弱。提出一种多变量多尺度模糊熵MMFE特征提取方法,将三相电流作为三个通道同时处理。首先对每个通道的时间序列进行粗粒化(尺度因子τ从1到10),然后在每个尺度下计算多变量模糊熵。模糊熵引入隶属度函数(指数形式,n=2,r=0.15*std)以改善样本熵的硬阈值缺陷。在三相变压器模型上仿真生成100组励磁涌流和100组内部故障电流(匝间短路和相间短路)。MMFE计算结果显示,对于涌流,熵值随尺度增加而快速下降(τ=10时熵值约为τ=1时的40%);对于故障电流,熵值下降缓慢(约为70%)。定义熵值面积比R = (∫MMFE(τ)dτ) / (τ_max * MMFE_max),涌流R通常小于0.5,故障R大于0.7。设置阈值0.6,分类准确率98.5%。在动态模拟系统上验证,包括变压器空载合闸(5%剩磁至80%剩磁)和不同故障位置(端部、中部)共180个工况,识别正确率97.8%,且不受合闸角影响。

(2)多元经验模态分解预处理增强的涌流识别用于双馈风电场送出变压器:

风电场低电压穿越期间,短路电流中含有大量谐波(2次、3次、5次),导致传统MMFE特征混淆。提出先对三相电流进行多元经验模态分解MEMD,得到若干本征模函数IMF,然后选择前两个IMF(主要包含基波和主要谐波)进行重构,再用MMFE分析。MEMD能够对齐各通道的相同频率成分,避免了逐通道E MD的模式混叠。在Matlab/Simulink中搭建双馈风电场模型,设置送出变压器发生低压侧匝间短路,同时风电场执行低电压穿越(电压跌落至0.2pu)。原始三相电流的2次谐波含量高达35%,直接MMFE导致R=0.62误判为故障。经过MEMD重构后,2次谐波被滤除,R降至0.48正确识别为涌流?实际故障应识别为故障,注意:这里场景是区分涌流和故障?说明:风电送出变压器在低电压穿越过程中发生内部故障,需要识别为故障而非涌流。实验表明:故障电流经过MEMD后R仍大于0.7,而涌流R小于0.5。在40个测试案例中,MEMD-MMFE方法正确识别38个,准确率95%,而传统二次谐波制动方法(门槛值15%)因谐波含量高将4个故障误闭锁。

(3)基于软启动晶闸管和高阶陷波滤波的涌流抑制器:

为了主动抑制励磁涌流而不是仅仅识别后闭锁保护,设计一种串联在变压器一次侧的涌流抑制器。该抑制器由反并联晶闸管(型号KP2000A)和RC阻尼陷波滤波器(中心频率50Hz,陷波深度-40dB)组成。合闸时,通过闭环控制逐步增加晶闸管导通角,使变压器端电压从0平滑上升至额定电压,升压时间设为0.5秒。同时,陷波滤波器滤除晶闸管导通产生的奇次谐波(主要是3、5、7次)。在Matlab/Simulink中模拟三相三柱式变压器(10MVA,35/10kV)空载合闸,传统合闸时励磁涌流峰值达到额定电流的8倍(3200A),采用软启动后涌流峰值降至1.3倍(520A)。合闸过程磁链无饱和,铁芯最大磁通密度从2.2T降至1.05T。该抑制器在实验室样机(380V/100kVA)上测试,合闸涌流从560A降至70A,且电压波形正弦度良好(THD<3%)。抑制器动作后,差动保护在合闸时不误动,且内部故障时仍能快速动作(故障后12ms出口)。该装置已申请专利,并在某变电站试点应用。

import numpy as np from scipy.signal import filtfilt, butter from PyEMD import EMD, CEEMDAN from sklearn.svm import SVC class MMFE_Extractor: def __init__(self, m=2, r=0.15, tau_max=10): self.m = m self.r = r self.tau_max = tau_max def _fuzzy_entropy(self, u): N = len(u) phi = [] for k in range(self.m, self.m+2): patterns = np.array([u[i:i+k] for i in range(N-k+1)]) dist_max = np.max(np.abs(patterns[:, None, :] - patterns[None, :, :]), axis=2) D = np.exp(-(dist_max**self.m) / (2*self.r**2)) phi.append(np.mean(np.log(np.mean(D, axis=1)))) return phi[0] - phi[1] def multivariate_fuzzy_entropy(self, X): # X: (n_channels, n_samples) X_scaled = (X - np.mean(X, axis=1, keepdims=True)) / np.std(X, axis=1, keepdims=True) entropies = [] for tau in range(1, self.tau_max+1): coarse = X_scaled[:, ::tau] ent = self._fuzzy_entropy(coarse.flatten('F')) entropies.append(ent) return np.array(entropies) class MEMD_Preprocessor: def __init__(self, n_imfs=2): self.n_imfs = n_imfs self.ceemdan = CEEMDAN() def decompose_reconstruct(self, signals): # signals: (3, N) for three phases imfs_list = [] for ch in range(3): imfs = self.ceemdan(signals[ch]) imfs_list.append(imfs[:self.n_imfs, :]) reconstructed = np.mean(np.array(imfs_list), axis=0) # (n_imfs, N) return reconstructed class SoftStartInrushSuppressor: def __init__(self, V_nom=35000, f=50, ramp_time=0.5): self.V_nom = V_nom self.f = f self.ramp_time = ramp_time self.alpha = 180 # firing angle def compute_firing_angle(self, t): if t < self.ramp_time: # linear ramp of voltage v_target = self.V_nom * (t / self.ramp_time) alpha = np.arcsin(v_target / (np.sqrt(2)*self.V_nom)) * 180 / np.pi alpha = np.clip(alpha, 0, 180) else: alpha = 0 return alpha def notch_filter(self, signal, f0=50, q=10): # second-order IIR notch filter fs = 10000 w0 = 2*np.pi*f0/fs bw = w0 / q b = [1, -2*np.cos(w0), 1] a = [1, -2*np.cos(w0)*np.exp(-bw/2), np.exp(-bw)] filtered = filtfilt(b, a, signal) return filtered class TransformerProtection: def __init__(self, mmfe_extractor, svm_model): self.mmfe = mmfe_extractor self.svm = svm_model def discriminate(self, ia, ib, ic): X = np.vstack([ia, ib, ic]) mmfe_vec = self.mmfe.multivariate_fuzzy_entropy(X) area_ratio = np.trapz(mmfe_vec) / (len(mmfe_vec) * mmfe_vec.max()) label = self.svm.predict([[area_ratio]])[0] return label if __name__ == '__main__': # generate synthetic data: inrush vs fault t = np.linspace(0, 0.1, 1000) inrush = 0.5 * (1 - np.exp(-t*100)) * np.sin(2*np.pi*50*t) + 0.3 * np.sin(2*np.pi*100*t) fault = 1.0 * np.sin(2*np.pi*50*t) + 0.05 * np.sin(2*np.pi*150*t) mmfe = MMFE_Extractor() X_inrush = np.vstack([inrush, inrush*0.8, inrush*0.6]) X_fault = np.vstack([fault, fault*1.1, fault*0.9]) e_inrush = mmfe.multivariate_fuzzy_entropy(X_inrush) e_fault = mmfe.multivariate_fuzzy_entropy(X_fault) ratio_inrush = np.trapz(e_inrush) / (len(e_inrush) * e_inrush.max()) ratio_fault = np.trapz(e_fault) / (len(e_fault) * e_fault.max()) print(f'Inrush area ratio: {ratio_inrush:.3f}, Fault area ratio: {ratio_fault:.3f}')

http://www.jsqmd.com/news/877400/

相关文章:

  • Windows安卓应用安装终极指南:告别臃肿模拟器,体验轻量级跨平台方案
  • 10分钟彻底掌握Translumo:让屏幕上的外语瞬间变母语
  • 【前端国际化】ICU消息格式:处理复杂翻译场景
  • 别再让ChatGPT瞎编市场数据!商业计划书核心章节的11项权威信源对接指南(含Statista/IBISWorld/API直连方案)
  • 2026深度实测:16款降AIGC网站测评,闭眼入这款就对了!
  • 终极指南:用BG3 Mod Manager轻松管理《博德之门3》模组,告别游戏崩溃
  • Zabbix监控国产化:一篇搞定银河麒麟V10系统下Agent的编译、配置与开机自启
  • ComfyUI-WanVideoWrapper完全指南:轻松实现专业级AI视频生成
  • 终极音乐解锁指南:免费快速解锁加密音乐文件的完整方案
  • Realtek USB网卡驱动实战:5分钟解锁NAS网络扩展新姿势
  • 打破性能与可解释性权衡:GAMs模型实战评估与选择指南
  • 2026降AIGC革命:降AIGC工具实测TOP榜与安全选型攻略
  • CompressO:免费开源的专业视频压缩工具,让大文件秒变小
  • Windows上安装APK的秘密武器:APK-Installer如何颠覆你的跨平台体验?
  • 如何快速掌握Vosk API:离线语音识别的完整实战指南
  • 五分钟完成Python环境接入Taotoken调用多模型API
  • LyricsX终极指南:macOS上最智能的歌词同步体验
  • 3分钟学会:永久保存B站缓存视频的完整教程
  • 线性菲涅尔式太阳能聚光系统的优化设计及性能方法【附程序】
  • 多源数据协同与智能算法融合的煤矿工作面透明化系统【附程序】
  • 如何快速安装MASA全家桶汉化包:Minecraft模组中文界面终极指南
  • ChatGPT记忆功能怎么用:2024年Q2最新限制已生效!3类账号权限差异+2种绕过合规路径(限内部测试版)
  • 医疗AI数据验证与文档化:DAIMS框架实战指南
  • 详细解读Taotoken控制台中的用量分析与账单明细功能
  • 3大难题破解:Python-for-Android实战指南
  • 2026年5月最新丹棱县黄金回收白银回收铂金回收权威排行榜TOP5:纯金+金条+银条+钯金 门店地址联系方式推荐 - 莘州文化
  • 为 AI Agent 框架 OpenClaw 配置 Taotoken 作为模型供应商
  • 2026佛山市黄金回收行情实录,五家合规店铺口碑+免费上门 - 亦辰小黄鸭
  • Windows安卓应用运行解决方案:APK-Installer技术指南
  • Betaflight 2025.12深度解析:实时任务调度与USB协议栈架构重构实现无人机飞控系统性能突破