FIR filters:
filter!(eeg, fprototype=:fir, ftype=:bs, cutoff=(45, 55), order=8, window=hanning(127))
NeuroAnalyzer.filter!(eeg, fprototype=:fir, ftype=:lp, cutoff=45.0, order=8, window=hanning(128)) NeuroAnalyzer.
FIR filters with Hamming window generated automatically:
filter!(eeg, fprototype=:fir, ftype=:hp, cutoff=0.1, order=8) NeuroAnalyzer.
Output:
[ Info: Creating HP filter:
[ Info: Using default window: hamming(4096)
[ Info: Attenuation: 32 dB
[ Info: F_pass: 0.1 Hz
[ Info: F_stop: 0.0 Hz
[ Info: Transition bandwidth: 0.0004 Hz
[ Info: Cutoff frequency: 0.0998 Hz
(!) Certain windows (e.g. hanning()
) may require DSP.jl
to be loaded. NeuroAnalyzer provides additional windows, see generate_window().
IIR filters:
filter!(eeg, fprototype=:butterworth, ftype=:lp, cutoff=45.0, order=2)
NeuroAnalyzer.filter!(eeg, fprototype=:butterworth, ftype=:hp, cutoff=0.1, order=8)
NeuroAnalyzer.filter!(eeg, fprototype=:butterworth, ftype=:bs, cutoff=(4, 8), order=8)
NeuroAnalyzer.
filter!(eeg, fprototype=:elliptic, ftype=:bs, cutoff=(45, 55), rs=10, rp=1, order=12)
NeuroAnalyzer.
filter!(eeg, fprototype=:chebyshev1, ftype=:bs, cutoff=(45, 55), rs=1, order=8)
NeuroAnalyzer.filter!(eeg, fprototype=:chebyshev2, ftype=:bs, cutoff=(45, 55), rp=1, order=8) NeuroAnalyzer.
Second-order IIR notch filter:
filter!(eeg, fprototype=:iirnotch, cutoff=50, bw=2) NeuroAnalyzer.
Remez filter:
filter!(eeg, fprototype=:remez, ftype=:lp, order=128, cutoff=20, bw=0.5) NeuroAnalyzer.
Polynomial of 8th order:
filter!(eeg, fprototype=:poly, order=8) NeuroAnalyzer.
Convolution:
filter!(eeg, fprototype=:conv, window=generate_window(:hann, 128)) NeuroAnalyzer.
Moving average filter:
filter!(eeg, fprototype=:mavg, order=2, window=[1, 2, 3, 2, 1]) NeuroAnalyzer.
Moving median filter:
filter!(eeg, fprototype=:mmed) NeuroAnalyzer.
Previewing filter response – see this tutorial.