Example is wrong => zero-phase filter - filtfilt(ver. 2009a)
2 ビュー (過去 30 日間)
古いコメントを表示
There is a example y=filtfilt(SOS,G,x) below
but it doesn't match like example
what is the problem?
I want to know in full - fixed full code
For example, about design with butter code or filtfilt code =======================================================
x = ecg(500)'+0.25*randn(500,1); %noisy waveform
h = fdesign.lowpass('N,F3dB',12,0.15);
dl=design(h,'butter');
y=filtfilt(dl.sosMatrix,dl.ScaleValues,x);
plot(x,'b-.'); hold on;
plot(y,'r','linewidth',3);
legend('Noisy ECG','Zero-phase Filtering','location','NorthEast');
========================================================================
please let me know......
1 件のコメント
Kaustubha Govind
2011 年 5 月 9 日
Are you saying that running the above code gives you different results from the snapshot in the documentation? If yes, could you post a snapshot of the plot generated on your run?
Note that since you are adding random noise, there may be a small amount of difference in the filtered signal (changes for every run).
採用された回答
Rob Graessle
2011 年 5 月 9 日
It looks like the documentation for FILTFILT was changed since R2009a. The page you're looking at is the latest documentation (for R2011a). When I run this example in R2009a, it doesn't look right (as you said). But when I run it in R2011a, it looks fine.
0 件のコメント
その他の回答 (1 件)
Walter Roberson
2011 年 5 月 9 日
What difference do you see between the calling sequence and the example? dl.sosMatrix would be a SOS (Second Order Section) such as is required for filtfilt()
参考
カテゴリ
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!