Enhanced Wideband Frequency Estimation via FFT: Leveraging Polynomial Interpolation and Array Indexing ()
1. Introduction
The Fast Fourier Transform (FFT) is a fundamental signal processing tool for efficiently computing the frequency content of signals. As technology advances, the demand for more accurate frequency estimates becomes crucial to extract valuable information from FFT output data. Traditional techniques such as peak detection and interpolation have proven effective in many applications [1] [2] [3] [4] . However, in noisy environments and with closely spaced signals, implementing these methods for frequency determination becomes extremely challenging. While methods like Wavelet Transform [5] and Short-Time Fourier Transform (STFT) [6] show promise in identifying non-stationary signals, they are less effective in accurately estimating frequencies in real-world scenarios where signals fluctuate over time. Adaptive frequency estimation [7] dynamically adjusts parameters based on input signal characteristics. Several adaptive approaches have been developed over time to precisely estimate frequency [8] [9] [10] . While these techniques offer adaptability to address non-stationary signals with varying frequencies, they do have limitations. Many adaptive frequency estimation methods feature complex algorithms, leading to increased computational complexity, especially in hardware implementations. Iterative methods refine frequency estimates through successive iterations. After determining the main frequency, interpolation techniques are applied to fit a curve to the peak region in the FFT spectrum, enhancing the precision of the frequency estimate.
This paper introduces two innovative methods for enhancing frequency estimation precision, employing polynomial interpolation and array indexing. The organization of the paper is as follows: Section 2 discusses the wideband frequency estimation flow via FFT, followed by spectrum analysis of scalloping loss. Section 3 provides a brief description of the super-resolution method in section. A detailed explanation of the proposed methods is provided in Section 4. Section 5 presents the results, and the paper concludes in Section 6.
2. Proposed Wideband Frequency Estimation Flow via FFT
Digital receivers play a critical role in various applications such as warfare, radar, communication, and biomedical signal processing. Receiver-on-chip (ROC) designs are becoming exceedingly robust due to recent hardware advancements [11] [12] . In Figure 1, we illustrate the design flow using the Xilinx RFSoC [13] . The Tektronix 5200 serves as the signal generator, producing the necessary signals for the experiments. A 12-bit analog-to-digital (ADC) within the RFSoC samples the signal at 2.56 GHz. The digitized data is collected and aligned for pipelined parallel processing. To introduce pseudo-periodicity, a window function is selected [14] . The ADC returns 12-bit digitized samples, and the Multiple Input Selections (MIS) scheme is employed to maintain 12-bit precision for the input to the 512-point decimation in frequency (DIF) FFT built using a dynamic kernel [15] . In the dynamic kernel, the unit circle is scaled by the powers of two, and the real and imaginary components of the twiddle factors are mapped to closed integer points to minimize approximation errors. Adders and shifters replace the multipliers in the butterfly blocks to achieve a higher throughput rate and minimize hardware computational complexity. Decimation in frequency (DIF) is utilized to realize the FFT, as the approximated kernel function has an advantage over decimation in time (DIT) during hardware implementation. The peak magnitude
and the bin number m are recorded, along with
and its respective bin numbers for frequency detection. This paper
![]()
Figure 1. Proposed wideband frequency estimation flow via FFT.
focuses on the accurate frequency estimation.
3. Frequency Estimation via FFT
The frequency spectrum of a signal represents the distribution of signal energy across different frequencies. This fundamental concept in signal processing is typically visualized through a graph or plot. The frequency spectrum offers valuable insights into the frequency content of a signal, facilitating the analysis and characterization of signals in diverse applications. The fast Fourier transform (FFT) is employed to compute the discrete frequency spectrum, yielding a set of discrete frequency components along with their corresponding amplitudes.
Frequency estimation is the process of determining the frequency content of the signal. The primary function of the FFT is to transform the time-domain signal to frequency-domain, presenting the signal in terms of its frequency components. Detecting the frequency becomes straightforward when the signal frequency aligns with an integer multiple of the frequency resolution. Challenges arise when the input signal falls between frequency bins. The subsequent sections outline four methods for determining frequency when the input signal is not precisely on a frequency bin.
3.1. Scalloping Loss
The FFT method effectively analyzes a finite-duration segment of the input signal. To mitigate spectral leakage, caused by the finite duration, the input signal is often multiplied by a window function. This process tapers the edges of the finite-duration segment to zero, reducing the effects of discontinuity. Scalloping loss, characterized by a reduction in the peak signal’s amplitude during the windowing process, is a notable outcome to identify signals not integer multiples of the frequency resolution.
In Figure 2, the plot depicts frequency on the x-axis and magnitude on the y-axis. A 512-point FFT analysis was conducted for frequencies ranging from 50 MHz to 60 MHz in increments of 500 KHz. The signals were sampled at 2.56 GHz, resulting in a frequency resolution of 5 MHz. Signals falling precisely on a frequency bin exhibit maximum magnitude, while those between bins have lower magnitudes. In this representation, 50 MHz, 55 MHz, 60 MHz, and 65 MHz fall precisely on frequency bins, resulting in higher magnitudes compared to 52.5 MHz, 57 MHz, and 62 MHz. The FFT spectrum in Figure 2 exhibits a series of peaks and valleys, resembling a scalloping pattern. Maximum scalloping loss is observed when the frequency lies precisely halfway between two bins.
Figure 3 shows the magnitude response of the frequencies between two frequencies centered on the bins. The mathematical representation of the magnitude of the frequency component is given in Equation (1). The peak magnitude
of a sinusoidal wave can lie anywhere between:
(1)
where A is the amplitude of the time-domain signal and N is the length of the FFT [16] . To determine the signal’s time-domain amplitude A from Equation (1) by measuring the FFT spectral peak magnitude
is given by Equation (2).
![]()
Figure 3. Normalized bin-to-bin magnitude response.
(2)
The amplitude calculated using Equation (2) results in an error of 36.3%, which is equivalent to 3.9 dB. This level of error, while significant, may be acceptable for certain applications.
3.2. Reducing Scalloping Loss
One possible method to mitigate the frequency-dependent observed amplitude uncertainty inherent in FFT is to employ an N-sample flat-top window function on the original N time-domain samples. followed by executing a new FFT on the processed data. Flat-top window functions are designed to address the scalloping loss introduced during windowing. By using a flat-top window, the reduction in accuracy associated with scalloping can be minimized, given the importance of accurate amplitude representation. This involves multiplying the N-sample flat-top window function with the N-sampled time-domain data. It’s worth noting that multiplication in the time domain is equivalent to convolution in the frequency domain. To implement frequency domain convolution, we need to compute a single flat top windowed
spectral sample from
spectral sample, using
(3)
where
is the peak magnitude of the FFT samples and m is the FFT’s peak magnitude bin value. From Equation (1),
is the peak magnitude of the FFT sample. Figure 4 presents a plot comparing scalloping loss (green) and without scalloping loss (red) for frequencies between 450 MHz and 455 MHz. In this representation, scalloping loss has been minimized to below 0.2 dB.
This aids in accurately determining the sine wave’s time-domain amplitude accurately. The coefficients
,
and
eliminate the amplitude gain loss without changing
their scalloping loss performance. Additionally, these coefficients have the potential to decrease computational complexity through the utilization of binary representation and the substitution of multipliers with arithmetic right-shifters. When applying Equation (3) to rectangular windowed
FFT samples and compute the flat-top windowed maximum FFT spectral peak magnitude
. In this scenario, the estimated value of A from Equation (2) will incur an error of no more than ±0.0003 dB. This minimal error is visually represented by the nearly ideal solid red curve in Figure 4.
3.3. Super-Resolution for Frequency Estimation
When the signal frequency is an integer multiple of frequency resolution, the
signal frequency is estimated at the peak bin m with peak magnitude
, where A is amplitude of the input sinusoid, and N is FFT length. Often, the signal frequency does not fall on the FFT frequency bin, thereby reducing the magnitude to
. The super-resolution method enables computing the true signal frequency with the help of the adjacent bins of the peak bin. The ratio of the peak magnitude
and the higher magnitude among the two adjacent bins is utilized to determine R.
(4)
(5)
α is computed from Equation (5). If α is close to zero then the true frequency is close to the peak bin m whereas, if α is close to 1 corresponds to the true frequency close to
. The value of α is quantized between the peak bin and the bin with a higher magnitude among the two adjacent bins to determine the actual bin value, which is used to estimate the actual frequency of the time domain signal [17] .
3.4. Super-Resolution after Reducing Scalloping Loss for Frequency Estimation
Super-resolution is embraced for its efficiency in utilizing minimal hardware and conducting fewer computations to estimate the actual frequency. However, potential challenges arise due to significant noise levels and the risk of scalloping loss associated with this method. The super-resolution technique described in section 4 is applied after compensating for scalloping loss. Figure 5 depicts the value of α and R with and without the scalloping loss technique implemented, respectively. As the super-resolution algorithm relies on linear approximation for frequency estimation, incorporating it after the scalloping loss technique yields a slight improvement. The heightened peak magnitude assists in more accurately isolating the signal frequency.
4. Polynomial Interpolation and Array Indexing
4.1. Polynomial Interpolation
The super-resolution technique employs eight quantization points to estimate a new bin value when the actual frequency does not align with an integer multiple of the frequency resolution. Enhancing the number of quantization points is anticipated to yield improved frequency estimation. To achieve this, we fit a polynomial to the frequency spectrum affected by scalloping loss, effectively increasing the quantization points. Given the symmetry of the frequency spectrum around the midpoint between two bins, MATLAB’s linear interpolation using the fit function is chosen as the fitting type. Figure 6 illustrates the magnitude response with 50 quantization points.
The ratio of the peak magnitude of the FFT spectrum to the peak magnitude after reducing scalloping loss yields a point mb close to the quantization points derived from the interpolation. Utilizing the magnitudes of the adjacent bins from the peak bin, the quantized point is added or subtracted from the peak bin to generate a more accurate bin number corresponding to the input frequency. Suppose
, mb is added to the peak bin m or else subtracted from m to obtain the true bin value. The actual bin value is utilized to get the input frequency.
4.2. Array Indexing
At low Signal-to-Noise Ratio (SNR) values, the methods discussed in section 3 continue to face challenges in accurately estimating the frequency. To address the limitations posed by negative SNRs, a new approach named array indexing employing Goertzel’s algorithm [18] is presented. After detecting the bin value for the peak magnitude using the general FFT formula, the array indexing specifically designed for non-integer multiples of the frequency resolution.
Goertzel’s algorithm is a computational technique designed for efficiently calculating individual terms of the Discrete Fourier Transform (DFT). It proves beneficial for identifying the presence of specific frequency components in a signal. When a particular frequency is chosen for signal analysis, Goertzel’s algorithm iterates efficiently through each sample in the signal, computing coefficients based on the selected frequency and the signal’s length. The algorithm provides real and imaginary parts of the frequency components, close to the regular DFT or FFT. Magnitude and phase components can then be calculated from the obtained real/imaginary pair. An optimized version of the Goertzel algorithm, while faster and more straightforward than the basic Goertzel algorithm, lacks the provision of real and imaginary frequency components. Instead, it provides the relative magnitude squared [18] .
(6)
The optimized Goertzel’s algorithm is particularly well-suited for our problem, given our focus on the magnitude spectrum. The peak magnitude for the frequencies at bin
, i.e., 450 MHz, to bin
, i.e., 460 MHz, is computed with increments of 1 MHz. For example, when an input signal of 453 MHz is sampled at 2.56 GHz using 512-point FFT, the peak magnitude
and its adjacent bin magnitudes
are plotted. In Figure 7, the bin number is plotted on the x-axis, and its corresponding magnitude is plotted on the y-axis. The peak magnitude falls on bin number 91, and the frequency is estimated as 91*5 MHz = 455 MHz, but the input frequency is 453 MHz, and the estimated frequency is 454.65 MHz obtained using a super-resolution algorithm. Figure 7 illustrates the effectiness of Goertzel’s algorithm when the target frequency is swept from 450 MHz to 460 MHz with increments of 1 MHz. The magnitude values are stored in a
array. The max index value (
) is computed to determine a new bin value, which can estimate the frequency with higher
![]()
Figure 7. Goertzel Algorithm vs Ideal FFT.
accuracy. The
array has eleven values, and the
array comprises precomputed quantized bin values, as shown in Equation (6).
The first 0 indicates the bin
and the second 0 indicates the bin m and the third 0 corresponds to the bin
. From Figure 7, the peak magnitude value will be stored in the fourth position in
array. The value stored at the fourth position in
array is 0.4 which is utilized to determine the actual frequency. If the index value is less than 6, then the values from
array are subtracted from m else it is added to m. Here, the value 0.4 obtained from
array corresponding to the 4th index value, we subtract the quantized bin value with m to obtain the true bin value. The new bin value is used to determine the frequency. For example,
and
since
, subtract
from m to get the actual bin value
. Multiplying B with the frequency resolution
presents us with the actual frequency (90.6*5 MHz = 453 MHz).
5. Experimental Results
The proposed algorithms have been implemented and tested using MATLAB. A 512-point Decimation in Frequency (DIF) FFT is employed, with a sampling frequency of 2.56 GHz, resulting in a frequency resolution of
The input signal-to-noise ratio varies from −10 dB to 10 dB for each frequency. The input frequency is swept from 40 MHz to 1240 MHz in incremental steps of 3 MHz, with the addition of white Gaussian noise. The average frequency error and maximum frequency for all the methods are recorded. A total of (400 frequency values) × (4 methods) × (10 different SNRs) = 16,000 signal test cases are performed for the case study. The frequency error value for each signal (i.e., 400 frequency values) is calculated, and the average and maximum frequency errors are plotted in Figure 8 and Figure 9 respectively.
We observe a marginal improvement between super-resolution algorithms with scalloping loss and after reducing the scalloping loss. However, the polynomial interpolation method demonstrates substantial enhancement, particularly as we transition to positive SNR values. It’s noteworthy that this method exhibits insignificance when SNR values are more negative [19] . Among all the techniques, the array indexing method outperforms, showcasing significant improvement in both average and maximum frequency errors for both positive and negative SNRs.
The 512-point DIF FFT utilizing the Dynamic kernel incorporates adders and shifters to replace multipliers, enhancing the throughput and performance of the FFT. Table 1 outlines the hardware estimates for the four design methodologies. The polynomial interpolation method uses 50 registers to store pre-calculated quantized bin values and the hardware presented in Table 1. Array indexing utilizes the maximum hardware resources but yields the best results among the four methods. Goertzel’s algorithm can be implemented using an IIR filter but may be slower for designs requiring high-performance throughput. Nevertheless, this method proves highly efficient for design purposes and does not demand tight timing constraints.
6. Conclusion
Accurately estimating frequencies in a wideband digital receiver using the FFT algorithm poses challenges, notably spectral leakage resulting from the FFT’s assumption of signal periodicity. This paper introduces two innovative methods for precise frequency precision: polynomial interpolation and array indexing, comparing their performance against super-resolution and scalloping loss. The experimental configuration involves a signal-to-noise ratio ranging from −8 dB to 10 dB and a signal frequency sweeping from 40 MHz to 1240 MHz, incorporating white Gaussian noise. Maximum frequency precision errors for four methods’ super resolution with scalloping loss, super resolution after reducing scalloping loss, polynomial interpolation, and array indexing’ are reported. Super resolution with scalloping loss exhibits a maximum frequency error ranging from 5.5 to 3.7 MHz, while super resolution after reducing scalloping loss shows a maximum frequency error ranging from 5.5 to 3.5 MHz. Polynomial interpolation has a maximum frequency error ranging from 5.5 to 1.4 MHz, and array indexing ranges from 0.8 to −0.2 MHz. Among the four hardware implementations, array indexing, while utilizing maximum hardware resources, yields the most accurate frequency estimation. The paper goes deeper into exploring the balance between getting accurate frequency measurements and using computer resources wisely. It takes a closer look at finding the right mix between two methods’ polynomial interpolation and array indexing. The goal is to understand how to achieve precise frequency results while making the best use of the hardware resources. This analysis provides insights that can be easily applied in real-world scenarios, helping design systems that are both accurate and efficient.