news 2026/4/17 17:19:06

咱们搞信号处理的老司机,谁没被噪声折磨过?今天来唠唠几种滤波方法的实战体验,带点代码实操,直接上干货不废话

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
咱们搞信号处理的老司机,谁没被噪声折磨过?今天来唠唠几种滤波方法的实战体验,带点代码实操,直接上干货不废话

几种常用信号滤波方法对比; 高斯滤波; EEMD分解;集合经验模态分解;补充的集合经验模态分解; 小波分解;

高斯滤波——简单粗暴的老司机

先整点高斯滤波,这货简直就是快速去噪的万金油。看这段Python代码:

from scipy.ndimage import gaussian_filter import numpy as np noisy_signal = np.random.randn(1000) * 0.5 # 生成带噪信号 smoothed = gaussian_filter(noisy_signal, sigma=3) # 画图部分省略,你懂的

sigma参数控制平滑力度,越大越糊。优点是计算快到飞起,适合实时处理。但边缘会变模糊这点真蛋疼,像做心电图去噪这种需要保留突变特征的场景就不太合适了。

EEMD分解——对付非平稳信号的骚操作

遇到非平稳信号时,传统方法集体扑街。这时候EEMD(集合经验模态分解)就派上用场了:

from PyEMD import EEMD eemd = EEMD(trials=50, noise_width=0.05) imfs = eemd(noisy_signal) # 分解出多个IMF分量 # 选第3-5个IMF重构信号通常是关键 clean_signal = imfs[2:5].sum(axis=0)

这里trials是加白噪声的次数,noise_width控制噪声强度。实测发现这方法处理EEG脑电信号这种非平稳数据效果拔群,但计算量是真的大,没个i7处理器都不敢随便跑。

几种常用信号滤波方法对比; 高斯滤波; EEMD分解;集合经验模态分解;补充的集合经验模态分解; 小波分解;

CEEMDAN——EEMD的Pro Max版

补充集合经验模态分解(CEEMDAN)在EEMD基础上做了优化:

from PyEMD import CEEMDAN ceemdan = CEEMDAN(epsilon=0.02) imfs = ceemdan(noisy_signal)

参数epsilon控制噪声的衰减速度。比EEMD收敛更快,适合处理信噪比极低的场景,比如水下声呐信号。但代码跑起来更吃内存,8G内存的笔记本处理长信号直接卡成PPT。

小波分解——时频分析的六边形战士

最后压轴的是小波分解,这玩意简直就是时频分析的瑞士军刀:

import pywt coeffs = pywt.wavedec(noisy_signal, 'db4', level=5) # 5层分解 # 阈值处理细节部分省略 reconstructed = pywt.waverec(coeffs, 'db4')

db4小波基处理机械振动信号时,既能保留冲击特征又能抑制背景噪声。不过小波基选择是个玄学问题,sym2coif3试到怀疑人生是常态。最近发现用modwt改进算法处理边缘效应更靠谱,但代码复杂度直接翻倍。

总结下实战经验

  • 要速度选高斯
  • 非平稳信号上EEMD全家桶
  • 土豪设备直接CEEMDAN
  • 既要时域又要频域细节就怼小波

最后提醒萌新:别迷信算法,先看信号特征。有次处理工业传感器数据,简单移动平均反而比小波好使——滤波这事,合适比高级更重要。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/17 20:15:49

20250124树的直径总结

树 需要说吗? 直径 直径为树上一条边权和最长的简单路径,以下是直径的一些常用性质: 树的直径不一定唯一树的直径的端点一定是度数为1的点若直径有数条,那么所有直径交汇于至少一点树上任一点距离其最远的点一定是直径的两个端点之…

作者头像 李华
网站建设 2026/4/16 14:47:39

聊聊微网动态经济调度中场景生成与削减那些事儿

[1]关键词:场景生成;场景削减;概率分布;随机优化 [2]参考文献:《一种在微网动态经济调度中考虑风电随机性的方法》 [3]主要内容:Matlab 采用正态分布和韦布尔分布描述风电,光伏和负荷概率分布&a…

作者头像 李华
网站建设 2026/4/16 17:49:29

华为OD机考双机位C卷 - 最佳植树距离(Java Python JS C/C++ GO )

最新华为上机考试 真题目录:点击查看目录 华为OD面试真题精选:点击立即查看 华为OD机考双机位C卷 - 最佳植树距离 题目描述 按照环保公司要求,小明需要在沙化严重的地区进行植树防沙工作,初步目标是种植一条直线的树带。由于有些区域目前不适合种植树木,所以只能在一…

作者头像 李华
网站建设 2026/4/7 12:44:19

华为OD机考双机位C卷 - 荒岛求生 (Java Python JS C/C++ GO )

最新华为上机考试 真题目录:点击查看目录 华为OD面试真题精选:点击立即查看 华为OD机考双机位C卷 - 荒岛求生 题目描述 一个荒岛上有若干人,岛上只有一条路通往岛屿两端的港口,大家需要逃往两端的港口才可逃生。 假定每个人移动的速度一样,且只可选择向左或向右逃生…

作者头像 李华
网站建设 2026/4/18 2:14:21

PLC在电网备用电源自动投入中的奇妙应用:双电源切换组态解析

No.495 PLC 在电网备用电源自动投入中应用双电源切换组态有 带解释的梯形图接线图原理图图纸,io分配,组态画面 在电网系统中,备用电源自动投入装置对于保障供电的连续性和稳定性至关重要。今天咱们就唠唠PLC(可编程逻辑控制器&am…

作者头像 李华
网站建设 2026/3/24 20:14:50

自动驾驶规划与控制算法:经验与理论的交融

规划及控制算法理论分析, 涵盖详细的自动驾驶规划及控制模块的算法理论(规划大约有18页,控制大约有17页)。 其中规划模块主要围绕Apollo6.0实现的EMplanner展开,控制算法详细叙述了常用控制算法包括PID、模糊控制、LQR…

作者头像 李华