Next Article in Journal
Development of Folded Expanded Metal Mesh with Sound Absorption Performance
Previous Article in Journal
Study of Rail Squat Characteristics through Analysis of Train Axle Box Acceleration Frequency
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Fast 10-Point DFT Algorithm for Power System Harmonic Analysis

by
Janusz P. Paplinski
* and
Aleksandr Cariow
Faculty of Computer Science and Information Technology, West Pomeranian University of Technology, Żołnierska 49, 71-210 Szczecin, Poland
*
Author to whom correspondence should be addressed.
Appl. Sci. 2021, 11(15), 7007; https://doi.org/10.3390/app11157007
Submission received: 24 June 2021 / Revised: 26 July 2021 / Accepted: 28 July 2021 / Published: 29 July 2021
(This article belongs to the Section Energy Science and Technology)

Abstract

:
This article presents an efficient algorithm for computing a 10-point DFT. The proposed algorithm reduces the number of multiplications at the cost of a slight increase in the number of additions in comparison with the known algorithms. Using a 10-point DFT for harmonic power system analysis can improve accuracy and reduce errors caused by spectral leakage. This paper compares the computational complexity for an L × 10 M -point DFT with a 2 M -point DFT.

1. Introduction

Non-linear elements are a source of distorted waveforms in power systems. Typical examples are variable-speed drives (VSD) [1,2], high-voltage direct currents (HVDC), frequency converters in wind, and solar power plants [3,4]. The resulting non-sinusoidal periodic waveforms consist of a basic component and unwanted harmonics, which can disrupt the power system. Due to the large increase in the applications of power electronics, harmonics and their reduction have been major problems and the topic of research in recent decades. A power system uses a frequency of 50 Hz or 60 Hz, and the harmonic components are multiples of the fundamental frequency.
One of the basic methods of harmonic analysis is the Discrete Fourier Transform. Various fast Fourier transform algorithms have been developed to optimize the time and resources needed for the determination of harmonics [5,6]; most of these are based on a signal with length N being a power of 2 or 4. When the harmonic analysis method based on N = 2 M -point DFTs is selected for a power system, errors appear due to the method used. For non-coherent signals, when a non-integral number of periods is present in the sampled data set, a spectral leakage occurs. This effect is because the sequence of data collected must have a finite duration and does not occur with coherent sampling in which the sampling rate is an integer multiple of period of the fundamental harmonic. The spectral leakage has two forms: short-range leakage and long-range leakage [7,8,9,10,11]. The first is caused by a non-flat upper lobe of the main window. An error in the frequency estimate occurs and the amplitude and phase estimates are attenuated and shifted, respectively. The second kind of leakage is caused by the fact that all harmonic components make a nonzero contribution to the evaluation of the n-th harmonic component. If zero padding is used, the picket fence effect might occur, and some important peaks may be ignored. These phenomena affect the accuracy of the harmonic analysis [10]. Similar effects occur when there are interharmonics in the signal.
Various frequency estimation methods have been proposed and adapted to non-coherent and non-stationary signals. These include Phase-Locked Loop (PLL) algorithms based on the ability to generate a sinusoidal output whose amplitude and phase are equal to those of the fundamental component of the input signal [12,13,14,15]; methods based on Prony’s theory, which approximates a signal by a sum of exponential functions [16,17]; Adaptive Notch Filters (ANFs), which are frequently used to eliminate narrow-band or sine wave disturbances with unknown frequencies from observed time series and to estimate the frequencies of measured sine wave signals [18,19]; variants of the Extended Kalman Filter (EKF), which works as recursive estimation method based on a linear state-space model [20,21]; and even neural network-based techniques [22,23,24]. All these algorithms have constraints to their use [25]. The drawbacks associated with the PLL are sensitivity to grid voltage variations, difficulty to obtain an accurate tuning of the PLL parameters, and slow action because of the proportional–integral block. The drawbacks of Prony’s method include its sensitivity to the noise contained in the signal, stability problems, and difficulties in inverting high-dimensional matrices [16]. An ANF implemented with a cascaded structure is perfectly able to track the fundamental frequency when the number of sub-parts is greater than the number of harmonics supposed to be in the signal; however, this can lead to significant computation costs to decrease the convergence speed and generate some oscillations in the estimation. In addition, the estimated frequency easily falls into local minima due to the non-quadratic error surface. The EKF approach is sensitive to the fact that the amplitudes of the harmonics are small compared to the fundamental amplitude, resulting in a steady-state error.
There are also many methods that are complementary to the FFT that allow the improvement of the efficiency of this algorithm, such as spectrum interpolation methods [26,27,28,29,30] and the zero padding method combined with zero-sampling elimination (pruning FFT) [31,32]. Both methods increase computational requirements and only reduces the error caused by the discrete nature of the DFT spectrum, without reducing the error caused by the effect of spectrum leakage from other components. Time windows with a shape other than rectangular are also used; however, they reduce the frequency resolution of the analysis and amplify the noise in the DFT spectrum [33,34,35,36].
For the satisfactory operation of a power system, the fundamental frequency should remain constant. In such a case, it can be assumed that there is a coherent signal; then, the FFT remains the best solution because of its efficient and simple structure. However, as mentioned above when a standard radix 2 or 4 FFT is used for the harmonic analysis of a power system, the problem of spectrum leakage remains.
In [37], a solution to this problem by using N = L × 10 M -point DFTs was proposed to reduce spectral leakage and provide high-accuracy harmonic parameters. An original approach to computing a 10-point DFT was described in [38,39]. Developing this method, we propose a new 10-point DFT algorithm with less multiplicative complexity.

