matlab中利用filtfilt函数实现零相位延迟滤波


通过FIR滤波后的信号发生明显的相位延迟,通过filtfilt函数可实现零相位延迟滤波。

filter滤波器称为一维数字滤波器。filtfilt滤波器称为零相位数字滤波。其滤波算法是基于filter而来的。只是filtfilt实现了零相位。其基本实现过程为先让信号用filter滤波,再将信号时域反转再次通过filter滤波,这样两次滤波后相位实现了零相位。

假设通过matlab的filter builder设计出的FIR滤波器为filter

data_f1 = filter(filter, data); % 显著的相位延迟

data_f2 = filtfilt(filter.Numerator, data); % 零相位延迟滤波

 

filter函数 与filtfilt函数的效果区别

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM