## 3 Methodology and Solution
### Detector Bank Based on Simplified Welch Algorithm
#### 3.2.1 Welch and Simplified Welch Method  
To scan the signal in the frequency domain, frequency samples are extracted from the input signal by the help of FFT [24], which is a much faster computational implementation than the discrete Fourier transform:  
\[X[k]=\ \sum_{n=0}^{N-1}x[n]e^{-\beta 2\pi mk/N}\ 0\ \leq k\ \leq N-1, \tag{2}\]  
where \(N\) is the number of input samples, k is an integer index, \(2\pi/N\) is the fundamental frequency resolution, \(x=\ \left\{x[0],x[1],\ldots x[n]\right\}\) is the window of input samples, and \(X=\ \left\{X[0],X[1],\ldots X[n]\right\}\) is the vector of DFT samples. This method is widely used, but the problem is the ambient noise and limitation due to the finite number of samples in the input window. The Welch samples are an estimation of the power spectral density based on the arithmetic average of multiple squared amplitude of FFT scans. The Welch algorithm uses averaging (or arithmetic averaging) in order to achieve two important goals:  
* SNR improvement: averaging over more samples can reduce the noise power level and enhance the SNR of desired signal. * Precise estimation: by utilizing FFT samples from the past, each frequency component can be estimated with more precision and it makes the frequency spectrum smoother than the raw FFT output. Let us consider that the FFT is calculated over the entire duration of the signal. In the Welch algorithm, instead of processing the FFT over the entire time domain, the signal is separated in windows with the same size. Consider that the input vector signal \(s\) contains the \(N\) samples [32]:  
\[s=x[1],\ x[2],\ \ldots,\ x[N]. \tag{3}\]  
The signal can be separated in \(K\) smaller intervals with \(M\) length and \(V\) overlapping:  
\[ \begin{array}{c}1:s_{1}=x[1],\ x[2],\ \ldots,\ x[M]\\ 2:s_{2}=x[M-V+1],\ x[M-V+2],\ \ldots,\ x[2M-V]\\ K:s_{K}=x[(K-1)M-(K-1)V+1],\ \ldots,\ x[KM-(K-1)V,\end{array}  \tag{4}\]  
where \(s_{i}=\ \left\{s_{i}[1],s_{i}[2],\ \ldots s_{i}[M]\right\}\) represents the \(i\)th window, and \(K\) is number of the involved window in the PSD calculation. The DFT is calculated for each window:  
\[S_{i}[v]=\ \sum_{m=1}^{M}s_{1}[m]\cdot w[m]\exp\left(\frac{-2\pi jmv}{N_{F}} \right)\ 1\leq v\leq N_{F}, \tag{5}\]  
where \(w=\ \left\{w[1],w[2],\ldots w[M]\right\}\) is the windowing vector, \(N_{F}\) is the DFT size, and \(S_{i}=\ \left\{S_{i}[1],S_{i}[2],\ \ldots S_{i}[N_{F}]\right\}\) represent the vector of frequency samples of \(i\)th input window. Periodogram values are squared of the absolute value of the DFT samples:  
\[P_{i}[v]=\ \frac{1}{C}\ |S_{i}[v]|^{2}\ 1\leq v\leq N_{F}, \tag{6}\]  
where \(C\) is normalization factor:  
\[C=\sum_{m=1}^{M}w^{2}[m]. \tag{7}\]Calculated periodogram values from different windows are averaged and the power spectral density estimate is obtained:  
\[PSD[v]=\ \frac{1}{K}\sum_{i=1}^{K}P_{i}[v]\ 1\leq v\leq N_{F}, \tag{8}\]  
where the \(K\) is the arithmetic averaging order. We have samples of \(K\) intervals, then we obtain \(K\) amplitude of FFTs and then calculate average of them to reduce the noise. However, arithmetic average of past samples have the following consequences:  
* Implementing arithmetic averaging of \(N\) order requires \(N\) random access memory (RAM) components and massively increases the complexity for real-time implementation. * All the previous samples are weighted by the same coefficient. For example, the sample with a distance of 10 times the intervals from the current sample is weighted by the same gain as the sample with a distance of 100 times the intervals. However, in many systems, it is suitable to weight the samples based on their distance from current samples. Recently, a simple solution with the help of RAM was presented to calculate Welch samples based on the weighted averaging [16]. The ability of this design to clearly display low-power interference on top of a noisy signal is very promising for the detector. In this method, arithmetic averaging is replaced by the recursive geometric series.