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

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

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

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

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

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈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代码实现

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/53140.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c语言调用mciSendString播放音乐

如下所示&#xff0c;这是一个使用c语言调用系统方法mciSendString()&#xff0c;让系统播放音乐的示例&#xff1a; baihuaxiang 代码&#xff1a; #include <graphics.h> #include <Windows.h> #include <mmsystem.h>#pragma comment(lib,"WINMM.LIB…

virtuoso61x中集成calibre

以virtuoso618为例&#xff0c;在搭建完电路、完成前仿工作之后绘制版图&#xff0c;版图绘制完成之后需要进行drc和lvs【仅对于学校内部通常的模拟后端流程而言】&#xff0c;一般采用mentor的calibre来完成drc和lvs。 服务器上安装有virtuoso和calibre&#xff0c;但是打开la…

Mybatis与Spring集成配置

目录 具体操作 1.1.添加依赖 1.2创建spring的配置文件 1.3. 注解式开发 Aop整合pagehelper插件 1. 创建一个AOP切面 2. Around("execution(* *..*xxx.*xxx(..))") 表达式解析 前言&#xff1a; 上篇我们讲解了关于Mybatis的分页&#xff0c;今天我们讲Mybatis与…

Android Studio开发之路 (五)导入OpenCV以及报错解决

一、步骤 官网下载opencv包&#xff08;我下的是4.7.0&#xff09;并解压&#xff0c;openvc官网 先创建一个空项目&#xff0c;简单跑一下能正常输出helloworld 点击file->new->Import Module选择解压之后的opencv-android-sdk文件夹中的SDk文件夹&#xff0c; modu…

政府网站定期巡检:构建高效、安全与透明的数字政务

在数字时代&#xff0c;政府网站已不仅仅是一个信息发布窗口&#xff0c;更是政府与公众互动的桥梁、政务服务的主要渠道以及数字化治理的重要平台。因此&#xff0c;确保政府网站的高效运行、信息安全与透明公开就显得尤为重要。在此背景下&#xff0c;定期的网站巡检与巡查成…

中文乱码处理

&#x1f600;前言 中文乱码处理 &#x1f3e0;个人主页&#xff1a;尘觉主页 &#x1f9d1;个人简介&#xff1a;大家好&#xff0c;我是尘觉&#xff0c;希望我的文章可以帮助到大家&#xff0c;您的满意是我的动力&#x1f609;&#x1f609; 在csdn获奖荣誉: &#x1f3c…

nmon的安装与使用

一、Linux服务器配置信息 操作系统&#xff1a;CentOS 7.6 64位&#xff08;可用命令&#xff1a;cat /etc/redhat-release和uname -a查看&#xff09; CPU&#xff1a;1核&#xff08;可用命令top查看&#xff09; 内存&#xff1a;2GB&#xff08;可用命令free查看&#xff…

picGo+gitee+typora设置图床

picGogiteetypora设置图床 picGogitee设置图床下载picGo软件安装picGo软件gitee操作在gitee中创建仓库在gitee中配置私人令牌 配置picGo在插件设置中搜索gitee插件并进行下载 TyporapicGo设置Typora 下载Typora进行图像设置 picGogitee设置图床 当我了解picGogitee可以设置图床…

开源与云计算:新的合作模式

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

【附安装包】EViews 13.0安装教程|计量经济学|数据处理|建模分析

软件下载 软件&#xff1a;EViews版本&#xff1a;13.0语言&#xff1a;英文大小&#xff1a;369.46M安装环境&#xff1a;Win11/Win10/Win8/Win7硬件要求&#xff1a;CPU2.0GHz 内存4G(或更高&#xff09;下载通道①百度网盘丨64位下载链接&#xff1a;https://pan.baidu.com…

Kafka 简介 + 学习笔记

消息队列 先说明消息队列是什么&#xff1a; 亚马逊&#xff1a; 消息队列是一种异步的服务间通信方式&#xff0c;适用于微服务架构。消息在被处理和删除之前一直存储在队列上。每条消息仅可被一位用户处理一次。消息队列可被用于分离重量级处理、缓冲或批处理工作以及缓解高…

