differences between function filtfilt and filter?
44 次查看(过去 30 天)
显示 更早的评论
I want to do low pass filtering for my data, my data is a time series for energey, so all input data are positive. I design a 8 order butterworth filter just like [b,a] = butter(nn,Wn,'low'); then I use data_out=filtfilt(b,a,data_in), the output data has negative values, but if I use data_out=filter(b,a,data_in), the output are all positive. What's wrong with the function filtfilt?
0 个评论
回答(1 个)
Jan
2012-4-25
Nothing is wrong with filtfilt. It simply filters the signal twice to remove the phaseshift. And this can lead to negative values depending on the signal and the filter parameters.
1 个评论
Daniel Shub
2012-4-25
I might be wrong, but I am pretty sure you don't need to filter twice to get the negative values. I think it should be possible that an all positive signal after filtering once can have negative values. If you lowpass filter an all non-negative signal like a click followed by zeros you get negative values.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Digital Filtering 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!