A simple algorithm for a digital three-pole Butterworth filter of arbitrary cut-off frequency: application to digital electroencephalography.
Algorithms for low-pass and high-pass three-pole recursive Butterworth filters of a given cut-off frequency have been developed. A band-pass filter can be implemented by sequential application of algorithms for low- and high-pass filters. The algorithms correspond to infinite impulse-response filters that have been designed by applying the bilinear transformation to the transfer functions of the corresponding analog filters, resulting in a recursive digital filter with seven real coefficients. Expressions for filter coefficients as a function of the cut-off frequency and the sampling period are derived. Filter performance is evaluated and discussed. As in the case of their analog counterparts, their transfer function shows marked flattening over the pass band and gradually higher attenuation can be seen at frequencies above or below the cut-off frequency, with a slope of around 60 dB/decade. There is a 3 dB attenuation at the cut-off frequency and a gradual increase in phase shift over one decade above or below the cut-off frequency. Low-pass filters show a maximum overshoot of 8% and high-pass filters show a maximum downwards overshoot of approximately 35%. The filter is mildly under-damped, with a damping factor of 0.5. On an IBM 300GL personal computer at 600 MH with 128 MB RAM, filtering time with MATLAB 5.2 running under Windows 98 is of the order of 50 ms for 60000 samples. This will be adequate for on-line electroencephalography (EEG) applications. The simplicity of the algorithm to calculate filter coefficients for an arbitrary cut-off frequency can be useful to modern EEG laboratories and software designers for electrophysiological applications.
Alarcon
G
G
Physics Department (Biophysics), Imperial College, Prince Consort Road, SW7 2BZ, London, UK.
Guy
C N
CN
Binnie
C D
CD
D000465:Algorithms; D004569:Electroencephalography / Q000379:methods*; D005374:Filtration; D012815:Signal Processing, Computer-Assisted / Q000295:instrumentation*