2. Preliminaries

For a sequence of N complex numbers x n : = x 0 , x 1 , , x N 1 , X k : = X 0 , X 1 , , X N 1 the Discrete Fourier Transform is defined by
X k = n = 0 N 1 x n e j 2 π N k n , k = 0 , 1 , , N 1
where e is Euler’s number.
If we assume w N = e j 2 π N , the DFT can be expressed as
X k = n = 0 N 1 x n w N k n , k = 0 , 1 , , N 1
For N = 10 , the DFT has the following matrix notation:
X 10 × 1 = W 10 x 10 × 1
where
X 10 × 1 = X 0 X 1 X 2 X 3 X 4 X 5 X 6 X 7 X 8 X 9 T ,
x 10 × 1 = x 0 x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 T ,
W 10 = 1 1 1 1 1 1 1 1 1 1 1 w 10 1 w 10 2 w 10 3 w 10 4 w 10 5 w 10 6 w 10 7 w 10 8 w 10 9 1 w 10 2 w 10 4 w 10 6 w 10 8 w 10 10 w 10 12 w 10 14 w 10 16 w 10 18 1 w 10 3 w 10 6 w 10 9 w 10 12 w 10 15 w 10 18 w 10 21 w 10 24 w 10 27 1 w 10 4 w 10 8 w 10 12 w 10 16 w 10 20 w 10 24 w 10 28 w 10 32 w 10 36 1 w 10 5 w 10 10 w 10 15 w 10 20 w 10 25 w 10 30 w 10 35 w 10 40 w 10 45 1 w 10 6 w 10 12 w 10 18 w 10 24 w 10 30 w 10 36 w 10 42 w 10 48 w 10 54 1 w 10 7 w 10 14 w 10 21 w 10 28 w 10 35 w 10 42 w 10 49 w 10 56 w 10 63 1 w 10 8 w 10 16 w 10 24 w 10 32 w 10 40 w 10 48 w 10 56 w 10 64 w 10 72 1 w 10 9 w 10 18 w 10 27 w 10 36 w 10 45 w 10 54 w 10 63 w 10 72 w 10 81
In a general case, w N is a periodic function, and some simplifications can be made: w N m N = 1 , w N m N + N / 2 = 1 , w N m = w N mod m , N , w N m = w N N m , where m is an integer. For N = 10 , the matrix W 10 (4) can be simplified to
W 10 = 1 1 1 1 1 1 1 1 1 1 1 w 10 1 w 10 2 w 10 3 w 10 4 1 w 10 4 w 10 3 w 10 2 w 10 1 1 w 10 2 w 10 4 w 10 4 w 10 2 1 w 10 2 w 10 4 w 10 4 w 10 2 1 w 10 3 w 10 4 w 10 1 w 10 2 1 w 10 2 w 10 1 w 10 4 w 10 3 1 w 10 4 w 10 2 w 10 2 w 10 4 1 w 10 4 w 10 2 w 10 2 w 10 4 1 1 1 1 1 1 1 1 1 1 1 w 10 4 w 10 2 w 10 2 w 10 4 1 w 10 4 w 10 2 w 10 2 w 10 4 1 w 10 3 w 10 4 w 10 1 w 10 2 1 w 10 2 w 10 1 w 10 4 w 10 3 1 w 10 2 w 10 4 w 10 4 w 10 2 1 w 10 2 w 10 4 w 10 4 w 10 2 1 w 10 1 w 10 2 w 10 3 w 10 4 1 w 10 4 w 10 3 w 10 2 w 10 1
Let us assume, according to the procedure given in [38], new variables A 0 = X 0 , A i = ( X i + X 10 i ) / 2 , and A 10 i = ( X i X 10 i ) / 2 for i = 1 , 2 , 3 , 4 . Then, we can write the following:
A 10 × 1 = V 10 X 10 × 1
where
A 10 × 1 = A 0 A 1 A 2 A 3 A 4 A 5 A 6 A 7 A 8 A 9 T ,
V 10 = 1 0 0 0 0 0 0 0 0 0 0 1 / 2 0 0 0 0 0 0 0 1 / 2 0 0 1 / 2 0 0 0 0 0 1 / 2 0 0 0 0 1 / 2 0 0 0 1 / 2 0 0 0 0 0 0 1 / 2 0 1 / 2 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 / 2 0 1 / 2 0 0 0 0 0 0 1 / 2 0 0 0 1 / 2 0 0 0 0 1 / 2 0 0 0 0 0 1 / 2 0 0 1 / 2 0 0 0 0 0 0 0 1 / 2
Using the inverse operation X 10 × 1 = V 10 1 A 10 × 1 , the 10-point DFT (3) can be rewritten as
X 10 × 1 = V 10 1 W 10 ( 1 ) x 10 × 1
where
V 10 1 = 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 1 ,
W 10 ( 1 ) = 1 1 1 1 1 1 1 1 1 1 1 C 1 C 2 C 3 C 4 1 C 4 C 3 C 2 C 1 1 C 2 C 4 C 4 C 2 1 C 2 C 4 C 4 C 2 1 C 3 C 4 C 1 C 2 1 C 2 C 1 C 4 C 3 1 C 4 C 2 C 2 C 4 1 C 4 C 2 C 2 C 4 1 1 1 1 1 1 1 1 1 1 0 j S 4 j S 2 j S 2 j S 4 0 j S 4 j S 2 j S 2 j S 4 0 j S 3 j S 4 j S 1 j S 2 0 j S 2 j S 1 j S 4 j S 3 0 j S 2 j S 4 j S 4 j S 2 0 j S 2 j S 4 j S 4 j S 2 0 j S 1 j S 2 j S 3 j S 4 0 j S 4 j S 3 j S 2 j S 1 ,
and coefficients C m , j S m , for m = 1 , 2 , 3 , 4 , are equal:
C m = ( w 10 m + w 10 m ) / 2 ,
j S m = ( w 10 m w 10 m ) / 2 .
Using Euler’s formula, C m and j S m are reduced to [38]
C m = e j 2 π 10 m + e j 2 π 10 m / 2 = cos ( m π / 5 )
j S m = e j 2 π 10 m e j 2 π 10 m / 2 = j sin ( m π / 5 )
We create auxiliary variables a 0 = x 0 , a 5 = x 5 , a i = x i + x 10 i / 2 , and a 10 i = x i x 10 i / 2 for i = 1 , 2 , 3 , 4 , as in [38]:
a 10 × 1 = V 10 x 10 × 1 ,
where matrix V 10 is defined in (7) and
a 10 × 1 = a 0 a 1 a 2 a 3 a 4 a 5 a 6 a 7 a 8 a 9 T .
Then, the 10-point DFT algorithm (8) takes the following form:
X 10 × 1 = V 10 1 W 10 ( 2 ) V 10 1 x 10 × 1
where
W 10 ( 2 ) = 1 1 1 1 1 1 0 0 0 0 1 C 1 C 2 C 3 C 4 1 0 0 0 0 1 C 2 C 4 C 4 C 2 1 0 0 0 0 1 C 3 C 4 C 1 C 2 1 0 0 0 0 1 C 4 C 2 C 2 C 4 1 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 j S 4 j S 2 j S 2 j S 4 0 0 0 0 0 0 j S 2 j S 1 j S 4 j S 3 0 0 0 0 0 0 j S 2 j S 4 j S 4 j S 2 0 0 0 0 0 0 j S 4 j S 3 j S 2 j S 1 .
Using C m and S m , as defined in (9), and (10), the reduction formulas of trigonometric functions sin ( π a ) = sin ( a ) and cos ( π a ) = cos ( a ) , we obtain C 3 = C 2 , C 4 = C 1 , S 3 = S 2 , and S 4 = S 1 . This results in a new matrix form:
W 10 ( 2 ) = 1 1 1 1 1 1 0 0 0 0 1 C 1 C 2 C 2 C 1 1 0 0 0 0 1 C 2 C 1 C 1 C 2 1 0 0 0 0 1 C 2 C 1 C 1 C 2 1 0 0 0 0 1 C 1 C 2 C 2 C 1 1 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 j S 1 j S 2 j S 2 j S 1 0 0 0 0 0 0 j S 2 j S 1 j S 1 j S 2 0 0 0 0 0 0 j S 2 j S 1 j S 1 j S 2 0 0 0 0 0 0 j S 1 j S 2 j S 2 j S 1
Now, according to [38], we introduce the new variables B i = A i + A 5 i / 2 , B 5 i = A i A 5 i / 2 for i = 0 , 1 , 2 , and B 5 + k = A 5 + k + A 10 k / 2 , B 10 k = A 5 + k A 10 k / 2 for k = 1 , 2 ; then, we can write the following:
B 10 × 1 = 0.5 V ^ 10 A 10 × 1 ,
where
B 10 × 1 = B 0 B 1 B 2 B 3 B 4 B 5 B 6 B 7 B 8 B 9 T ,
V ^ 10 = 1 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 1 .
Then, the 10-point DFT (11) after simple conversions can be written as
X 10 × 1 = V 10 1 V ^ 10 W 10 ( 3 ) V 10 1 x 10 × 1
where
W 10 ( 3 ) = 1 0 1 0 1 0 0 0 0 0 1 0 C 2 0 C 1 0 0 0 0 0 1 0 C 1 0 C 2 0 0 0 0 0 0 C 2 0 C 1 0 1 0 0 0 0 0 C 1 0 C 2 0 1 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 j S 2 0 j S 1 0 0 0 0 0 0 0 j S 1 0 j S 2 0 0 0 0 0 0 j S 2 0 j S 1 0 0 0 0 0 0 0 j S 1 0 j S 2 0 .
In matrix W 10 ( 3 ) , we change the signs of all entries of the 3rd row, as well as all entries of the 4th, 5th, and 10th columns. This can be done by multiplying the entries by the matrices S 10 ( r ) and S 10 ( c ) on the left and right, respectively:
W 10 ( 4 ) = S 10 ( r ) W 10 ( 3 ) S 10 ( c ) = 1 0 1 0 1 0 0 0 0 0 1 0 C 2 0 C 1 0 0 0 0 0 1 0 C 1 0 C 2 0 0 0 0 0 0 C 2 0 C 1 0 1 0 0 0 0 0 C 1 0 C 2 0 1 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 j S 2 0 j S 1 0 0 0 0 0 0 0 j S 1 0 j S 2 0 0 0 0 0 0 j S 2 0 j S 1 0 0 0 0 0 0 0 j S 1 0 j S 2 0 ,
where
S 10 ( r ) = diag 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ,
S 10 ( c ) = diag 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 .
Then, we can write the 10-point DFT (13) in the following form:
X 10 × 1 = V 10 1 V ^ 10 S 10 ( r ) W 10 ( 3 ) S 10 ( c ) V 10 1 x 10 × 1
Let us denote the entries of the matrix W 10 ( 4 ) as w i k , where i , k = 0 , 1 , , 9 are the numbers of a row and a column, respectively. It is easy to see that we can extract four submatrices from the matrix W 10 ( 4 ) by choosing appropriate rows and columns such that they are identical in pairs:
W 2 ( 1 ) = w 12 w 14 w 22 w 24 = w 31 w 33 w 41 w 43 = C 2 C 1 C 1 C 2 ,
W 2 ( 2 ) = w 67 w 69 w 77 w 79 = w 86 w 88 w 96 w 98 = j S 2 j S 1 j S 1 j S 2 .
The matrices W 2 ( 1 ) and W 2 ( 2 ) contain symmetric and bisymetric structures that allow the further simplification of the number of operations [40].
The structure of the W 2 ( 1 ) matrix can be symbolically represented as
W 2 ( 1 ) = a b b a = H 2 D 2 H 2 ,
where H 2 is the order two Hadamard matrix, H 2 = 1 1 1 1 ,
D 2 = 1 2 diag a + b , a b .
The structure of the W 2 ( 2 ) matrix can be represented as
W 2 ( 2 ) = a b b a = T 2 × 3 D 3 T 3 × 2 ,
where
T 2 × 3 = 1 0 1 0 1 1 , D 3 = diag a + b , a b , b , T 3 × 2 = 1 0 0 1 1 1 .
Consequently, the final algorithm for the 10-point DFT (14), which minimizes numerical complexity, can be written as
X 10 × 1 = V 10 1 V ^ 10 S 10 ( r ) T 10 × 14 W 14 × 12 T 12 × 10 S 10 ( c ) V 10 1 x 10 × 1
where
T 12 × 10 = 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 ,
T 10 × 14 = 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 ,
and
W 14 × 12 = W 8 × 6 0 8 × 6 0 6 W 6 ,
where 0 8 × 6 and 0 6 are zero matrices,
W 8 × 6 = 1 0 0 0 0 0 0 ( C 2 + C 1 ) / 2 0 0 0 0 0 0 ( C 2 C 1 ) / 2 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 ( C 2 + C 1 ) / 2 0 0 0 0 0 0 ( C 2 C 1 ) / 2 0 0 0 0 0 1 ,
W 6 = j S 2 + j S 1 0 0 0 0 0 0 j S 2 j S 1 0 0 0 0 0 0 j S 1 0 0 0 0 0 0 j S 2 + j S 1 0 0 0 0 0 0 j S 2 j S 1 0 0 0 0 0 0 j S 1 .
We can substitute real values into C 1 , C 2 , and S 1 , S 2 using relations (9) and (10):
C 1 = cos ( π / 5 ) = 0.8090 , j S 1 = j sin ( π / 5 ) = j 0.5878 , C 2 = cos ( 2 π / 5 ) = 0.3090 , j S 2 = sin ( 2 π / 5 ) = j 0.9511 .
The matrices W 8 × 6 and W 6 take the following form:
W 8 × 6 = 1 0 0 0 0 0 0 0.5590 0 0 0 0 0 0 0.2500 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0.5590 0 0 0 0 0 0 0.2500 0 0 0 0 0 1 ,
W 6 = 1.5388 0 0 0 0 0 0 0.3633 0 0 0 0 0 0 0.5878 0 0 0 0 0 0 1.5388 0 0 0 0 0 0 0.3633 0 0 0 0 0 0 0.5878 .
The signal flow graph of the proposed algorithm is presented in Figure 1. The Matlab code of the 10-point DFT and the code verifying the each step of obtaining the 10-point DFT are included in the Supplementary Materials.
The multiplication by 0.25 is performed with a 2 bit shift to the right. From an examination of Figure 1, it can be seen that the algorithm contains two multiplications by the number 1/4, which is a power of two. This operation is reduced to the usual shift of the multiplicand by two positions to the right. Due to the simplicity of implementation, such operations are usually not considered when evaluating computational complexity [41,42]. Therefore, the proposed algorithm requires only 16 real multiplications and 92 real additions. Thus, in comparison with the base method [38,39], which required 20 real multiplications and 84 additions, we decrease the number of real multiplications by 4 and increase the number of real additions by 8. Table 1 compares the number of real multiplication and addition operations for the proposed algorithm, the baseline algorithm [38], DFT, the mixed-radix fast Fourier transform (MFFT), prime factor algorithm (PFA), Winograd Fourier transform (WFTA), and SWIFT algorithms [43,44]. Since multiplication is a more complicated operation from the point of view of its implementation [41,42], the algorithm we propose has an advantage over the presented algorithms.

