Open access peer-reviewed chapter

Single Bin Sliding Discrete Fourier Transform

Written By

Carlos Martin Orallo and Ignacio Carugati

Submitted: March 30th, 2016 Reviewed: October 14th, 2016 Published: February 8th, 2017

DOI: 10.5772/66337

From the Edited Volume

Fourier Transforms

Edited by Goran S. Nikolic, Milorad D. Cakic and Dragan J. Cvetkovic

Chapter metrics overview

2,422 Chapter Downloads

View Full Metrics


The conventional method for spectrum analysis is the discrete Fourier transform (DFT), usually implemented using a fast Fourier transform (FFT) algorithm. However, certain applications require an online spectrum analysis only on a subset of M frequencies of an N-point DFT (M<N). In such cases, the use of single-bin sliding DFT (Sb-SDFT) is preferred over the direct application of FFT. The purpose of this chapter is to provide a concise overview of the Sb-SDFT algorithms, analyze their performance, and highlight advantages and limitations. Finally, a technique to mitigate the spectral leakage effect, which arises when using the Sb-SDFT in nonstationary conditions, is presented.


  • discrete Fourier transform
  • spectral leakage
  • digital signal processing
  • Cramér-Rao lower bound
  • total vector error

1. Introduction

The estimation of frequency, amplitude and phase of single-frequency and multifrequency signals has applications in many fields of engineering. In general, estimation methods are based on Fourier analysis or parametric modeling. The advantage of Fourier-based methods is their computational efficiency, compared with the mathematical complexity of the parameters-based algorithms, which demand a high amount of computational resources. The standard method for Fourier analysis in digital signal processing is the discrete Fourier transform (DFT). For some real-time applications, the direct application of the conventional DFT may result in an excessive computational cost. However, certain applications require an online spectrum analysis only over a subset of M frequencies of an N-point DFT (M<N). For this scenario, the common practice is to utilize a single-bin sliding DFT (Sb-SDFT) technique. These recursive algorithms efficiently calculate a unique spectral component of an N-point DFT. Nevertheless, the direct application of DFT-based methods for spectral analysis may lead to inaccuracies due to the spectral leakage phenomenon. These unwanted effects are related to the frequency variation and improperly selected sampling time window. This problem can be solved using an adaptive coherent sampling mechanism. One of these mechanisms is known as variable sampling period technique (VSPT) and is characterized for the dynamic adjustment of the sampling period to exactly N times the fundamental frequency, thereby avoiding the above-mentioned problems.

The chapter is organized as follows: Section 2 presents a brief review of Sb-SDFT. Section 3 evaluates and compares the four selected Sb-SDFT algorithms in diverse operational conditions, identifying the similarities between them. In order to mitigate the inaccuracies resulting from the spectral leakage effect, a scheme for coherent sampling based on VSPT is introduced in Section 4. Altogether a unified model is also presented to generalize this scheme to all Sb-SDFT along with simulation results. Finally, the conclusions of this chapter are drawn in Section 5.


2. Single-bin sliding discrete Fourier transform

The discrete Fourier transform (DFT) is a numerical approximation of the theoretical Fourier transform (FT) of a continuous and infinite duration signal. It represents the most common tool for engineers to extract the frequency content of a finite and discrete signal sequence, obtained from the periodic sampling of a continuous wave form in time domain.

Let us consider a continuous time signal x(t) that is sampled at the rate fs=N×fo (where fo is the fundamental frequency of x(t)) to produce the time sequence x[n]. Then the DFT of the sequence x[n] is defined as:


where X(k) is the DFT output coefficient, WN=ej2π/N is the complex twiddle factor, N is the sequence length, k is the frequency domain index (0kN1), and n is the time domain index [1].

If Eq. (1) is not properly designed and implemented, the DFT calculation in real-time might represent a considerable bottleneck when developing a DFT-based estimation algorithm, in terms of both measurement reporting latencies and achievable reporting rates. In this respect, in order to improve both latencies and throughput, several efficient techniques to compute the DFT spectrum have been proposed in literature, which can be classified as nonrecursive and recursive algorithms. Among the nonrecursive class, the fast Fourier transform (FFT) algorithm is extensively used for harmonic analysis over an extended portion of the spectrum. When, on the other hand, only a subset of the overall DFT spectrum is necessary to accomplish the desired estimate, the so-called single-bin sliding DFT (Sb-SDFT) turns out to be very effective.

The DFT can also be computed by recursive algorithms which are characterized by a minor number of operations to calculate a single DFT bin. Regardless of this advantage with respect to the class of nonrecursive algorithms, the performances of the two categories usually are not the same. Especially, most of the algorithms in the recursive category suffers of errors due to either the approximations made to perform the recursive update or the accumulation of the quantization errors related to a finite word-length precision [2, 3].

