我有一个带有不需要的振荡载波的信号,如蓝色曲线所示。我制作了一个低通滤波器(5阶Butterworth),并使用filtfilt
函数应用,现在过滤后的输出是红色曲线。
[b,a] = butter(5,.7);
y = filtfilt(b,a,y);
红色曲线从x值500到结束的部分正是我想要的,但初始振荡仍然存在。看起来滤波器函数试图匹配滤波器输入和输出的初始/结束值,因此振荡保留。有没有一种方法可以取消匹配初始值,以便我可以获得一个平滑的输出而没有任何振荡?
更新:
我认为我的问题不够清晰。我想要像黑色曲线(手绘)那样的东西:完全消除振荡,并且不匹配初始值。我该怎么做?
y
吗?这样我们就可以尝试不同的方法了。 - bla