Help designing very low pass filters (sub-mHz) for long time series
I am relatively new to filter design so patience is appreciated.
I have an extremely long time series (e.g. ~100 million data points) with a sample rate of 0.2 Hz and I want to apply a series of lowpass filters to the signal at query frequencies of e.g. 1/10 Hz, 1/100 Hz, 1/1000 Hz, 1/10000 Hz, and so on. However, the filtered datasets look roughly identical regardless of what lowpass filter I use.
Fig 1: Zoom view of section of time series to show small differences in filtered time series.
The spectrum of the signal suggests that there is plenty of power at the lower frequencies, so I would think that the results should be different depending on which lowpass cutoff I use.
Fig 2: Spectrum of signal
I wonder if it has something to do with trying to filter sub-mHz levels. Most of the filter questions/answers that I have found are dealing with audio sampling and much higher frequencies. Are there some defaults in MATLAB which design filters to be better behaved at higher frequencies and these assumptions break down at lower frequencies?
I have not done filter design before. All my previous filtering experiences has just used plug-and-play MATLAB functions like lowpass, highpass, bandpass. How would I go about designing an adequate filter for these low frequency signals?
Alternatively, is there nothing wrong with the result and my intuition about what the filter results should look like is just wrong?
Any help is appreciated.I am relatively new to filter design so patience is appreciated.
I have an extremely long time series (e.g. ~100 million data points) with a sample rate of 0.2 Hz and I want to apply a series of lowpass filters to the signal at query frequencies of e.g. 1/10 Hz, 1/100 Hz, 1/1000 Hz, 1/10000 Hz, and so on. However, the filtered datasets look roughly identical regardless of what lowpass filter I use.
Fig 1: Zoom view of section of time series to show small differences in filtered time series.
The spectrum of the signal suggests that there is plenty of power at the lower frequencies, so I would think that the results should be different depending on which lowpass cutoff I use.
Fig 2: Spectrum of signal
I wonder if it has something to do with trying to filter sub-mHz levels. Most of the filter questions/answers that I have found are dealing with audio sampling and much higher frequencies. Are there some defaults in MATLAB which design filters to be better behaved at higher frequencies and these assumptions break down at lower frequencies?
I have not done filter design before. All my previous filtering experiences has just used plug-and-play MATLAB functions like lowpass, highpass, bandpass. How would I go about designing an adequate filter for these low frequency signals?
Alternatively, is there nothing wrong with the result and my intuition about what the filter results should look like is just wrong?
Any help is appreciated. I am relatively new to filter design so patience is appreciated.
I have an extremely long time series (e.g. ~100 million data points) with a sample rate of 0.2 Hz and I want to apply a series of lowpass filters to the signal at query frequencies of e.g. 1/10 Hz, 1/100 Hz, 1/1000 Hz, 1/10000 Hz, and so on. However, the filtered datasets look roughly identical regardless of what lowpass filter I use.
Fig 1: Zoom view of section of time series to show small differences in filtered time series.
The spectrum of the signal suggests that there is plenty of power at the lower frequencies, so I would think that the results should be different depending on which lowpass cutoff I use.
Fig 2: Spectrum of signal
I wonder if it has something to do with trying to filter sub-mHz levels. Most of the filter questions/answers that I have found are dealing with audio sampling and much higher frequencies. Are there some defaults in MATLAB which design filters to be better behaved at higher frequencies and these assumptions break down at lower frequencies?
I have not done filter design before. All my previous filtering experiences has just used plug-and-play MATLAB functions like lowpass, highpass, bandpass. How would I go about designing an adequate filter for these low frequency signals?
Alternatively, is there nothing wrong with the result and my intuition about what the filter results should look like is just wrong?
Any help is appreciated. filter, time series, fft, data, signal processing MATLAB Answers — New Questions