In what follows, four of the most efficient techniques to compute a portion of the DFT spectrum, namely the sliding discrete Fourier transform (SDFT), the sliding Goertzel transform (SGT), the Douglas and Soh algorithm (D&S), and the modulated sliding discrete Fourier transform (mSDFT) will be presented and described.

2.1. Sliding discrete Fourier transform

A very effective Sb-SDFT method for sample-by-sample DFT bin computation is the so-called sliding discrete Fourier transform (SDFT) technique [4]. Starting from Eq. (1), the DFT can be potentially updated every time-step n, based on the most recent set of samples within a sliding window {x[n-N+1],x[n-N+2],,x[n]}. The time window is advanced one sample at a time, and a new N-point DFT is calculated. Figure 1(a) illustrates the time domain indexing within the sliding window by showing the input samples used to compute k-bin of an N-points DFT when n=no. The principle used for SDFT is known as the DFT shifting theorem, or the circular shift property [1].

Figure 1.

(a) Samples used to compute Xk[n] within a sliding window, when n=no. (b) Guaranteed-stable SDFT implementation as IIR filter as given by (5).

Based on this property, the SDFT can be recursively implemented to calculate Eq. (1) for a desired k-bin, as:


where Xk[n] is calculated by phase shifting the sum of the previous Xk[n-1] with the difference between the current and delayed input sample, x[n] and x[n-N], respectively [4, 5]. The complex output of the SDFT could be rewritten as:


where Xrk[n] and Xik[n] are real and imaginary components of the DFT output coefficient, respectively. The SDFT provides an accurate estimation for the kth component as its amplitude (Ak[n]) and phase (φk[n]) can be determined by computing the modulus and the argument of the complex result Xk[n], as stated by


SDFT is computationally efficient, as it only requires one (complex) multiplication and two additions per time instant. Nevertheless, the implementation of Eq. (2) as an infinite impulse response (IIR) filter in a system with finite word-length precision brings about a rounding error in the implementation of the WNk coefficient, which may turn the algorithm unstable and/or increment the estimation error. The first one is a direct consequence of wrong cancellations between singularities and by poles displacement outside the unit circle [2, 3]. Commonly, a damping factor (r, with 0<r<1) is used to ensure that all singularities are placed inside the unit circle, hence instability is no longer an issue. Then, the intrinsically stable version of the SDFT is


where X˜k[n] is the estimated DFT output coefficient. While Eq. (5) is numerically stable, it no longer computes the exact value of X(k) in Eq. (1), since a small error is induced by the damping factor. The z domain transfer function for the estimated kth bin of the SDFT is


The stable SDFT algorithm given by Eq. (5) leads to the filter structure shown in Figure 1(b). This structure is basically an IIR filter that comprises a comb filter followed by a complex resonator. The comb filter makes the transient response N1 samples in length; therefore, the output will reach steady state when the stored waveform equals the input signal.

2.2. Sliding Goertzel transform

The number of multiplications required in the SDFT can be reduced by creating a new pole/zero pair in its HSDFT(z) system function. This is achieved by multiplying the numerator and denominator of HSDFT(z) in Eq. (6) by the factor (1rWNkz1) yielding:


The transfer function represented by Eq. (7) is commonly known as the sliding Goertzel transform (SGT). Because the poles are placed on the z domain unit circle, the SGT implementation is also potentially unstable. Once more a damping factor r can be used in Eq. (7), to move the singularities inside the unit circle and to ensure the system stability.

This method can be implemented by the following pair of finite difference equations:


where C1=2rcos(2πk/N) and C2=r2, with 0<r<1. The SGT is implemented as an IIR filter that consists of a comb filter followed by the standard Goertzel filter, as depicted in Figure 2(a). The resulting system only has real coefficients so its computational complexity is decreased in relation to that of the SDFT [6, 7].

Figure 2.

(a) Guaranteed-stable SGT implementation as IIR filter as given by (8). (b) Guaranteed-stable D&S algorithm implemented as IIR filter as given by (9).

2.3. Douglas and Soh algorithm

The implementation of a SDFT or SGT requires a damping factor to guarantee the algorithm stability. The trade-off for the system stability is that the calculated value is no longer exactly equal to the kth-bin of an N-point DFT in Eq. (1). In Ref. [8], a technique that significantly reduces this error, without compromising the stability, is developed. This method is a periodically time-varying system designed to generate an X˜k[n] output that is mathematically equal to X(k) in Eq. (1) at every Nth time instant.

This technique is implemented by the following pair of finite difference equations:


The algorithm described by Eq. (9) will be referred to as the Douglas and Soh algorithm (D&S). The filter implementation of Eq. (9), shown in Figure 2(b), requires two multiplications and two additions as well as the control logics to determine when n mod N=0. In the figure, the change between Eqs. (9a) and (9b) is performed by switch S1 Therefore, the switching period of S1 in Figure 2(b) is equal to N×Ts, where Ts is the sampling period, and its duty cycle is equal to one sample. It is worth mentioning that the effect of the nonlinear operation of D&S algorithm in the dynamic response is negligible as it only changes its structure every N samples.

