difficult. This is due to the wide variety of types of receivers as well as the various ways of
implementing the required receiver operations for each type of receiver. In short, algorithms are
highly application-specific. The details of the many potential algorithms used in radio receivers
are beyond the scope of this report. It is beneficial, however, to look at an example algorithm to
observe the methodology in determining algorithm complexity vs. the potential for real-time
operation. This type of assessment is crucial for radio receivers that use digitization at the RF or
frequency-domain samples, allowing operations on the received signals to be performed directly
in the frequency domain. These received signals are typically bandpass signals when digitization
occurs at the RF or IF. These bandpass signals may be digitized using either sampling at twice
signals that have been downconverted to baseband but the signal must be split into co-phase and
quadrature-phase components before digitization unless coherent downconversion has been used.
Regardless of the sampling method employed, the resolution of the transformed signal in the
frequency domain is a function of both the time spacing between the samples of the signal Δt in
30
the time domain and the number of samples
N used in the computation of the FFT. The
frequency spacing between samples in the frequency domain is then given as
Δf =
1
N Δ
t
(Hz) .
The maximum frequency of the spectrum is then
f
max
=
N
2
Δf =
1
2Δt
since there are N/2 samples in the FFT computed from N real-valued time-domain samples.
(Actually, there are (N/2)+1 samples in the FFT ranging from DC to f
max
if both DC and f
max
are
included.) For a fixed
N-point FFT (i.e., an FFT computed from
N real-valued time-domain
samples), the frequency spacing between the frequency domain samples Δf must be changed in
order to change the maximum frequency of the spectrum. That requires changing the time
spacing Δt between the time-domain samples. By decreasing Δt and holding N constant, the time
duration of a block of N samples is reduced and the maximum frequency of the spectrum is
thereby increased. Therefore, for fixed values of N, the higher the maximum frequency desired,
the shorter the duration of the block of N samples must be. With a fixed number of samples N, a
given processor, and a given FFT algorithm,
3
the processing time to compute an N-point FFT is
fixed. For real-time operation, this computation of the FFT (including any other required
processing such as windowing and any required data transfers) must be performed within the
time taken to capture all N samples of the current data block assuming that a single processor is
used. A parameter called real-time bandwidth then can be defined as the maximum frequency
that can be processed in real time.
To achieve real-time processing, careful consideration of processor speed, the signal bandwidth
(data rate), the number of computations required in implementing the signal-processing
algorithms, and the speed of any necessary data transfers is required. An example showing how
to estimate the amount of processing power required for real-time analysis is given below. For
this example, the simplified case of looking at the time required to compute an FFT is
investigated. While this example shows the methodology used to determine a required
processing speed, the processing required for radio receiver applications normally would involve
much more than computing a single FFT. In this simplified example, it is assumed that an input
signal is sampled at a fixed rate and that the only processing performed on the sampled input
signal is the FFT. No other processing (such as windowing or averaging) is performed. Data
transfer time is also neglected.
Assuming a bandlimited input signal with a maximum frequency of 5 MHz, the 2f
max
sampling
rate would be 10 Msamples/s. For this sampling rate, the time between samples Δt is 100 ns.
Assume that FFTs are computed from blocks of N = 1024 samples. Therefore, it takes
NΔt = 102.4 μs to capture a block of data. The number of floating-point operations (actually
multiplications) required
3
to compute an N-point FFT is estimated as N log
2
N. Therefore,
3
There are many different FFT algorithms available requiring different numbers of floating-point operations.
N log
2
N commonly is used as an approximation for the number of floating-point operations required in computing
an FFT.
31
roughly 10,240 floating-point operations are required for the 1024-point FFT. In
order to achieve
real-time processing in the single processor case, the FFT must be computed within the time
period required to capture a block of data (102.4 μs). The minimum required processing speed is
then found by
m f f a a s q
m a a f a a
= m m ss s P
In this simplified case, the minimum processing speed is 100 MFLOPS. One can then compare
the required processing speed to the processing speeds available for different types of processors
such as those listed in Table 3.