3. Computing L × 10 -Point DFT

The N = 2 M -point DFT can be quickly computed with radix-2 or radix-4. There are many applications where the sequence length varies from 2 m or 4 m . Abnormal radix-based DFTs are often proposed in this case [45,46,47]. When N = L × 10 M -point DFT, in which L and M are integers, several algorithms can be used, such as the prime-factor algorithm (PFA) [48], double factors algorithm (DFA) [49], or Winograd Fourier transform algorithm (WFTA) [50]. The length N of DFT can be subdivided into smaller transforms of length N = N 1 N 2 .
Using a mixed-radix in an electric power system is not a new solution [51]. For the harmonic analysis of a 50 Hz or 60 Hz signal, it is convenient to assume N = 10 M N 2 and N 1 = 10 M , which solves the problem of sampling a non-integral number of periods and thus spectral leakage [37,39]. If we let M R 1 , A R 1 , S R 1 , and M R 2 , A R 2 , S R 2 denote the number of real multiplications, additions, and assume right-shiftings by 1 bit of the N 1 and N 2 -point DFT, then the total number of real multiplications and additions of the ( N = N 1 N 2 ) -point DFT in the DFA [49] are
M R = N 2 M R 1 + N 1 M R 2 + 4 ( N 1 1 ) ( N 2 1 ) ,
A R = N 2 A R 1 + N 1 A R 2 + 2 ( N 1 1 ) ( N 2 1 ) ,
S R = N 2 S R 1 + N 1 S R 2 .
The total number of real multiplications and additions of the ( N = N 1 N 2 ) -point DFT in the PFA [43] are
M R = N 2 M R 1 + N 1 M R 2 ,
A R = N 2 A R 1 + N 1 A R 2 ,
In Table 2, a comparison of the computational requirements for the N = 10 M –point DFT for DFA and PFA algorithms and the related N = 2 M –point and N = 4 M –point DFTs is shown. The proposed algorithm can be used in any mixed-radix or split-radix algorithms. The best algorithm was a PFA with radix-10. The spectral leakage can be reduced, and the computed harmonic parameters are more approximate to the actual value, as shown in [37,39]. Therefore, the proposed radix-10 DFT can be efficient for use in harmonics analyses in power systems.

