【电能质量扰动】基于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代码实现

相关推荐
WL_GCS14 小时前
Level-2 MATLAB S-Function解析
matlab·simulink
2zcode16 小时前
基于MATLAB图像处理的金属表面缺陷检测与工业量测系统设计与实现
图像处理·数码相机·matlab
2zcode17 小时前
基于MATLAB图像处理的饮料瓶识别与价格显示系统设计与实现
开发语言·图像处理·matlab
简简单单做算法1 天前
基于圆投影和伪Zernike的图像亚像素匹配算法matlab仿真
matlab·圆投影·伪zernike·亚像素匹配
二狗的编程之路1 天前
神经网络正则化:防止过拟合的七种核心手段
python·机器学习·数据挖掘
风流 少年2 天前
数据分析:numpy
数据挖掘·数据分析·numpy
2zcode2 天前
免费开源项目文档:基于MATLAB图像处理的药片检测与计数系统设计与实现
开发语言·图像处理·matlab
Evand J2 天前
【论文复现】MATLAB例程,存在测距误差的WSN无锚点分布式自定位,《WSN中存在测距误差的无锚点分布式自定位方法》
开发语言·分布式·matlab·定位·导航·wsn
漂亮的摩托2 天前
基于OpenCV与SVM的车牌识别系统实现:定位、分割与分类全流程解析
opencv·支持向量机·分类
大鱼>2 天前
机器学习基础:从零理解核心概念与算法分类
算法·机器学习·分类