2.4. Modulated sliding discrete Fourier transform

There is an alternative way of avoiding the reduction in accuracy generated by the damping factor, without compromising stability. SDFT implementation in Eq. (2) is marginally stable, however, for the particular case of k=0 (DC component estimation). It takes the following form:

X0[n] =X0[n-1]x[n-N]+x[n]E10

The absence of the WNk coefficient, which typically leads to stability issues when it is represented with finite precision, allows to implement the recursive expression without the damping factor r. Therefore, the recurrence in Eq. (10) is unconditionally stable and does not accumulate errors. The modulated sliding discrete Fourier transform (mSDFT) algorithm uses the Fourier modulation property to effectively shift the DFT bin of interest to the position k=0 and then use Eq. (10) for computing that DFT bin output. This is accomplished by the multiplication of the input signal x[n] by the modulation sequence WNkn. This approach allows to exclude the complex twiddle factor from the resonator and avoids accumulated errors and potential instabilities [9]. The recursive realization of the mSDFT is:


where Xk0[n] is a complex constant related to the phase of the complex twiddle factor, since the modulation moves the desired kth-bin to k=0 (0 Hz). The relation between the desired Xk[n] and the computed Xk0[n] is given by Eq. (11b). It is worth noticing that if the application only requires DFT magnitude estimation, the complex multiplication in Eq. (11b) is unnecessary because |Xk0| is equal to |X(k)|. The filter structure of the mSDFT algorithm in Eq. (11) is depicted in Figure 3(a). In contrast of traditional recursive DFT algorithms, the mSDFT method is unconditionally stable and does not accumulate errors because its singularities are exactly placed on the unit circle, regardless of the finite precision used. These advantages are possible due to the removal of the complex twiddle factor from the resonator loop.

If multiple DFT frequency bins are to be computed, the mSDFT in Eq. (11) requires a comb filter for each frequency bin. On the other hand, given the periodicity of WNkn, as shown in Ref. [9], Eq. (11) can be rewritten as

Figure 3.

(a) Guaranteed-stable mSDFT implementation as IIR filter as given by (11). (b) Guaranteed-stable mSDFT implementation as IIR filter as given by (12).


Whenever multiple DFT frequency bins are to be computed, Eq. (12) becomes a more efficient approach as only one comb filter is needed (Figure 3(b)).


3. Performance comparison

This section discusses the key features of each of the Sb-SDFT that were presented in Section 2. The aim of this analysis is to find underlying similarities and differences between these methods. To this end, a study on statistical efficiency and accuracy is presented in the following subsections. Finally, the section ends with a discussion over the limitations and inaccuracies of the Sb-SDFT inherited by every DFT-based method.

3.1. Statistical efficiency

It is common knowledge that the statistical efficiency and noise performance of estimators is determined by comparison with the Cramer-Rao lower bound (CRLB). The CRLB deals with the estimation of the quantities of interest from a given finite set of measurements that are noise corrupted. It assumes that the parameters are unknown but deterministic, and provides a lower bound on the variance of any unbiased estimation. The CRLB is useful because it provides a way to compare the performance of unbiased estimators. Furthermore, if the performance of a given estimator is equal to the CRLB, the estimator is a minimum variance unbiased (MVU) estimator [10].

Computer simulations have been performed to evaluate the performance of the SDFT, the SGT, the mSDFT and D&S algorithm for a single real sinusoid polluted with white Gaussian noise:


where A and ϕ are the amplitude and initial phase, respectively, n is the time domain index, ω denotes the normalized angular frequency (ω=2πfo/fs) and wgn[n] is a zero-mean white Gaussian noise of variance σn2. For this case the CRLB for amplitude estimation is approximated by Kay [10]:


Parameters were assigned to A=1, fo=50 Hz, fs=6.4 KHz N=128 and ϕ is a constant uniformly distributed between [0, 2π). The signal-to-noise ratio (SNR) is equal to A2/(2σn2), whereas different SNR levels were obtained by properly scaling the noise variance σn2. All simulation results provided are the averages of 1000 independent runs.

