1 Introduction

Accurate calculation of harmonic parameters plays an important role in harmonic source localization, harmonic control and power system stability [13]. However, in practical applications, the accuracy of harmonic estimation would be reduced under some situations, especially in cases of fundamental frequency variance and background noise presence. Nowadays, fast fourier transform (FFT) is widely employed in power harmonics and inter-harmonics analysis for its simplicity and availability [4, 5]. However, fixed sampling rates are typical for IEC 61044 as 80 f r or 200 f r (f r is the nominal grid frequency) [6]. Thus, the picket fence effect and spectral leakage are caused mainly by asynchronous sampling of the harmonic signal, which means that the sampling rate is not synchronized with the varying fundamental frequency of the power signal. In recent years, many algorithms have been proposed to reduce the picket fence effect and spectral leakage. The most commonly recognized algorithm is weighted interpolation FFT by using nonrectangular window [710] which could significantly suppress the spectral leakage and reduce the picket fence effect to increase the accuracy of the harmonic analysis. Selecting the appropriate window function can effectively suppress the influence of spectral leakage [7]. It is well known that the performance of windowed FFT is mainly determined by the window function [8]. A combination of various window functions are proposed to improve the accuracy of power system harmonic analysis, such as Hanning window, Nuttall window, rectangular self-convolution window, Hanning self-convolution window and Nuttall self-convolution window interpolation FFT algorithm [919]. However, all side-lobe characteristics of the above window functions need to be improved particularly in spectrum leakage inhibition.

A new type of window functions: mutual-multiplication window which is obtained by multiplication of several window functions is proposed to meet the requirements of ultra-high precision harmonic analysis. The characteristics of main-lobe and side-lobe of mutual-multiplication window have been analyzed and the relevant harmonic analysis algorithm is also presented. Simulations pinpoint demonstration and verification to the high accuracy of the algorithm.

2 Mutual-multiplication window functions

An ideal window function owns the following characteristics.

  1. 1)

    Narrow main-lobe width

  2. 2)

    Low side-lobe level

  3. 3)

    Rapid roll-off speed of side-lobe

If a window meets all those properties, it can sufficiently reduce the spectral leakage and picket fence effect theoretically. Unfortunately, those three criterions conflict with each other and the key issue in the design of the window is to strike a balance between the side-lobe behaviors and the main-lobe width.

The spectral characteristics of the window function include the main-lobe width (main-lobe width, MLW), side-lobe peak level (peak side-lobe level, PSL) and the side-lobe decay rate (side-lobe roll-off rate, SRR). The narrower the main-lobe width is, the higher the frequency resolution is. The lower the side-lobe level is, the less spectral leakage is. The spectral leakage can be suppressed effectively with faster side-lobe decay rate.

Mutual-multiplication window function can be written as follows:

$$w_{mc} (n) = \underbrace{{w_{1} (n_{1} )w_{2} (n_{2} ) \ldots w_{p} (n_{p} )}}_{p}$$
(1)

where p is the number of windows involved in multiplication, called the order mutual-multiplication window while \(w_{p} (n_{p} )\) is the basic window.

According to the multiplication theorem, the window function multiplication in the time domain is equivalent to the window function convolution in the frequency domain. Therefore the mutual-multiplication frequency p-order response is:

$$W_{mc} (\omega ) = \frac{ 1}{{ 2 {{\uppi }}}}W_{1} (\omega_{1} ) * W_{2} (\omega_{2} ) * \ldots * W_{p} (\omega_{p} )$$
(2)

where ω is the type of basic window; and p is the order of convolution.

As can be seen from (2), there are three factors determining a mutual-multiplication window. A variety of mutual-multiplication windows can be constructed as different basic window function and the multiplication order can form various window choices.

2.1 Self-multiplication window function

Self-multiplication window [19] is a special form of mutual-multiplication window. It is obtained by multiplication of several same type basic window functions operation, which can be written as:

