傅里叶-双谱联合分解方法(Python)

360影视 欧美动漫 2025-04-29 16:27 2

摘要:# 3. 加权峭度指标def weighted_kurtosis(fibfs):"""计算分量加权峭度:param fibfs: 分量列表:return: 权重数组"""kurt = np.array([kurtosis(fibf) for fibf in f

算法流程

信号建模

FDM分解

加权峭度重构

双谱分析

部分代码如下:

# 3. 加权峭度指标def weighted_kurtosis(fibfs):"""计算分量加权峭度:param fibfs: 分量列表:return: 权重数组"""kurt = np.array([kurtosis(fibf) for fibf in fibfs])weights = kurt / np.sum(kurt)return weights# 4. 调制信号双谱分析def modulated_bispectrum(signal, fs, nperseg=256):"""计算复合切片双谱:param signal: 输入信号:param fs: 采样频率:param nperseg: 分段长度:return: 双谱矩阵,频率数组"""n = len(signal)nseg = n // npersegbispec = np.zeros((nperseg//2, nperseg//2), dtype=complex)for seg in np.array_split(signal[:nseg*nperseg], nseg):X = fft(seg)X_conj = np.conj(X)for i in range(nperseg//2):for j in range(i, nperseg//2):k = i + jif k

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

来源:冀冀学习课堂

相关推荐