1. Introduction
Multi-resolution frequency spectrum analysis is widely used in many areas to process signals from different sources, such as signals from mechanical structures, acoustic sensors, human body signal sensors, and digital RF/microwave receivers. A few examples are given in [
1,
2,
3,
4]. Multi-resolution analysis (MRA) is a powerful tool used in image and signal processing. In wavelet analysis [
5], a mother wavelet function [
6] is scaled in frequency and shifted in time to analyze images or signals at different resolutions [
6,
7]. Recently, Ref. [
8] gives a comprehensive review of the developments, challenges, and opportunities of wavelet analysis, and also covers the evolution of wavelet neural networks. In parallel with the developments in wavelet-based MRA, Fourier transform (FT)-based approaches are also being developed. This framework includes the fractional FT [
9,
10,
11], and the relatively recently developed quadratic-phase FT [
12,
13], which offers a unified approach to processing transient and non-transient signals and is very useful for analyzing signals with time-varying properties. Although many FT-based MRA methods have been developed, in modern digital receiver development the conventional FT is still widely used. In general, for a fixed digitizer sampling rate, calculating DFTs having different numbers of samples results in spectra having different frequency resolutions. In the FT-based MRA, the short-time Fourier transform (STFT) is often used to calculate signal time-frequency distributions. There are a number STFT-based methods, such as the multi-resolution STFT [
14], adaptive STFT [
15,
16], and STFT frequency-domain (STFT-FD) [
17] methods. The idea of the multi-resolution STFT is based on using different window sizes to achieve different frequency resolutions. It uses bandpass filters to divide the signal into frequency bands. Therefore, multi-resolution STFT relies on the use of filters to obtain the multi-resolution spectra. The adaptive STFT adjusts the window size for each time instant based on the local signal characteristics. The STFT-FD computes a transform using the basic idea of the STFT; however, it uses a fixed window size in the frequency domain. This approach is similar to that of the multi-resolution STFT and wavelet methods, but with a different methodology. The key of the STFT-FD is to define the window size as the number of cycles of the frequency component being considered rather than defining it in time. The STFT-FD needs neither filtering nor the evaluation of local signal characteristics as in the multi-resolution STFT and the adaptive STFT, respectively.
It is well known that any STFT-based time-to-frequency transform has a limitation. This is the inherent trade-off between time and frequency resolution, i.e., the short-time window has good time resolution, but poor frequency resolution, and vice versa. In [
18], the piecewise-constant window blocking fast Fourier transform (PCW-BFFT) method was introduced for ultra-wideband digital receivers in order to achieve a fine frequency resolution and a high receiver sensitivity. By applying a number of window functions with different widths in the time domain, the PCW-BFFT method can simultaneously produce multi-time-resolution spectrograms with a very fine frequency resolution for a very long-time sequence (e.g.,
); however, this method cannot produce multi-frequency-resolution spectra concurrently.
The DFT-based time-to-frequency transform is the most widely used signal processing method in ultra-wideband digital sensors and is commonly implemented using the fast Fourier transform (FFT) on field programmable gate arrays (FPGAs) in real-time applications. Ref. [
19] presents several methods using the FFT to detect and analyze intercepted signals with multi-resolution frequency spectral lines (MR-FSL). However, up to now, to obtain the MR-FSL of a signal, multiple FFT calculations with different signal lengths (e.g.,
where
) must be performed one by one. The disadvantages of the traditional FFT-based methods are: (1) for large signal length (e.g.,
and
, 3), four different long-length FFTs have to be calculated; (2) one has to wait for a large number of time samples to be generated by the analog-to-digital converter (ADC) in the receiver before the FFTs can be performed; (3) many FPGA resources are needed to store those time samples before the FFTs can be performed; and (4) more importantly, the computational effort spent on the calculation of the longest FFT cannot be reused in the calculations of any of the shorter length FFTs.
To mitigate the problem of requiring a large amount of hardware resources to compute very long length FFTs and effectively calculate the frequency spectrum of long-sequence signals in an embedded device in real time, the blocking FFT (BFFT) method was first introduced in [
20]. It also demonstrated the implementation of the method on Xilinx’s ZYNQ-7000 device. In order to perform an
-point frequency bin calculation, the BFFT conceptually divides
time samples into
consecutive timeslot blocks consisting of
samples each. As each block of
samples is generated by the ADC, the BFFT method performs
independent
-point FFTs, where suitable phase rotation factors are applied to the
input samples of each of the
FFTs. Each of these FFTs can be computed in parallel (e.g., on an FPGA or GPU). The resulting
frequency data are accumulated with the results from previous timeslots to form an
-bin spectrum line. Each spectrum line can be viewed as a group of
equal-length frequency blocks where the
frequency block has frequency bins
, where
and
. The final
-bin spectrum line is calculated as the accumulation of the frequency results from processing all
timeslots. The merit of the BFFT method is that instead of having to first store a large number of
time samples before being able to compute a single, long
-point FFT, which may be a challenge even on today’s high-end FPGAs, the BFFT performs
many
-point FFTs in parallel, as soon as
samples are available from the current timeslot. This tremendously reduces the hardware resource requirements, produces useful intermediate results with low latency, and also enables the development of other useful methods for ultra-wideband digital receiver designs, such as the multi-time-resolution piecewise-constant window blocking Fourier transform (PCW-BFFT) method [
18], the accumulatively increasing receiver sensitivity (AIRS) method [
21], and the multi-frequency-resolution spectrum line calculation method introduced in this paper.
Taking advantage of the aforementioned BFFT process, this paper for the first time introduces an FFT-based MR-FSL calculation method, called the multi-frequency-resolution BFFT (MFR-BFFT). It can calculate the spectrum line having frequency bins, while simultaneously producing all the spectrum lines having frequency bins, where , without needing to perform extra FFT calculations on the samples from the current timeslot. That is, the computational efforts to obtain the -bin spectrum line are reused to obtain the spectrum lines that have frequency bins at other frequency resolution levels. With a fixed ADC sampling rate (i.e., where is the time interval between samples), the MFR-BFFT uses time samples (where ) to compute spectrum lines up to levels with different spectrum lines at Level-j. Here, is the number of timeslots in Level-0. Since the ADC rate is fixed, the frequency resolutions at different spectrum levels are , where is the Level-0 frequency resolution. The signal duration used to get different level spectrum lines is . More details will be presented in the next section.
Compared with other aforementioned existing MRA methods, although the MFR-BFFT method does not have the flexibility to obtain different levels of resolutions as wavelet-based MRA methods do, it can tremendously reduce the computational effort on hardware to produce spectra with a fixed set of frequency resolutions. Compared with other FT-based MRA methods, the MFR-BFFT has the advantage of being able to process very long-length signal samples, and to produce a set of different frequency resolution spectra simultaneously. Note that the very long-length signal samples do not necessarily mean a long signal in the time domain. It can be a long signal sampled at a low ADC sampling rate, or a very short signal sampled at high sampling rate. For example, if an ADC samples at 2.5 GSample/s, within about 0.42 ms, it can produce time samples.
The rest of the paper is organized as follows: The derivations and discussions of the MFR-BFFT methods are presented in the next section.
Section 3 shows the MFR-BFFT results using data obtained from an ultra-wideband digital radio receiver and compares the results with those obtained from the “fft” function of Mathworks MATLAB (R2023b) to prove the correctness of the MFR-BFFT implementation in MATLAB. The conclusion can be found in the last section. The hardware implementation including an expansion of the comparative analysis between MFR-BFFT and conventional FFT, such as computational complexity, power consumption, and execution time, etc., will be reported in another full paper.
2. FFT-Based Multi-Frequency-Resolution Spectrum Line Calculation
Based on the discrete Fourier transform (DFT), the frequency spectrum line at Level-0 can be expressed as:
where
are the frequency bin centers on the Level-0 spectrum line,
, and
is a complex-valued signal.
means the first spectrum line at Level-0, although at this level there is only one spectrum line. Using the BFFT,
time samples are divided into
equal timeslots and each timeslot has
samples; therefore, (1) can be written as:
By substituting
, then for the
timeslot of
samples, the portion inside the curly braces can be rewritten as:
We now define:
which is the frequency information obtained from the
timeslot of
samples for the Level-0 spectrum line. Using (4), (2) can be rewritten as:
In order for the
samples in the
timeslot to contribute to the overall
bins, the BFFT also divides
frequency bins into
equal-length frequency blocks, where each frequency block also has
frequency bins. By substituting
, where
to define the total
frequency blocks at Level-0, and
to specify the
frequency bins in each frequency block, then (4) becomes:
where
and
are used. Hence, using the BFFT to calculate (1), we have:
It can be seen that to contribute to all the frequency bins in using samples in the timeslot, the samples need to be multiplied by phase rotation factors , which are determined by the frequency block ( and time index in the overall time sequence, before performing the -point FFT (the operations specified in curly braces) indicated in (7). Since , a total of many -point FFTs are computed at Level-0.
Now, let us consider the Level-1 spectrum line calculations with the same time sequence
where
. Using the DFT, the spectrum lines can be computed as:
where
indicates that there are the two spectrum lines in Level-1. The first is calculated from samples
0 to
, and the second is calculated from samples
to
. Here
and
. Note that (1) these two spectrum lines have the same frequency bins
; (2) they only use half of the available samples in
compared with what was used in Level-0; and (3) the frequency bin size at Level-1 is double that of Level-0, since the ADC sampling rate is fixed.
Again, if we use the BFFT to calculate the Level-1 spectrum lines with the same number of samples
in a timeslot that is used at Level-0, we have:
where the first and second
groups of timeslots are used to calculate
and
, respectively. By substituting
, then for the
timeslot’s
samples, we have:
In order for the
samples in
timeslot to contribute to the overall
bins, the BFFT also divides the
frequency bins into
blocks, each of which contains
frequency bins. By substituting
, where
to define
frequency blocks in each spectrum line, and
(i.e., there are
frequency bins in each frequency block), then from (10) we have:
where
and
are used. Then, using the BFFT, the spectrum lines at Level-1 can be expressed as:
In general, using the BFFT, the spectrum lines at Level-
j can be expressed as:
where
defines the spectrum line levels;
denotes the spectrum lines in Level-
j; and the
spectrum line is obtained using timeslots from
to
where
specifies the number of timeslots in Level-
j.
From the above discussions we can observe that:
- 1.
with fixed samples used in Level-0, the maximum number of levels is limited by the number of samples in a timeslot to ;
- 2.
although the samples of a given timeslot can be used in all levels, the differences are:
the number of -point FFTs is determined by , and
the number of frequency bins is determined by ;
- 3.
more importantly, at different levels, the same samples in the timeslot are multiplied with phase rotation factors in (13), which can be rewritten as , given that .
Therefore, (13) can be expressed as:
Comparing the portion inside the curly braces in (14) with the portion inside the curly braces in (7), we find that after we calculate the DFT (the portion inside the curly braces of (7)) using samples in a timeslot, the DFT results can not only be used for frequency bins at Level-0, but some of them can also be used for other-level spectrum lines, as long as:
- 1.
these other-level spectrum lines also use samples from the current timeslot for the calculation; and
- 2.
the frequency block number satisfies the relation given in (15), which means these other-level spectrum lines not only share the timeslot, but also use the same phase rotations factors.
where again
, and
, where
and
.
The above discussion infers that the other-level spectrum lines can be obtained at the same time that the Level-0 spectrum line is being calculated using the BFFT. Since the ADC sampling rate is fixed, and the number of time samples is reduced by half at each progressively higher spectrum level, while the frequency resolution is also reduced by half. The number of spectrum lines is doubled when going from Level-j to Level-(j + 1) if all the time samples used in Level-0 are used in the computation of the spectrum lines at other levels.
To make the above discussion clear, let us see an example. Here, we use
time samples with
samples in each timeslot. Therefore, there are
timeslots, and there are 4 levels of spectrum lines.
Table 1 shows the timeslots and time samples that are shared between spectrum lines (
at different levels. For example, 4 samples in
are used in the calculations of
,
,
, and
, and 4 samples in
are used in the calculations of
,
,
, and
.
There are 8, 4, 2, and 1 frequency blocks at Level-0, -1, -2, and -3, respectively.
Table 2 shows that the Level-0
M-point FFT results can also be used to generate other-level spectrum lines, as long as the samples in a timeslot