フィルターのクリア

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

8 ビュー (過去 30 日間)
Ehsan
Ehsan 2013 年 8 月 3 日
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!

回答 (1 件)

Wayne King
Wayne King 2013 年 8 月 3 日
編集済み: Wayne King 2013 年 8 月 3 日
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);

カテゴリ

Help Center および File ExchangeDigital Filter Design についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by