hjj-fighting

matlab filtfilt 函数

紧接上一篇,简单分析matlab中的非常好用的 filtfilt 函数,一款零相移滤波函数。
其matlab中的语法如下:

y = filtfilt(data,x);
1
非常简单,不是一般的简单!然而,其他语言中,不能用!。。。所以只能深扒matlab代码。。。

y = filter(b(:,ii),a(:,ii),y,zi(:,ii)*y(1));
y = y(end:-1:1);
y = filter(b(:,ii),a(:,ii),y,zi(:,ii)*y(1));
y = y(end-nfact:-1:nfact+1);
1
2
3
4
意思即: 滤波–翻转–再滤波–再翻转
所以在c语言的编写中,只要写好了滤波函数,加之以上的整个过程,即可实现此零相移滤波函数。

另外,在matlab中的filtfilt函数中,对原始信号进行了一次拼接


————————————————
版权声明:本文为CSDN博主「yuchendai」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u010856402/article/details/79296531

发表于 2019-09-25 09:45  蒲公英的花  阅读(3256)  评论(0编辑  收藏  举报
 

分类:

技术点:

相关文章: