applied sciences

Article Simplified Welch Algorithm for Spectrum Monitoring

Mohammad Hossein Same *, Gabriel Gandubert, Gabriel Gleeton, Preslav Ivanov and René Landry, Jr.

LASSENA Laboratory, École de Technologies Supérieure (ÉTS), Montreal, QC H3C 1K3, Canada; [email protected] (G.G.); [email protected] (G.G.); [email protected] (P.I.); [email protected] (R.L.J.) * Correspondence: [email protected]

Abstract: Power Spectral Density (PSD) is an essential representation of the spectrum that depicts the power measurement content versus frequency. PSD is typically used to characterize broadband random and has a variety of usages in many fields like physics, engineering, biomedical, etc. This paper proposes a simple and practical method to estimate the PSD based on the Welch algorithm for spectrum monitoring. The proposed method can be easily implemented in most of software-based systems or low-level Field-Programmable Gate Arrays (FPGAs) and yields a smooth overview of the spectrum. The original Welch method utilizes the average of the amplitude squared of the previous Fast Fourier Transform (FFT) samples for better estimation of frequency components and noise reduction. Replacing the simple moving average with a weighted moving average can significantly reduce the complexity of the Welch’s method. In this way, the amount of required Random Access Memory (RAM) is reduced from K (where K is the number of FFT packets in averaging) to one. This new method allows users to adjust the dependency of the PSD on the previous observed FFTs and its smoothness by setting only one feedback parameter without any hardware change. The obtained results show that the algorithm gives a clear spectrum, even in the noisy situation because of the significant Signal to Noise Ratio (SNR) enhancement. The trade-off between spectrum accuracy and time convergence of the modified algorithm is also fully analysed. In addition, a simple solution based on Xilinx Intellectual Property (IP), which converts the proposed  method to a practical spectrum analyzer device, is presented. This modified algorithm is validated  by comparing it with two standard and reliable spectrum analyzers, Rohde & Schwarz (R&S) and Citation: Same, M.H.; Gandubert, G.; Tektronix RSA600. The modified design can track any signal type as the other spectrum analyzers, Gleeton, G.; Ivanov, P.; Landry, R., Jr. and it has better performance in situations where the power of the desired signal is weak or where Simplified Welch Algorithm for the signal is mixed with the background noise. It can display the spectrum when the input signal Spectrum Monitoring. Appl. Sci. 2021, power is 5 dB lower than the visible threshold level of R&S and Tektronix. In both narrowband 11, 86. https://dx.doi.org/10.3390/ and wideband scenarios, the new implemented design can still display frequency components 5 dB app11010086 higher than the noise, while the output spectrum of other analyzers is completely covered by noise.

Received: 12 November 2020 Keywords: Accepted: 21 December 2020 Welch method; spectrum monitoring; power spectral density; fast Fourier transform; Published: 24 December 2020 low complexity; embedded design; Xilinx DSP generator; IP core; continuous wave interference; software-defined radio; field-programmable gate array Publisher’s Note: MDPI stays neu- tral with regard to jurisdictional claims in published maps and institutional affiliations. 1. Introduction The development of intelligent adaptive technology for spectrum monitoring is an emerging topic for , especially for satellite broadcasting and radio com-

Copyright: © 2020 by the authors. Li- munication signal analysis [1–3]. Frequency power distribution and phase represent the censee MDPI, Basel, Switzerland. This system response to changes in bandwidth, gain, phase shift, harmonics, etc. The recent article is an open access article distributed preferred interest of these characteristics is to locate and reduce the interference caused by under the terms and conditions of the adjacent signal communication bands or co-channel emissions [4]. Creative Commons Attribution (CC BY) A problem exists regarding the accessibility to a clear power spectrum for smaller and license (https://creativecommons.org/ more accessible devices. Most of the available devices use complex algorithms and circuitry licenses/by/4.0/). to present the clearest overview of the spectrum for a specified application [5]. It mostly

Appl. Sci. 2021, 11, 86. https://dx.doi.org/10.3390/app11010086 https://www.mdpi.com/journal/applsci Appl. Sci. 2021, 11, 86 2 of 23

results in an expensive device that can be difficult to replace and repair or needs heavy algorithms that may be unnecessary for smaller devices and complex to implement. While a reliable spectrum representation is necessary for research and development in the scientific community, some applications do not need the most accurate value if the amplitude ratio and the shape of the spectrum are properly reflected with a simpler method [5]. To obtain the Power Spectral Density (PSD) estimation, there are parametric and non-parametric methods [6]. The non-parametric methods, based on the Discrete Fourier Transform (DFT) [7], do not assume that the data have any structure. Some of the non- parametric methods are the periodogram method [8], which is the squared of the absolute value of the DFT and the Welch’s method [9], which benefits from the average of multiple DFT scans. For the parametric methods, it is assumed that the data follows a certain model [10] and they require a certain amount of past information to calculate the PSD properly. Some examples of parametric methods are the autoregressive model (AR) [11], the moving-average model (MA), the autoregressive moving average (ARMA) [11], etc. To retrieve this specific data, the most commonly used system is the Fast Fourier Transform (FFT). FFT transforms a window of discrete samples into its frequency domain representation [12]. However, because of the noise, it is not ideal for locating low power in- terferences and cannot involve several time packets for better estimation of each frequency component. The Welch’s method is based on the Bartlett’s method where as much as 50% of segments can overlap [13]. Finite data causes noise and poor representation in frequency domain. The Welch’s method improves standard periodogram spectrum estimation by av- eraging over several FFT packets. This involves more time domain samples and surpasses the finite available data limitation. The purpose of this paper is to introduce a modified version of the Welch’s method and show how it can be embedded in a Field-Programmable Gate Array (FPGA) design with the help of the last available Intellectual Property (IP) cores from the Xilinx Digital Signal Processing (DSP) generator. The structure of the paper is organized as follows: in section two, the DFT [14,15] is briefly explained as well as how the original Welch’s algorithm works. In section three, the modified design of the Welch’s algorithm architecture is explained and the trade-off between time convergence versus PSD estimation is analyzed. The demonstrated simulation results are presented in section four. Section five presents the FPGA design of the proposed method and explains how it is embedded in a Software Defined Radio (SDR) device and improves it to a powerful spectrum analyzer. Moreover, this chapter explains the obtained results from practical tests in comparison with available commercial spectrum analyzers.

2. Fourier Transform and Welch Algorithm 2.1. DFT & FFT Discrete time signals result from sampling of continuous-time analog signals that are converted into digital values for future analysis. The interval between consecutive mea- surements is specified by the sampling period. Thus, discrete time signals are not defined between sampling intervals, which means that the highest possible observable frequency cannot exceed the Nyquist limit [16] that is equal to half of the sampling frequency. Even with this known trade-off, the DFT is a powerful tool for analyzing these types of signals since it can reveal the periodicity in the input signal as well as the relative power for each frequency component. The DFT is defined mathematically as:

N−1  −j2πnk  X[k] = ∑ x[n] × exp 0 ≤ k ≤ N − 1 (1) n=0 N

where N is the number of input samples, k is an integer index, 2π/N is the fundamen- tal frequency resolution, x = {x[0], x[1],... x[n]} is the window of input samples, and Appl. Sci. 2021, 11, 86 3 of 23

X = {X[0], X[1],... X[n]} is the vector of DFT samples. The DFT can also be written in a matrix form:

 X[0]   x[0]   0 0   X[1]  W ··· W  x[1]    0 N−1    X[2]   . .. .  x[2]    =  . . .   (2)  .  N−1 N−1  .   .  W0 ··· WN−1  .  X[N − 1] x[N − 1]

 0 0  W0 ··· WN−1  . .. .  where W =  . . .  is DFT coefficient matrix. DFT calculation requires N−1 N−1 W0 ··· WN−1 many mathematical operations such as 4N2 real multiplications and N (4N − 2) real additions. The FFT is a computational implementation of the DFT and it reduces the complexity of computing the DFT from ON2 to ONlogN that is more numerically efficient than the DFT [17].

2.2. Welch’s Method The main usage of the Fourier transform is to get the frequency samples of an input signal. For a discrete signal, the FFT can be applied to a certain number of samples or, depending on the sampling frequency, a certain amount of time of the signal. Represented spectrum in DFT is limited to half of the sampling frequency. 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 situation of signals that travel in communication channels is even worse. They experience channel with additive white Gaussian noise (AWGN). Depending on the travelling method and the distance between transmitter and receiver, the noise level may cover the signal and make it harder for the receiver to extract the PSD with acceptable details. In noisy situations, spectrum monitoring requires more and more data time samples for the correct estimation of the frequency components. The Welch algorithm [18,19] is a nonparametric method to estimate the PSD 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. Window size affects the clarity of the result by cutting frequencies with periods larger than the window. Windowing is taking a sample of a larger dataset and tapering the signal at the edges of each interval. This makes the signal smoother without sharp transitions that can disturb the frequency spectrum representation [11]. There are different types of windowing sequence like Hamming and Blackman, which affect the result differently. Each window overlaps the adjacent windows by a certain factor, which can be as much as 50% of the total window size. Overlapping helps to reduce the loss of information because of the tapering and display a more reliable periodogram. The Fourier transform is calculated on each interval, and the value is squared. This results in a modified periodogram value that is the base of the PSD calculation. Finally, the average of all periodograms are calculated as PSD estimation. Averaging enhances the SNR and it is optimal for spectrum monitoring. The issue with the Welch algorithm is that the frequency resolution is reduced compared to the FFT. Let us consider a discrete time signal s with N samples: s = x[1], x[2],..., x[N] (3) Appl. Sci. 2021, 11, 86 4 of 23

The signal can be separated in K smaller intervals with M length and V overlapping:

1 : s1 = x[1], x[2],..., x[M] 2 : s = x[M − V + 1], x[M − V + 2],..., x[2M − V] 2 (4) ... K : sK = x[(K − 1)M − (K − 1)V + 1],..., x[KM − (K − 1)V]

where si = {si[1], si[2],... si[M]} represents the ith window and K is number of the involved window in the PSD calculation. The DFT is calculated for each window:

M  −2πjmv  Si[v] = ∑ s1[m]·w[m] exp 1 ≤ v ≤ NF (5) m=1 NF

where w = {w[1], w[2],... w[M]} is the windowing vector, NF is the DFT size, and Si = {Si[1], Si[2],... Si[NF]} represent the vector of frequency samples of ith input win- dow. Periodogram values are squared of the absolute value of the DFT samples:

1 P [v] = |S [v]|2 1 ≤ v ≤ N (6) i C i F where C is normalization factor: M C = ∑ w2[m] (7) m=1 Calculated periodogram values from different windows are averaged and the Power Spectral Density estimate is obtained:

1 K PSD(v) = ∑ Pi[v] 1 ≤ v ≤ NF (8) K i=1

The number of packets involved in averaging directly affects the estimated PSD in different ways. First, as more packets are involved, estimation uses more past data and a smoother spectrum is obtained. In other words, average order K is controlling the dependency on the past. Larger K values help the system to estimate each frequency component based on more observations. Second, if there are fast variations in a frequency component (like a carrier with a hopping center frequency), large averaging can have some drawback on estimation and stop the system from monitoring the fast variations in spectrum. Thus, a robust monitoring system needs to have a variable K to adjust itself from time to time based on the situation. For example, if the target is to detect a weak frequency component under noisy conditions, a K with a larger value can help the monitoring system to recognize it more clearly. In other situations, when the system is trying to track a fast- hopping carrier frequency, smaller K values are more useful because the averaging over time can filter fast variations. Implementing this moving average requires K number of Random Access Memory (RAM) blocks with NF size that save observed FFT vectors for averaging. Thus, the complexity and required space on FPGA depends directly on the considered number of FFT packets for averaging. Another drawback is that to support a device with variable average order K, one has to provide Kmax RAMs in FPGA and use as much as is required depending on the situation.

3. Modified Welch Algorithm 3.1. Proposed Algorithm As presented before, the Welch samples are an estimation of the power spectral density based on the arithmetic average of multiple FFT [20] scans. The modified version replaces the running average by weighted averaging to simplify and allow for real-time calculation. Appl. Sci. 2021, 11, 86 5 of 23

To better explain this concept, let us consider the moving average over an input data stream by a window with the size of Np. The result can be expressed by the following Equation (9):

N −1 1 p yi = ∑ xi−m (9) Np m=0

where yi is the moving average at sample time i and xi is the input data stream. 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. However, arithmetic averages of past samples have the following consequences [21]: • Implementing arithmetic averaging of N order, requires N 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 distance of 10 time intervals from the current sample is weighted by the same gain as the sample with the distance of 100 time intervals. However, in many systems, it is suitable to weight the samples based on their distance from current samples. Weighted averaging is widely used in the digital signal processing domain, especially in image processing for noise reduction and signal enhancement [22,23]. In the image pro- cessing area, weighted averaging helps greatly with the noise reduction while preserving the fast variations in image edge. In such filtering scenarios, pixels in filtering windows are weighted based on their distance from the central pixel. This paper tries to replace the arithmetic averaging by the weighted averaging to target two important points: • Weighting each FFT packet based on its distance from the current packet, this idea helps to preserve the fast variable frequency component in spectrum. • A recursive and simple algorithm can replace the required memories for the arithmetic averaging. It means that the system should weight samples based on their distance from the current time instance:

N −1 1 p 0 = > > > yi ∑ αmxi−m , α0 α1 α2 ... αNp−1 (10) G m=0

Np−1 0 where G = ∑ am is normalization gain, y is calculated weighted average in ith n m=0 o i interval, and α0, α1, α2 ... αNp−1 are utilized weighting coefficients. The dependency degree for each input sample is determined by selected weighting coefficient αm. Now, 0 the dependency of yi is extended to the past by replacing all the independent weights by exponential weights.

Np−1 Np−1 0 1 m m yi = ∑ α xi−m , 0 < α < 1 and G = ∑ a (11) G m=0 m=0

To make the averaging simple and recursive, we first extend the dependency to all previous input samples: ∞ 00 1 m yi = ∑ α xi−m (12) G m=0 Appl. Sci. 2021, 11, 86 6 of 23

Appl. Sci. 2021, 11, x FOR PEER REVIEW 6 of 23

∞ m 00 where G = ∑ α and xi = 0 for i < 0 and yi is the weighted averaging of all the past m=0 input samples.∞ Now,푚 a recursive algorithm can be extracted:′′ where 퐺 = ∑푚=0 훼 and 푥𝑖 = 0 for 푖 < 0 and 푦𝑖 is the weighted averaging of all the past input samples. Now, a recursive algorithm00 can be extracted: y0 =′′ x0 00 푦0 = 푥0 00 y =′′ x + αx0 = x + ay ′′ 1푦1 = 1 푥1 + 훼푥0 = 1푥1 + 푎푦0 0 00 =′′ + + 2 2 = + 00 ′′ y2푦2 =x 2푥2 +αx훼1푥1 +α 훼x0푥0 =x 2푥2 +ay 푎푦1 1 (13) 00 ′′ 2 2 3 3 00 ′′ (13) y3푦=3 =x 3푥+3 +αx훼2푥+2 +α 훼x1푥+1 +α 훼x0 푥=0 =x 3푥+3 +ay 푎푦2 2 00 00 ⇒ yi =′′ a × yi−1′′+ xi , 0 < α < 1 ⟹ 푦𝑖 = 푎 × 푦𝑖−1 + 푥𝑖 , 0 < 훼 < 1 [ ] = × [ ] + [ ] EquationEquation PSD푃푆퐷i𝑖[v푣] =a푎 ×PSD푃푆퐷i𝑖−1[v푣] + P푃i𝑖[v푣] allowsallows us us to to calculate calculate an an averaging averaging with with a singlea single multiplication multiplication and and addition. addition. Figure Figure1 explains1 explains how how this this principle principle is is applied applied to to all all FFTFFT samples.samples.

FigureFigure 1.1. CalculatingCalculating WelchWelch samplessamples basedbased onon thethe weightedweighted averaging.averaging.

TheThe displayeddisplayed design design in in Figure Figure1 explains 1 explains the the basic basic idea, idea, but itsbut implementation its implementation is still is complexstill complex because because of several of several reasons: reasons: • ThisThis designdesign needsneeds eacheach FFTFFT samplesample toto implementimplement weightedweighted averagesaverages separately,separately, thusthus thethe amountamount ofof multiplicationsmultiplications andand summationssummations willwill increaseincrease significantly. significantly. • ItIt isis notnot flexibleflexible enoughenough toto supportsupport differentdifferent FFTFFT sizes.sizes. ForFor example,example, ifif thethe FFTFFT sizesize changeschanges fromfrom 11 KK toto 22 K,K, allall ofof thethe designdesignmust mustchange changecompletely completely to to support support it. it. • CertainCertain typestypes ofof FFTFFT blocks,blocks, e.g.,e.g., inin thethe XilinxXilinx DSPDSP GeneratorGenerator library,library,work workin in aa seriesseries mannermanner thatthat makesmakes thethe designdesign moremore complex.complex. GivenGiven these reasons, a a simple simple solution solution with with the the help help of ofthe the RAM RAM is presented is presented to cal- to calculateculate Welch Welch samples samples based based on on the the weigh weightedted averaging. averaging. Figure Figure 22 symbolically symbolically explains explains thethe modifiedmodified designdesign ofof WelchWelch implementation.implementation. ThisThis designdesign reducesreduces thethe requiredrequired memorymemory toto singlesingle RAMRAM byby NFFTNFFT address.address. EachEach averagedaveraged FFTFFT samplessamples areare addedadded toto thethe previousprevious averagedaveraged samplessamples that are multiplied by th thee α훼factor. factor. The The only only consideration consideration herehere isis thethe useuse ofof aa FFTFFT computationcomputation inin seriesseries insteadinstead ofof aa parallelparallel version.version. For each segment of input data stream with the length of M, a windowed 푁퐹 point FFT is calculated. After the M clock, M samples of a segment enter this block, then it cal- culates the 푁퐹 point FFT of this sample. After calculation, FFT samples are ready at the output, sample by sample and synchronized with the clock. Each time that FFT samples of an input segment are ready, the FFT block generates a “Data Ready” pulse that deter- mines the start point of the sample series. The “Data Ready” pulse is used to reset a coun- Appl. Sci. 2021, 11, x FOR PEER REVIEW 7 of 23

ter. The output number of the counter will read the previous value and save the FFT sam- Appl. Sci. 2021, 11, 86 ple into the RAM at the correct address where each address is a specific frequency7 PSD of 23 estimation.

Figure 2. General block diagram of modified design of Welch algorithm implementation. Figure 2. General block diagram of modified design of Welch algorithm implementation. For each segment of input data stream with the length of M, a windowed N point 3.2. Theoretical Analysis F FFT is calculated. After the M clock, M samples of a segment enter this block, then it calculatesThe following the NF point analysis FFT of explains this sample. the equivalency After calculation, between FFT weighted samples areaveraging ready at with the output,the α parameter sample by and sample arithmetic and synchronized averaging with with N theorder clock. based Each on timethe Signal that FFT to Noise samples Ratio of an(SNR input) enhancement. segment are ready,SNR is the defined FFT block as: generates a “Data Ready” pulse that determines

the start point of the sample series. The “Data Ready”푃푆 pulse is used to reset a counter. The output number of the counter will read the푆푁푅 previous= value and save the FFT sample into(14) 푃푍 the RAM at the correct address where each address is a specific frequency PSD estimation. where 푃푆 and 푃푍 are the input signal and the white Gaussian noise power respectively. 3.2.Reference Theoretical [24] Analysisexplains the effect of signal averaging on a steady signal S with an associ- 2 ated Thenoise following variance analysisof 휎 . It explains is proven the that equivalency if observed between signals weightedin averaging averaging iteration with are thecorrelated,α parameter after andN time arithmetic averaging, averaging 푆푁푅퐴푣푒푟푎𝑔𝑖푛𝑔 with N orderis impro basedved onby thefactor Signal of N to: Noise Ratio (SNR) enhancement. SNR is defined푆푁푅 as:퐴푣푒푟푎𝑔𝑖푛𝑔 = 푁. 푆푁푅 푁 (15) 푆푁푅퐴푣푒푟푎𝑔𝑖푛𝑔[dB] = 10P푙표푔10 + 푆푁푅[dB] SNR = S (14) Following the same way as [24], it can P beZ proven that for weighted averaging 1 푆푁푅푤푒𝑖𝑔ℎ푡푒푑 is improved by factor : where퐴푣푒푟푎𝑔𝑖푛𝑔PS and PZ are the input signal1− and푎 the white Gaussian noise power respectively. Reference [24] explains the effect of signal푊푒𝑖𝑔ℎ푡푒푑 averaging1 on a steady signal S with an associ- 푆푁푅퐴푣푒푟푎𝑔𝑖푛𝑔 = . 푆푁푅 ated noise variance of σ2. It is proven that if observed1 − 푎 signals in averaging iteration are correlated, after N time averaging, SNR is improved1 by factor of N: (16) 푊푒𝑖𝑔ℎ푡푒푑 Averaging (1−푎) 푆푁푅퐴푣푒푟푎𝑔𝑖푛𝑔[dB] = 10푙표푔10 + 푆푁푅[dB] SNR = N·SNR For better understanding, the sameAveraging scenario has been simulated. First, a discrete (15)sig- SNR [dB] = 10logN + SNR[dB] nal with 1000 samples is generatedAveraging and white Gaussian10 noise with SNR = 15 dB is added to the desired signal. Then, the system tries to increase the SNR with the help of weightedtwo dif- Following the same way as [24], it can be proven that for weighted averaging SNR ferent averaging types. Figure 3c displays 푆푁푅퐴푣푒푟푎𝑔𝑖푛𝑔 versus order N. Clearly,Averaging more 1 is푆푁푅 improved퐴푣푒푟푎𝑔𝑖푛𝑔 by improvement factor 1−a : is obtained by increasing the N order. In another figure, the

Weighted 1 SNRAveraging = 1−a ·SNR 1 (16) Weighted ( 1−a ) SNRAveraging[dB] = 10log10 + SNR[dB] Appl. Sci. 2021, 11, 86 8 of 23

For better understanding, the same scenario has been simulated. First, a discrete signal with 1000 samples is generated and white Gaussian noise with SNR = 15 dB is added Appl. Sci. 2021, 11, x FOR PEER REVIEW 8 of 23 to the desired signal. Then, the system tries to increase the SNR with the help of two different averaging types. Figure3c displays SNRAveraging versus order N. Clearly, more SNRAveraging improvement is obtained by increasing the N order. In another figure, the output 푆푁푅Weighted푊푒𝑖𝑔ℎ푡푒푑 after weighted averaging with different α parameter is displayed. It output SNRAveraging퐴푣푒푟푎𝑔𝑖푛𝑔after weighted averaging with different α parameter is displayed. It cancan bebe seen seen weighted weighted averaging averaging with withα = α 0.99 = 0.99 improve improveSNR SNRby the by gain the aroundgain around 20 dB. 2 These0 dB. twoThese figures two figures allow theallow user the to user see to which see whichα parameter α parameter in weighted in weighted averaging averaging is equivalent is equiv- toalent which to whichN order N order in normal in normal averaging. averaging. Based Based on this on comparison, this comparison,α = 0.99 α = is0.99 equivalent is equiv- toalent normal to normal averaging averaging with orderwith orderN = 100. N = This 100. comparison This comparison allows allows the user the to user select to select the α parameterthe α parameter based based on two on new two criteria: new criteria: • DesiredDesired SNRSNR improvementimprovement forfor systemsystem • EquivalentEquivalent averageaverage orderingordering NN inin normalnormal WelchWelch algorithm algorithm

(a) (b)

(c) (d)

FigureFigure 3.3. AA discretediscrete signalsignal ((aa)) withoutwithout noisenoise ((bb)) withwith noisenoise SignalSignal toto NoiseNoise RatioRatio ((SNRSNR)) == 1515 dB.dB. ((cc)) SNRSNR improvementimprovement afterafter arithmeticarithmetic averagingaveraging versusversus orderorderN N.(. d(d))SNR SNRimprovement improvement after after weighted weighted averaging averaging versus versusα αparameter. parameter.

TheThe parametersparameters selectedselected forfor thethe weightedweighted averagingaveraging directlydirectly affectsaffects thethe behaviorbehavior ofof thethe systemsystem inin twotwo ways:ways: 1. Convergence time: At first, it seems that the sorted values inside the RAM will grow to an unlimited value. However, because α is smaller than one, the sorted values (Welch spectrum) grow to a certain value and after that the system will converge to a final spectrum. A larger α needs more convergence time and generates larger sorted values in the RAM. Thus, if the system is monitoring data with fast variations, smaller values should be used to enable faster tracking. Another important point here is the Appl. Sci. 2021, 11, x FOR PEER REVIEW 9 of 23

Appl. Sci. 2021, 11, 86 9 of 23 hardware limitation for saving the large values inside the RAM. If the saved values 1. Convergenceare larger time: than At first, the it seemscomputational that the sorted values capability inside the of RAM system, will grow a saturation error will happen. 2. toObtained an unlimited value.spectrum However, shape: because αTheis smaller α determines than one, the sortedthe dependency values of the obtained spec- (Welch spectrum) grow to a certain value and after that the system will converge to a finaltrum spectrum. to the A larger past.α needs A larger more convergence α means time more and generates averaging larger sorted over the past FFT samples. As a values in the RAM. Thus, if the system is monitoring data with fast variations, smaller valuesresult, should the be usedspectrum to enable fasterobtained tracking. from Another a importantlarger α point is heresmoother is the with the less noise. hardwareTo better limitation understa for savingnd the the large difference values inside the between RAM. If the the saved original values Welch method [7] and this are larger than the computational capability of system, a saturation error will happen. 2.modifiedObtained spectrum method, shape: the The α frequencydetermines the dependency response of the of obtained a running spectrum average is compared to the weightedto the past. averaging. A larger α means Running more averaging average over the has past FFTthe samples. following As a result, frequency response: the spectrum obtained from a larger α is smoother with the less noise. To better understand the difference between the original Welch method푁 [7] and this modified method, the frequency response of a running average is compared1 to the weighted 퐻(푧) = ∑ 푧−𝑖 (17) averaging. Running average has the following frequency response: 푁 𝑖=0 1 N H(z) = ∑ z−i (17) Figure 4 presents frequencyN i=0 response of the arithmetic average with different order

N. TheFigure 4frequency presents frequency response response ofis the generally arithmetic average attenuated with different and order forN. averaging with larger order, Thelarger frequency attenuation response is generally is observed. attenuated and for averaging with larger order, larger attenuation is observed.

Figure 4. Frequency 4. Frequency representation representation of the original Welch of frequencythe original variation Welch response. frequency variation response. The transfer function of the modified version can be expressed as the following:

The transfer function of the1 modified version can be expressed as the following: H(z) = (18) 1 − αz−1 1 Figure5 represents the frequency response of the modified method. Since it is a first 퐻(푧) = −1 (18) order discrete low-pass filter, the curve is significantly smoother for1 each− 훼 frequency.푧 As seen below, a higher α value creates a greater initial gain. Figure 5 represents the frequency response of the modified method. Since it is a first order discrete low-pass filter, the curve is significantly smoother for each frequency. As seen below, a higher α value creates a greater initial gain.

Figure 5. Frequency representation of the modified Welch frequency variation response. Appl. Sci. 2021, 11, x FOR PEER REVIEW 9 of 23

hardware limitation for saving the large values inside the RAM. If the saved values are larger than the computational capability of system, a saturation error will happen. 2. Obtained spectrum shape: The α determines the dependency of the obtained spec- trum to the past. A larger α means more averaging over the past FFT samples. As a result, the spectrum obtained from a larger α is smoother with the less noise. To better understand the difference between the original Welch method [7] and this modified method, the frequency response of a running average is compared to the weighted averaging. Running average has the following frequency response: 푁 1 퐻(푧) = ∑ 푧−𝑖 (17) 푁 𝑖=0 Figure 4 presents frequency response of the arithmetic average with different order N. The frequency response is generally attenuated and for averaging with larger order, larger attenuation is observed.

Figure 4. Frequency representation of the original Welch frequency variation response.

The transfer function of the modified version can be expressed as the following: 1 퐻(푧) = (18) 1 − 훼푧−1 Figure 5 represents the frequency response of the modified method. Since it is a first

Appl. Sci. 2021, 11, 86 order discrete low-pass filter, the curve is significantly smoother for 10each of 23 frequency. As seen below, a higher α value creates a greater initial gain.

Appl. Sci. 2021, 11, x FOR PEER REVIEW 10 of 23

FigureFigure 5. 5.Frequency Frequency representation representation of the modifiedof the modified Welch frequency Welch variation frequency response. variation response.

As itit cancan bebe seen seen in in Figure Figure6, the6, the convergence convergence time time and and gain gain are differentare different for each for each dif- ferentdifferent alpha alpha (α) (feedback(α) (feedback factor) factor) value. value. By analyzing By analyzing the system the system response, response, a normalization a normali- factorzation canfactor be can added be added after the after modified the modified Welch Welch algorithm algorithm to cancel to cancel the gain the gain based based on the on αtheparameter. α parameter.

Figure 6. Convergence and gain of different aa parameter.parameter.

Final gaingain GGfor for the the selected selected parameter parameter can can be be calculated calculated based based on on the the infinite infinite geomet- geo- ric series: metric series: ∞ m 1 Gain G = ∑∞a = (19) = 1 −1a 퐺푎푖푛 퐺 =m ∑0 푎푚 = (19) 1 − 푎 Then the normalization factor (NF) is: 푚=0

Then the normalization factor (NFNF) is:= 1 − α (20) 푁퐹 = 1 − 훼 (20) The correction can be added after the algorithm to retrieve a normalized PSD. FigureThe7 presents correction the can corrected be added transfer after functionthe algorithm of the to modified retrieve Welcha normalized algorithm PSD after. Figure the normalization.7 presents the corrected Comparing transfer Figure function4 with Figure of the7 modifiedreveals that Welch both algorithm systems attenuate after the fre-nor- quencymalization. components Comparing with Figure fast variation, 4 with butFigure the 7 modified reveals versionthat both has systems a smoother attenuate and more fre- uniformquency components response than with the original fast variation, one and but removes the modified the big gaps version in frequency has a smoother response and of movingmore uniform average. response than the original one and removes the big gaps in frequency re- sponse of moving average.

Figure 7. Frequency response of the modified Welch with the correction factor. Appl. Sci. 2021, 11, x FOR PEER REVIEW 10 of 23

As it can be seen in Figure 6, the convergence time and gain are different for each different alpha (α) (feedback factor) value. By analyzing the system response, a normali- zation factor can be added after the modified Welch algorithm to cancel the gain based on the α parameter.

Figure 6. Convergence and gain of different a parameter.

Final gain G for the selected parameter can be calculated based on the infinite geo- metric series: ∞ 1 퐺푎푖푛 퐺 = ∑ 푎푚 = (19) 1 − 푎 푚=0 Then the normalization factor (NF) is: 푁퐹 = 1 − 훼 (20) The correction can be added after the algorithm to retrieve a normalized PSD. Figure 7 presents the corrected transfer function of the modified Welch algorithm after the nor- malization. Comparing Figure 4 with Figure 7 reveals that both systems attenuate fre- Appl. Sci. 2021, 11, 86 quency components with fast variation, but the modified version has a smoother and 11 of 23 more uniform response than the original one and removes the big gaps in frequency re- sponse of moving average.

Appl. Sci. 2021, 11, x FOR PEER REVIEW 11 of 23

The final point to address is the saturation time based on the α factor. Since the for- mula is exponential, the following expression can be used to estimate the number of FFT FigureFigure 7. 7. FrequencyFrequency response response of the of modified the modified Welch with Welch the withcorrection the correctionfactor. factor. scans until a certain precision of the saturation for a noiseless signal: The final point to address is the saturation time based on the α factor. Since the formula 푙표푔10 휀 is exponential, the following expression푁푢푚푏푒푟 can 표푓 be푠푐푎푛푠 used= to estimate the number of FFT scans(21) 푙표푔10 훼 until a certain precision of the saturation for a noiseless signal: where ε is the precision of the saturation. The number of scans is an approximation of the total required FFT packets until partial saturation. log ε Number of scans = 10 (21) log10α 4. Simulations where ε is the precision of the saturation. The number of scans is an approximation of the 4.1. Simulation Setup total required FFT packets until partial saturation. This section explains how the modified algorithm can be implemented simply in 4.MATLAB Simulations Simulink as a development environment. Figure 8 displays the block diagram 4.1.of the Simulation design in Setup Simulink. First, the signals are generated on the left, then they are com- binedThis and section passed explainsthrough howthe FFT the block modified mentioned algorithm earlier can to be finally implemented be processed simply by the in MATLABupdated Welch Simulink algorithm. as a development A random environment.data source generates Figure8 displays a proper the integer block numbers diagram offor thethe designQuadrature in Simulink. Amplitude First, Modulation the signals (QAM) are generated modulator. on the Then, left, thena general they aretelecommuni- combined andcation passed signal through is generated the FFT by block up sampling mentioned and earlier pulse to finallyshaping be based processed on raised by the-cosine updated fil- Welchtering. algorithm.The numerical A random oscillator data generates source a generates single tone a properat the desired integer center numbers frequency. for the QuadratureThe idea here Amplitude is to show Modulation how dependency (QAM) modulator. on past Then, data a(푎 general parameter) telecommunication can obtain a signalsmoother is generated spectrum by and up help sampling to clarify and pulsethe Carrier shaping Wave based Interference on raised-cosine (CWI) filtering. [25] as a Thefre- numericalquency component. oscillator generatesNumerical a control single toneoscillator at the generates desired center CWI based frequency. on the The selected idea herecen- ister to frequency show how 푓0 dependency: on past data (a parameter) can obtain a smoother spectrum and help to clarify the Carrier Wave Interference (CWI)[25] as a frequency component. 퐶푊퐼 = 푒푥푝(푗. 푓0. 푡) (22) Numerical control oscillator generates CWI based on the selected center frequency f0: For example, in Figure 8, a single tone with a peak at the center frequency 푓0 = 푟푎푑𝑖푎푛 0.015(× 휋 ) is generated. CWI = exp(j· f0·t) (22) 푠푎푚푝

FigureFigure 8.8. GeneralGeneral blockblock diagramdiagram ofof implementationimplementation ofof modifiedmodified designdesign inin Simulink.Simulink.

The schematic of the implanted FFT and modified algorithm can be seen in Figure 9a,b. The simulation design tries to have the similar behavior of the Xilinx DSP Generator blocks. Samples are first stored into a buffer of FFT size (NF). After buffering NF samples, the FFT block transfers the samples to the frequency domain and generates the FFT vector. The FFT vector is then converted to a series of data with the help of the un-buffer block. A free running counter generates the index of FFT samples. Because this counter is limited to count to NF, after reaching NF, it will reset to one and start to count up again. In this way, for each packet of FFT samples, the counter generates the correspondence index from one to NF. The relational block simply compares the counter output with NF and generates a pulse if the output is equal to NF as the data ready pulse. This pulse determines the boundaries of each calculated packet in the data stream. It should be mentioned that in the Xilinx DSP Generator, all sub-blocks of the buffer, FFT calculator, un-buffer, counter Appl. Sci. 2021, 11, 86 12 of 23

For example, in Figure8, a single tone with a peak at the center frequency f0 =  radian  0.015 ×π samp is generated. The schematic of the implanted FFT and modified algorithm can be seen in Figure9a,b. The simulation design tries to have the similar behavior of the Xilinx DSP Generator blocks. Samples are first stored into a buffer of FFT size (NF). After buffering NF samples, the FFT block transfers the samples to the frequency domain and generates the FFT vector. The FFT vector is then converted to a series of data with the help of the un-buffer block. A free running counter generates the index of FFT samples. Because this counter is limited to count to NF, after reaching NF, it will reset to one and start to count up again. In this way, for each packet of FFT samples, the counter generates the correspondence index from one to NF. The relational block simply compares the counter output with NF and generates Appl. Sci. 2021, 11, x FOR PEER REVIEW 12 of 23 a pulse if the output is equal to NF as the data ready pulse. This pulse determines the boundaries of each calculated packet in the data stream. It should be mentioned that in the Xilinx DSP Generator, all sub-blocks of the buffer, FFT calculator, un-buffer, counter and and data-readydata-ready are integrated are integrated as one component. as one component. The general The implementation general implementation idea is ex- idea is explained plained in Figurine Figure 9b, where9b, where the output the output of the of RAM the RAM is multiplied is multiplied with with 푎 ina feedbackin feedback and and then added then added to tothe the new new FFT FFT samples samples to togenerate generate the the exponential exponential weighted weighted averaging. averaging.

(a)

(b)

Figure 9. (a)Figure Schematic 9. (a of) Schematic the updated of Welchthe updated algorithm, Welch (b) algorithm, Fast Fourier (b Transform) Fast Fourier (FFT) Transform implementation (FFT) imple- of modified Welch. mentation of modified Welch.

4.2. Simulation Results

As it can be seen in Figure 10, FFT samples are generated by 2 × 푁퐹 delays. In first 푁퐹 clocks, the 푁퐹 input data of the first segment is arriving and buffered for FFT calcula- tion. In the second 푁퐹 clocks, the FFT of the first input is calculated. While the FFT of the first segment is calculating, the input data of the second segment is buffering. This se- quence continues and calculates the FFT of input segments in real time by 2 × 푁퐹 delays for all segments. Appl. Sci. 2021, 11, 86 13 of 23

4.2. Simulation Results

As it can be seen in Figure 10, FFT samples are generated by 2 × NF delays. In first NF clocks, the NF input data of the first segment is arriving and buffered for FFT calculation. In the second NF clocks, the FFT of the first input is calculated. While the FFT of the first segment is calculating, the input data of the second segment is buffering. This sequence Appl. Sci. 2021, 11, x FOR PEER REVIEW 13 of 23 continues and calculates the FFT of input segments in real time by 2 × NF delays for all segments.

Figure 10. Amplitude of FFT samples based on the indexindex numbernumber (NFFT(NFFT == 2048).

Another importantimportant notenote here here is is that that the the generated generated FFT FFT samples samples are are displayed displayed from from 0 to 0 2toπ 2πinstead instead of − ofπ to−ππ to. To π. solve To solve this problem,this problem, the first the half first of half the FFTof the samples FFT samples must be must shifted be aftershifted the after second the halfsecond to recover half to recover the standard the standard spectrum spectrum centered centered at the desired at the frequency.desired fre- quency.After the periodogram values are calculated, they are saved inside the RAM. Each sampleAfter is saved the periodogram in a memory values address are based calculated, on its number they are in saved the FFT inside vector. the For RAM. example, Each thesample 100th is saved periodogram in a memory sample address is stored based in on the its register number with in the an FFT address vector. equal For toexample, 100 in RAM.the 100th The periodogram idea for calculating sample a is Welch stored sample in the isregister to perform with weightedan address averaging equal to before100 in savingRAM. The data idea in each for RAMcalculating register. a Welch Remember sample that is the to counterperform resets weighted with theaveraging “Data Ready”before pulse, thus, at each moment, the counter value is displaying the corresponding FFT sample saving data in each RAM register. Remember that the counter resets with the “Data number. The output value of the counter is also used to determine the address of this Ready” pulse, thus, at each moment, the counter value is displaying the corresponding sample inside the RAM. Before overwriting new samples on its related address, the design FFT sample number. The output value of the counter is also used to determine the address fetches the previous sample, weighs it with the α parameter and then adds it to the new of this sample inside the RAM. Before overwriting new samples on its related address, the generated sample. This idea calculates the Welch value based on the weighted averaging. design fetches the previous sample, weighs it with the 훼 parameter and then adds it to As time goes on, the samples saved inside the RAM converge to Welch samples. the new generated sample. This idea calculates the Welch value based on the weighted Figure 11 displays the convergence of Welch samples to the final spectrum for α = 0.99 averaging. As time goes on, the samples saved inside the RAM converge to Welch sam- from the simulation. As it can be seen, two spectra generated during the convergence ples. time are displayed. The first spectrum generated is noisier and displays a spectrum of Figure 11 displays the convergence of Welch samples to the final spectrum for α = input data with fewer details. After convergence, the spectrum is completely smooth with considerably0.99 from the lesssimulation. noise. As it can be seen, two spectra generated during the convergence time are displayed. The first spectrum generated is noisier and displays a spectrum of input data with fewer details. After convergence, the spectrum is completely smooth with considerably less noise. Appl. Sci. 2021, 11, x FOR PEER REVIEW 14 of 23

Appl. Sci. 2021, 11, 86 14 of 23 Appl. Sci. 2021, 11, x FOR PEER REVIEW 14 of 23

Figure 11. ConvergenceFigure 11. Convergence of WelchFigure samples.11. ofConvergence Welch samples. of Welch samples.

To betterbetter understandTo better the understand performance performance the performance obtained obtained over overobtained the the FFTover FFT andthe and FFTthe the andeffect effect the of effect of the the αof the α αparameterparameter on on theparameter the final final spectrum, on spectrum, the final Figure spectrum, Figure 12 displays 12Figure displays 12 the displays compute the computed the dcompute spectrum spectrumd spectrum with a with differ-with a differ- differentent α. Duringα. During thisent αtest,. this During a test, CWI this a with CWI test, Signal witha CWI Signal withto Interference Signal to Interference to Interference Ratio Ratio SI =R Ratio SI12 = dBSI R12 =R is 12added dB dB is is added toadded the to the transmitted signal. For FFT samples, the peak position of CWI fades in the noise and other totransmitted the transmitted signal. signal. For FFT For samples, FFT samples, the peak the position peak position of CWI of fades CWI fadesin the innoise the noiseand other and frequency components make it barely visible. For the Welch spectrum obtained with α = otherfrequency frequency components components make make it barely it barely visible. visible. For the For Welch the Welch spectrum spectrum obtained obtained with with α = 0.25, the peak is detectable; however, the distance between the maximum peak and the α0.25,= 0.25 the, thepeak peak otheris detectable; is detectable;frequency however, components however, the theis distance not distance sufficiently between between visible the the and maximum maximum can be misleading peak peak and for thethe a detec- other frequencyfrequencytor. componentscomponents As the α parameter is is not not sufficiently sufficiently increases, visiblethe visible spectru and andm can getscan be smootherbe misleading misleading and forclearer. for a detector.a detec-For α = 0.99, Astor. the As αtheparameter α parameterthe spectrum increases, increases, is completely the spectrumthe spectru smooth, getsm withoutgets smoother smoother most and of and clearer. the noise,clearer. For and αFor = the 0.99,α peak= 0.99, the appears spectrumthe spectrum is completely isclearly completely with smooth, a noticeable smooth, without distance without most on mostof top the of of noise,the the original andnoise, thesignal. and peak the appears peak appears clearly withclearly a noticeablewith a noticeable distance distance on top ofon the top original of the original signal. signal.

Figure 12. Welch spectrum obtained with different α parameters.

Figure 12. Welch spectrumspectrum obtainedobtained withwith differentdifferent ααparameters. parameters.

As is explained here, in the modified version, the α parameter plays the same role of the averaging number in the original Welch algorithm. The main advantage of using the Appl. Sci. 2021, 11, 86 15 of 23

modified version is the simplicity and flexibility of the averaging control. The α parameter is like a flexible control volume in the user’s hand and allows the PSD parameters to be adjusted based on the current situation.

5. Laboratory Tests and Real-Time Validation 5.1. Design in Xilinx DSP Generator Library The practical part of this research benefits from the digital signal-processing library provided in the Xilinx System Generator integrated in the Simulink environment. The following methodology contains two main steps: system performance and mathematical discovery based on the simulation that followed by transferring all simulation blocks to the Xilinx DSP Generator. The FFT blocks provided in this library are flexible for multiple FFT sample size adjustments even after synthesis while FPGA is running. The idea is that the method proposed must be practical and easily implementable in the existing technology as much as possible. Following this idea in the simulation design step and benefiting from the Xilinx DSP library, the modified design can easily be transferred from simulation to a worthy FPGA design. Thus, one can assume that the real response of the FPGA design will be reflected accurately in the simulation. Figure 13a,b represent the most important blocks used in the Xilinx DSP library. The Xilinx Fast Fourier Transform block core computes N-point forward DFT or inverse DFT based on the Cooley-Tukey FFT algorithm [26]. It buffers a vector of N complex values provided on real and imaginary input ports during the N system clocks and generates NF frequency samples in a series manner on real and imaginary output ports. For synchro- nization, this block also provides a synchronization signal, the “Data Ready pulse”. This signal simply represents the start and end of each calculated FFT packet. Connecting this pulse to the reset port of a free counter recreates the behavior similar to the simulation step. The second block is the RAM, which is one of the main components of the modified Welch algorithm presented in this paper. The RAM size can also be adjusted to increase or decrease the resolution of the spectral representation. The desired frequency resolution can be easily adjusted with the FTT and RAM size. The smoothness and past value dependency can be set up simply by adjusting the α parameter. These two options give the user unique flexibility for dynamic system adjustment based on the current situation. Warning: as mentioned before, sorted values inside the RAM will grow to a certain value, then, the system will converge to a final spectrum. The important point here, is the hardware limitation for saving large values inside the RAM. If the averaging value goes higher than the saturation limit of the user computational capability, then an error will be generated. Xilinx DSP generator allows the designer to adjust the precision and “fixed point” output type for each block. For the blocks that are involved in Figure 13, “number of bits” and “binary point” must be selected carefully to avoid the saturation error. During the real time test, hardware limitation must also be considered for selecting the maximum value for the a parameter.

5.2. BEEcube SDR The NanoBEE device by National Instruments is used as a SDR receiver. This SDR is equipped with a programmable FPGA to implement the algorithm as well as a register bank module to store samples and result data [27]. Once the data is processed, the results are stored inside the register bank, then sent via Ethernet cable to a computer equipped with MATLAB for spectral representation. Figure 14 explains the reception structure of the BEEcube used in this setup. The modified design resides in the Welch block marked in red. It should be mentioned that all the PSD estimation steps are completed in the heart of SDR FPGA, and MATLAB just presents the results stored in the register bank as figures for visualization purposes. Appl. Sci. 2021, 11, x FOR PEER REVIEW 16 of 24

Appl. Sci. 2021, 11, 86 16 of 23

Appl. Sci. 2021, 11, x FOR PEER REVIEW 16 of 23

(a)

(b) Figure 13. (a) FFT block from the Xilinx Digital Signal Processing (DSP) Generator library; (b) Random Access Memory (RAM) block from the Xilinx DSP Generator library.

Warning: as mentioned before, sorted values inside the RAM will grow to a certain value, then, the system will converge to a final spectrum. The important point here, is the hardware limitation for saving large values inside the RAM. If the averaging value goes higher than the saturation limit of the user computational capability, then an error will be generated. Xilinx DSP generator allows the designer to adjust the precision and “fixed point” output type for each block. For the blocks that are involved in Figure 13, “number of bits” and “binary point” must be selected carefully to avoid the saturation error. During the real time test, hardware limitation must also be considered for selecting the maximum value for the 푎 parameter.

5.2. BEEcube SDR The NanoBEE device by National Instruments is used as a SDR receiver. This SDR is equipped with a programmable FPGA to implement the algorithm as well as a register bank module to store samples and result data [27]. Once the data is processed, the results are stored inside the register bank, then sent via Ethernet cable to a computer( bequipped) with MATLAB for spectral representation. Fig- ure 14 explains the reception structure of the BEEcube used in this setup. The modified Figure 13. (Figurea) FFT 13. block(a) FFT from block the fromdesi Xilinx thegn resides Xilinx Digital Digitalin the Signal Welch Signal Processing block Processing marked (DSP)(DSP) in red. Generator Generator It should library; be library;mentioned (b) Random (b that) Random all Access the PSD MemoryAccess Memory (RAM) block(RAM) from block the fromXilinx the DSP Xilinxestimation Generator DSP Generator steps library. are library. completed in the heart of SDR FPGA, and MATLAB just presents the results stored in the register bank as figures for visualization purposes. Warning: as mentioned before, sorted values inside the RAM will grow to a certain value, then, the system will converge to a final spectrum. The important point here, is the hardware limitation for saving large values inside the RAM. If the averaging value goes higher than the saturation limit of the user computational capability, then an error will be generated. Xilinx DSP generator allows the designer to adjust the precision and “fixed point” output type for each block. For the blocks that are involved in Figure 13, “number

of bits” and “binary point” must be selected carefully to avoid the saturation error. During the realFigureFigure time 14. 14. Nano test,Nano-BEE-BEE hardware reception reception structure. limitation structure. must also be considered for selecting the maximum value for the 𝑎 parameter.

5.2. BEEcube SDR The NanoBEE device by National Instruments is used as a SDR receiver. This SDR is equipped with a programmable FPGA to implement the algorithm as well as a register bank module to store samples and result data [27]. Once the data is processed, the results are stored inside the register bank, then sent via Ethernet cable to a computer equipped with MATLAB for spectral representation. Fig- ure 14 explains the reception structure of the BEEcube used in this setup. The modified Appl. Sci. 2021, 11, 86 17 of 23

Appl.Appl. Sci. Sci.2021 20, 1121,, x11 FOR, x FOR PEER PEER REVIEW REVIEW 17 of17 23 of 23

5.3. Practical Setup and Real-Time Test Bench 5.3.5.3. PracticalThis Practical section Setup Setup and tries and Real Real to-Time validate-Time Test Test Bench the Bench proposed algorithm by representing the results obtainedThisThis section in section a real-time tries tries to validateto test validate bench. the the proposed The proposed data algorithm acquisition algorithm by byrepresenting and representing setup arethe the similarresults results ob- to ob- the ones usedtainedtained in in [a 27in real ,a28 real-]time and-time test with test bench. bench. a simulation-based The The data data acquisition acquisition debugging and and setup setup are before aresimilar similar FPGA to the to synthesis. the ones ones used us Useed of a software-definedin [27,28]in [27,28] and and with with radioa simulation a simulation (SDR)- allowedbased-based debugging usdebugging to compare before before theFPGA FPGA results synthesis. synthesis. with Use reliable Use of aof standardizedsoft- a soft- ware-defined radio (SDR) allowed us to compare the results with reliable standardized spectrumware-defined monitoring radio (SDR) devices allowed and us make to compare a real-time the results comparison with reliable with them.standardized The diagram in spectrumspectrum monitoring monitoring devices devices and and make make a real a real-time-time comparison comparison with with them. them. The The diagram diagram Figures 15 and 16 presents the laboratory setup used to validate and compare the algorithm in Figuresin Figures 15 and15 and 16 presents16 presents the the laboratory laboratory setup setup used used to validate to validate and and compare compare the the algo- algo- torithm tworithm to standard twoto two standard standard spectrum spectrum spectrum monitoring monitoring monitoring devices. devices. devices. For For comparison, For comparison, comparison, two two commerciallytwo commercially commercially available spectrumavailableavailable spectrum monitoring spectrum monitoring monitoring devices devices fromdevices from Rohde from Rohde Rohde & & Schwarz Schwarz & Schwarz [ [29]29] [29] and and Tektronix Tektronix Tektronix [30] [ 30[30] are] are used toused validateused to validate to validate the the obtained the obtained obtained results. results. results. In In the In the the case casecase of the of the Tektronix the Tektronix Tektronix analyzer, analyzer, analyzer, the the Long Long the-Term- Long-TermTerm EvolutionEvolution (LTE) (LTE) (LTE) without without without averaging averaging averaging spectrum spectrum spectrum analyzer analyzer analyzer was was used was used to used display to display to display the the signal signal the even signal even even moremore clearly. clearly. clearly.

Figure 15. Test bench used to validate the modified algorithm. FigureFigure 15. Test15. Test bench bench used used to validate to validate the themodified modified algo algorithm.rithm.

FigureFigureFigure 16. 16.Laboratory Laboratory16. Laboratory setupsetup setup and and devices devices devices (signal (signal (signal generators, generators, generators, BEEcube BEEcube SDR SDR SDR(Software (Software (Software Defined Defined Defined Radio) Radio), Radio),Tektronix, Tektronix Tektronix and and Rohde Rohde and Rohde & Schwarz)& Schwarz) used used for realfor real-time-time analysis. analysis. & Schwarz) used for real-time analysis. 5.4.5.4. Final Final Results Results 5.4. FinalTheThe modified Results modified design design was was tested tested in the in the laboratory laboratory using using the thesetup setup prese presentednted in Figure in Figure 16. The first result tries to show the capacity to detect every type of narrow band and 16. TheThe first modified result tries design to show was the tested capacity in to the detect laboratory every type using of narrow the setup band presentedand in widebandwideband signals signals in different in different frequencies, frequencies, like like any any other other spectrum spectrum analyzer. analyzer. A single A single tone tone Figure 16. The first result tries to show the capacity to detect every type of narrow band at aat frequency a frequency of 1.57 of 1.572 G2Hz G Hzand and a modulated a modulated QAM QAM signal signal with with pu lsepu lseshaping shaping are areselected selected andas narrowband,as wideband narrowband, signals and and wideband widebandin different signals signals frequencies, in different in different like center centerany frequencies other frequencies spectrum are are then analyzer. then passed passed A single tonethroughthrough at athe frequency thecommercial commercial of spectrum 1.572 spectrum GHz analyzer andanalyzer a and modulated and SDR SDR equipped equipped QAM with signal with the the withmodified modified pulse Welch shapingWelch are selectedalgorithm.algorithm. as Table narrowband, Table 1 briefly 1 briefly explains andexplains wideband the the parameters parameters signals selected selected in different for forthis t histest. center test. frequencies are then passed through the commercial spectrum analyzer and SDR equipped with the modified Welch algorithm. Table1 briefly explains the parameters selected for this test. Appl. Sci. 2021, 11, 86 18 of 23

Table 1. Parameters used for the first test.

Single-Tone Modulated Modulated Single-Tone Modulated SDR Sample Center QAM Center QAM a Parameter FFT Size Power QAM Power Rate Frequency Frequency Bandwidth 1.574 GHz 1.57542 GHz 1 MHz −48 dBm −65 dBm 40 MHz 0.99 2048

In regards to the fairness of competition, we considered the following points carefully: • It should be mentioned that the power transferred by the signal generator is equally divided between all devices with the help of a splitter. Thus, all devices (SDR and two other spectrum analyzers) are competing with similar input power. • Selected span for commercial devices is 10 MHz. The SDR that run the new design, has a sampling rate of 40 MHz, thus, the span of the SDR is equal to 20 MHz. Selected span for the two other devices is half of SDR, that allows them to have two times better resolution. • The attenuation gain for all three devices is equal to 0 dB. It allows the two other spectrum analyzers to have maximum sensitivity to the input signal. • Selected cables have the same attenuation gain. • During the test, we also changed the input signal of different devices to be sure that the obtained results were real. Table2 provide more details about the commercial device settings.

Table 2. Commercial devices parameters.

Rohde & Schwarz Reference Resolution Span Attenuation gain Center frequency level bandwidth 10 MHz 0 dB 0 dB 1.57542 GHz 30 kHz Tektronix RSA600 Reference Resolution Span Attenuation gain Center frequency level bandwidth 6.2 MHz −20 dB 0 dB 1.57542 GHz 1 kHz

As it can be seen in Figure 17, the modified design can represent any spectral formation with accuracy for signal monitoring and interference detection. For both narrowband and wideband signals, the center frequencies detected match the transferred signals completely, and the bandwidth detected is equal to the bandwidth of the modulated QAM. Appl. Sci. 2021, 11, x FOR PEER REVIEW 18 of 23

Table 1. Parameters used for the first test.

Single-Tone Cen- Modulated QAM Modulated QAM Single-Tone Modulated SDR Sam- 풂 Pa- FFT ter Frequency Center Frequency Bandwidth Power QAM Power ple Rate rameter Size 1.574 GHz 1.57542 GHz 1 MHz −48 dBm −65 dBm 40 MHz 0.99 2048

In regards to the fairness of competition, we considered the following points care- fully:  It should be mentioned that the power transferred by the signal generator is equally divided between all devices with the help of a splitter. Thus, all devices (SDR and two other spectrum analyzers) are competing with similar input power.  Selected span for commercial devices is 10 MHz. The SDR that run the new design, has a sampling rate of 40 MHz, thus, the span of the SDR is equal to 20 MHz. Selected span for the two other devices is half of SDR, that allows them to have two times better resolution.  The attenuation gain for all three devices is equal to 0 dB. It allows the two other spectrum analyzers to have maximum sensitivity to the input signal.  Selected cables have the same attenuation gain.  During the test, we also changed the input signal of different devices to be sure that the obtained results were real. Table 2 provide more details about the commercial device settings.

Table 2. Commercial devices parameters.

Rohde & Schwarz Span Reference level Attenuation gain Center frequency Resolution bandwidth 10 MHz 0 dB 0 dB 1.57542 GHz 30 kHz Tektronix RSA600 Span Reference level Attenuation gain Center frequency Resolution bandwidth 6.2 MHz −20 dB 0 dB 1.57542 GHz 1 kHz

As it can be seen in Figure 17, the modified design can represent any spectral for- mation with accuracy for signal monitoring and interference detection. For both narrow- Appl. Sci. 2021, 11, 86 band and wideband signals, the center frequencies detected match the transferred signals19 of 23 completely, and the bandwidth detected is equal to the bandwidth of the modulated QAM.

(a) (b)

FigureFigure 17. 17. (a)( aCWI) CWI (Carrier (Carrier Wave Wave Interfere Interference)nce) represented represented and and QAM QAM (Quadrature (Quadrature Amplitude Amplitude Modulation) Modulation) modulated modulated withwith the the R&S R&S (Rohde (Rohde & &Schwarz) Schwarz) spectrum spectrum analyzer; analyzer; (b) ( bCWI) CWI represented represented and and QAM QAM signal signal spectrum spectrum modulated modulated with with the the modifiedmodified Welch Welch algorithm. algorithm. Appl. Sci. 2021, 11, x FOR PEER REVIEW 19 of 23

TheThe next next part part of of the the laboratory laboratory results results represen representsts the the effect effect of ofα αonon the the spectrum spectrum smoothnesssmoothness and and accuracy accuracy in frequency in frequency component component recognition. recognition. Figure Figure 18a –18c a–crepresent represent a amodulated modulated QAM QAM signal signal at 1.57542 at 1.57542 GHz GHz mixed mixed with with a CWI a CWI at 1.575 at 1.575 GHz GHz compared compared to the to thetwo two other other spectrum spectrum analyzers. analyzers. In this In test, this a test,very alow very-power low-power CWI is CWIused to is usedmake toit harder make it harderto detect. to detect.In this Insituation, this situation, both of both the ofcommercial the commercial spectrum spectrum analyzers analyzers couldcould not see not the see theCWI CWI and andthe modified the modified design design was wasable ableto detect to detect the spike the spikecaused caused by the by interference. the interference. An- Anotherother important important point point observed observed in Figure in Figure 18 is that18 is the that spectrum the spectrum displayed displayed by the modi- by the modifiedfied design design is similar is similar in shape in shape to the to two the other two otherspectrum spectrum analyzers analyzers with less with noise, less noise,and andthe CWI the CWI can appear can appear 4 dB 4higher dB higher than thanthe modulated the modulated signal. signal.

(a) (b)

(c)

FigureFigure 18. 18.( a()a) CWI CWI and and modulated modulated QAM QAM signal signal representation representation on on the the R&S R&S spectrum spectrum analyzer; analyzer; (b) CWI(b) CWI and modulatedand modulated QAM signalQAM representationsignal representation with the with modified the modified Welch algorithmWelch algorithm with α =with 0.99 α ( c=) 0.99 CWI (c and) CWI modulated and modulated QAM signal QAM representationsignal repre- withsentation the Tektronix with the spectrumTektronix analyzer.spectrum analyzer.

Figure 19 represents the results obtained from SDR by repeating the second tests us- ing lower 푎 parameters.

(a) (b) Figure 19. (a) CWI and modulated QAM signal representation with α = 0.85; (b) CWI and modulated QAM signal repre- sentation with α = 0.7. Appl. Sci. 2021, 11, x FOR PEER REVIEW 19 of 23

modulated QAM signal at 1.57542 GHz mixed with a CWI at 1.575 GHz compared to the two other spectrum analyzers. In this test, a very low-power CWI is used to make it harder to detect. In this situation, both of the commercial spectrum analyzers could not see the CWI and the modified design was able to detect the spike caused by the interference. An- other important point observed in Figure 18 is that the spectrum displayed by the modi- fied design is similar in shape to the two other spectrum analyzers with less noise, and the CWI can appear 4 dB higher than the modulated signal.

(a) (b)

(c) Appl. Sci. 2021, 11, 86 20 of 23 Figure 18. (a) CWI and modulated QAM signal representation on the R&S spectrum analyzer; (b) CWI and modulated QAM signal representation with the modified Welch algorithm with α = 0.99 (c) CWI and modulated QAM signal repre- sentation with the Tektronix spectrum analyzer. Figure 19 represents the results obtained from SDR by repeating the second tests using Figure 19 represents the results obtained from SDR by repeating the second tests us- lower a parameters. ing lower 푎 parameters.

(a) (b) Figure 19. (a) CWI and modulated QAM signal representation with α = 0.85; (b) CWI and modulated QAM signal repre- Figure 19. (a) CWI and modulated QAM signal representation with α = 0.85; (b) CWI and modulated QAM signal sentation with α = 0.7. representation with α = 0.7.

As it can be seen, smother spectrum is obtained for the larger a parameter. The lower Appl. Sci. 2021, 11, x FOR PEER REVIEW 20 of 23 the α parameter, the harder it gets to detect the CWI mixed with the modulated QAM until for α = 0.70 in Figure 19b, the CWI peak is covered by noise and is not visible. The lastAs test it can tries be seen, to comparesmother spectrum the abilityis obtained of for two the larger commercial a parameter. spectrum The lower analyzers with the modifiedthe α designparameter, in the weak harder signalit gets to monitoring. detect the CWI mixed In this with test, the modulated only a wideband QAM signal with until for α = 0.70 in Figure 19b, the CWI peak is covered by noise and is not visible. low power isThe used. last test The tries signal to compare power the ability transmitted of two commercial is decreased spectrum untilanalyzers the with spectrum analyzers are unablethe tomodified monitor design it. in weak As signal it can monitoring. be seen In inthis the test, Figureonly a wideband 20, with signal a with transmitted power of −87 dBm,low power both is used. spectrum The signal analyzers power transmitted are unableis decreased to until monitor the spectrum the analyz- input power, and the ers are unable to monitor it. As it can be seen in the Figure 20, with a transmitted power transmittedof −87 spectrum dBm, both is spectrum covered analyzers by noise; are unable however, to monitor the the SDR input power,equipped and the with the modified design stilltransmitted clearly spectrum depicts is covered signal by with noise; correct however, andthe SDR reliable equipped details. with the modified design still clearly depicts signal with correct and reliable details.

(a) (b)

(c) Figure 20. (a) PSD representation from the R&S spectrum analyzer at −87 dBm; (b). PSD representation from the modified Figure 20. (a) PSD representationWelch algorithm at −8 from7 dBm; the (c) PSD R&S representation spectrum from analyzer the Tektronix at − spectrum87 dBm; analyzer (b). at PSD −87 dBm. representation from the modified Welch algorithm at −87 dBm; (c) PSD representation from the Tektronix spectrum analyzer at −87 dBm. For both cases, narrow band and wide band, when other spectrum analyzers could not display the spectrum, the modified design could still display frequency component 5 dB higher than the noise level. With a narrow band signal such as a CWI, when its power is decreased until the point where other devices cannot see the CWI, the new design can see it 5 dB stronger than the QAM signal. As it has been explained before, α = 0.99 can result in SNR improvement equivalent to averaging by N order of 100. Averaging reduces the noise level and improves the SNR by 20 dB gain. Thus, the frequency components can be visible clearly on top of the noise. Superiority over other spectrum analyzers is demonstrated with the SNR improvement. By decreasing the signal power, it will be fading in the background noise and commercial devices are not able to track it in the surrounding noise. However, the new design, bene- fiting from the SNR improvement, can display the desired signal in lower SNRs. Appl. Sci. 2021, 11, 86 21 of 23

For both cases, narrow band and wide band, when other spectrum analyzers could not display the spectrum, the modified design could still display frequency component 5 dB higher than the noise level. With a narrow band signal such as a CWI, when its power is decreased until the point where other devices cannot see the CWI, the new design can see it 5 dB stronger than the QAM signal. As it has been explained before, α = 0.99 can result in SNR improvement equivalent to averaging by N order of 100. Averaging reduces the noise level and improves the SNR by 20 dB gain. Thus, the frequency components can be visible clearly on top of the noise. Superiority over other spectrum analyzers is demonstrated with the SNR improvement. By decreasing the signal power, it will be fading in the background noise and commercial devices are not able to track it in the surrounding noise. However, the new design, benefiting from the SNR improvement, can display the desired signal in lower SNRs.

5.5. Discussion The purpose of this paper was to present an easily implementable spectrum monitor- ing design based on a modified version of the Welch algorithm. The proposed design can accurately represent a low-power signal with a less noisy spectrum reliably when standard spectrum analyzers are unable to track the input signal. Future spectrum monitoring devices such as interference mitigation and detection systems could easily implement this rugged, low-cost and effective design. The unique flexibility allows a lot of different usages such as high-precision spectrum monitoring or high responsiveness for frequency hopping interference tracking. The α parameter helps to have a balance between the required accuracy and the desired convergence in different situations. For instance, the design cannot accurately display a noise-free spectrum while remaining very responsive to frequency hopping. Therefore, there is a trade-off between speed and accuracy when choosing the α value. For future research, the study of this design paired with an inter- ference detection and mitigation device could yield some interesting results. The ability to clearly display low-power interference on top of a noisy signal is very promising for interference mitigation. Another interesting research would be to adjust the α parameter based on the input signal to noise ratio. The receiver is able to have an approximation of the channel situation and input SNR. Once the receiver is in a good position, selecting a lower α value allows the system to track variable frequency components. While the system is suffering from noisy channel and low SNR, a clearer spectrum curve is available by selecting a larger α parameter.

6. Conclusions In this research, a modified version of the Welch algorithm for spectrum monitoring is proposed. The characteristics of this design were thoroughly analyzed and studied. Spectrum monitoring is used in multiple applications, from interference mitigation to research and development in the scientific community. After the mathematical explanation and the presentation of the design itself, the effects of the α parameter were presented. It can be concluded that with a smaller α parameter, the system is more responsive and more appropriate for fast hopping frequency signals. On the other hand, with a larger α, the system is more accurate and is more appropriate for precise spectrum monitoring. It is safe to assume that the modified design can reliably and accurately represents any signal type as other commercial devices. From the last results we see that this design can represent low-power signal 5 dB lower than the other standard spectrum analyzers. The proposed algorithm decreases the required space on FPGA and benefiting from its practical design, it can be embedded in SDR or other FPGA core. The main consideration for this system is the convergence time based on the se- lected feedback parameter, which can cause loss of information for fast variant frequency components and large values in the RAM component that can generate the saturation error. Appl. Sci. 2021, 11, 86 22 of 23

Author Contributions: Conceptualization, M.H.S.; methodology, M.H.S.; writing—original draft preparation, M.H.S.; writing—review and editing, G.G. (Gabriel Gandubert), P.I., G.G. (Gabriel Glee- ton); supervision, R.L.J. All authors have read and agreed to the published version of the manuscript. Funding: This research is part of the project entitled AVIO-601 in LASSENA Lab (École de Technolo- gie Supérieure) named Interference Mitigation in Satellite Communication. It is supported by the Natural Sciences and Engineering Research Council of Canada (NSERC), Thales, Telesat, VIGILANT GLOBAL, CRIAQ, and Atem Canada. Special thanks to CMC for providing the required equipment to succeed with this project. Institutional Review Board Statement: Not applicable. Informed Consent Statement: Not applicable. Data Availability Statement: Data sharing not applicable. Conflicts of Interest: The authors declare no conflict of interest.

References 1. Wu, S.; Feng, L. Design and Implementation of Next Generation Signal Spectrum Monitoring for Satellite Broadcasting Television. In Proceedings of the 2017 4th International Conference on Information Science and Control Engineering (ICISCE), Changsha, China, 21–23 July 2017; pp. 1458–1461. [CrossRef] 2. McCarthy, D. Modern Receiver Architectures: Considerations for spectrum monitoring applications. In Proceedings of the 2019 IEEE International Symposium on Electromagnetic Compatibility, Signal & Power Integrity (EMC+SIPI), New Orleans, LA, USA, 22–26 July 2019; pp. 18–21. [CrossRef] 3. Ujan, S.; Navidi, N.; Landry, R.J. Hierarchical Classification Method for Radio Frequency Interference Recognition and Characteri- zation in Satcom. Appl. Sci. 2020, 10, 4608. [CrossRef] 4. Xu, D.; Zhang, G.; Ding, X. Analysis of Co-channel Interference in Low-orbit Satellite Internet of Things. In Proceedings of the 2019 15th International Wireless Communications & Mobile Computing Conference (IWCMC), Tangier, Morocco, 24–28 June 2019; pp. 136–139. [CrossRef] 5. Witte, R.A. Spectrum and Network Measurements; Scitech Publ.: Marina del Rey, CA, USA, 2014. 6. Zhao, H.; Lin, G. Nonparametric and parametric methods of spectral analysis. In MATEC Web of Conferences; EDP Sciences: Paris, France, 2019. 7. Xu, Q.; Duan, Z. A fixed point of DFT/FFT for FPGA platform. In Proceedings of the 2012 IEEE International Conference on Computer Science and Automation Engineering (CSAE), Zhangjiajie, China, 25–27 May 2012; pp. 279–282. [CrossRef] 8. Liavas, A.P.; Moustakides, G.V.; Henning, G.; Psarakis, E.Z.; Husar, P. A periodogram-based method for the detection of steady-state visually evoked potentials. IEEE Trans. Biomed. Eng. 1998, 45, 242–248. [CrossRef][PubMed] 9. Barbe, K.; Pintelon, R.; Schoukens, J. Welch Method Revisited: Nonparametric Power Spectrum Estimation Via Circular Overlap. IEEE Trans. Signal Process. 2010, 58, 553–565. [CrossRef] 10. Krishna, A.; Andrews, J. PSD computation using modified Welch algorithm. Int. J. Sci. Res. Eng. Technol. 2015, 4, 951–954. 11. Marple, L. A new autoregressive spectrum analysis algorithm. IEEE Trans. Acoust. Speech Signal Process. 1980, 28, 441–454. [CrossRef] 12. Bisina, K.V.; Azeez, M.A. Optimized estimation of power spectral density. In Proceedings of the 2017 International Conference on Intelligent Computing and Control Systems (ICICCS), Madurai, India, 15–16 June 2017; pp. 871–875. [CrossRef] 13. Welch, P. The use of fast Fourier transform for the estimation of power spectra: A method based on time averaging over short, modified periodograms. IEEE Trans. Electroacoust. 1967, 15, 70–73. [CrossRef] 14. Sorensen, H.; Jones, D.; Heideman, M.; Burrus, C. Real-valued fast Fourier transform algorithms. IEEE Trans. Acoust. Speech Signal Process. 1987, 35, 849–863. [CrossRef] 15. Hemmert, K.S.; Underwood, K.D. An analysis of the double-precision floating-point FFT on FPGAs. In Proceedings of the 13th Annual IEEE Symposium on Field-Programmable Custom Computing Machines (FCCM’05), Napa, CA, USA, 18–20 April 2005; pp. 171–180. [CrossRef] 16. Garg, V.K.; Wang, Y. Data Communication Concepts. In The Electrical Engineering Handbook, 1st ed.; Elsevier: Cambridge, MA, USA, 2005; Chapter 5; pp. 983–988. 17. Nussbaumer, H.J. The fast Fourier transform. In Fast Fourier Transform and Convolution Algorithms; Springer: Berlin/Heidelberg, Germany, 1981; pp. 81–111. 18. Parhi, K.K.; Ayinala, M. Low-Complexity Welch Power Spectral Density Computation. IEEE Trans. Circuits Syst. I Regul. Pap. 2014, 61, 172–182. [CrossRef] 19. Zou, P.; Lv, M. A fast algorithm for blind estimation of frequency domain parameters of Direct Sequence Spread Spectrum signal. In Proceedings of the 2009 IEEE International Conference on Communications Technology and Applications, Beijing, China, 16–18 October 2009; pp. 430–435. [CrossRef] Appl. Sci. 2021, 11, 86 23 of 23

20. Varma, B.S.C.; Paul, K.; Balakrishnan, M. Accelerating 3D-FFT Using Hard Embedded Blocks in FPGAs. In Proceedings of the 2013 26th International Conference on VLSI Design and 2013 12th International Conference on Embedded Systems, Pune, India, 5–10 January 2013; pp. 92–97. [CrossRef] 21. John, M.S.; Dimitrijevic, A.; Picton, T.W. Weighted averaging of steady-state responses. Clin. Neurophysiol. 2001, 112, 555–562. [CrossRef] 22. Gavaskar, G.R.; Chaudhury, K.N. Fast adaptive bilateral filtering. IEEE Trans. Image Process. 2018, 28, 779–790. [CrossRef] 23. Papari, G.; Idowu, N.; Varslot, T. Fast bilateral filtering for denoising large 3D images. IEEE Trans. Image Process. 2016, 26, 251–261. [CrossRef][PubMed] 24. Kovacs, Z.L. On the Enhancement of the SNR of Repetitive Signals by Digital Averaging. IEEE Trans. Instrum. Meas. 1979, 28, 152–155. [CrossRef] 25. Same, M.H.; Gandubert, G.; Ivanov, P.; Landry, R.; Gleeton, G. Effects of Interference and Mitigation Using Notch Filter for the DVB-S2 Standard. Telecom 2020, 1, 17. [CrossRef] 26. Puschel, M. Cooley-Tukey FFT like algorithms for the DCT. In Proceedings of the 2003 IEEE International Conference on Acoustics, Speech, and Signal Processing, (ICASSP’03), Hong Kong, China, 6–10 April 2003; p. II-501. [CrossRef] 27. Ujan, S.; Navidi, N.; Landry, R., Jr. An Efficient Radio Frequency Interference (RFI) Recognition and Characterization Using End-to-End Transfer Learning. Appl. Sci. 2020, 10, 6885. [CrossRef] 28. Ujan, S.; Same, M.H.; Landry, R.J. A Robust Jamming Signal Classification and Detection Approach Based on Multi-Layer Perceptron Neural Network. Int. J. Res. Stud. Comput. Sci. Eng. 2020, 7, 1–12. [CrossRef] 29. Rohde & Schwarz. R&S®FSQ Signal Analyzer Operating Manual; Operating Manual 1313.9681.12-02; Rohde & Schwarz: Munich, Germany, 2014. 30. Tektronix. RSA600 Series Real Time Spectrum Analyzers. Available online: https://www.tek.com/spectrum-analyzer/rsa600 -series (accessed on 4 September 2020).