Flickermeter Filter Design and Implementation
This document describes the algorithms used to implement the filters described in IEC 61000-4-15: 2003 [1] for use in the NPL Reference Flickermeter, used in the calibration of commercial flickermeters.
For a complete description of the NPL Flickermeter see Design of NPL Flickermeter and to find out how this is used to calibrate commercial flickermeters see NPL Flickermeter Calibration Service.
The digital coefficients for all the filters are derived from the analogue representation given in IEC 61000-4-15: 2003 using the bilinear z‑transform. All the filters are realised as infinite impulse response filters in cascade form and are implemented in software using the algorithm given in [2].
The difference equations for all the filters can be shown to be identical to those given in [3].
Filter Transfer Functions
Block 3 High Pass Filter
The analogue frequency response of the 1st order high pass filter is as follows,
(1) 
The bi-linear z-transform is used to derive the transfer function in the z-domain, which can be written as follows,
(2) 
where,
C =
, a = -1, b =
and fs is the sampling rate in Hz.
Block 3 Butterworth Filter
The analogue frequency response of the (pre-warped) 6th order Butterworth low pass filter can be given as follows,
(3) 
where s is the Laplace variable, wc¢ = tan(wc/2fs), wc = 2p35 Hz and fs is the sampling rate in Hz.
The transfer function of the filter in the z-domain is realised in cascade form as follows,
(4) 
The filter can also be represented by the time-domain difference equation below,
(5) 
where C1 = C, C2 = 1, C3 = 1.
The coefficients for this difference equation can be shown to be identical to those used by Mombauer in [3] and shown below. The only difference being that, in the above implementation, a constant is multiplied by the inputs in the first section only, whereas in Mombauer’s implementation below, a different constant is used for each section.
(6) 
where,
,
,
,
,
,
fc = 35 Hz and fs is the sampling rate in Hz.
Block 3 weighting filter
The analogue transfer function is separated into 2 parts and the bi-linear z-transform is used to derive the transfer functions in the z-domain:
(7) 
(8) 
where a=2kw1fs, b=4fs2+4l fs+w12, c=2w12-8fs2, d=4fs2-4l fs+w12, e=1+2
, f=1-2
,
,
,
, fs is the sampling rate and wx and l are given in IEC61000-4-15.
The transfer function of the filter in the z-domain is realised in cascade form as follows,
(9) 
where
, a1,1 = 0, a2,1 = -1,
,
,
,
,
, and
.
Block 4 Low Pass Filter
The analogue frequency response of the 1st order low pass filter is as follows,
(10) 
The bi-linear z-transform is used to derive the transfer function in the z-domain, which is given by the following equation,
where
,
and
.
Filter Realisation
All the filters are realised in cascade form. An example of this is shown in Figure 1 for the Block 3 Butterworth filter. The filter is implemented in software as 3 cascades of second order filters, as shown in Figure 1 and equations (12) to (17). (This implementation is taken from [2]).

Figure 1 – Cascade implementation of 6th order Butterworth filter (taken from diagram in [2])
The performance of the filters has been tested using waveforms with known or calculable responses. Please see Verification of NPL Flickermeter.
References
[1] IEC 61000–4–15, Electromagnetic Compatibility (EMC) – Testing and measurement techniques – Flickermeter – Functional and design specifications, Published by The International Electrotechnical Commission, Amendment 1, 2003.
[2] Digital Signal Processing: A Practical Approach, E. C. Ifeachor and B. W. Jervis, Addison-Wesley, 1993, pp 262–263.
[3] Flicker Simulation and Minimisation, W. Mombauer, 10th Int. Conf. On Electr.Distrib. (CIRED), Brighton/UK 1989, IEE Conf. Publ. No. 305.
