基于机器学习的故障诊断(入门向)

 一、原始信号的特征提取

 1.EMD经验模态分解的作用

  • 信号分析EMD可以将信号分解为多个IMFs,每个IMF代表信号中的一个特定频率和幅度调制的成分。这使得EMD能够提供对信号的时频特征进行分析的能力特征提取用到的)。
  • 信号去噪:通过将信号分解为IMFs,可以识别并去除高频噪声成分,从而实现信号的去噪。通常,低频IMFs包含信号的主要特征,而高频IMFs则主要包含噪声。
  • 信号压缩:EMD可以用于信号的数据压缩。通过保留重要的IMF成分,可以实现对信号的有效压缩,减少存储和传输的数据量

EMD在这里的作用是提取信号的时频特性,是一种自适应的信号分解方法,通过将信号分解为若干个本征模态函数(Intrinsic Mode Functions, IMFs)。每个IMF代表信号在不同频率和幅度上的振动。EMD不需要预先选择基函数,而是根据信号自身的特征进行分解。可以获得信号的不同的频率成分,从高频到低频进行分解,直到无法继续分解后结束。

原理讲解可以参考这篇文章的EMD部分:信号的噪声处理及降噪方法-CSDN博客

2、小波包分解

下面讲解比较浅显,推荐看这个:版本T0的离散小波变换解说,父小波母小波是什么?高低通滤波是怎么回事?时频图怎么画?具体计算原理又是什么?你的疑问在这都有答案!_哔哩哔哩_bilibili

小波包分解要用到小波包变换,小波变换的实质是:原信号与小波基函数的相似性。小波系数就是小波基函数与原信号相似的系数。

 连续小波变换:CWT(a,b)是小波系数,a是尺度因子,b是平移因子,ψ是小波函数

离散小波变换: (父小波)尺度函数记录近似,(母小波)小波函数记录细节,因为父小波是求平均,对信号的频率不关注,所以称为低通滤波器,母小波是求差值,低频信号差值不大,所以称为高通滤波器

DWT的步骤:正交性意味着不同尺度和不同位置的小波基函数之间是正交的,将信号依次分解为高频部分和低频部分,然后对低频部分继续用相同步骤进行分解,并且每次分解后,数据长度都是 /2

以上是小波分解的内容,即对低频部分进行分解。而小波包分解则是对低频和高频部分都进行分解。 

举例例子:采样频率为1024Hz,采样时间是1秒,有一个信号s是由频率100和200Hz的正弦波混合的,我们用WPD来分解,分解三层,下面的图像是第三层的图像,即7-14节点

 解释:y轴是节点,节点代表分解后的频率。x轴是时间,颜色的深浅代表频率的幅值,我们的采样频率是1024Hz,根据采样定理,奈奎斯特采样频率是512Hz,我们分解了3层,最后一层就是 2^3=8个频率段,每个频率段的频率区间是 512/8=64Hz,看图颜色重的地方一个是在8那里,一个在13那里,8是第二段,也就是 65-128Hz之间,13是第五段,也就是257-320Hz之间。

小波与小波包、小波包分解与信号重构、小波包能量特征提取 暨 小波包分解后实现按频率大小分布重新排列(Matlab 程序详解)-CSDN博客

通过对信号特征提取时频图后,打上标签再进行训练。

二、机器学习的方法

机器学习在故障诊断领域本质上就是根据已有的数据,用不同的算法(SVM)去学习不同数据的特征,训练出一个还不错的参数(模型),能够对数据进行分类,分类通常是按以下几种故障原因进行的

按类型分为:监督学习和无监督学习

 这是常用的机器学习方法,选择合适的方法后取构建数据集,数据集的来源有公开数据集、企业合作的数据,我们通常需要根据已有的数据,去提取数据的特征,然后再打上标签,最后进行训练。

 以上就是机器学习相关的部分,因作者水平有限,如有说的不对的地方,欢迎评论区指正!

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

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

相关文章

【算法刷题】leetcode hot 100 双指针