$$w_{sm} (n) = \underbrace{{w_{1} (n)w_{1} (n)\ldots w_{1} (n)}}_{p}$$
(3)

Taking Hanning window for example, analyze its time domain characters and frequency domain characters under different multiplication order.

Figure 1 shows the time domain characters of Hanning self-multiplication windows and Fig. 2 shows the frequency domain characters. Comparisons of Hanning self-multiplication window characteristics are shown in Table 1.

Fig. 1
figure 1

Time domain characters of Hanning self-multiplication windows

Fig. 2
figure 2

Normalized logarithm spectrum of Hanning self-multiplication windows

Table 1 Comparisons of Hanning self-multiplication window characteristics with the length of N = 2000

2.2 Mutual-multiplication window function

In this section, a mutual-multiplication window function with different basic windows will be discussed as follows. Comparisons of mutual multiplication window characteristics are shown in Table 2.

$$w_{mm} (n) = \underbrace{{w_{1} (n)w_{2} (n) \ldots w_{p} (n)}}_{p}$$
(4)
Table 2 Comparisons of mutual multiplication window characteristics with the length of N = 2000

2.3 Summary

The general formula of multiplication window:

$$w_{mm} (n) = \underbrace{{w_{1} (n_{1} )w_{2} (n_{2} ) \ldots w_{p} (n_{p} )}}_{p}$$
(5)

When the basic windows and the lengths of the basic windows are all the same, we get self-multiplication window in section 2.1. When the basic windows are different but the lengths of the basic window are all the same, we get mutual-multiplication window in section 2.2.

Each window function has its own characteristics and can be applied to different applications. To select the right window function, the spectral components of the signal require to be estimated at first. If the measured signal contains many frequency components, a very narrow main-lobe window function needs to be utilized. If it is a single-frequency signal and higher amplitude accuracy required, it is recommended that the window function with a quite width main-lobe should be considered.

Normally, harmonic components span widely in the frequency domain and a high frequency resolution is not completely required. On the contrary, what practically needed is a better side-lobe performance. Therefore, we can increase the number of items of the window function at the expense of the characteristics of the main-lobe in exchange for better side-lobe characteristics.

Compared with the self-multiplication window, the mutual-multiplication window has two advantages: the narrower main-lobe width and faster side-lobe roll-off rate. When the window function length is N, the side-lobe characteristics of mutual-multiplication windows function are significantly better than that by the classic windows, which could suppress spectral leakage effectively.

3 Window simulation and implementation

Setting a signal x(t) whose amplitude is A, the initial phase is θ. After the sampling of analog to digital conversion, we obtained the discrete signal:

$$x(n) = A\sin \left( {\frac{{2{{\uppi}}nf_{0} }}{{f_{s} }} + \theta } \right)$$
(6)

If the form of window function in time domain is W(n), its continuous spectrum will be W(2πf). Ignoring the negative frequency of the side-lobe, the spectrum function near the positive frequency point can be expressed as:

$$X(f) = \left( {\frac{A}{2j}} \right)\left[ {{\text{e}}^{j\theta } W\left( {2{{\uppi}}\frac{{f - f_{0} }}{{f_{s} }}} \right)} \right]$$
(7)

We can get the expression of the discrete Fourier transform of (7):

$$\, X(k\Updelta f) = \frac{A}{2j}\left[ {{\text{e}}^{j\theta } W\left( {\frac{{2{{\uppi}}(k\Updelta f - f_{0} )}}{{f_{s} }}} \right)} \right]$$
(8)

In (8): the discrete frequency interval is Δf = f s /N, N is data truncation length. Actual spectral f 0 = k 0Δf is difficult to distribute in the discrete spectrum frequency lines and generally k 0 is not an integer.

