首页 > 编程语言 >Python环境下一种改进小波分解方法-用于多分量信号的分解

Python环境下一种改进小波分解方法-用于多分量信号的分解

时间:2024-03-30 09:03:41浏览次数:35  
标签:gt axs plt IMF Python 1.5 分解 np 分量

小波通俗的讲就是一种振幅表现为在正负之间震荡的波形。小波变换在基于短时傅立叶变换的前提下,又加入了其所没有的可随频率变化的“时间-频率”窗口,其能对时间、频率进行局部化分析,并且对待处理信号通过多尺度处理使其表现为时-频细分的特点,是一种能突出信号时频特点以及细节的处理手段。

在小波变换理论没有被提出来之前,传统的信号处理方法,是以傅里叶变换分析为基础的,但是带来的弊端就是当我们需要处理信号的局部化细节问题时或者分析非平稳信号时,傅里叶变换就变得不适用了。在现实情况中为了满足上述要求,人们对傅里叶变换不断进行各种改进,尽可能的改善其缺点。后来发展出的短时傅里叶变换虽然采用了滑动窗口函数,但是其窗口取值是一个定值,所以在处理相对复杂的问题时,其处理能力变得很无力。然而小波变换的出现很好的解决了这个问题。小波分析涵盖了多种数学分析方法,在去噪领域尤其受推崇。

小波分析作为一种适用性强、准确率高的信号处理方法,它的出现对相关领域的发展起到了无可替代的作用。以地震信号处理为例,小波变换在地震信号处理上的应用可以总结为五个方面:(1)对采集的地震资料进行解释。(2)对采集的地震数据进行压缩。(3)压制地震信号噪声,提高信噪比。(4)计算波动方程的反演数值。(5)利用小波对地震数据进行收集。总的来说,在地震信号处理领域涉及到小波变换的方面颇多。

鉴于此,提出一种改进的小波分解方法,可用于多分量信号的分解,该改进方法采用小波包把一个信号分解成一系列的分量,并对模态分量进行聚类,通过合成信号实例验证了该算法的有效性,运行环境为Python。

部分代码如下:

# Define the example multi-component input sign
t = np.linspace(0.0, 1.0, 1024)
gt_imf1 = 1 / (1.2 + np.cos(2 * np.pi * t))
gt_imf2 = np.cos(32 * np.pi * t + 0.2 * np.cos(64 * np.pi * t)) / (1.5 + np.sin(2 * np.pi * t))
sig = gt_imf1 + gt_imf2

# Decompose the signal using the improved WT

# Display the decomposition results
# Original signal
plt.figure(figsize=(6, 4))
plt.plot(t, sig, "-k", linewidth=1.5, label="GT-IMF_1 + GT-IMF_2")
plt.title("Multi-component signal")
plt.legend(loc="upper left")
plt.xlabel("Time (s)")

# IMF 1
fig, axs = plt.subplots(1, 2, figsize=(12, 4))
axs[0].plot(t, gt_imf1, "-k", linewidth=1.5, label="GT-IMF_1")
axs[0].plot(t, imfs[0, :], "-c", linewidth=1.5, label="IMF_1")
axs[0].legend(loc="upper left")
axs[0].set_xlabel("Time (s)")

# IMF 2
axs[1].plot(t, gt_imf2, "-k", linewidth=1.5, label="GT-IMF_2")
axs[1].plot(t, imfs[1, :], "-c", linewidth=1.5, label="IMF_2")
axs[1].legend(loc="upper left")
axs[1].set_xlabel("Time (s)")
plt.show()

完整代码可通过知乎学术咨询获得:Python环境下一种改进小波分解方法-用于多分量信号的分解

工学博士,担任《Mechanical System and Signal Processing》审稿专家,担任《中国电机工程学报》优秀审稿专家,《控制与决策》,《系统工程与电子技术》,《电力系统保护与控制》,《宇航学报》等EI期刊审稿专家。

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

标签:gt,axs,plt,IMF,Python,1.5,分解,np,分量
From: https://blog.csdn.net/weixin_39402231/article/details/137163334

相关文章

  • Python环境下基于机器学习的空压机故障识别(出口阀泄漏等)
    Python环境下基于机器学习(多层感知机,决策树,随机森林,高斯过程,AdaBoost,朴素贝叶斯)的压缩机故障识别(出口阀泄漏,止逆阀泄露,轴承损伤,惯性轮损伤,活塞损伤,皮带损伤等)。空压机是一种经典的动力设备,也被誉为企业产品生产的"生命气源",,广泛应用于制药工业、爆破采煤、矿上通风、风动实......
  • Python的浅拷贝与深拷贝
    浅拷贝#第一种In[1]:x=[1,2,3]In[2]:y=x.copy()In[3]:x[1]=1In[4]:xOut[4]:[1,1,3]In[5]:yOut[5]:[1,2,3]#第二种In[6]:x=[1,2,3]In[7]:y=x[:]In[8]:x[1]=1In[9]:xOut[9]:[1,1,3]In[10]:yOut[10]:[1,2,3]......
  • Python之curd增删改查
    增append增加In[1]:hero=['1','2']In[2]:hero.append('3')In[3]:heroOut[3]:['1','2','3']extend多个增加In[3]:heroOut[3]:['1','2','3']In[4]:hero.......
  • Python之def函数
    注:函数的内容称为函数体,函数体是多条python语句组成的简单的一个print函数In[25]:defmyfunc():...:foriinrange(3):...:print("煤煤是小乖猫")...:#效果In[26]:myfunc()煤煤是小乖猫煤煤是小乖猫煤煤是小乖猫传入参数In[27]......
  • 【Python】如何入门 Python:系统化方法与实践路径
    目录前言一、基础知识打牢基础二、选择合适的学习工具三、实践项目加深理解四、深入学习高级主题五、探索数据科学与机器学习六、加入社区与协作七、持续学习与跟进最新动态总结前言    在当今这个数据驱动的时代,Python作为一门强大、易学且应用广泛的编......
  • 准备Python环境学习OpenCV的使用
    安装venv模块,执行如下命令:sudoapt-getinstallpython3-venv创建venv环境,命名为images,执行如下命令:python3-mvenvimages进入新建的环境images,执行如下命令:cdimagessource./bin/activate安装Python的opencv模块,执行如下命令:pipinstallopencv-python创建测试用......
  • python给折线图添加标记
    我需要记录飞机作业的开始时间和结束时间#!usr/bin/envpython#-*-coding:utf-8_*-"""@author:JK@file:jisuan.py@time:2024/03/${DAY}@desc:"""importpandasaspdimportmatplotlib.pyplotaspltimportmatplotlib.tickerastickerinput_f......
  • 【好书推荐3】Python网络爬虫入门到实战
    【好书推荐3】Python网络爬虫入门到实战写在最前面内容简介作者简介目录前言/序言......
  • python中函数与递归的练习
    求一个十进制的数值的二进制的0、1的个数实现一个用户管理系统(要求使用容器保存数据)[{name:xxx,pass:xxx,……},{},{}]users=[]#用户类,包含基本信息classUser:def__init__(self,name,password,email=None):self.name=nameself.p......
  • 【人工智能入门必看的最全Python编程实战(6)】
    ---------------------------------------------------------------------1.AIGC未来发展前景未完持续…1.1人工智能相关科研重要性拥有一篇人工智能科研论文及专利软著竞赛是保研考研留学深造以及找工作的关键门票!!!拥有一篇人工智能科研论文及专利软著竞赛是保研考研......