EEG bandpass filtering locutoff and hicutoff syntax

10 次查看(过去 30 天)
I have been confused with this basic question for a while. If I want to keep the EEG data ranging from 0.05Hz- 80Hz when doing the bandpass filtering step, should I run: EEG = pop_eegfiltnew(EEG, 'locutoff', 0.05, 'hicutoff', 80)or EEG = pop_eegfiltnew(EEG, 'locutoff', 0.05, 'hicutoff', 80, ‘revfilt’, 1)? Thank you so much for anawering this question!

回答(1 个)

Umar
Umar 2025-11-9,7:14
编辑:Umar 2025-11-9,7:15

Hi @Zhuo,

For your question about bandpass filtering EEG data in the range of 0.05Hz to 80Hz, the choice between the two commands depends on the filtering approach you'd like to use:

  • If you're processing offline data and want to preserve phase relationships, you should use:
    EEG = pop_eegfiltnew(EEG, 'locutoff', 0.05, 'hicutoff', 80, 'revfilt', 1);

This applies a zero-phase filter (non-causal), which is ideal for offline processing when phase accuracy is important.

  • If you're working with *real-time data* or prefer a *causal filter*, then you can use:
    EEG = pop_eegfiltnew(EEG, 'locutoff', 0.05, 'hicutoff', 80);

This applies a causal bandpass filter, which only uses past and present data.

For most offline analyses, `revfilt = 1` is recommended for better phase preservation.

Hope this helps.

Reference:

https://sccn.ucsd.edu/pipermail/eeglablist/2023/016946.html

类别

Help CenterFile Exchange 中查找有关 EEG/MEG/ECoG 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by