## 2 Basic Algorithm Principle  
The WOLA algorithm was originally used in the short-time Fourier transform (STFT) [23], and the WOLA filter bank has been widely used in many fields such as sub-band coding, audio processing, and radio astronomy [24; 25; 26; 27]. The output of the WOLA filter bank involves real- and complex-valued signals, and the number of the independent output sub-channels is \(K/2+1\) (where \(K\) is the number of sub-bands); thus, the processing complexity and consumption of hardware resources is increased. To simplify the hardware implementation of the algorithm, the IWOLA algorithm [22] was proposed, which shifts the centre frequencies of every sub-band of the WOLA filter bank by \(\pi/K\) along the positive frequency axis. In particular, the expression of the IWOLA filter bank is as follows:  
\[y(v,k)=e^{-j\pi(2k+1)vD/K}\sum_{p=0}^{K-1}F_{v}(p)e^{-j2\pi kp/K}, \tag{1}\]  
where  
\[R_{v}(p)=\sum_{l=0}^{D-1}{(-1)^{l}x(vD+lK+p)w(-lK-p)}, \tag{2}\]  
\[F_{v}(p)=R_{v}(p)e^{-j\pi p/K}, \tag{3}\]  
where \(l\) is an arbitrary integer that ranges from 0-D-1; \(k\) denotes the channel number; \(D\) denotes the decimation factor; \(p=0,1,2,\ldots,K-1\); and \(w\) is a window function with coefficients that can be obtained by the design command fir1 in MATLAB for a finite impulse response (FIR) low-pass filter. The cut-off frequency of the FIR low-pass filter is \(f_{s}/2/K\). This process of shifting frequency is equivalent to a Hilbert transform applied to the WOLA filter bank, thus causing all independent output sub-channels to exhibit identical features. The identities of the sub-bands of the IWOLA filter bank provide simplification for the hardware implementation of the processing. Furthermore, for a real-valued input signal, the output data from the \(K/2+1\) sub-channels of the WOLA filter bank should be stored and processed further, whereas the output data from the \(K/2\) sub-channels of the IWOLA filter bank should be stored and processed further. This reduces the amount of data processing and conserves off-chip memory resources, especially for a large second-stage FFT. The overall framework of the spectral analysis algorithm based on the combined IWOLA + FFT structure is shown in Figure 1.  
Figure 1: IWOLA + FFT algorithm framework. The output data of Sub-bands 0-\(K\)/2-1 of the IWOLA filter bank are transposed and obtained in-turn as outputs. If \(K=D\), a maximally decimated filter bank (MDFB) [28] is produced, which has a relatively simple design and consumes less hardware resources. However, it leads to an aliasing effect (overlapping interference), as shown in Figure 2a. To avoid the aliasing effect, \(D\leq K\)/2 is required, which results in a non-maximally decimated filter bank (NMDFB), as shown in Figure 2b. Generally, for a moderately large value of \(K\), \(D\) is set as \(K\)/2. However, when \(K\) is significantly large, e.g., \(K=2^{20}\), \(D=2^{19}\). This leads to a low-pass filter prototype \(w\) with an order of magnitude of \(2^{39}\), which consumes a significantly large amount of hardware resources. In this case, assuming that \(D<K/2\) (e.g., \(K=2^{20}\) and \(D=2^{18}\) or smaller), the maximum order number of the low-pass filter prototype is \(2^{38}\), which conserves half of the hardware resources, especially the multipliers and adders, at the expense of a slight performance reduction (slight decrease in the stopband attenuation). Under the condition of \(D<K/2\), the data rate of each sub-band of the IWOLA filter bank is larger than the bandwidth value of each sub-band. Thus, if an FFT is implemented directly after the IWOLA filter bank, a large amount of computing resources are wasted. Therefore, before the FFT process, the data of each sub-band of the IWOLA filter bank should be decimated by a factor \(D_{1}\), as shown in Figure 1. The decimation factor \(D_{1}\) can be expressed as follows:  
\[D_{1}=K/2D \tag{4}\]  
To make the decimating factor \(D_{1}\) a positive integer, \(D<K/2\) and \(K\) is divisible by \(D\).