低通滤波的神器工具,推荐你试试HICUT.m
,在 MATLAB 里跑起来还挺顺。它做的事也不复杂,就是把输入向量里超过某个频率阈值的成分砍掉,留下平滑干净的部分,蛮适合做信号降噪或者平滑的。
MATLAB自带一些滤波器设计工具没错,比如fir1
、butter
这些都好用,但有时候你就想快速上手,那HICUT
就比较轻量,直接调用也方便。
用法也简单,解压hicut.zip
,把HICUT.m
丢到你的工作目录,在命令窗口敲help hicut
看看,基本上就是传个向量,再加个阈值,它就给你搞定。
我平时做图像平滑、语音降噪都会拿这个用一用,响应也快,效果也还不错。你要是搞时间序列的平滑趋势,也适合。
嗯,对了,如果你还想研究更深入的设计思路,像是基于窗函数的 FIR 或者 IIR 滤波器设计,也可以看看它的源码,说不定还能学点新招。
如果你对滤波器设计挺感兴趣,推荐你也瞅瞅这些:
如果你经常用 MATLAB 搞信号,可以把HICUT.m
放工具箱里,省得下次又找。