Digital Signal Processing Reference
In-Depth Information
we assume that x 1 [ k ] and x 2 [ k ] are real-valued sequences with lengths K 1 and
K 2 , respectively.
Time-domain approach This is based on the direct computation of the con-
volution sum
y [ k ] = x 1 [ k ] x 1 [ k ] =
x 1 [ m ] x 2 [ k m ] ,
m =−∞
which requires roughly K 1 K 2 multiplications and K 1 K 2 additions. The
total number of floating point operations (flops) required with the time-domain
approach is therefore given by 2 K 1 K 2 .
DFT-based approach Step 1 of the DFT-based approach computes two K =
( K 1 + K 2 1)-point DFTs of the DT sequences x 1 [ k ] and x 2 [ k ]. In Section
12.6, we show that the total number of flops required to implement a K -point
DFT using fast Fourier transform (FFT) techniques is approximately 5 K log 2 K .
Therefore, Step 1 of the DFT-based approach requires a total of 10 K log 2 K
flops.
Step 2 multiplies DFTs for x 1 [ k ] and x 2 [ k ]. Each DFT has a length of
K = K 1 + K 2 1 points; therefore, a total of K complex multiplications and
K 1 K complex additions are required. The total number of computations
required in Step 2 is therefore given by 8 K or 8( K 1
+ K 2 - 1) flops.
Step 3 computes one inverse DFT based on the FFT implementation requiring
5 K log 2 K flops.
The total number of flops required with the DFT-based approach is therefore
given by
15 K log 2 K
+ 6 K
15 K log 2
K flops ,
where K = K 1 + K 2 1. Assuming K 1 = K 2 , the DFT-based approach pro-
vides a computational saving of O((log 2 K ) / K ) in comparison with the direct
computation of the convolution sum in the time domain. Table 12.3 compares
the computational complexity of the two approaches for a few selected values
of K 1 and K 2 . The length K of the DFT should be equal to or greater than
( K 1 + K 2 1) depending on its value. Where ( K 1 + K 2 1) is not a power of
2, we have rounded ( K 1 + K 2 1) to the next higher integer that is a power of 2.
In the second row, for example, K 1 = 32 and K 2 = 5, which implies that ( K 1 +
K 2 1) = 36. Since the radix-2 FFT algorithm, described in Section 12.6, can
only be implemented for sequences with lengths that are powers of 2, K is set to
64. Based on the DFT-based approach, the number of flops required to compute
the convolution of the two sequences is given by (15 64 log 2 (64)) = 5760.
In Table 12.3, we observe that for sequences with lengths greater than 1000 sam-
ples, the DFT-based approach provides significant savings over the direct com-
putation of the circular convolution in the time domain. If x 1 [ k ] and x 2 [ k ] are
real-valued sequences, significant further savings (about 50%) can be achieved
using the procedures mentioned in Problems 12.18 and 12.19.
Search WWH ::




Custom Search