Figure 4(a) and (b) shows the variance in the estimate of A(σA^) versus SNR for two different damping factors. In Figure 4(a), the damping factor was fixed at r=0.999 for SDFT, SGT and D&S algorithm. In this figure, for SNR levels below −10 dB can be observed that the σA^ values are beneath the CRLB limit. Therefore, beyond this threshold level, the estimations made by the Sb-SDFT techniques cease to be consistent with those of an unbiased estimator. From this threshold level and up to 15 dB, the Sb-SDFT algorithms are efficient MVU estimators, because their σA^ values reach the CRLB. For higher levels of SNR, the σA^ for SDFT and SGT remains above the CRLB and asymptotically approximate the −43.5 dB bound. This is mainly due to the fact that the inaccuracy caused by the damping factor in Eqs. (5) and (8) is more relevant than the consequence of SNR level. The D&S algorithm exhibits the same behavior, but beginning at SNR = 60 dB and with σA^ asymptotically approaching the −91 dB bound for higher levels. When compared to the performances of the SDFT and the SGT, the D&S algorithm behaves as an MVU estimator for a wider range of SNR, at the cost of a slightly increased computational complexity and a nonlinear functioning. For the range of SNR levels shown in Figure 4(a) beyond the threshold, the variance in  computed by the mSDFT remains on CRLB curve, so its performance corresponds to an MVU estimator.

Figure 4.

(a) Variance of  versus SNR levels for the analyzed estimators with N=128 and r=0.999. (b) Variance of  versus SNR levels for the analyzed estimators with N=128 and r=0.9999. (c) Variance of  versus r for the four estimators at SNR=80 dB. (d) Variance of  versus N for the four estimators, with r=0.9999 and SNR=30 dB.

This test was repeated for r=0.9999, and the results are shown in Figure 4(b). It is seen that the performances of the SDFT, SGT and D&S algorithm are better than exhibited in the previous case. This improvement is reflected through an increase in the range of SNR values for which the estimations correspond to an MVU estimator. The results obtained for mSDFT are consistent with those obtained previously, because this estimator does not require a damping factor to ensure stability.

The effect of the damping factor on the σA^ is shown in Figure 4(c). The simulation is performed for SNR = 80 dB because at this level, SDFT, SGT and D&S algorithms do not lie on CRLB curve and have converged to their final values listed in Figure 4(b). For this scenario, the σA^ of the mSDFT is constant and equal to the CRLB, because it does not required a damping factor to achieve stability. Instead, for r1 and SNR beyond threshold level, the σA^ for SDFT, SGT and D&S algorithm approximates the CRLB as it is reflected by Figure 4(c). From the analysis of this figure, it is possible to conclude that for the ideal situation (r=1) and SNR levels beyond the threshold, all reviewed algorithms reach the CRLB and therefore their statistical efficiency is identical.

Finally, the σA^ versus N at SNR = 30 dB are illustrated in Figure 4(d). As expected, N increase, that is, the length of the sliding window reduces the variance of  in the four methods. This is mainly because the estimations are computed in a larger sliding time window, that is, more samples are used for the estimation.

3.2. Accuracy analysis

In this section, the accuracy of the Sb-SDFT methods on the estimation of a single-frequency signal, both in steady-state and dynamics conditions, is analyzed through simulations. The adopted accuracy index is the so-called total vector error (TVE) that combines the effect of magnitude, angle and time synchronization errors on the desired component estimation accuracy. The TVE is defined in the Standard IEEE C37.118.1-2011 [11] as


where X^r[n] and X^i[n] are the sequences of estimations given by the Sb-SDFT method under test, Xr[n] and Xi[n] are the sequences of theoretical values of the input signal at the instants of time (n), and the subscripts r and i identify the real and imaginary parts of the desired component, respectively. The TVE is a real number that expresses the Euclidean distance between the true frequency domain complex bin and estimated one.

3.2.1. Steady-state condition

At first, the analysis is assessed in steady-state conditions assuming an input signal equal to Eq. (13). Parameters were assigned to A=1, fo=50 Hz, fs=6.4 KHz N=128 and ϕ=0 rad and the damping factor is set to r=0.9999. The curves plotted in Figure 5(ad) show the estimated amplitude of the test signal for all Sb-SDFT algorithms in steady state, where the reference value is displayed with a black solid line. Figure 5(e) shows the TVE values as a function of time. SDFT and SGT have the same steady-state TVE values; this error has a mean value with an overlaid ripple that is a direct consequence of the use of a damping factor in Eqs. (5) and (8). For both algorithms, the maximum TVE value is 0.7335%. The D&S algorithm significantly reduces the TVE and maintains the same damping factor than the two previous cases, resulting in improved system performance, with a maximum TVE value of 0.01%. In Figure 5(c), it is shown that when (nmodN) = 0, the estimation is accurate, which is consistent with the period of the fundamental component of the test signal. On the other hand, mSDFT provides precise estimation with a 0% TVE, since it does not require a damping factor to ensure stability.

Figure 5.

(a)–(d) Amplitude estimation of the test signal (13) in steady-state condition using the selected Sb-SDFT algorithms with N=128, r=0.9999 and fs=6.4 kHz. (e) TVE exhibited by the Sb-SDFT algorithms in steady-state.

3.2.2. Dynamic condition

The accuracy under dynamic condition of the SDFT, the SGT, the mSDFT and D&S algorithm are evaluated through multiple simulations under the effect of various transient disturbances. The comparison is performed by means of the following test signal:


