信号的小波包能量谱计算(以轴承振动信号为例,Python环境)

小波分析是近30年来发展起来的数学分支,是Fourier分析划时代发展的结果,由法国工程师Morlet首先提出,后广泛应用于信号处理、图像处理与分析、地震勘探、故障诊断、自动控制等领域,小波就是小的波形,所谓“小”是指它具有衰减性,“波”则是指它的波动性,其振幅为正负相间的振荡形式。小波分析的基本思想依然沿承了Fourier变换,就是将信号在一系列基函数张成的空间上进行投影。

Fourier变换选择无限长的三角函数作为基函数,这个三角函数会伸缩、平移:当基函数收缩时对应信号的高频部分,伸张时对应信号的低频部分。某些尺度下,基函数会与信号相乘得到一个很大的值,表示二者有高度的相关性,这一相关性就体现了信号包含该频率的成分的多少。但是,对于非平稳过程,Fourier变换有局限性。它只能获取一段信号总体上包含哪些频率的成分,但无法确定各成分出现的时刻,即Fourier变换在时域上无任何分辨能力。而平稳信号大多是人为制造出来的,自然界中的大量信号基本都是非平稳的,因此,小波变换应运而生。

小波变换将无限长的三角函数换成了有限长的、具有衰减性的小波基函数,这样既能够获取频域信息,也可以获取时域信息。优于Fourier分析的是,它在时域和频域同时具有良好的局部化性质。小波分析是一个时间和频率的局域变换,因而能有效地从信号中提取信息,通过伸缩和平移等运算功能对信号进行多尺度细化分析。工程设备或结构运行中难免会发生损伤,当损伤发生时将导致结构响应表现出非平稳和非线性的特征,而这些特征又与结构损伤状态密切相关。小波分析在结构损伤识别中的应用比较常见的有:(1)基于小波系数的损伤识别;(2)基于小波频带能量的损伤识别;(3)小波方法与其他方法联合应用。

在一个机械系统中,利用频率成分复杂的信号作为激励信号作用于机械系统时,这些复杂的频率成分的输出表现,会因为机械系统的损伤而发生变 化。一般情况下,机械损伤部分会对某些频率产生抑制作用,同样会对某些频率发挥增强作用。所以, 激励信号作用于有损伤机械系统的输出与作用于正常机械系统的输出相比,其相同频带内含有的能量是有区别的,这种区别表现为它会使一些频带内的信号能量或减少或增强,因此,可以通过分析信号的能量变化而判断机械系统损伤情况,其他的系统都与此类似。

首先导入相关模块(需要提前安装pywt模块,pip install pywt)

import scipy.io as scio  #导入scio包
import numpy as np
import matplotlib.pyplot as plt
import os
from sklearn import preprocessing
import pywt
import pywt.data
import pandas as pd

读取数据函数

def DataAcquision(file_Path):data = scio.loadmat(file_path)  data_key_list = list(data.keys()) accl_key = data_key_list[3]  accl_data = data[accl_key].flatten()  return accl_datafile_path = '1730_12k_0.007-InnerRace.mat'  #文件夹路径
data_arr = DataAcquision(file_path)  # 加载数据
#选取db1小波,扩展模式选择symmetric,最大分解层数为3
wp = pywt.WaveletPacket(data=data_arr, wavelet='db1',mode='symmetric',maxlevel=3) 

绘制轴承内圈故障时域波形

plt.figure(figsize=(12,3))
plt.plot(data_arr)

绘制轴承内圈故障振动信号每一层小波分解时域图

绘制轴承正常工况振动信号每一层小波分解时域图

绘制轴承内圈故障振动信号小波包分解能量谱

绘制轴承正常工况振动信号小波包分解能量谱

完整代码:信号的小波包能量谱计算(以轴承振动信号为例,Python环境)

擅长领域:现代信号处理,机器学习,深度学习,数字孪生,时间序列分析,设备缺陷检测、设备异常检测、设备智能故障诊断与健康管理PHM等。

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

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

相关文章

QT文件读写操作和内容提取

访问IO设备,需要先调用open()来设置正确的OpenMode(例如ReadOnly或ReadWrite) 打开设备后后,使用write() 或putChar() 写入数据到文件和设备,并通过调用read(),readLine() 或readAll() 进行读取;使用完设备后&#xf…

供应链攻击揭秘:识别、防范与应对

供应链攻击是网络安全领域的一种新兴威胁,它利用供应链中的漏洞对目标进行攻击。本文将介绍供应链攻击的概念、类型、危害,并通过具体案例阐述其影响,同时探讨如何防范供应链攻击,以提高人们对供应链攻击的认识和防范意识。 一、引…

3、Jenkins持续集成-Jenkins安装和插件管理

文章目录 一、Jenkins安装1. 安装JDK2. 获取jenkins安装包3. 安装包上传到服务器,进行安装4. 修改Jenkins配置(1)低版本Jenkins的rpm包(2)高版本Jenkins的rpm包 5. 启动Jenkins6. 打开浏览器访问7. 获取并输入admin账户…

【漏洞复现】netgear路由器 boarddataww 存在RCE漏洞

免责声明:文章来源互联网收集整理,请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该…

HTML发展史

