This submission contains an article describing the ins and outs of the dc blocking filter, giving the relationships between the lone filter coefficient and the cut-on frequency. The implementation aspects are also discussed showing how to interpret the effects of an impulse or step response on the data. The filter is capable of cut-on frequencies far less than 0.01% Nyquist. The article is accompanied by a Matlab function.
The Matlab function dcblock.m is given for the calculation of the lone filter coefficient, a. The syntax includes:
a = dcblock(Fc);
a = dcblock(fc,fs);
[Fc,fc] = dcblock(a,fs);
where Fc is the normalized cut-on frequency, fc is the cut-on frequency in Hz, and fs is the sampling frequency also in Hz. If no outputs are declared at function call, a plot of the filter frequency response is given. Examples provided in the article address the overall performance of the filter in terms of signal distortion, its removal and limitations. |