Design Article
Spectral analysis and modulation, part 1: The DFT and FFT
Dag Stranneby and William Walker
2/21/2008 3:00 AM EST
This series is excerpted from "Digital Signal Processing
and Applications, 2nd Edition." Order this book today at www.newnespress.com
or by calling 1-800-545-2522 and receive a 20% discount! Use promotion code 91926
when ordering. Offer expires 3/31/08.
Part 2 covers the basics of power spectrum analysis.
Background
In many cases when analyzing signals or trying to find features of signals, transformation to the frequency plane is advantageous, i.e. dealing with, for instance, kilohertz and megahertz rather than milliseconds and microseconds. In this chapter, some common methods for spectral analysis of temporal signals will be presented.
Another topic addressed in this chapter is modulation. Quite often in analog and digital telecommunication systems, the information signals cannot be transmitted as is. They have to be encoded (modulated) onto a carrier signal, suited for the transmission media in question. Some common modulation methods are demonstrated.
Objectives
In this chapter we will discuss:
- Discrete Fourier transform (DFT) and fast Fourier transform (FFT)
- Windowing techniques, spectrum estimation and periodogram averaging
- Auto-correlation, cross-correlation, auto-covariance and cross-covariance
- Parametric spectrum analysis, auto-regressive (AR), moving average (MA) and auto-regressive moving average (ARMA) models
- Wavelet analysis
- Amplitude shift keying (ASK), frequency shift keying (FSK) and phase shift keying (PSK)
- Phasors, complex modulation and in phase/quadrature phase (I/Q)modulators
- The Hilbert transform.
5.1 Discrete Fourier transform and fast Fourier transform
The discrete Fourier transform (DFT) (Burrus and Parks, 1985) from the time domain to the frequency domain representation, is derived from the time DFT

The spectrum produced using this transform is periodic with the sampling frequency ωs and for real input signals x(n), the spectrum always has "even" symmetry along the real axis and "odd" symmetry on the imaginary axis. In practice, we cannot calculate this sum, since it contains an infinite number of samples. This problem is only solved by taking a section of N samples of the sequence x(n). To achieve this, x(n) is multiplied by a windowing sequence Ψ(n) obtaining the windowed input signal xN(n). Since multiplication in the time domain corresponds to convolution in the frequency domain, the time DFT of the windowed sequence will be

where Ψ(ω) is the spectrum of the windowing sequence Ψ(n) and ∗ denotes convolution. The ideal windowing sequence would have a rectangular spectrum, distorting the desired spectrum as little as possible and avoiding spectral "leakage". Unfortunately, a rectangular frequency response is practically impossible to achieve, therefore we must settle for some compromise. For example, commonly used windowing sequences are Rectangular, Bartlett, Hanning, Hamming and Kaiser–Bessel windows (Oppenheimer and Schafer, 1975).
Now, let us assume we have chosen an appropriate windowing sequence. Next we must determine how many frequency points should be used for calculation of the transform in order to maintain a reasonable accuracy. There is no simple answer, but in most cases good results are obtained using as many equally spaced frequency points as the number of samples in the windowed input signal, i.e. N. Hence the spacing between the frequency points will be ωs/N.Now, inserting this into equation (5.1), the DFT in its most common form can be derived

where the twiddle factor is

Unfortunately, the number of complex computations needed to perform the DFT is proportional to N2. The acronym FFT (fast Fourier transform), refers to a group of algorithms, all very similar, which uses fewer computational steps to efficiently compute the DFT.The number of steps are typically proportional to N lb(N), where lb(x) = log2(x) is the logarithm base 2. Reducing the number of computational steps is of course important if the transform has to be computed in a real-time system. Fewer steps implies faster processing time, hence higher sampling rates are possible. Now, there are essentially two tricks employed to obtain this "sped-up version" of DFT:
- When calculating the sum (equation (5.3)) for k = 0, 1, 2, …, N , many complex multiplications are repeated. By doing the calculations in a "smarter" order, many calculated complex products can be stored and reused.
- Further, the twiddle factor (5.4) is periodic, and only N factors need to be computed. This can, of course, be done in advance and the values can be stored in a table.




Comments
prahallad
2/27/2008 4:49 AM EST
Pleas send a information regards Lifting based wavelet transform.
Sign in to Reply
depram
3/7/2008 7:19 AM EST
good reading; brushing up rudiments.appreciate your services.
Sign in to Reply
DSPer
3/14/2008 2:30 PM EDT
I'm a bit puzzled by Eq. (5.1). If I represent the above omega variable with the letter "W", what are the dimensions of W, radians/sample or radians/second? Is the ratio W/Ws dimensionless?
Sign in to Reply
porus
1/6/2009 9:14 AM EST
Is rectangular window not used because it has -13.6 dB sidelobes or is it because it can not be realized?
Sign in to Reply
snickels
1/23/2009 4:12 PM EST
Hmm..., as someone trying to learn more DSP I get a bit detracted when it starts off with so many equations and words that are not defined. I see the article starts with section 5.1 so perhaps we're missing the background info. I guess I would recommend presenting high level overview in an article and then that will peak the reader's interest to find out the details in the book.
Sign in to Reply