信号的增强自适应经验傅里叶分解(Python)

增强自适应经验傅里叶分解(Enhanced Adaptive Empirical Fourier Decomposition, EAEFD)

算法公式与流程说明

1. 核心公式

2. 算法流程

信号傅里叶变换:计算信号的FFT频谱

频谱极大值检测:通过峰值检测识别显著频率成分

构建频谱包络:使用三次样条插值连接极大值点

自适应分割边界

基于包络幅值设置动态阈值

确定满足条件的频率边界点

频带分割与IMF重构

将频谱按边界划分为若干频带

对每个频带进行逆傅里叶变换得到IMF

最优模态数选择:通过包络熵最小化确定最终IMF数量

部分代码如下:

import numpy as np
from scipy.fft import fft, fftfreq, ifft
from scipy.signal import find_peaks, hilbert
from scipy.interpolate import interp1d
import matplotlib.pyplot as plt

def compute_envelope_entropy(signal):
    """
    计算信号的包络熵 (核心优化指标)
    公式: H = -Σ (p_i * log p_i), 其中 p_i = envelope[i]/Σenvelope
    """
    analytic_signal = hilbert(signal)  # 希尔伯特变换获取解析信号
    envelope = np.abs(analytic_signal)  # 计算包络
    p = envelope / np.sum(envelope)     # 归一化为概率分布
    p = p[p > 0]                        # 避免log(0)错误
    entropy = -np.sum(p * np.log(p))    # 香农熵计算
    return entropy

知乎学术付费咨询(哥廷根数学学派):

担任《Mechanical System and Signal Processing》《中国电机工程学报》等期刊审稿专家,擅长领域:信号滤波/降噪,机器学习/深度学习,时间序列预分析/预测,设备故障诊断/缺陷检测/异常检测。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值