Abstract
Flicker and stroboscopic effects caused by a temporally modulated light source may be harmful for the human visual system. Standardized measurement methods have been developed for the related temporal light artefacts of LED luminaires. It was found out that the performance of the International Electrotechnical Commission (IEC) recommended flickermeter implementation is highly dependent on sampling frequency. Novel digital implementations for the flickermeter and stroboscopic effect visibility measure (SVM) were created to remove any inaccuracies. The performance of the novel Aalto implementations does not depend on the sampling frequency when running the test waveforms of the IEC standard through the implementations. As compared with the IEC recommended digital implementations, Aalto flickermeter decreases the average error related to the test waveforms from −0.05 to +0.003, and Aalto SVM meter also decreases the average error by almost two orders of magnitude.
1. Introduction
Different operating principles of light sources based on LEDs and incandescent lamps cause their temporal light modulation (TLM) behaviour to be significantly different. The TLM properties produce temporal light artefacts (TLA) that are visible effects in the human visual system. TLAs have been linked to some adverse effects to humans.1,2 The EU Ecodesign Regulation sets limits to two of the TLA metrics: the short-term flicker severity index
The values of
In this work, we describe anomalies found in the IEC recommended flickermeter implementation caused by built-in MATLAB functions butter() and filter(). These functions do not follow the analogue response in the frequency band of interest in the IEC recommended implementation. This effect was noticed at the sampling frequency of 50 kHz and further studied using sampling frequencies between 40 kHz and 100 kHz. Because of this reason, we implemented novel flicker and SVM meters to remove any anomalies in the TLA characterization results. These Aalto implementations decrease the average deviations from the expected values by an order of magnitude in the case of flickermeter and by almost two orders of magnitude in the case of SVM meter.
2. Flickermeter and stroboscopic effect visibility meter
We first describe the principles of digital implementations of the short-term flicker severity index and stroboscopic effect visibility measure. Both meters are defined in related standards5,6 and consist of four blocks A to D that handle different physiological effects in the human vision system. Block diagrams are presented in Figures 1 and 3 for the flickermeter and stroboscopic effect visibility meter, respectively.

Drawing of a block diagram of the flickermeter as it is described 5 in IEC TR 61547
2.1 Light flickermeter
Block A in the flickermeter, as can be seen in Figure 1, works as an input adapter. The output of Block A is the normalized light waveform E(t).5,9
In Block B, the human eye response is simulated by using three different filters. Firstly, the signal goes through a first-order high-pass filter. The transfer function of the high-pass filter in Laplace domain is defined as shown in equation (1):
where s = j
The third and final filter in Block B is a specialized bandpass filter
Equation (2) has the form given in IEC TR 61547-1, and it represents the frequency response of an average human eye to the flicker signal. 5 After these three filters, the input waveform is highly attenuated outside the most effective range of 5 Hz to 30 Hz, which can be seen in the black curve in Figure 2. The digital implementation of these filters is described in more detail in Appendix A.

Linear scale amplitudes for the filters in Block B, and the total amplitude of all filters
Block C of the light flickermeter is responsible for modelling the eye–brain response to the output signal from Block B. Block C is identical to Block 4 in the IEC 61000-4-15 flickermeter. 5 Firstly, the signal is squared to implement the nonlinearity of perception of flicker happening in the transfer phase from eye to brain.9,10 After this, the brain memory storage effect is modelled with a first-order low-pass filter defined as:
where
Maximum instantaneous flicker should get a value of
where
Finally, in Block D, the
where
2.2 Stroboscopic effect visibility meter
Function of Block A in the SVM meter as can be seen in Figure 3 is the same as in the flickermeter. Block B of the SVM meter takes the temporal light waveform and converts it to frequency spectrum. This is achieved by Hanning windowing and taking the discrete Fourier transform (DFT). Windowing was utilized to remove the effects of spectral leakage in the following Fourier analysis of the spectrum. The spectral leakage in this case would be caused by possible non-integer number of periods of light waveform in the sampled data. As DFT considers the sampled data as a discrete periodic signal, it will join the first and last datapoints together. This will cause a phase-shift in the endpoint boundaries of the signal in the case of sampled data consisting of non-integer number of periods.12,13

Drawing of a block diagram of the SVM meter as it is described 6 in IEC TR 63158
Hanning windowing was selected in this case as it is recommended by both Commission International de l’Éclairage (CIE) and IEC.2,6 The Hanning window is given as:
where
Because Hanning window is used to attenuate both ends of the signal, zero-padding is only utilized to ensure that the measured signal contains an integer number of periods. The Aalto SVM meter utilizes MATLAB built-in peak-finding algorithm, with a minimum peak distance of 1 Hz, as CIE recommends.
2
Block B produces the normalized frequency spectrum
Block C weights the frequency spectrum from Block B with the visibility threshold function for SVM. This is defined as:
where a = 0.00518s, b = 306.6 Hz, and c = 10 Hz.
6
The threshold function of Equation (11) is defined in the range 0 Hz to 2000 Hz. The frequency spectrum
where the summation of Equation (12) covers frequency components up to 2 kHz. 6 The Aalto SVM meter is designed to be used with long-duration light waveform (>20 s) with high sampling frequency (up to 100 kHz).
3. Anomalies in the IEC recommended implementation of light flickermeter
In the IEC recommended implementation of flickermeter, we found out that there are problems with the implementation of filters in blocks B and C. 7 These were found to be related to the MATLAB functions butter() and filter(), used to create the filtering. Figure 4 compares the analogue response and two digitized responses produced by the Butterworth filters of MATLAB butter() function and by using Tustin’s method to create Butterworth filters. 12 The filter transfer function given by Tustin’s method can be found as Equation (A3) of Appendix A. We see that the signal given by butter() function does not follow the analogue response curve of the Butterworth filter. This is likely due to the way butter() is implemented in the IEC recommended implementation which does not follow the instruction by MATLAB manual. 14