为什么要讲 HTML 发展史呢? 唐太宗告诉我们: 以铜为镜,可以正衣冠;以史为镜,可以知兴替;以人为镜,可以明得失。 那了解了 HTML 的发展史,可以知道什么呢? 答案是兼容 国内在 淘宝…

FDM3D打印系列——美纹纸遮挡喷漆

大家好,我是阿赵。   自从上次尝试了水补土和喷漆,发现效果不错之后,我就接着进行第二次的尝试了。   这次打印的模型是这个拳皇里面的卢卡尔,别看拍照好像很高大,其实这个模型很小的,只有10cm左右的高…

C#获取HTML源码

C#获取HTML源码 2024年03月23日记录 以前的那个从网上找到的方法, 在一些网站上用不了,如17K,取出来的是乱码,要么就是一坨JS,好像是用JS又重新加载了什么的 using System; using System.Collections.Generic; using System.We…

面试 Java 基础八股文十问十答第二十期

面试 Java 基础八股文十问十答第二十期 作者:程序员小白条,个人博客 相信看了本文后,对你的面试是有一定帮助的!关注专栏后就能收到持续更新! ⭐点赞⭐收藏⭐不迷路!⭐ 1)HashMap 和 Concurre…

打造全网最全Doris面试题(100个问题2万字)

在大数据领域,Doris作为一款高性能、易扩展的MPP(Massively Parallel Processing)分析数据库,受到了越来越多企业的青睐。作为一名大数据架构师,了解Doris的核心特性和面试题是至关重要的。本文将为您提供一系列Doris面试题的参考答案,帮助您在面试中游刃有余,同时也为您…

PySide6-YOLO8目标检测、追踪可视化界面

目录 项目地址实现效果DetectTrack 项目地址 https://github.com/zhengjie9510/pyside-yolo 实现效果 Detect Track

windows安装ssh

一、下载ssh https://github.com/PowerShell/Win32-OpenSSH/releases/download/v8.1.0.0p1-Beta/OpenSSH-Win64.zip 二、安装ssh 解压到C:\Program Files\OpenSSH-Win64 配置环境变量 把 C:\Program Files\OpenSSH-Win64 加到path环境变量里面 C:\Program Files\OpenSSH-Win64&…

JDK1.8新特性——Stream流方法引用

文章目录 Stream流如何获取流水线Stream流中间方法Stream终结方法 方法引用引用静态方法引用成员方法引用构造方法类名引用成员方法引用数组构造方法 Stream流 Stream流是JDK8中提供的一种新特性 Stream流的使用步骤: 先得到Stream流,把数据放到流中使…

七、大模型-什么是Fine-tuning

好文推荐 推荐一篇比较透彻的介绍 对于深度学习模型中的 Fine-tuning(微调)操作,以下是详细介绍和原理说明: 什么是 Fine-tuning(微调)? Fine-tuning 是指在一个已经训练好的模型基础上&am…

Arcgis 导入经纬度坐标、导出经纬度坐标

目录 一、导入经纬度坐标 1、在excel中准备好经纬度坐标的数据表 2、将数据放入Acrgis的工作路径 3、在arcgis中添加数据 4、显示经纬度坐标点 5、导出为shp矢量文件 二、根据shp的经纬度坐标点导出成经纬度坐标 1、右键选择打开属性表 2、在属性表的菜单下拉栏里找到…

三、阅读器的开发--1、项目准备

1、项目准备 1.1、项目搭建 我用的脚手架是vue cli 5.0的,通过vue create 项目名称来创建的项目 上下箭头选的是最后那个,是指手动配置,然后回车 空格选中下面这些,然后回车 下图最后那个指我们所有的配置在哪里配置&#xff0…

c++ 线程池/Github 开源项目源码分析(progschj/ThreadPool)

c 线程池/Github 开源项目源码分析(progschj/ThreadPool) 前言[ThreadPool 项目地址](https://github.com/progschj/ThreadPool)项目源码:基本用法类成员变量类成员函数构造函数的签名创建线程线程默认的任务向任务队列中添加一个任务析构函数…

open images v7的600类别名称

英文: 0: Accordion1: Adhesive tape2: Aircraft3: Airplane4: Alarm clock5: Alpaca6: Ambulance7: Animal8: Ant9: Antelope10: Apple11: Armadillo12: Artichoke13: Auto part14: Axe15: Backpack16: Bagel17: Baked goods18: Balance beam19: Ball20: Balloon21…

【Rust】Shared-State Concurrency

Shared-State Concurrency channel类似于single ownership. 而shared memory类似与multiple ownership. multiple ownership是难于管理的. smarter pointer也是multiple ownership的. Rust的type system和ownership rules帮助实现正确的multiple ownership管理。 Using Mute…

百度智能云+SpringBoot=AI对话【人工智能】

百度智能云SpringBootAI对话【人工智能】 前言版权推荐百度智能云SpringBootAI对话【人工智能】效果演示登录AI对话 项目结构后端开发pom和propertiessql_table和entitydao和mapperservice和implconfig和utilLoginController和ChatController 前端开发css和jslogin.html和chat.…

MySQL 8.0-索引- 不可见索引(invisible indexes)

概述 MySQL 8.0引入了不可见索引(invisible index),这个在实际工作用还是用的到的,我觉得可以了解下。 在介绍不可见索引之前,我先来看下invisible index是个什么或者定义。 我们依然使用拆开来看,然后再把拆出来的词放到MySQL…