4. Conclusions

The algorithm proposed in this paper allows us to reduce the number of multiplication operations at the expense of additions compared to known algorithms. An approach based on 10 M -point DFT harmonic analysis in power systems seems to be a better solution than the commonly used 2 M -point DFT. This algorithm can be used for coherent signals. It allows the reduction of errors resulting from a mismatch between the number of samples and the period of the signal under test, while reducing computational requirements.

Supplementary Materials

The Matlab code of the 10-point DFT and the code verifying the each step of obtaining the 10-point DFT are available online at https://www.mdpi.com/article/10.3390/app11157007/s1.

Author Contributions

Conceptualization, A.C.; methodology, A.C. and J.P.P.; validation, J.P.P.; formal analysis, A.C. and J.P.P.; writing—original draft preparation, J.P.P.; writing—review, and editing, J.P.P.; visualization, A.C. and J.P.P.; supervision, A.C. and J.P.P. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Aarniovuori, L.; Kärkkäinen, H.; Niemelä, M.; Pyrhönen, J. PWM power distribution and switching frequency analysis in motor drives. In Proceedings of the IECON 2016—42nd Annual Conference of the IEEE Industrial Electronics Society, Florence, Italy, 23–26 October 2016; pp. 4356–4361. [Google Scholar]
  2. Rangari, S.; Suryawanshi, H.; Shah, B. Effect of inverter switching frequency on the stator current harmonics of five phase induction motor. In Proceedings of the 2017 International Conference on Energy, Communication, Data Analytics and Soft Computing (ICECDS), Chennai, India, 1–2 August 2017; pp. 2128–2132. [Google Scholar]
  3. Nayusrizal, N.; Untari, I.; Putra, A.A.; Hudaya, C. Effects of Harmonic Distortions on the Accuracy of Energy and Power Losses Measurements in a Water Treatment Industry. In Proceedings of the 2019 IEEE 2nd International Conference on Power and Energy Applications (ICPEA), Singapore, 27–30 April 2019; pp. 277–281. [Google Scholar] [CrossRef]
  4. Torquato, R.; Freitas, W.; Hax, G.R.T.; Donadon, A.R.; Moya, R. High frequency harmonic distortions measured in a Brazilian solar farm. In Proceedings of the 2016 17th International Conference on Harmonics and Quality of Power (ICHQP), Belo Horizonte, Brazil, 16–19 October 2016; pp. 623–627. [Google Scholar] [CrossRef]
  5. Blahut, R.E. Fast Algorithms for Signal Processing; Cambridge University Press: Cambridge, UK, 2010. [Google Scholar]
  6. Lu, R.T.M.A.C. Algorithms for Discrete Fourier Transform and Convolution; Springer: Cham, Switzerland, 1989. [Google Scholar]
  7. Chen, K.F.; Jiang, J.T.; Crowsen, S. Against the long-range spectral leakage of the cosine window family. Comput. Phys. Commun. 2009, 180, 904–911. [Google Scholar] [CrossRef]
  8. Ferrero, A.; Ottoboni, R. High-accuracy Fourier analysis based on synchronous sampling techniques. IEEE Trans. Instrum. Meas. 1992, 41, 780–785. [Google Scholar] [CrossRef]
  9. Grandke, T. Interpolation algorithms for discrete Fourier transforms of weighted signals. IEEE Trans. Instrum. Meas. 1983, 32, 350–355. [Google Scholar] [CrossRef]
  10. Rapuano, S.; Harris, F.J. An introduction to FFT and time domain windows. IEEE Instrum. Meas. Mag. 2007, 10, 32–44. [Google Scholar] [CrossRef]
  11. Santamaria-Caballero, I.; Pantaleón-Prieto, C.J.; Ibanez-Diaz, J.; Gómez-Cosío, E. Improved procedures for estimating amplitudes and phases of harmonics with application to vibration analysis. IEEE Trans. Instrum. Meas. 1998, 47, 209–214. [Google Scholar] [CrossRef]
  12. Santos Filho, R.M.; Seixas, P.F.; Cortizo, P.C.; Torres, L.A.; Souza, A.F. Comparison of three single-phase PLL algorithms for UPS applications. IEEE Trans. Ind. Electron. 2008, 55, 2923–2932. [Google Scholar] [CrossRef]
  13. Karimi-Ghartemani, M.; Iravani, M.R. Measurement of harmonics/inter-harmonics of time-varying frequencies. IEEE Trans. Power Deliv. 2005, 20, 23–31. [Google Scholar]
  14. Karimi-Ghartemani, M.; Iravani, M.R. A nonlinear adaptive filter for online signal analysis in power systems: Applications. IEEE Trans. Power Deliv. 2002, 17, 617–622. [Google Scholar] [CrossRef]
  15. Karimi-Ghartemani, M.; Ziarani, A. Periodic orbit analysis of two dynamical systems for electrical engineering applications. J. Eng. Math. 2003, 45, 135–154. [Google Scholar] [CrossRef]
  16. Bracale, A.; Caramia, P.; Carpinelli, G. Adaptive Prony method for waveform distortion detection in power systems. Int. J. Electr. Power Energy Syst. 2007, 29, 371–379. [Google Scholar] [CrossRef]
  17. Mitra, S.K.; Kaiser, J.F. Handbook for Digital Signal Processing; John Wiley & Sons, Inc.: Hoboken, NJ, USA, 1993. [Google Scholar]
  18. Lee, K.J.; Lee, J.P.; Shin, D.; Yoo, D.W.; Kim, H.J. A novel grid synchronization PLL method based on adaptive low-pass notch filter for grid-connected PCS. IEEE Trans. Ind. Electron. 2013, 61, 292–301. [Google Scholar] [CrossRef]
  19. Nehorai, A. A minimal parameter adaptive notch filter with constrained poles and zeros. IEEE Trans. Acoust. Speech Signal Process. 1985, 33, 983–996. [Google Scholar] [CrossRef] [Green Version]
  20. Dash, P.; Pradhan, A.; Panda, G. Frequency estimation of distorted power system signals using extended complex Kalman filter. IEEE Trans. Power Deliv. 1999, 14, 761–766. [Google Scholar] [CrossRef] [Green Version]
  21. Girgis, A.A.; Chang, W.B.; Makram, E.B. A digital recursive measurement scheme for online tracking of power system harmonics. IEEE Trans. Power Deliv. 1991, 6, 1153–1160. [Google Scholar] [CrossRef]
  22. Dash, P.; Swain, D.; Routray, A.; Liew, A. An adaptive neural network approach for the estimation of power system frequency. Electr. Power Syst. Res. 1997, 41, 203–210. [Google Scholar] [CrossRef]
  23. Halbwachs, D.; Wira, P.; Mercklé, J. Adaline-based approaches for time-varying frequency estimation in power systems. IFAC Proc. Vol. 2009, 42, 31–36. [Google Scholar] [CrossRef]
  24. Lai, L.; Chan, W.; Tse, C.; So, A. Real-time frequency and harmonic evaluation using artificial neural networks. IEEE Trans. Power Deliv. 1999, 14, 52–59. [Google Scholar] [CrossRef]
  25. Caciotta, M.; Giarnetti, S.; Leccese, F.; Leonowicz, Z. Comparison between DFT, adpative window DFT and EDFT for power quality frequency spectrum analysis. In Proceedings of the 2010 Modern Electric Power Systems, Wroclaw, Poland, 20–22 September 2010; pp. 1–5. [Google Scholar]
  26. Aboutanios, E.; Mulgrew, B. Iterative frequency estimation by interpolation on Fourier coefficients. IEEE Trans. Signal Process. 2005, 53, 1237–1242. [Google Scholar] [CrossRef]
  27. Agrez, D. Weighted multipoint interpolated DFT to improve amplitude estimation of multifrequency signal. IEEE Trans. Instrum. Meas. 2002, 51, 287–292. [Google Scholar] [CrossRef]
  28. Andria, G.; Savino, M.; Trotta, A. Windows and interpolation algorithms to improve electrical measurement accuracy. IEEE Trans. Instrum. Meas. 1989, 38, 856–863. [Google Scholar] [CrossRef]
  29. Belega, D.; Dallet, D. Amplitude estimation by a multipoint interpolated DFT approach. IEEE Trans. Instrum. Meas. 2009, 58, 1316–1323. [Google Scholar] [CrossRef]
  30. Borkowski, J.; Mroczka, J. Metrological analysis of the LIDFT method. IEEE Trans. Instrum. Meas. 2002, 51, 67–71. [Google Scholar] [CrossRef]
  31. Fan, C.P.; Su, G.A. Pruning fast Fourier transform algorithm design using group-based method. Signal Process. 2007, 87, 2781–2798. [Google Scholar] [CrossRef]
  32. Rangarajan, S.; Srinivasan, S. Generalised method for pruning an FFT type of transform. IEE Proc. Vision Image Signal Process. 1997, 144, 189–192. [Google Scholar] [CrossRef]
  33. Belega, D.; Ciugudean, M.; Stoiciu, D. Choice of the cosine-class windows for ADC dynamic testing by spectral analysis. Measurement 2007, 40, 361–371. [Google Scholar] [CrossRef]
  34. Cortés, C.; Mombello, E.; Dib, R.; Rattá, G. A new class of flat-top windows for exposure assessment in magnetic field measurements. Signal Process. 2007, 87, 2151–2164. [Google Scholar] [CrossRef]
  35. Harris, F.J. On the use of windows for harmonic analysis with the discrete Fourier transform. Proc. IEEE 1978, 66, 51–83. [Google Scholar] [CrossRef]
  36. Okarma, K. Polynomial windows with low sidelobes’ level. Signal Process. 2007, 87, 782–788. [Google Scholar] [CrossRef]
  37. Li, H.; Yan, Q.; Ji, P. A New Strategy for Power System Harmonic Analysis Based on N=L×10M-Point DFT. In Proceedings of the 2011 Asia-Pacific Power and Energy Engineering Conference, Wuhan, China, 25–28 March 2011; pp. 1–4. [Google Scholar]
  38. Li, H.; Fei, R. An efficient algorithm of 10-point dft and its applications. In Proceedings of the 2010 International Conference on Electrical and Control Engineering, Wuhan, China, 25–27 June 2010; pp. 4642–4645. [Google Scholar]
  39. Li, D.L.; Li, H.J. 10-Point DFT and its Application in Power System Harmonic Analysis. Adv. Mater. Res. 2012, 433, 7458–7464. [Google Scholar] [CrossRef]
  40. Cariow, A. Strategies for the Synthesis of Fast Algorithms for the Computation of the Matrix-vector Products. J. Signal Process. Theory Appl. 2014, 3, 1–19. [Google Scholar] [CrossRef]
  41. Lee, B.H.; Kuo, S. Real-Time Digital Signal Processing: Implementaions, Applications and Experiements with the TMS320C55X; Wiley: Hoboken, NJ, USA, 2001. [Google Scholar]
  42. TMS320C54x DSP Reference Set, Volume 1: CPU and Peripherals; Texas Instruments Inc.: Dallas, TX, USA, 2001.
  43. Hicks, R.C. Comparison of Arithmetic Requirements for the PFA (Prime Factor Algorithm), WFTA (Winograd Fourier Transform Algorithm), SWIFT, MFFT (Mixed Radix Fast Fourier Transform), FFT (Fast Fourier Transform) and DFT (Discrete Fourier Transform) Algorithms; Technical Report; Army Missile Command Redstone Arsenal Al Advanced Sensors Directorate: Redston Arsenal, AL, USA, 1982. [Google Scholar]
  44. Burrus, C.S. Fast Fourier Transforms (6×9 Version); Rice University: Houston, TX, USA, 2012. [Google Scholar]
  45. Zheng, W.; Li, K. Split radix algorithm for length 6m DFT. IEEE Signal Process. Lett. 2013, 20, 713–716. [Google Scholar] [CrossRef]
  46. Wang, C.; Wang, N.; Lin, S.-J. Radix-2/6 and Radix-3/6 FFTs for a Length 6m. In Proceedings of the 2020 IEEE 6th International Conference on Computer and Communications (ICCC), Chengdu, China, 11–14 December 2020; pp. 1130–1134. [Google Scholar] [CrossRef]
  47. Li, H.; Wang, B.; Chen, X. An Efficient Algorithm for Computing 4M X 24-Point DFT. In Proceedings of the 2008 3rd International Conference on Innovative Computing Information and Control, Dalian, China, 18–20 June 2008; p. 450. [Google Scholar]
  48. Kolba, D.; Parks, T. A prime factor FFT algorithm using high-speed convolution. IEEE Trans. Acoust. Speech Signal Process. 1977, 25, 281–294. [Google Scholar] [CrossRef]
  49. Li, H.; Yan, C.; Peng, W. Double factors algorithm for computing DFT. In Proceedings of the 2009 International Conference on Image Analysis and Signal Processing, Linhai, China, 11–12 April 2009; pp. 133–137. [Google Scholar]
  50. Nawab, H.; McClellan, J. Bounds on the minimum number of data transfers in WFTA and FFT programs. IEEE Trans. Acoust. Speech Signal Process. 1979, 27, 394–398. [Google Scholar] [CrossRef]
  51. Lu, I.D.; Lee, P. Use of mixed radix FFT in electric power system studies. IEEE Trans. Power Deliv. 1994, 9, 1276–1280. [Google Scholar] [CrossRef]
  52. Takahashi, D. An extended split-radix FFT algorithm. IEEE Signal Process. Lett. 2001, 8, 145–147. [Google Scholar] [CrossRef]