Response curves for sixth-order low-pass Butterworth filter implementations. Black curve under the dashed red line is the theoretical analogue response
To fix these problems, we created a novel MATLAB implementation for the light flickermeter. 15 In the Aalto implementation, the filter transfer functions that were earlier created using butter() function were replaced with filter transfer functions using zero-pole-gain (ZPK) representation in Z-domain as described in Appendix A. The digital ZPK filter representation used with Tustin’s method accurately follows the analogue response curve of the sixth-order Butterworth filter as can be seen in Figure 4.
We did not find any anomalies on the same scale in the IEC recommended SVM meter as in the IEC recommended light flickermeter, but nevertheless decided to recreate the MATLAB code for MVS following the IEC standard 6 to see if we could produce better results for the SVM meter as well. The Aalto SVM meter 15 was implemented without using any modules of earlier implementations but following the related IEC standard. 6
4. Avoiding transient effects
In the IEC standard,
5
it is recommended to remove the first 60 s from the
Parameters of the five waveforms defined in the IEC standard for the flickermeter validation 5

5. Validation of flicker and SVM meter implementations
The validation of the Aalto implementations was conducted with the given test waveforms of the IEC standards5,6 for the flickermeter and SVM meter.
5.1 Flickermeter validation
In the case of light flickermeter, the IEC standard 5 gives five different waveforms defined by their modulation frequencies and their relative modulation amplitudes. Defined waveform parameters are shown in Table 1.
IEC TR 61547-1 gives in Section 8.2 seven factors α = 1/4, 1/2, 1, 2, 3, 4 and 5 for scaling the
The results for flickermeter validation are shown in Table 2. IEC deviations are mostly negative and Aalto deviations are positive. This difference is due to the internal biases in the implementations. The bias in the IEC implementation seems to change significantly depending on the modulation frequency of the waveform. As waveform 5 has the highest modulation frequency, it also has the highest flicker value resulting in positive deviations. This Aalto flickermeter implementation outperforms the IEC recommended implementation with all reference waveforms. On the average, the deviation is decreased from −0.05 to +0.003 when moving from the IEC recommended implementation to the Aalto flickermeter implementation.
Deviations of the IEC recommended flickermeter and Aalto flickermeter from the target values in absolute units for each five waveforms in Table 1
Sampling frequency of 50 kHz and waveform length of 200 s were used.
We also studied the effect of the sampling frequency used for the measurement of light waveform. In Figure 6, the average deviations from the α values are shown as functions of the sampling frequency. Both digital implementations produce similar results for sampling frequencies from 4 kHz to 25 kHz. After 30 kHz, the Aalto implementation starts to outperform the IEC recommended implementation, and at 50 kHz the IEC recommended implementation starts to produce significantly larger deviations than the Aalto implementation. Aalto implementation gives stable results over the 4 kHz to 100 kHz range. At 100 kHz modulation frequency, the average deviation is 0.0028 with the Aalto Implementation.

Average deviations from the expected values when using different sampling frequencies. In each case, the deviation is normalized by the value of α
5.2 SVM meter validation
For the SVM meter there are nine different test waveforms.
6
These waveforms consist of five square waves (Sqr) and four sinusoidal waveforms (Sin) that are defined by their modulation frequencies and amplitudes. The waveforms and results with the IEC recommended implementation and the Aalto implementation can be seen in Table 3. Except for the highest frequency of 1900 Hz, the deviations of Aalto implementation from the expected values
Results of the IEC and Aalto SVM meter implementations with nine reference waveforms.
6. Conclusions
The currently available MATLAB implementation of the flickermeter recommended by the IEC standard has problems related to the implementation of filters. They were solved by creating a novel Aalto implementation of the flickermeter in MATLAB using robust mathematical methods. Along with the flickermeter, a novel Aalto SVM meter implementation was created following similarly robust methods.
The performance of the IEC recommended flickermeter implementation is highly dependent on the sampling frequency. Up until 30 kHz, both flickermeter implementations work fine, but with sampling frequencies above 50 kHz, the IEC recommended implementation was found not to work as intended. Aalto flickermeter was shown to produce stable results with sampling frequencies up to 100 kHz when using the test waveforms of the IEC standard.
Aalto flickermeter implementation decreased the errors by an order of magnitude, on average, as compared with the IEC recommended flickermeter, when using the test waveforms. In the SVM meter implementation, Aalto SVM meter decreased the average deviation from the target values by almost two orders of magnitude for the test waveforms when comparing to the IEC recommended SVM meter.
Footnotes
Appendix
Acknowledgements
We would like to thank Carsten Dam-Hansen for pointing out the importance of accurate specification of the amplitude of the SVM test waveforms. This work has been carried out in project 20NRM01 MetTLM that has received funding from the EMPIR program co-financed by the participating states and the European Union’s Horizon 2020 research and innovation program. We also acknowledge support by the Academy of Finland Flagship Programme, Photonics Research and Innovation (PREIN), decision number: 320167.
Declaration of conflicting interests
The authors declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article.
Funding
The authors disclosed receipt of the following financial support for the research, authorship, and/or publication of this article: This work has been carried out in project 20NRM01 MetTLM that has received funding from the EMPIR program co-financed by the participating states and the European Union’s Horizon 2020 research and innovation program. We also acknowledge support by the Academy of Finland Flagship Programme, Photonics Research and Innovation (PREIN), decision number: 320167.