Reference [11] uses a method of dual-line interpolation. Set the two spectral lines which on the left and right sides of the peak point respectively as k 1 and k 2, the amplitude of these two lines to be y 1 and y 2 (details shown in Fig. 3. Reference [11] presents the phase correction formula and amplitude correction formula:

Fig. 3
figure 3

Frequency spectrum of asynchronous sampling

$$\theta = \arg \left[ {X(k_{i} \Updelta f)} \right] + \frac{{{\uppi}}}{2} - \arg \left[ {W\left( {\frac{{2{{\uppi }}(k_{i} - k_{0} )}}{N}} \right)} \right]$$
(9)
$$A = \frac{2y}{{\left| {W\left( {2{{\uppi }}\frac{{k_{i} - k_{0} }}{N}} \right)} \right|}}$$
(10)

3.1 Experimental analysis of the signal without noise

In order to verify the accuracy of the proposed algorithm, the 21st harmonic simulation analysis is conducted in this paper. The signal model is shown as:

$$x(n) = \sum\limits_{i = 1}^{ 21} {A_{i} \sin \left( {\frac{{2{{\uppi }}f_{1} in}}{{f_{s} }} + \theta_{i} } \right)}$$
(11)

Each harmonic amplitude and harmonic phase is shown in Table 3. The fundamental frequency of the signal f 1 = 50.1 Hz. The sampling frequency is 10000 Hz. Data length N of the truncated signal is 2000. Experimental program flow chart is shown in Fig. 4. The input signal x(n) is processed by window function and FFT computation, doublet interpolation window function. The frequency, amplitude, phase for the fundamental and harmonic component can be obtained respectively given the modified formula. The correction formulas of Hanning self-multiplication window and mutual multiplication window are respectively deduced using dual-line interpolation method proposed in this article. The simulation results are given from Tables 4, 5, 6 and 7. As can be seen, the calculation results of mutual-multiplication window are generally better than that of self-multiplication window.

Table 3 Parameters of the harmonic signals
Fig. 4
figure 4

Flow chart of harmonic analysis

Table 4 Comparisons of relative errors in calculating amplitude using Hanning self-multiplication window
Table 5 Comparisons of relative errors in calculating amplitude using Hanning and Blackman mutual-multiplication window
Table 6 Comparisons of relative errors in calculating amplitude using Hanning and Hamm mutual-multiplication window
Table 7 Comparisons of relative errors in calculating amplitude using Hanning and Rife-Vincent mutual-multiplication window

3.2 Experimental analysis under frequency fluctuations with noise

In the power system, the maximum frequency deviation range is ±0.5 Hz. Assuming the fluctuation range of the fundamental frequency is 49.5~50.5 Hz in (11) and the step interval is 0.1 Hz. Set Gauss noise to be background noise and the noise-signal ratio is 5 dB. The relative error results of amplitude and phase of the fundamental wave are shown in Figs. 5 and 6. It can be seen that the spectral leakage suppression of mutual-multiplication window is stronger. The amplitude relative error maintains at 10−8 orders. The accuracy of the phase calculation maintains at 10−7 orders as well.

Fig. 5
figure 5

Harmonic amplitude estimation with the fluctuation of the system frequency

Fig. 6
figure 6

Harmonic phase estimation with the fluctuation of the system frequency

4 Conclusion

In this paper, a completely novel window function is obtained by mutual-multiplication of existing windows. Analysis showed that the new window owns better characteristics, such as twice main-lobe width, lower peak side-lobe level which even lower than the level addition of the two separate window elements and faster roll-off rate which is greater than the addition of two window side-lobe roll-off rate.

In asynchronous sampling, the spectral leakage suppression of mutual-multiplication window is stronger than the classic method. Combined with the improved FFT algorithm, higher accuracy analysis of the harmonic signal can be achieved even in non-steady state. Simulation results verified the correctness and effectiveness of the proposed algorithm. Compared with the existing windowed interpolation algorithm, the newly proposed algorithm significantly improved the calculation accuracy of harmonic parameters.