where Ao is the nominal amplitude, δs is the amplitude step depth factor, δr is the amplitude ramp slope factor, δam is the modulation depth factor, ωam is the normalized modulating angular frequency (ωam=2πfam/fs), ω denotes the normalized nominal angular frequency (ω=2πfo/fs), ωg is the normalized off-nominal angular frequency offset (ωg=2πfg/fs) and ϕ is the initial phase. In the following, the performance of the Sb-SDFT is evaluated under the effect of amplitude step, amplitude ramp, amplitude modulation and static frequency offsets. The accuracy is assessed exhaustively, by varying the test signal parameters over a suitable range, in order to determine the maximum TVE values. This approach leads to a fair performance comparison between the considered techniques. Unless otherwise stated, parameters were assigned to Ao=1, fo=50Hz, fs=6.4KHz, N=128, ϕ=0rad, r=0.9999, δs=0, δr=0, δam=0, ωam=0, ωg=0 and no=0.

First, the step response of the Sb-SDFT estimators is evaluated. For this purpose, the parameters of Eq. (16) are set to: δs=0.1 and no=640. Figure 6(a) shows the estimated amplitude (Â) and TVE values as a function of time when the amplitude step occurs in x[n]. Ignoring small differences, related to the damping factor effect, the dynamic response during the transient is the same for all the algorithms. This transient has a duration that is equal to the length of the sliding window for all the Sb-SDFT. After the transient, the TVE values provided by the Sb-SDFT estimators are equal to the steady-state values shown in Figure 5(e). Further, simulation results (not reported here for the sake of brevity) confirm that the TVE value in steady state, due to an amplitude step, is the same regardless of the value of δs.

Figure 6.

Transients for the estimation of the amplitude of (16) and the evolution of the TVE for the selected Sb-SDFT algorithms, under different test conditions. (a) A step change in amplitude with δs=0.1, δr=0, δam=0 and ωg=0. (b) A ramp-change in amplitude with δs=0, δr=0.1, δam=0 and ωg=0. (c) A sudden amplitude modulation with δs=0, δr=0, δam=0.1, ωam=2π/fs and ωg=0.

The accuracy of the considered estimators is analyzed in Figure 6(b), assuming that the waveform x[n] is subjected to linear variation of its amplitude. Therefore, the parameters of Eq. (16) were adjusted as follows: δr=0.1 and no=640, to create ramp change in the amplitude of the test signal. Once more, the Sb-SDFT exhibit similar dynamics in their amplitude estimation performance. Figure 7(a) shows the worst-case TVE values, after the transient response, returned by the four considered estimators as a function of δr in the range [0,0.1] p. u.. As can be seen, the maximum TVE value achieved by the Sb-SDFT worsens linearly with this parameter. In addition, a gap of 0.78% is observed, between the SDFT, SGT and the other two algorithms, which remains constant for the analyzed range.

Figure 7.

(a) Maximum TVE curves versus amplitude ramp slope factor δr. (b) Maximum TVE curves versus amplitude modulation depth factor δam for a modulating frequency fam of 1 Hz. (c) Maximum TVE curves versus amplitude modulating frequency fam with δam=0.1 p.u. (d). Maximum TVE curves versus static frequency offset fg.

The effect of a modulating signal on the estimation accuracy is analyzed in Figure 6(c). Hence, the parameters of Eq. (16) were adjusted as follows: δam=0.1, ωam=2π/fs and no=640. The figure shows the estimated amplitude (Â) and TVE values as a function of time when the amplitude modulation of 10% with a frequency of 1 Hz occurs in x[n]. As expected, the dynamic behavior displayed by the Sb-SDFT estimators is similar, with the mSDFT the most accurate of the reviewed algorithms. The curves in Figure 7(b) show the worst case TVE values returned by the four considered estimators as a function of δam in the range [0,0.1]p.u. with fam=1Hz. Figure 7(c) shows the worst case TVE values given by the Sb-SDFT as a function of fam in the range [0,5]Hz with δam=0.1p.u. Note that the TVE increment linearly with δam or fam, and that the behavior of the Sb-SDFT estimators is very similar.

Finally, the influence of a simple static off-nominal frequency offset on the Sb-SDFT estimators’ performance is analyzed in Figure 7(d). The figure shows the maximum TVE values, in steady state, when the signal (Eq. 16) phase varies as a function of the off-nominal frequency offset fg in the range [−1,1] Hz. As expected, the accuracy of all the considered estimators degrades monotonically as the frequency offset increases due to the spectral leakage effect.

The similarities between the Sb-SDFT algorithms found through Figures 6 and 7 are explained by the fact that all implementations of this type of algorithms result from applying Fourier properties and mathematical operations to standard DFT definition (Eq. 1).

3.3. Sb-SDFT limitations

