Why low pass filtering requires long duration time signals?

28 ビュー (過去 30 日間)
Kalasagarreddi Kottakota
Kalasagarreddi Kottakota 2023 年 8 月 22 日
回答済み: Star Strider 2023 年 8 月 22 日
Hi,
  1. I am working with lowpass filtering using filtfilt in matlab. I have observed filtering process is increasing its efficiency when passing long duration time signals rather than short ones. Unfortunately, I cannot disclose the matlab code. Can some one help me to understand the reason behind it?
  2. Does lowpass filters works well for non-staionary signals, where the frequency of time signal changes. ex: chirp

回答 (2 件)

dpb
dpb 2023 年 8 月 22 日
編集済み: dpb 2023 年 8 月 22 日
It's pretty obvious why a lowpass filter would need longer time -- as the cutoff frequency is lowered, the output of the filter is predominantly a lower and lower frequency reflecting that corner frequency reduction. It then takes proportionally longer for the resultant signal to reflect at least one full time span for that frequency.
It takes only 1 msec for a 1 kHz signal to have a full sine wave pass, but if it is only 10 Hz then it takes 100 msec, 1 Hz a full second, etc.
The lowpass filter passes everything lower than the cutoff (and some energy higher, how much dependent upon the precise rolloff characteristics of the chosen filter), but what one will see in observing the time trace out of the filter will depend upon that input energy content frequency and then, for how long one observes the signal. If it's only 1 Hz and watch for 1 msec, no matter how fast you actually sample, the signal amplitude isn't going to change too much; you'l just catch it at the amplitude reflecting whatever portion of the phase angle it is at at the time sampled.
As for the second, that all depends upon what "work(s) well" means for a given context/purpose. It (the filter) will pass whatever its shape and cutoff frequency characteristics are; if the corner frequency is lower than the upper frequency of the chirp then the characteristics of the chirp will be effectively flattened to cover the lower band of the input (again with whatever passes thru above the corner filter dependent upon how sharp the corner is). So, whether that would be the desired result or not is indeterminate as a generic question; "it depends" upon what the purpose of having the filter in place is.
In general, ANALOG lowpass filters are used in signal collection for the purpose of preventing aliasing of frequencies higher than that of the sampling rate; once a signal is sampled it's essentially impossible to remove those artifacts introduced without external assumptions. Ex post facto digital filtering of an already captured signal is (only?) of value to remove components of the captured signal not of interest for a specific purpose or noise from non-correlated sources; if it is random noise then averaging can be a very effective noise reduction technique for stationary signals; for nonstationary signals that would require a consistent triggering and averaging of the entire transient. Again, only a knowledge of what is being sampled and for what purpose would be able to address the specific case.

Star Strider
Star Strider 2023 年 8 月 22 日
1. The problem with needing long signals is primarily due to using an FIR filter, since FIR filters are usually long in order to get the desired response. The best solution is to use an IIR filter (I prefer elliptic filters because of their computational efficiency), however there is no one best design. It depends on the response you want. Always use second-order-section implementation and filtfilt for best results.
2. Filters do the same operations to both stationary and non-stationary signals.

カテゴリ

Help Center および File ExchangeDigital and Analog Filters についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by