文章目录 283. 移动零11. 盛最多水的容器15. 三数之和42. 接雨水 283. 移动零 https://leetcode.cn/problems/move-zeroes/description/?envTypestudy-plan-v2&envIdtop-100-liked 解法一: 找到第一个等于0的下标,然后继续向右找到第一个不等于0的…

Flutter Xcode 16+ iOS 18.1 使用image_pickers无法弹出选择图片的视图问题

解决 Flutter Xcode 16 使用 image_pickers 无法弹出选择图片视图的问题 在开发 Flutter 应用时,图片选择功能是常见的需求之一。image_pickers 库因其便捷性和功能丰富性,成为了许多开发者的选择。然而,随着 Xcode 版本的不断更新&#xff…

高斯混合模型 (Gaussian Mixture Model, GMM) 算法详解与PyTorch实现

高斯混合模型 (Gaussian Mixture Model, GMM) 算法详解与PyTorch实现 目录 高斯混合模型 (Gaussian Mixture Model, GMM) 算法详解与PyTorch实现1. 高斯混合模型 (GMM) 算法概述1.1 高斯分布1.2 GMM的优势2. GMM的核心技术2.1 模型定义2.2 参数估计2.3 损失函数3. PyTorch实现G…

【蓝桥杯选拔赛真题60】C++寻宝石 第十四届蓝桥杯青少年创意编程大赛 算法思维 C++编程选拔赛真题解

目录 C++寻宝石 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序编写 五、运行结果 六、考点分析 七、推荐资料 C++寻宝石 第十四届蓝桥杯青少年创意编程大赛C++选拔赛真题 一、题目要求 1、编程实现 有N(1<N<100)个盒子排成一排,每个盒子都放…

计算机组成原理(九):乘法器

乘法器原理 乘法器的工作原理可以用二进制乘法来说明。二进制乘法和十进制乘法类似&#xff0c;通过部分积的累加得到结果。 部分积的生成 在二进制乘法中&#xff0c;每一位的乘积是两个二进制数位的 与运算&#xff08;0 0 0&#xff0c;1 0 0&#xff0c;0 1 0&…

【汇编】x86汇编编程寄存器资源心中有数

1. CPU状态及控制寄存器 TR&#xff0c;GDTR&#xff0c;LDTRcr0-cr3EFLAGS 等等 2. 业务计算寄存器&#xff08;我起的名字&#xff09; 业务寄存器用于访问内存、参数传递、数据传递、计算。 段寄存器6个&#xff1a; cs&#xff0c;ds&#xff0c;es&#xff0c;ss&…

vue封装axios请求

在vue项目中我们发送请求一般是使用axios 我们可以封装axios来避免冗余代码 首先引入axios npm install axios创建环境配置文件 NODE_ENV development VITE_APP_TITLE dev VITE_APP_BASE_API /test VITE_SERVE "http://127.0.0.1"上面是创建dev配置文件 也可以…

Nginx入门笔记

Nginx入门笔记 一、Nginx基本概念二、代理1、正向代理2、反向代理 三、准备工作1、CentOS 7安装nginx&#xff08;1&#xff09;. 安装必要的依赖&#xff08;2&#xff09;下载nginx&#xff08;3&#xff09;编译安装&#xff08;4&#xff09;编译并安装 Nginx(5)启动nginx …

基于旋转框的目标检测算法简单实操

使用labelme工具&#xff0c;使用多边形方式进行标注。 pip install labelme 标注完成后只需要将标注的数据使用opencv的最小外接矩形框进行转化即可。 labelme标注的多边形格式数据转换成COCO旋转框格式&#xff0c;转换脚本代码如下&#xff1a; import os import json impo…

重塑视频创作的格局!ComfyUI-Mochi本地部署教程

一、介绍 mochi是近期Genmo公司开源的先进视频生成模型&#xff0c;具有高保真运动和强大的提示遵循性。此模型的发布极大的缩小了闭源和开源视频生成系统之间的差距。 目前&#xff0c;视频生成模型与现实之间存在巨大差距。其中最影响视频生成的两个关键功能也就是运动质量和…

el-table自定义按钮控制扩展expand

