Borrar filtros
Borrar filtros

Can't get a STABLE highpass filter with a 0.01 Hz cutoff frequency

8 visualizaciones (últimos 30 días)
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!

Respuestas (1)

Wayne King
Wayne King el 3 de Ag. de 2013
Editada: Wayne King el 3 de Ag. de 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);

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by