differences between function filtfilt and filter?
38 ビュー (過去 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!