【电能质量扰动】基于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 小时前
基于Retinex算法的图像去雾matlab仿真
算法·matlab·图像去雾·retinex
浮生如梦_5 小时前
Halcon基于laws纹理特征的SVM分类
图像处理·人工智能·算法·支持向量机·计算机视觉·分类·视觉检测
布说在见10 小时前
层次与网络的视觉对话:树图与力引导布局的双剑合璧
信息可视化·数据挖掘·数据分析
其实吧311 小时前
基于Matlab的图像融合研究设计
人工智能·计算机视觉·matlab
m0_7434148516 小时前
【天线&其他】大疆无人机热成像人员目标检测系统源码&数据集全套:改进yolo11-bifpn-SDI
分类
spssau17 小时前
多分类logistic回归分析案例教程
分类·数据挖掘·数据分析·回归·回归分析·logistic回归·spssau
快乐点吧18 小时前
BERT 模型在句子分类任务中的作用分析笔记
笔记·分类·bert
Matlab程序猿小助手19 小时前
【MATLAB源码-第208期】基于matlab的改进A*算法和传统A*算法对比仿真;改进点:1.无斜穿障碍物顶点2.删除中间多余节点,减少转折。
开发语言·嵌入式硬件·算法·matlab·机器人
我就说好玩19 小时前
2020年美国总统大选数据分析与模型预测
大数据·python·数据挖掘·数据分析·pandas·sklearn
Aloudata20 小时前
在全域数据整合过程中,如何确保数据的一致性和准确性
大数据·数据库·人工智能·数据挖掘·数据分析