**Processors/DSPs??**

# Frequency domain tutorial: Understanding spectral components (Part II)

**Keywords:components spectral?
signal quadrature?
tutorial domain?
**

**Discrete frequency-axis notation**

In the world of DSP, for convenience, frequency-domain drawings are often labeled in hertz using the *f*_{s} sampling rate. This convention is best explained with a couple of examples; the first of which is when we perform spectrum analysis (using the FFT) of, say, a real time-domain audio sequence obtained at an *f*_{s} = 11.025kHz rate. We could plot our spectral magnitude results using either frequency-axis labeling convention shown in **Figure 11**. If we later discovered that the sample rate was actually *f*_{s} = 22.05kHz, we would not have to repeat our spectral analysis nor redraw our spectral plots because the frequency axis is referenced to *f*_{s}.

Figure 11: Example spectral magnitude plots; (a) 0Hz on the left, (b) 0Hz in the center. |

Another example of labeling frequency-domain plots using hertz is in describing digital filters. A five-point moving average digital filter has the frequency magnitude response shown in **Figure 12a**. That frequency response curve is the same whether the filter is used in an *f*_{s} = 40MSps digital communications system or in an *f*_{s} = 8KSps telephone system.

Figure 12: Frequency magnitude response of a 5-point moving average digital filter. |

DSP authors have several other choices in labeling the frequency-axis of their frequency-domain plots. For example, the cyclic frequency (Hz) labels in Figures 11 and 12 can be converted to radians/second. We do so by replacing *f*_{s} with _{s}, where the signal data sample rate is

Equation 6 |

with _{s} measured in radians/second as shown in **Figure 12b**.

Sometimes, to make the notation more concise, DSP purists assign *f*_{s} a value of one which leads to the notation that _{s} = 2. Thus, in their DSP books you'll see frequency-domain plots like **Figure 13a** where the frequency-axis is a normalized angle with - *f*_{s}/2 replaced with - , *f*_{s}/2 replaced with . The justification for doing so goes something like this: Let's represent a sinewave, whose frequency is *f*Hz, by *x*(*t*) = sin(2*f _{o}*t). Discrete-time samples of

*x*(

*t*) are:

Equation 7 |

where the integer *n* sequence is the sample number (often called the "index") of *x*(*n*). With the factors 2*f* having the dimension of radians/second, and *t*_{s} having the dimension seconds/sample, the resultant angle in **Equation 7** has the dimension of radians/sample. If we replace Equation 7's *t*_{s} with 1/*f*_{s}, the discrete sinusoidal samples can be represented by:

Equation 8 |

where is what I call a "normalized discrete-signal frequency." If we assume |*f _{o}*|

*f*

_{s}/2 (satisfying Nyquist), the normalized discrete-signal frequency is in the range of C to + measured in radians/sample. This definition is why some authors like to say, "For continuous signals, frequency is measured in radians/second. For discrete signals frequency is measured in radians/sample." Redrawing the filter response from

**Figure 12b**, we illustrate the normalized discrete-signal frequency-axis representation in

**Figure 13a**.

Just so you know that I'm not making all of this up, **Figure 13b** shows how a Matlab built-in plotting function uses the radians/sample frequency notation.

Figure 13: Filter response plots using the normalized discrete-signal frequency notation of radians/sample. |

If you've spent your technical career thinking about frequency measured in cycles/second (Hz), the frequency-axis labeling in Figure 13 might seem very odd. However, it's not so strange. Consider the discrete sinewave in **Figure 14a**, whose sample values repeat every 12 samples. It takes 12 samples to complete one cycle (360) of oscillation. Likewise, we can say it takes 6 samples to complete one radian (180) of oscillation. From that last statement, we declare the discrete-signal frequency of the sinewave to be one sixth radians/sample. A spectral plot of the sinewave is shown in **Figure 14b**.

Figure 14: A discrete sinewave, (a) time-domain samples, (b) frequency-domain samples. |

To consolidate our thoughts, we list various frequency-axis notations in the table. The third column shows the frequency range of analysis when using the FFT.

Table: Various frequency-axis notation. |

It often takes a DSP novice some time to become comfortable with these various frequency-axis notations. Fortunately, commercial signal processing software packages like LabVIEW, Mathcad and Matlab allow us to conveniently label our frequency-domain plots in good ol' hertz.

*This is the second part of a two-part series.*

- **Richard Lyons Besser Associates**

Related Articles | Editor's Choice |

Visit Asia Webinars to learn about the latest in technology and get practical design tips.