How to filter out peaks in a signal in Simulink?
13 ビュー (過去 30 日間)
古いコメントを表示
I want to filter out peaks in signals in Simulink without causing a delay in a signal. I have tried median filters but I need a large sliding window value (20+) to filter out peaks, doing so will introduce a large delay in the output signal which is undesirable. Is there another way to effectively filter out peaks without causing a significant delay in the output ?
Here is an example image of how a signal looks like.The peaks here are at 15s-16s mark.
Any help would be greatly appreciated. Thanks in advance!
0 件のコメント
採用された回答
Naman Chaturvedi
2018 年 8 月 27 日
Hello Darshan,
You cannot filter the signal without some delay. You can choose the low pass filter appropriate for your purpose with some delay. It is not possible to perform a zero-phase filter in real-time because a zero-phase filter requires filter coefficients that are symmetric around zero. That means that the filter is non-causal, or that current output depends on future input. This of course is not possible in the real-time case (simulink) and can be faked as in the case of filtfilt in MATLAB during post-processing.
You can even post process the signal by Compensate for the Delay Introduced by an FIR Filter or passing the signal again through a conjugate of the filter used in the simulink in the first place.
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Filter Design and Analysis についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!