需求&#xff1a;自定义按钮实现表格扩展内容的展开和收起&#xff0c;实现如下&#xff1a; 将type“expand”的表格列的宽度设置为width"1"&#xff0c;让该操作列不展示出来&#xff0c;然后通过ref动态调用组件的内部方法toggleRowExpansion(row, row.expanded)控…

Attention计算中的各个矩阵的维度都是如何一步步变化的?

在Transformer模型中&#xff0c;各个矩阵的维度变化是一个关键的过程&#xff0c;涉及到输入、编码器、解码器和输出等多个阶段。以下是详细的维度变化过程&#xff1a; 输入阶段 输入序列&#xff1a;假设输入序列的长度为seq_len&#xff0c;每个单词或标记通过词嵌入&…

Ubuntu 22.04 英伟达开发环境 CUDA 12.4 | cuDNN 9.0.0 | TensorRT 10.1 版本安装指南

NVIDIA 驱动安装 前置 笔者近期重整服务器&#xff0c;计划重新安装操作系统并配置新的开发环境。服务器的主要配置如下&#xff1a; Dell PowerEdge R730 Intel Xeon E5-2630v3 x2 64GB ECC DDR4 NVIDIA GeForce RTX 2080 Ti Rev. A Ubuntu 22.04.5 LTS x86_64 (No Desktop…

数据结构-栈、队列和数组

栈 栈的定义 栈是只允许在一端进行插入或删除操作的线性表。首先栈式一种线性表&#xff0c;但限定这种线性表只能在某一端进行插入和删除操作&#xff0c;如图所示。 栈包括&#xff1a; 栈顶&#xff08;Top&#xff09;。允许进入插入删除的那一端。 栈底&#xff08;Butt…

源代码编译安装X11及相关库、vim,配置vim(3)

一、vim插件安装 首先安装插件管理器Vundle ()。参照官网流程即可。vim的插件管理器有多个&#xff0c;只用Vundle就够了。然后~/.vimrc里写上要安装的插件: filetype offset rtp~/.vim/bundle/Vundle.vim call vundle#begin() Plugin VundleVim/Vundle.vim Plugin powerline…

Mysql快速列出来所有列信息

文章目录 需求描述实现思路1、如何查表信息2、如何取字段描述信息3、如何将列信息一行展示4、拼接最终结果 需求描述 如何将MySQL数据库中指定表【tb_order】的所有字段都展示出来&#xff0c;以备注中的中文名为列名。 实现思路 最终展示效果&#xff0c;即拼接出可执行执行…

LLM大模型实践10-聊天机器人

大型语言模型带给我们的激动人心的一种可能性是&#xff0c;我们可以通过它构建定制的聊天机器人 &#xff08;Chatbot&#xff09;&#xff0c;而且只需很少的工作量。在这一章节的探索中&#xff0c;我们将带你了解如何利用会话形式&#xff0c;与具 有个性化特性&#xff08…

用python实现烟花代码,完整代码拿走不谢

有时候用python实现一些有趣的代码&#xff0c;既有趣&#xff0c;又能提升知识 使用Python实现动态烟花代码 效果如下&#xff1a; 不废话&#xff0c;直接上代码&#xff1a; import pygame from random import randint, uniform, choice import mathvector pygame.math…

[IoT]物联网(IoT)网络的安全性

确保物联网(IoT)网络的安全性是至关重要的&#xff0c;以下是一些关键措施来保障网络的安全性&#xff1a; 1. 数据加密 传输加密&#xff1a;使用TLS/SSL协议对数据传输进行加密&#xff0c;确保数据在传输过程中不被窃听或篡改。存储加密&#xff1a;对存储在设备或服务器上…

【Java项目】基于SpringBoot的【校园交友系统】

【Java项目】基于SpringBoot的【校园交友系统】 技术简介&#xff1a;系统软件架构选择B/S模式、SpringBoot框架、java技术和MySQL数据库等&#xff0c;总体功能模块运用自顶向下的分层思想。 系统简介&#xff1a;系统主要包括管理员和用户。 (a) 管理员的功能主要有首页、个人…