The direct application of Sb-SDFT may lead to inaccuracies due to aliasing and spectral leakage, common pitfalls inherited by every DFT-based method. Aliasing is generally corrected by employing anti-aliasing filters or increasing the sampling frequency to a value that satisfies the Nyquist sampling criterion. Instead, when the sampling is not synchronized with the signal under analysis, the DFT is computed over a noninteger number of cycles of the input signal which leads to the spectral leakage phenomenon [1]. Spectral leakage is typically reduced (not eliminated) by selection of the proper nonrectangular time domain windowing functions, to weigh the sequence data at a fixed sampling frequency [12]. This process increases the computational complexity and does not take advantage of the recursive nature of Sb-SDFT methods. Otherwise, spectral leakage can be avoided entirely by ensuring that sequence of samples is equal to an integer number of periods of the input signal [13].


4. Coherent sampling approach

In order to avoid the spectral leakage phenomenon, the sequence of samples within a sliding window of a Sb-SDFT must be equal to an integer number of fundamental periods of the input signal. An integer number of periods will be sampled if and only if the coherence criterion holds:


where fo is the signal frequency, fs is the sampling frequency, N is the sampled sequence length and m is an integer number. This is equivalent to ensuring that an integer number m of sine periods is present in the data sample of length N, and in that case there is no spectral leakage. If Eq. (17) holds, fs is referred to as coherent or synchronous sampling frequency.

A variable sampling period approach, named variable sampling period technique (VSPT), was developed by the authors to design synchronization methods that maintain a coherent sampling with the input signal fundamental frequency [14]. This technique has recently been adapted to dynamically adjust the sampling frequency in a harmonic measurement method based on mSDFT [15]. In Ref. [16], the VSPT is generalized so as to be used with any Sb-SDFT algorithm.

In this section, the technique of variable sampling period is briefly described, and a unified small-signal model, which allows to use the VSPT with any Sb-SDFT, is also presented.

4.1. Variable sampling period technique

VSPT allows to adapt the sampling frequency to be N times the fundamental frequency of a given input signal. This technique has proven to be efficient both in three-phase and in single-phase applications yielding a robust synchronization mechanism, whose effectiveness has been tested under different conditions and scenarios [14, 17].

Figure 8(a) illustrates the basic VSPT scheme for single-phase implementation, where the input signal is sampled and the input phase φu[n] is extracted by the phase detector. Concomitantly with the input sampling, the reference generator provides a signal called reference phase:

Figure 8.

(a) General scheme of the variable sampling period technique, (b) phase error estimation scheme based on Sb-SDFT and (c) system model for Sb-SDFT with coherent sampling adjustment based on VSPT.


The method achieves a null phase error (eφ[n]) between φref[n] and φu[n], by varying the sampling period TS[n] as a function of eφ[n]. The controller Gc(z) provides the value of the sampling period and then the sampling generator produces a clock signal (CLK) that starts the conversion and increments the reference phase. The implementation of the phase detector and phase error calculation is key for the proper functioning of this technique. The operating principle is based on the dynamic adjustment of the sampling frequency. An exhaustive explanation of the key elements of this technique can be found in Refs. [14, 17].

4.2. Unified small-signal model

VSPT allows to adapt the sampling rate to a multiple of the fundamental frequency of a given input signal, so the coherence criterion holds, thereby preventing the DFT’s shortcomings when is used to analyze nonstationary signals. An error signal, related to the phase difference between the fundamental component of the input signal and the reference phase, is needed to adapt the sampling period. Based on this, phase error is feasible to develop a closed-loop control to synchronize the sampling period.

As mentioned in Section 3, when r1 and for a real input signal, the Sb-SDFT algorithms become equivalent. Therefore, for this scenario and for small-signal conditions, these methods supply the same estimation of the kth-bin of an N-points DFT. Based on this concept, Figure 8(b) shows a phase error estimation scheme that employs an Sb-SDFT algorithm, which allows to estimate the phase difference between the fundamental component of the input signal and the reference phase. This scheme obtains the phase error signal from three basic operations, first an Sb-SDFT algorithm with k=1 is used to estimate the fundamental component (X1[n]) of an N-points DFT, from a given input sequence of samples (x[n]). Then the phase of the input signal (φu[n]) is estimated by computing the argument of the complex result X1[n], as stated by Eq (4b). Finally, a simple subtraction operation is used to estimate the phase error (eφ[n]) between the incoming signal and the reference.

Since all the Sb-SDFT methods are derived from Eq. (1), for small-signal condition, they are mathematically equivalent, and the system phase error (eφ[n]) for small deviation is approximately equal. Therefore, a mathematical model can be extrapolated for implement the VSPT scheme shown in Figure 8(a) with the phase error estimation scheme shown in Figure 8(b). Figure 8(c) presents the small signal model of a coherent sampling scheme for the Sb-SDFT algorithms based on the VSPT, which allows to avoid the spectral leakage phenomenon. The complete mathematical derivation of this model is available in Ref. [16].

