using NeuroAnalyzer
= load("files/eeg.hdf"); eeg
[ Info: Loaded: EEG (24 × 282991 × 1; 1105.43 s)
Load data:
using NeuroAnalyzer
= load("files/eeg.hdf"); eeg
[ Info: Loaded: EEG (24 × 282991 × 1; 1105.43 s)
Plot filter response: FIR low-pass (25 Hz) filter, attenuation 60 dB (order × 8), window generated automatically:
filter(eeg, ch="eeg", fprototype=:fir, ftype=:lp, cutoff=25, order=15, preview=true) NeuroAnalyzer.
[ Info: Signal should be tapered prior to filtering to reduce edge artifacts
[ Info: Previewing filter response, signal will not be filtered
[ Info: Creating LP filter:
[ Info: Using default window: hamming(128)
[ Info: Attenuation: 60 dB
[ Info: Transition bandwidth: 0.0244 Hz
[ Info: F_pass: 25.0 Hz
[ Info: F_stop: 31.25 Hz
[ Info: Cutoff frequency: 24.9878 Hz
(!) When preview=true
, signal will not be filtered.
Plot filter response: Remez FIR high-pass (4 Hz) filter, band width 2:
filter(eeg, ch="eeg", fprototype=:remez, ftype=:hp, cutoff=4, bw=2, preview=true) NeuroAnalyzer.
[ Info: Signal should be tapered prior to filtering to reduce edge artifacts
[ Info: Previewing filter response, signal will not be filtered
Another way is to use plot_filter_response()
.
Plot filter response: Butterworth IIR band-stop (45-55 Hz) filter, order 8 (default):
plot_filter_response(fs=sr(eeg), n=epoch_len(eeg), fprototype=:butterworth, ftype=:bs, cutoff=(45, 55), order=8)
Plot filter response: second-order IIR band-stop (50 Hz) filter, band width 8:
plot_filter_response(fs=sr(eeg), n=epoch_len(eeg), fprototype=:iirnotch, cutoff=50, bw=8)