The two-dimensional (2D) discrete Fourier transform (DFT) in the sliding window scenario has been successfully used for numerous applications requiring consecutive spectrum analysis of input signals. However, the results of conventional sliding DFT algorithms are potentially unstable because of the accumulated numerical errors caused by recursive strategy. In this letter, a stable 2D sliding fast Fourier transform (FFT) algorithm based on the vector radix (VR) 2 × 2 FFT is presented. In the VR-2 × 2 FFT algorithm, each 2D DFT bin is hierarchically decomposed into four sub-DFT bins until the size of the sub-DFT bins is reduced to 2 × 2; the output DFT bins are calculated using the linear combination of the sub-DFT bins. Because the sub-DFT bins for the overlapped input signals between the previous and current window are the same, the proposed algorithm reduces the computational complexity of the VR-2 × 2 FFT algorithm by reusing previously calculated sub-DFT bins in the sliding window scenario. Moreover, because the resultant DFT bins are identical to those of the VR-2 × 2 FFT algorithm, numerical errors do not arise; therefore, unconditional stability is guaranteed. Theoretical analysis shows that the proposed algorithm has the lowest computational requirements among the existing stable sliding DFT algorithms.
The two-dimensional (2D) discrete Fourier transform (DFT) has been widely used for spectrum analysis of 2D input signals in the field of signal processing. The vector radix (VR) 2 × 2 FFT [
The existing VR-based 2D FFT algorithms are widely applied in various fields of signal processing with satisfactory computing speed. However, these algorithms have computational redundancies when the transform window is shifted to the next sample because the input signals in the previous and current windows overlap. To reduce the redundancies in the sliding window scenario, numerous algorithms have been introduced over the past several years. The sliding DFT (SDFT) algorithm significantly reduces the computational load of the 1D DFT for the shifted window using the circular shift property [
To address this issue, several stable DFT algorithms have been proposed. The stable SDFT proposed in [
In this letter, we propose a novel stable, fast 2D sliding FFT algorithm. Because the 2D butterfly structure used in the VR-2 × 2 FFT algorithm is comprised of the 1D butterfly structure, the proposed VR-2 × 2 SFFT adopts the concept of the SFFT to guarantee the stability. In addition, we consider the 2D sliding window to move in only one direction, that is, column-wise or row-wise, to reduce the computational complexity. The rest of this letter is organized as follows. In Section
Because the proposed VR-2 × 2 SFFT algorithm reduces the computational complexity of the VR-2 × 2 FFT in the sliding window situation, we first explain the structure of the VR-2 × 2 FFT. The VR-2 × 2 FFT can be derived only for an
The VR-2 × 2 FFT algorithm first decomposes (
2D butterfly diagram for the VR-2 × 2 FFT algorithm.
It is obvious that the conventional butterfly diagram represents the computational relations between DFT bins and sub-DFT bins. However, because the butterfly diagram has been developed to illustrate the data flow of the 1D FFT, it is difficult to present both the 2D spatial position of the input and output data and the spatial relations between DFT bins and sub-DFT bins. Although the index of each sub-DFT bin can indicate its 2D spatial location, the diagram becomes complicated as the amount of data increases.
For visual comprehension of the VR-2 × 2 FFT algorithm, we introduce a new 3D diagram, as shown in Figure
3D butterfly diagram for the VR-2 × 2 FFT algorithm.
Unlike for the conventional 2D butterfly diagram, the 2D spatial location of the input sub-DFT bins and the output DFT bins can be clearly illustrated, as in Figure
Simplified version of the 3D butterfly diagram.
The decimation procedure repeats
Twiddle factors at
Now, let us consider the computational relationship between the input data and the values of
This technique can best be explained via an example. Figure
Flow graph of the 8
Based on this observation, we derive the proposed algorithm, which can reduce the computational complexity of the VR-2 × 2 FFT in the sliding window scenario. Assume that all calculations in the structure shown in Figure
Figure
2D flow graph of the 8
Here, note that the data in
In addition, the computations for the data indicated by white circles can be further reduced, based on the fact that the 2D window is shifted column-wise. The structure of the 2D butterfly is composed of two stages, where each stage has two 1D butterflies, as shown in Figure
2 × 2 butterfly diagram composed of two stages where each stage has two 1D butterflies.
In the first stage, two sets of the data
In Figure
Consequently, each 2D butterfly of the proposed algorithm requires only two
For
A computational comparison of various window sizes is shown in Table
Computational requirements of the 2D DFT/FFT algorithms for
Algorithm | Operation | Window size | |||||
---|---|---|---|---|---|---|---|
|
|
|
|
|
|
||
1D DFT ×2 |
|
512 | 4,096 | 32,768 | 262,144 | 2,097,152 |
|
|
448 | 3,840 | 31,744 | 258,048 | 2,080,768 |
|
|
|
|||||||
1D FFT ×2 |
|
128 | 768 | 4,096 | 20,480 | 98,304 |
|
|
192 | 1,152 | 6,144 | 30,720 | 147,456 |
|
|
|
|||||||
1D SFFT + 1-D FFT |
|
112 | 608 | 3,008 | 14,208 | 65,280 |
|
|
168 | 912 | 4,512 | 21,312 | 97,920 |
|
|
|
|||||||
VR-2 × 2 FFT |
|
96 | 576 | 3,072 | 15,360 | 73,728 |
|
|
176 | 1,056 | 5,632 | 28,160 | 135,168 |
|
|
|
|||||||
2D MFFT |
|
80 | 304 | 1,152 | 4,416 | 17,152 |
|
|
92 | 336 | 1,232 | 4,608 | 17,600 |
|
|
|
|||||||
2D SDFT |
|
80 | 288 | 1,088 | 4,224 | 16,640 |
|
|
78 | 282 | 1,074 | 4,194 | 16,578 |
|
|
|
|||||||
1D rSDFT + 1-D FFT |
|
160 | 768 | 3,584 | 16,384 | 73,728 |
|
|
192 | 960 | 4,608 | 21,504 | 98,304 |
|
|
|
|||||||
1D mSDFT + 1-D FFT |
|
256 | 1,152 | 5,120 | 22,528 | 98,304 |
|
|
256 | 1,216 | 5,632 | 25,600 | 114,688 |
|
|
|
|||||||
1D gSDFT + 1-D FFT |
|
64 | 512 | 2,816 | 14,336 | 69,632 |
|
|
134 | 912 | 4,768 | 23,616 | 112,768 |
|
|
|
|||||||
VR-2 × 2 SFFT |
|
48 | 224 | 960 | 3,968 | 16,128 |
|
|
96 | 448 | 1,920 | 7,936 | 32,256 |
|
Comparison of the processing time and the additional memory requirements.
Algorithm | Processing time over 106 iterations for |
Ratio versus 1D DFT ×2 (%) | Additional memory requirement for |
---|---|---|---|
1D DFT ×2 | 23,908.47 | 100.00 |
|
1D FFT ×2 | 4,711.57 | 19.71 |
|
1D SFFT + 1-D FFT | 3,582.43 | 14.98 |
|
VR-2 × 2 FFT | 1,563.67 | 6.54 |
|
2D MFFT | 678.89 | 2.84 |
|
2D SDFT | 532.51 | 2.23 |
|
1D rSDFT + 1-D FFT | 3,388.33 | 14.17 |
|
1D mSDFT + 1-D FFT | 4,213.01 | 17.62 |
|
1D gSDFT + 1-D FFT | 3,812.58 | 15.95 |
|
VR-2 × 2 SFFT | 876.87 | 3.67 |
|
Further, we present the memory requirements of all the algorithms in Table
We investigated the stability of the proposed VR-2 × 2 SFFT algorithm using a complex test signal, which was zero-mean Gaussian noise with a standard deviation of one. The simulation was performed in 64-bit double-precision arithmetic;
Then, it is observed that the errors in the 2D MFFT and the 1D rSDFT + 1D FFT are accumulated as
Numerical errors of the 2D MFFT and the 1D rSDFT + 1D FFT algorithm which accumulate over 106 iterations.
The measured
Numerical errors of the 1D mSDFT + 1D FFT and the VR-2
In this letter, a new stable SFFT based on the VR-2 × 2 FFT algorithm was presented for 2D input data. We first analyzed the computational relationship between the sub-DFT bins of the structure of the VR-2 × 2 FFT. Then, we adopt the concept of the 1D SFFT, which calculates the bins of the shifted window by exploiting the delayed intermediate calculations of the previous window. The proposed VR-2 × 2 SFFT algorithm achieves
The authors declare that there is no conflict of interest regarding the publication of this paper.
This work was supported by Institute for Information & Communications Technology Promotion (IITP) Grant funded by the Korean Government (MSIP) (no. B0101-15-0525; Development of Global Multi-Target Tracking and Event Prediction Techniques Based on Real-Time Large-Scale Video Analysis) and by Business for Cooperative R&D between Industry, Academy, and Research Institute funded Korea Small and Medium Business Administration in 2015 (Grant no. C0276386).