4.3. Validation

The specifications and requirements to be met by the controller (Gc(z)) are determined by the application. Several applications require zero phase error and frequency synchronization for normal operation. In these cases, the controller must be proportional integral to achieve zero phase error in steady state; the resulting system being a type II system.

Then the transfer function for the controller in the z domain is


As an example of design, ω¯=2π×50rad/s and N=128 are adopted. Concerning dynamics, a phase margin of 45° and maximum bandwidth are adopted as design criteria for Gc(z). Based on this, and using the design methodology proposed in Ref. [15], the parameters of the controller are K=1.7304105 and a=0.9974, with a bandwidth of 5.905 Hz.

The estimations obtained by the Sb-SDFT algorithms with coherent sampling supplied by the VSPT, in situations where the input signal frequency deviates from its nominal value, are evaluated in two possible scenarios. The first simulation analyzes the effect of a frequency step of −0.5 Hz on the performance of the proposed method. Hence, the parameters of Eq. (16) were adjusted as follows: Ao=1, fo=50Hz, ϕ=0rad, δs=0, δr=0, δam=0, ωam=0, fg=0.5Hz and no=640. The Sb-SDFT algorithms are set with fs=6.4KHz, N=128, r=0.9999 and k=1. The parameters used in the controller Gc(z), for the VSPT close loop, are those presented in the previous example of design. Figure 9(a) depicts the effect of the frequency step change on the TVE values given by the estimated X[n] component. During the transient, an oscillatory behavior is noticed, which may be attributed to spectral leakage given by the noncompliance of the coherence criterion (Eq. 17) at the step change. Variations in the estimated values are extinguished once the sampling frequency is properly adjusted by the VSPT method to fs=N×(fofg). Then, under a steady-state condition, the TVE values given by the four Sb-SDFT are equal to those previous to the frequency step.

Figure 9.

(a) Evolution of the TVE for the selected Sb-SDFT algorithms when a sudden −0.5 Hz step change in the nominal frequency occurs. (b) Maximum TVE curves versus static frequency offset fg.

To complete the evaluation of the accuracy of coherent sampling achieved by the VSPT, the influence of a simple static off-nominal frequency offset on the Sb-SDFT estimators performance is analyzed in Figure 9(b). The figure shows the maximum TVE values, in steady state, when fundamental frequency of Eq. (16) varies as a function of the off-nominal frequency offset fg in the range [−1,1] Hz. Due to the VSPT, in steady-state sampling, frequency is coherent with the fundamental frequency of the test signal, ensuring that exactly one period is present in the data sample of length N, and in that case, the Sb-SDFT avoids the spectral leakage phenomenon. Therefore, compared with the results shown in Figure 7(d), the TVE values do not worsen with fg, instead remain constant and equal to those shown in Figure 5(e).


5. Conclusions

In this work, a comparative study of four Sb-SDFT algorithms is conducted. The comparison includes filter structure, stability, statistical efficiency, accuracy analysis, dynamic behavior and implementation issues on finite word-length precision systems limitations. Based on theoretical studies as well as on simulations, it is deducted that all reviewed Sb-SDFT techniques are equivalent, primarily due to the fact that they are derived from the traditional DFT, therefore in various applications can be applied indistinctly.

It proves that SDFT and SGT have identical performances, in regard to disturbance rejection and precision on spectral estimation. Both of these techniques are used extensively due to their straightforward implementation, although the two have an error in accuracy due to the use of a damping factor. For applications requiring greater precision, this error can be reduced by using the D&S algorithm. On the other hand, it can be eliminated by using mSDFT due to the absence of damping factor, resulting in better performance. The results of the study have shown that mSDFT is the best option when it comes to precision and noise rejection.