edge浏览器进行qq截图过保爆决过程

edge浏览器进行qq截图过保解决过程 参考&#xff1a;电脑截屏曝光特别高怎么解决&#xff1f; - 知乎 问题展示 饱和度过高&#xff0c;刺眼 1. 在chrome地址栏输入chrome://flags/ 2. 在页面的搜索栏搜索force color profile 3. 在选项中选择所对应的颜色管理。&#xff08…

数据库为什么使用B+树而不是B树做索引

&#x1f3c6;作者简介&#xff0c;黑夜开发者&#xff0c;CSDN领军人物&#xff0c;全栈领域优质创作者✌&#xff0c;CSDN博客专家&#xff0c;阿里云社区专家博主&#xff0c;2023年6月CSDN上海赛道top4。 &#x1f3c6;数年电商行业从业经验&#xff0c;历任核心研发工程师…

34、springboot切换内嵌Web服务器(Tomcat服务器)与 生成SSL证书来把项目访路径从 HTTP 配置成 HTTPS

知识点1&#xff1a;springboot切换内嵌Web服务器&#xff08;Tomcat服务器&#xff09; 知识点2&#xff1a;生成SSL证书来把项目访路径从 HTTP 配置成 HTTPS ★ Spring Boot默认的Web服务器&#xff08;Tomcat&#xff09; ▲ 基于Servlet的应用&#xff08;使用Spring MV…

使用VSCode SSH实现公网远程连接本地服务器开发的详细教程

文章目录 前言1、安装OpenSSH2、vscode配置ssh3. 局域网测试连接远程服务器4. 公网远程连接4.1 ubuntu安装cpolar内网穿透4.2 创建隧道映射4.3 测试公网远程连接 5. 配置固定TCP端口地址5.1 保留一个固定TCP端口地址5.2 配置固定TCP端口地址5.3 测试固定公网地址远程 前言 远程…

把Android手机变成电脑摄像头

一、使用 DroidCam 使用 DroidCam&#xff0c;你可以将手机作为电脑摄像头和麦克风。一则省钱&#xff0c;二则可以在紧急情况下使用&#xff0c;比如要在电脑端参加一个紧急会议&#xff0c;但电脑却没有摄像头和麦克风。 DroidCam 的安卓端分为免费的 DroidCam 版和收费的 …

【每日一题】1267. 统计参与通信的服务器

【每日一题】1267. 统计参与通信的服务器 1267. 统计参与通信的服务器题目描述解题思路 1267. 统计参与通信的服务器 题目描述 这里有一幅服务器分布图&#xff0c;服务器的位置标识在 m * n 的整数矩阵网格 grid 中&#xff0c;1 表示单元格上有服务器&#xff0c;0 表示没有…

python进行数据分析:数据预处理

六大数据类型 见python基本功 import numpy as np import pandas as pd数据预处理 缺失值处理 float_data pd.Series([1.2, -3.5, np.nan, 0]) float_data0 1.2 1 -3.5 2 NaN 3 0.0 dtype: float64查看缺失值 float_data.isna()0 False 1 …

Oracle给表空间添加容量

假如给SYSTEM表空间添加 查看文件位置和容量&#xff1a;Select * FROM DBA_DATA_FILES; FILE_NAME就是要修改的文件 查看每一个表空间的容量&#xff0c;单位MB&#xff1a; SELECT t.tablespace_name, round(SUM(bytes / (1024 * 1024)), 0) ts_size FROM dba_tablespaces…

大数据扫盲(2): 数据分析BI与ETL的紧密关系——ETL是成功BI的先决条件

着业务的发展每个企业都将产生越来越多的数据&#xff0c;然后这些数据本身并不能直接带来洞察力并产生业务价值。为了释放数据的潜力&#xff0c;数据分析BI&#xff08;商业智能&#xff09;成为了现代企业不可或缺的一部分。然而&#xff0c;在数据分析的背后&#xff0c;有…