
166
DFT Algorithms for Real Data - I
vectors are obtained after the first, second, third, and fourth stage opera-
tions of the algorithm are carried out. The redundancies are evident. The
imaginary parts of the input are all zero. Duplication of values exists in
various stages of the algorithm. For example, the second half of the output
is redundant and, therefore, we need not compute and store these values.
In Fig. 8.2, the result of vector formation is shown in column one. The
second, third, fourth, and fifth column vectors are obtained after the first,
second, third, and fourth stage (including swapping of output vectors) op-
erations of the algorithm are carried out. The output values have to be
divided by the length, N = 32, to get back the input values shown in
Fig. 8.1. Note that the output values are not precise. For example, the
first value is 32.02 instead of 32 because we input the DFT values with
only a precision of 2 digits after the decimal point. The second half of
the input vectors is redundant. The output of the various stages exhibits
symmetry. The imaginary parts of the output values are zero.
The redundancies can be eliminated by: (i) packing the real data to
form complex data or (ii) cutting out the redundancies in each stage of the
algorithm. The first approach is described in this chapter and the second
approach is presented in the next chapter.
8.2 Computation of the DFTs of Two Real Data Sets at a
Time
In this method of computing the DFT of real data (RDFT), we compute
the DFTs of two real data sets using a DFT algorithm for complex data
for the same data length, thereby removing the factor of two redundancy
in computation and storage. One set of real input data is stored in the real
part of the complex input data and the other set is stored in the imaginary
part. The DFT is computed and then the individual DFTs of the two sets
are separated by using the linearity property of the DFT and the fact that
the DFT of a real data set is hermitian-symmetric.
Let x(n) and y(n) be the data sets, each with N real values. Let X(k)
and Y(k) be their respective DFTs. Due to the linearity theorem,
c(n) = x(n) + jy(n) & X{k) + jY{k) = C{k)
Since x(n) and y(n) are real sequences, due to the hermitian-symmetric