基于FFT + CNN -Transformer时域、频域特征融合的电能质量扰动识别模型

news2024/10/7 19:19:48

目录

往期精彩内容:

​模型整体结构

1 快速傅里叶变换FFT原理介绍

第一步,导入部分数据,扰动信号可视化

第二·步,扰动·信号经过FFT可视化

2 电能质量扰动数据的预处理

2.1 导入数据

2.2 制作数据集

3 基于FFT+CNN-Transformer的轴承故障识别模型

3.1 网络定义模型

3.2 设置参数,训练模型

3.3 模型评估

代码、数据如下


往期精彩内容:

电能质量扰动信号数据介绍与分类-Python实现-CSDN博客

Python电能质量扰动信号分类(一)基于LSTM模型的一维信号分类-CSDN博客

Python电能质量扰动信号分类(二)基于CNN模型的一维信号分类-CSDN博客

Python电能质量扰动信号分类(三)基于Transformer的一维信号分类模型-CSDN博客

Python电能质量扰动信号分类(四)基于CNN-BiLSTM的一维信号分类模型-CSDN博客

Python电能质量扰动信号分类(五)基于CNN-Transformer的一维信号分类模型-CSDN博客

前言

本文基于Python仿真的电能质量扰动信号,进行快速傅里叶变换(FFT)的介绍与数据预处理,最后通过Python实现基于FFT的CNN-Transformer融合模型对电能质量扰动信号的分类。Python仿真电能质量扰动信号的详细介绍可以参考下文(文末附10分类数据集):

电能质量扰动信号数据介绍与分类-Python实现_python给电压数据做分类-CSDN博客

部分扰动信号类型波形图如下所示:

模型整体结构

模型整体结构如下所示,一维故障信号经过FFT变换的频域特征以及信号本身的时域特征分别经过CNN卷积池化操作,提取全局特征,然后再经过Transformer提取时序特征,增强融合特征,最后经过全连接层和softmax输出分类结果。

1 快速傅里叶变换FFT原理介绍

傅里叶变换是一种信号处理和频谱分析的工具,用于将一个信号从时间域转换到频率域。而快速傅里叶变换(FFT)是一种高效实现傅里叶变换的算法,特别适用于离散信号的处理。

第一步,导入部分数据,扰动信号可视化

第二·步,扰动·信号经过FFT可视化

2 电能质量扰动数据的预处理

2.1 导入数据

在参考IEEE Std1159-2019电能质量检测标准与相关文献的基础上构建了扰动信号的模型,生成包括正常信号在内的10中单一信号和多种复合扰动信号。参考之前的文章,进行扰动信号10分类的预处理:

第一步,按照公式模型生成单一信号

单一扰动信号可视化:

2.2 制作数据集

制作数据集与分类标签

3 基于FFT+CNN-Transformer的轴承故障识别模型

3.1 网络定义模型

注意:输入扰动信号数据形状为 [64, 1024], batch_size=64,  ,1024代表序列长度。

3.2 设置参数,训练模型

50个epoch,准确率将近100%,用FFT+CNN-Transformer融合网络模型分类效果显著,模型能够充分提取轴承故障信号的空间和时序特征和频域特征,收敛速度快,性能优越,迄今为止,是目前往期文章方法中精度最高的方法。

注意调整参数:

  • 可以适当增加 CNN层数和隐藏层维度数,微调学习率;

  • 改变Transformer隐藏维度和层数,增加更多的 epoch (注意防止过拟合)

  • 可以改变一维信号堆叠的形状(设置合适的长度和维度)

3.3 模型评估

准确率、精确率、召回率、F1 Score

十分类混淆矩阵:

代码、数据如下

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

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

相关文章

服务攻防-端口协议桌面应用QQWPS等RCEhydra口令猜解未授权检测

知识点: 1、端口协议-弱口令&未授权&攻击方式等 2、桌面应用-社交类&文档类&工具类等 章节点: 1、目标判断-端口扫描&组合判断&信息来源 2、安全问题-配置不当&CVE漏洞&弱口令爆破 3、复现对象-数据库&中间件&…

AS-V1000产品介绍:支持GA/T1400视图库标准(可通过GA/T1400接入海康、华为、大华等图传前端设备,实现图传功能)

目 录 一、概述 二、AS-V1000视频监控管理平台的特点 二、视频监控平台通过GA/T1400接入前端设备 (一)接入华为GA/T1400前端设备 (二)接入大华GA/T1400前端设备 (三)接入海康威视GA/…

QML ListView 列表视图

作者: 一去、二三里 个人微信号: iwaleon 微信公众号: 高效程序员 虽然 Repeater 在重复创建多个相似项的时候很方便,但是通常只适用于有限的简单元素,并且它还无法滚动浏览。而基于 Flickable 的视图组件(如 GridView、ListView、TableView、TreeView 等)则弥补了这些缺…

vue-3d-model

vue-3d-model - npm GitHub - hujiulong/vue-3d-model: 📷 vue.js 3D model viewer component 通过该插件降低Threejs的使用难度 vue项目加载三维模型,我把模型放在了服务器的tomcat里面,需要对tomcat的fbx项目文件夹设置跨域,如…

Docker容器引擎(5)

目录 一.docker-compose docker-compose的三大概念: yaml文件格式: json文件格式: docker-compose 配置模板文件常用的字段: 二.Docker Compose 环境安装: 查看版本: 准备好nginx 的dockerfile的文…