Figure 1. The signal flow graph of the proposed algorithm for a 10-point DFT, where b 0 = ( C 2 + C 1 ) / 2 = 0.5590 , b 1 = S 2 + S 1 = 1.5388 , and b 2 = S 2 S 1 = 0.3633 .
Figure 1. The signal flow graph of the proposed algorithm for a 10-point DFT, where b 0 = ( C 2 + C 1 ) / 2 = 0.5590 , b 1 = S 2 + S 1 = 1.5388 , and b 2 = S 2 S 1 = 0.3633 .
Applsci 11 07007 g001
Table 1. The number of real multiplications and additions for the proposed algorithm, the baseline algorithm [38], DFT [43], MFFT [43], PFA [44], WFTA [44], and SWIFT algorithms [43].
Table 1. The number of real multiplications and additions for the proposed algorithm, the baseline algorithm [38], DFT [43], MFFT [43], PFA [44], WFTA [44], and SWIFT algorithms [43].
DFTMFFTSWIFTWFTAPFABaseline [38]Proposed
Number of real multiplications400483220202016
Number of real additions380928488888492
Table 2. The number of real multiplications M R and additions A R for DFT algorithms.
Table 2. The number of real multiplications M R and additions A R for DFT algorithms.
FFT [52]DFAPFA
Length-NRadix M R A R Radix M R A R Radix M R A R
20 R-2 R-1078222R-2 R-1032224
20 R-5 R-4 [44]40216
50 R-5 R-10324852R-5 R-10180800
60 R-6 R-103161002R-6 R-10136912
60 R-5 R-4 R-3 [44]200888
64R-2332964
64R-4264920
100 R-106442002R-103201840
128R-29082308
200 R-2 R-1017844402R-2 R-106404080
256R-223165380
256R-418005080
500 R-5 R-10580411,302R-5 R-10260012,600
512R-2564412,292
1000 R-1011,60431,002R-10480027,600
1024R-213,32427,652
1024R-410,24825,944
2000 R-2 R-1028,20466,002R-2 R-10960059,200
2048R-230,73261,444
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Paplinski, J.P.; Cariow, A. Fast 10-Point DFT Algorithm for Power System Harmonic Analysis. Appl. Sci. 2021, 11, 7007. https://doi.org/10.3390/app11157007

AMA Style

Paplinski JP, Cariow A. Fast 10-Point DFT Algorithm for Power System Harmonic Analysis. Applied Sciences. 2021; 11(15):7007. https://doi.org/10.3390/app11157007

Chicago/Turabian Style

Paplinski, Janusz P., and Aleksandr Cariow. 2021. "Fast 10-Point DFT Algorithm for Power System Harmonic Analysis" Applied Sciences 11, no. 15: 7007. https://doi.org/10.3390/app11157007

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop