Can't get a STABLE highpass filter with a 0.01 Hz cutoff frequency
8 views (last 30 days)
Show older comments
I have some strain data which has a very low frequency drift. The drift is for the most part linear. I need to be able to eliminate the drift. Using detrend is not a good solution for me as my real data (real strain) can have massive variations. These variations tend to be low frequency in general.
I would like to be able to use a highpass filter with a cutoff of around 0.01 Hz. Sampling frequency is 4000 Hz. I have used all possible combinations I could think of in the FDA tool, but none of them have turned out to be stable. I imagine I'm not the first one to need to filter out very low frequency drift while keeping real low frequency data (0.5 Hz and higher). Any advice?
Thanks a lot!
0 Comments
Answers (1)
Wayne King
on 3 Aug 2013
Edited: Wayne King
on 3 Aug 2013
I can get a stable highpass design with the following
d = fdesign.highpass('Fst,Fp,Ast,Ap',0.1,0.2,40,1,4000);
Hd = design(d,'butter');
Then you just filter with
output = filter(Hd,input);
as just one example, but are you sure you need a highpass filter here? How about differencing the time series?
Try the first and second differences
output = diff(input);
or
output = diff(input,2);
0 Comments
See Also
Categories
Find more on Digital Filter Design in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!