微信小程序(三十一)本地同步存储API

注释很详细&#xff0c;直接上代码 上一篇 新增内容&#xff1a; 1.存储数据 2.读取数据 3.删除数据 4.清空数据 源码&#xff1a; index.wxml <!-- 列表渲染基础写法&#xff0c;不明白的看上一篇 --> <view class"students"><view class"item…

银行数据仓库体系实践(16)--数据应用之财务分析

总账系统 在所有公司中&#xff0c;财务分析的基础都是核算&#xff0c;那在银行的系统体系中&#xff0c;核算功能在业务发生时由业务系统如核心、贷款、理财中实现登记&#xff0c;各业务系统会在每天切日后统计当天各机构的核算科目的发生额与余额&#xff0c;并统一送到总账…

k8s二进制及负载均衡集群部署详解

目录 常见部署方式 二进制部署流程 环境准备 操作系统初始化配置 关闭防火墙 配置SELinux 关闭SWAP 根据规划设置主机名 在master添加hosts&#xff0c;便于主机名解析 调整内核参数 配置时间同步 部署docker引擎 在所有node节点部署docker引擎 部署etcd集群 签发…

shell脚本自动备份数据库表

今日目标&#xff1a;shell脚本自动备份数据库中的表并记录执行日志和mysql输出日志 编写思路&#xff1a; &#xff08;1&#xff09;shell脚本运行mysql命令 &#xff08;2&#xff09;脚本输出记录到日志中 &#xff08;3&#xff09;定时任务自动执行shell脚本 1、she…

王子公主来扫雷0^0

&#x1fa90;&#x1fa90;&#x1fa90;欢迎来到程序员餐厅&#x1f4ab;&#x1f4ab;&#x1f4ab; 今日主菜&#xff1a;扫雷小游戏&#xff0c; 主厨&#xff1a;邪王真眼 所属专栏&#xff1a; C语言知识点 主厨的主页&#xff1a;Chef‘s blog 引言&a…

SpringFramework实战指南(五)

SpringFramework实战指南(五) 4.3 基于 注解 方式管理 Bean4.3.1 实验一: Bean注解标记和扫描 (IoC)4.3.2 实验二: 组件(Bean)作用域和周期方法注解4.3.3 实验三: Bean属性赋值:引用类型自动装配 (DI)4.3.4 实验四: Bean属性赋值:基本类型属性赋值 (DI)4.3.5 实验五:…

C语言第十六弹---操作符(下)

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】 操作符 1、下标访问[]、函数调用() 1.1、[ ] 下标引用操作符 1.2、函数调用操作符 2、结构成员访问操作符 2.1、结构体 2.1.1、结构的声明 2.1.2、结构体变…

Rust学习之Features

Rust学习之Features 一 什么是 Features二 默认 feature三 简单的features应用示例四 可选(optional)的依赖五 依赖的特性5.1 在依赖表中指定5.2 在features表中指定 六 命令行中特性控制七 特性统一路径八 其它8.1 相互排斥特性8.2 观察启用特性8.3 [Feature resolver version…

【Java程序设计】【C00234】基于Springboot的美食生活分享平台(有论文)

基于Springboot的美食生活分享平台&#xff08;有论文&#xff09; 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的美食生活分享平台 主要功能如下&#xff1a;用户模块管理、美食分享笔记管理、美食笔记详情管理、公告信息管理、用户评论模块管…

node 第二十四天 mongoDB shell 命令 高级方法 $where aggregate聚合

$where 数据库数据如下 使用where语法如下 等价于 2.aggregate 聚合 使用聚合管道执行聚合操作。该管道允许用户通过一系列基于阶段的操作来处理来自集合或其他源的数据。 过滤数据, 分组数据 (排除name为 AAA 的数据 按price进行分组 每匹配一组计数1) 下面我们用aggregate…

three.js CSS3DRenderer、CSS3DSprite渲染HTML标签

有空的老铁关注一下我的抖音&#xff1a; 效果: <template><div><el-container><el-main><div class"box-card-left"><div id"threejs" style"border: 1px solid red;position: relative;"></div><…

C++学习Day01之初识C++ Helloworld

目录 一、程序二、输出三、分析与总结 一、程序 #include <iostream> //标准输入输出流 i - input 输入 o - output 输出 stream 流 相当于 stdio.h using namespace std; //使用 标准 命名空间 //程序入口函数 int main() {// cout 标准输出流对象// <&l…

英语文件怎么翻译成中文?五个软件轻松应对英文文件翻译

英语文件怎么翻译成中文&#xff1f;随着全球化的发展&#xff0c;我们时常需要处理英文文件。对于非英语母语者来说&#xff0c;准确、快速地将英文文件翻译成中文变得至关重要。本文将介绍5款翻译软件&#xff0c;帮助你轻松应对英文文件的翻译工作。 1.智能翻译官 智能翻译…

【代码随想录-链表】环形链表

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老导航 檀越剑指大厂系列:全面总结 jav…

BetrFS: A Compleat File System for Commodity SSDs——论文阅读

EuroSys 2022 Paper 分布式元数据论文汇总 问题 在不同的工作负载下&#xff0c;没有单一的Linux文件系统在普通SSD上始终表现良好。我们将一个完备的文件系统定义为在各种微基准测试和应用程序中&#xff0c;没有一个工作负载的性能低于最佳文件系统性能的30%&#xff0c;并…