【电能质量扰动】基于ML和DWT的电能质量扰动分类方法研究(Matlab实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥

****🏆博主优势:**🌞🌞🌞**博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️**座右铭:**行百里者,半于九十。

📋📋📋++本文目录如下:++🎁🎁🎁

目录

[💥1 概述](#💥1 概述)

[📚2 运行结果](#📚2 运行结果)

[🎉3 参考文献](#🎉3 参考文献)

[🌈4 Matlab代码实现](#🌈4 Matlab代码实现)


💥1 概述

近年来,随着可再生能源的并网以及非线性负载和固态开关器件的数量不断增加,导致了大量严重

的电能质量问题。同时,精密电子设备的广泛使用需要极高质量的电源。为合理有效地改善电能质量,电能质量扰动问题的准确分类也变得非常重要 1。目前电能质量扰动问题分类方法的过程主要包括特征提取和模式识别两个步骤 1。特征提取常用的信息处理技术有短时傅里叶变换 (STFT)2、经验模态分解 ( E M D )3 和 S 变换 4 等。这些方法拥有很好的扰动识别效果,但也存在一些固有的缺陷。其中短时傅里叶变换的使用缺少可变窗口,不利于分析非平稳信号 ;S 变换是小波变换和短时傅里叶变换的结合,但其难点在于如何确认窗函数的宽度4 ;经验模态分解存在严重的模态混叠和端点效应问题。离散小波变换 (DWT) 可以优化分解频率子带内的信号并估计扰动幅度,是一种灵活的扰动识别方法 5。因此,将 DWT 算法应用于特征提取。

模式识别常采用的方法有人工神经网络 6、决策树 7 和专家系统 8 等。人工神经网络存在容易陷入局部最优、收敛性较差等缺点 ;决策树容易出现过拟合现象和局部最优问题 ;专家系统由于自身不具备学习能力,所有的知识和解决方案都是由领域内的专家提供,因此其容错能力差,易产生组合爆炸的问题。支持向量机 (SVM) 基于小样本统计学习理论和结构风险最小化原理,具有较好的泛化能力 9

D W T 具有非常有效的算法和稀疏表示,尤其在处理非平稳信号方面,具有良好的时频特性,和傅

里叶变换不同,离散小波分析不是根据三角多项式而是通过母小波函数的扩张和平移特性生成 10。信号h (t) 的 DWT 表示为 :

📚 2 运行结果

运行视频:

基于ML和DWT的电能质量扰动分类方法研究(Matlab实现)_哔哩哔哩_bilibili

部分代码:

%% 暂态脉冲

%fn goes from 300 to 900

fn=500;

amp= rand(1,1)*range(4 7)+min(4 7);

t1=0.151;

t2=0.150;

ty= (t1+t2)/2;

t=0 :0.0001:0.4;

k=rand(1,1)*range(1 1.5)+min(1 1.5);

y= k*(sin((2*pi*50)*t)+ amp*(heaviside(t-t2)-heaviside(t-t1)).*exp(-t/ty).*sin(2*pi*fn*t));

subplot(2,1,2);

plot(t,y)

title('Impulsive Transient');

xlabel ('Time (sec)');

ylabel ('Amplitude');

hold on

Impulsive_transient=t,y';

%% 振荡瞬态

%fn goes from 300 to 900

fn=rand(1,1)*range(300 500)+min(300 500);

t=0 :0.0001:0.4;

amp= 1;

t1=0.255;

t2=0.248;

ty= (t1+t2)/2;

t=0 :0.0001:0.4;

k=rand(1,1)*range(1 1.5)+min(1 1.5);

y= k*(sin((2*pi*50)*t)+ amp*(heaviside(t-t2)-heaviside(t-t1)).*exp(-t/ty).*sin((2*pi*fn)*t));

figure(4)

subplot(2,1,1);

plot(t,y)

title('Oscillatory Transient');

xlabel ('Time (sec)');

ylabel ('Amplitude');

hold on

Oscillatory_transient=t,y';

%% SAG+HARMONIC

t=0 :0.0001:0.4;

alpha=rand(1,1)*range(0.1 0.8)+min(0.1 0.8);

alpha3=rand(1,1)*range(0.05 0.15)+min(0.05 0.15);

alpha5=rand(1,1)*range(0.05 0.15)+min(0.05 0.15);

alpha7=rand(1,1)*range(0.05 0.15)+min(0.05 0.15);

alpha1= sqrt(1- alpha3^2-alpha5^2-alpha7^2);

k=rand(1,1)*range(1 1.5)+min(1 1.5);

y=k*((1-alpha*((heaviside(t-0.05)-heaviside(t-0.15)))).*(alpha1* sin(314*t)+ alpha3*sin(3*314*t)+ alpha5*sin(5*314*t)+ alpha7*sin(7*314*t)));

subplot(2,1,2);

plot(t,y);

title('Sag+Harmonics');

xlabel ('Time (sec)');

ylabel ('Amplitude');

hold on

Sag_harmonic=t,y';

%% SWELL+HARMONIC

t=0 :0.0001:0.4;

alpha=rand(1,1)*range(0.1 0.8)+min(0.1 0.8);

alpha3=rand(1,1)*range(0.05 0.15)+min(0.05 0.15);

alpha5=rand(1,1)*range(0.05 0.15)+min(0.05 0.15);

alpha7=rand(1,1)*range(0.05 0.15)+min(0.05 0.15);

alpha1= sqrt(1-alpha3^2-alpha5^2-alpha7^2);

k=rand(1,1)*range(1 1.5)+min(1 1.5);

y=k*((1+alpha*((heaviside(t-0.05)-heaviside(t-0.15)))).*(alpha1* sin(314*t)+ alpha3*sin(3*314*t)+ alpha5*sin(5*314*t)+ alpha7*sin(7*314*t)));

figure(5)

subplot(2,1,1);

plot(t,y)

title('Swell+Harmonics');

xlabel ('Time (sec)');

ylabel ('Amplitude');

hold on

Swell_harmonic=t,y';

%% FLICKER

🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。

1李家俊,吴建军,陈武,钟建伟.基于DWT-PCA-LIBSVM的电能质量扰动分类方法J.电工电气,2023(03):20-24.

2马嘉秀,徐玮浓,何复兴,邵诗韵,赵家乐,李宁.基于WT和SVM的电能质量分类识别方法J.智慧电力,2019,47(03):16-22+37.

🌈4 Matlab代码实现

相关推荐
皇儒无上1 小时前
智慧机场-数据挖掘的深度应用
人工智能·数据挖掘
放下华子我只抽RuiKe51 小时前
FastAPI 全栈后端(八):部署与运维
运维·数据库·react.js·oracle·数据挖掘·前端框架·fastapi
KaMeidebaby1 小时前
卡梅德生物技术快报|biotin 生物素标记抗体全流程
前端·人工智能·算法·数据挖掘·数据分析
江畔柳前堤2 小时前
github实战指南00-命令在哪里执行?
人工智能·线性代数·oracle·数据挖掘·github·word
DXM05212 小时前
第11期| 遥感图像分类模型:ResNet_DenseNet原理+实战训练
人工智能·python·深度学习·机器学习·分类·数据挖掘·ageo
酉鬼女又兒2 小时前
零基础入门IPv4地址:从基本概念、分类编址、子网划分到无分类编址与应用规划全解
网络·网络协议·计算机网络·考研·职场和发展·分类·智能路由器
江畔柳前堤3 小时前
agent面试题
数据库·人工智能·opencv·数据挖掘·语音识别·agent
oscar9994 小时前
当电子表格遇上 ChatGPT:像聊天一样做数据分析
chatgpt·数据挖掘·数据分析
hoiii1874 小时前
17自由度铁道车辆横向动力学MATLAB程序
开发语言·matlab
LabVIEW开发15 小时前
LabVIEW + MATLAB 混合编程:爆炸场测试数据精准采集方案
开发语言·matlab·labview