使用CEEMDAN进行信号分解

使用信号分解后得到的IMF的作用是?

CEEMDAN(Complete Ensemble Empirical Mode Decomposition with Adaptive Noise)是一种用于时序数据分析的分解方法,它能够将复杂的信号分解成一系列本征模态函数(IMFs)和一个残差。以下是经过CEEMDAN分解后的8个结果的解释:

  1. IMF1:第一个本征模态函数,通常代表信号中的高频分量或噪声成分。它捕捉的是数据中的快速变化部分。

  2. IMF2:第二个本征模态函数,频率略低于IMF1,通常代表信号中的较高频但低于IMF1的成分。

  3. IMF3:第三个本征模态函数,频率继续降低,代表中等频率的成分。

  4. IMF4:第四个本征模态函数,进一步降低频率,捕捉中等频率以下的成分。

  5. IMF5:第五个本征模态函数,频率更低,捕捉较低频率的成分。

  6. IMF6:第六个本征模态函数,频率继续降低,代表信号中的低频成分。

  7. IMF7:第七个本征模态函数,频率非常低,捕捉信号中的非常低频成分。

  8. Residual(残差):剩余部分,代表信号中的趋势成分或非常低频的变化,通常为原始信号减去所有IMFs后的结果。

这些IMFs和残差部分可以提供对信号各个频率成分的详细了解,有助于进一步的分析和处理,如故障诊断、信号去噪、特征提取等。具体应用中,可以根据需要选择一些IMFs进行重构或分析,以便更好地理解和利用信号中的有用信息。

实验结果

在这里插入图片描述

学习测试代码

import numpy as np
import matplotlib.pyplot as plt
from PyEMD import CEEMDAN

# 生成示例信号
t = np.linspace(0, 1, 1000)
signal = np.sin(2 * np.pi * 5 * t) + np.sin(2 * np.pi * 20 * t) + np.sin(2 * np.pi * 50 * t) + np.random.normal(0, 0.2, t.shape)

# 实例化CEEMDAN对象
ceemdan = CEEMDAN()
ceemdan.trials = 100  # 设置试验次数
ceemdan.noise_seed(42)  # 设置随机种子以保证结果可重复

# 进行CEEMDAN分解
IMFs = ceemdan(signal)

# 定义颜色和标记
colors = ['blue', 'green', 'red', 'purple', 'orange', 'cyan', 'magenta', 'brown']
markers = ['o', 's', '^', 'D', 'x', '*', 'p', '+']

# 绘制原始信号和分解结果
plt.figure(figsize=(12, 9))

# 绘制原始信号
plt.subplot(len(IMFs) + 1, 1, 1)
plt.plot(t, signal, color='black', linestyle='-', marker='.', markersize=2, label='Original Signal')
plt.title("Original Signal")
plt.xlabel("Time")
plt.ylabel("Amplitude")
plt.grid(True)
plt.legend()

# 绘制每个IMF
for i, (imf, color, marker) in enumerate(zip(IMFs, colors, markers)):
    plt.subplot(len(IMFs) + 1, 1, i + 2)
    plt.plot(t, imf, color=color, linestyle='-', marker=marker, markersize=2, label=f"IMF {i+1}")
    plt.title(f"IMF {i+1}")
    plt.xlabel("Time")
    plt.ylabel("Amplitude")
    plt.grid(True)
    plt.legend()

plt.tight_layout()
plt.show()

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王摇摆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值