The direct application of a Sb-SDFT may lead to inaccuracies due to the spectral leakage phenomenon, common pitfall inherited by every DFT-based method. Spectral leakage arises when the sampling process is not synchronized with the fundamental tone of the signal under analysis and the DFT is computed over a noninteger number of cycles of the input signal. In this sense, a unified small-signal system model is presented, which can be used to design a generic adaptive frequency loop that is based on a variable sampling period technique. The VSPT allows to obtain a sampling frequency coherent with the fundamental frequency of the analyzed signal, avoiding the error introduced by the spectral leakage phenomenon.


  1. 1. Oppenheim A and Schafer R. Discrete-time Signal Processing. Prentice-Hall Signal Processing Series. Pearson, Upper Saddle River, New Jersey, US, 2009. ISBN: 9780131988422.
  2. 2. Kim JH and Chang TG. “Analytic derivation of the finite wordlength effect of the twiddle factors in recursive implementation of the sliding-DFT”. In: IEEE Transactions on Signal Processing 48.5, Piscataway, New Jersey, US, (May 2000), pp. 1485–1488. ISSN: 1053-587X. DOI: 10.1109/78.839998.
  3. 3. Darwish HA and Fikri M. “Practical Considerations for Recursive DFT Implementation in Numerical Relays”. In: IEEE Transactions on Power Delivery 22.1, Piscataway, New Jersey, US, (Jan. 2007), pp. 42–49. ISSN: 0885–8977. DOI: 10.1109/TPWRD.2006.874642.
  4. 4. Lyons R. “The Sliding DFT”. In: IEEE Signal Processing Magazine 20.2 Piscataway, New Jersey, US, (Mar. 2003), pp. 74–80. ISSN: 1053–5888. DOI: 10.1109/MSP.2003.1184347.
  5. 5. Hartley R and Welles K. “Recursive Computation of the Fourier Transform”. In: Circuits and Systems, 1990, IEEE International Symposium on. Piscataway, New Jersey, US, (May 1990), pp. 1792–1795 vol.3. DOI: 10.1109/ISCAS. 1990.111983.
  6. 6. Chicharo JF and Kilani MT. “A sliding Goertzel algorithm”. In: Signal Processing 52.3 Piscataway, New Jersey, US, (1996), pp. 283–297. ISSN: 0165–1684. DOI:
  7. 7. Lyons RG. Streamlining Digital Signal Processing. Ed. by Lyons RG. Hoboken, NJ, USA: John Wiley & Sons, Inc. (June 2012). ISBN: 9781118316948. DOI: 10.1002/9781118316948.
  8. 8. Douglas SC and Soh JK. “A numerically-stable sliding-window estimator and its application to adaptive filters”. In: Conference Record of the Thirty-First Asilomar Conference on Signals, Systems & Computers, Piscataway, New Jersey, US, 1997. Vol. 1. (Nov. 1997), pp. 111–115. DOI: 10.1109/ACSSC.1997.680039.
  9. 9. Duda K. “Accurate, Guaranteed Stable, Sliding Discrete Fourier Transform”. In: IEEE Signal Processing Magazine November Piscataway, New Jersey, US, (Nov. 2010), pp. 124–127. ISSN: 1053–5888. DOI: 10.1109/MSP.2010.938088.
  10. 10. Kay SM. Fundamentals of Statistical Signal Processing: Estimation Theory. Prentice-Hall, Inc., Upper Saddle River, New Jersey, US, 1993. ISBN: 0-13-345711-7.
  11. 11. “IEEE Standard for Synchrophasor Measurements for Power Systems”. In: IEEE Std C37.118.1-2011 (Revision of IEEE Std C37.118-2005) Piscataway, New Jersey, US, (Dec. 2011), pp. 1–61. DOI: 10.1109/IEEESTD.2011.6111219.
  12. 12. Lyons RG. Understanding Digital Signal Processing. 3rd ed. Pearson, Upper Saddle River, New Jersey, US, 2010. ISBN: 9780137028528.
  13. 13. Manolakis D and Ingle V. Applied Digital Signal Processing: Theory and Practice. Cambridge University Press, Shaftesbury Road, Cambridge CB2 8BS, UK, 2011. ISBN: 9781139495738.
  14. 14. Carugati I, Maestri S, Donato PG, Carrica D, and Benedetti M. “Variable Sampling Period Filter PLL for Distorted Three-Phase Systems”. In: IEEE Transactions on Power Electronics 27.1 Piscataway, New Jersey, US, (Jan. 2012), pp. 321–330. ISSN: 0885–8993. DOI: 10.1109/TPEL.2011.2149542.
  15. 15. Orallo CM, Carugati I, Maestri S, Donato PG, Carrica D, and Benedetti M. “Harmonics Measurement With a Modulated Sliding Discrete Fourier Transform Algorithm”. In: IEEE Transactions on Instrumentation and Measurement 63.4 Piscataway, New Jersey, US, (Apr. 2014), pp. 781–793. ISSN: 0018–9456. DOI: 10.1109/TIM.2013.2287801.
  16. 16. Orallo CM, Carugati I, Donato PG, and Maestri S. “Study on Single-bin Sliding DFT algorithms: Comparison, stability issues and frequency adaptivity”. In: Measurement 69, Radarweg 29, 1043 NX Amsterdam, The Netherlands, (2015), pp. 9–19. ISSN: 0263-2241. DOI: 10.1016/j.measurement.2015.03.011.
  17. 17. Carugati I, Donato P, Maestri S, Carrica D, and Benedetti M. “Frequency Adaptive PLL for Polluted Single-Phase Grids”. In: IEEE Transactions on Power Electronics 27.5 Piscataway, New Jersey, US, (May 2012), pp. 2396–2404. ISSN: 0885-8993. DOI: 10.1109/TPEL.2011.2172000.

Written By

Carlos Martin Orallo and Ignacio Carugati

Submitted: March 30th, 2016 Reviewed: October 14th, 2016 Published: February 8th, 2017