Steve on Image Processing

March 18th, 2010

No units in the DTFT

OysterEngineer (I love that name!) asked some interesting questions in response to my last Fourier transform post, which concerned the relationship between the discrete-time Fourier transform (DTFT) and the discrete Fourier transform (DFT).

I'd like to first tackle OE's comments about units. Or, more specifically, the lack of units in my DTFT plots, such as this one:

OE guesses that the units for my unlabeled horizontal axis above are radians/second.

The DTFT is unitless; there are no units of time or frequency. If I were going to label the horizontal axis, I would label it "radians." Because it is harder than it should be in MATLAB to label an axis in fractions of , I might do it like this:

M = 8;
w = linspace(-2*pi, 2*pi, 800);
X_dtft = (sin(w*M/2) ./ sin(w/2)) .* exp(-1j * w * (M-1) / 2);
plot(w/pi, abs(X_dtft))
title('|X(\omega)|')
xlabel('\omega (radians/\pi)')

There is a scaling relationship between (radians) of the DTFT and the physical frequency (radians/second or Hz). I mentioned (cryptically) this scaling relationship in my post on the relationship between the DTFT and continuous-time Fourier transform, but I did not really explain it very well.

Here's how I recommend that you remember it: corresponds to the sampling frequency, and corresponds to half the sampling frequency. If the sampling frequency is 4 kHz, then corresponds to the physical frequency 2 kHz.

I learned digital signal processing (DSP) theory beginning in my senior year at Georgia Tech in 1986 and continuing through my graduate studies there. My impression is that a significant notational shift was occurring at around that time in DSP. You could see this shift in two books by Oppenheim and Schafer written at different times. In my first graduate DSP course in 1987 we used the book Digital Signal Processing, which was published in 1975. In the 1970s, DSP notation was all about sampled systems and Fourier transforms and Fourier series, virtually every equation was filled with T and Fs terms, and there was nothing called the discrete-time Fourier transform.

But later in my graduate studies I earned spare change by writing a couple of chapters of the solutions manual for the first edition of Discrete-Time Signal Processing by the same authors. In this book the discrete-time Fourier transform is fundamental and very few of the equations in the book have T and Fs terms. Notationally this is much more convenient. The mathematics of designing a half-band lowpass filter are identical whether your sampling frequency is 4 kHz or 200 GHz.

But it does mean that you have to remember what means when you're looking at a DTFT plot.

I will try to be more careful in the future in labeling my plots.


Get the MATLAB code

Published with MATLAB® 7.9

4 Responses to “No units in the DTFT”

  1. Alan B replied on :

    Because you mentioned labeling the axis in fractions of pi, I just submitted a function called pilabels to the file exchange. It replaces xticklabels with rational multiples of pi in a moderately intelligent, automatic way. I’m sure it needs some improvement, but it seems to work pretty well for my uses.

  2. Steve replied on :

    Alan—That sounds very useful. Thanks very much for taking the time to submit it to the File Exchange. I’ll give it a try.

  3. OysterEngineer replied on :

    Thanks for the reply.

    By the way, as I mentioned to Loren a few months ago, besides my day job at the big airplane company, I really have a part time oyster farm out here.

  4. silvana replied on :

    Estimado
    Agradezco este blog
    Cuando se grafica angle(X(DTFT),y por otro lado angle (X(FFT)) porqué las fases son distintas?
    X(DTFT) Es transformada fourier tiempo discreto
    X(FFT) calculada con matlab
    Tiene algun significado físico?
    Muchas gracias por su atención


MathWorks
Steve Eddins is a software development manager in the MATLAB and image processing areas at MathWorks. Steve coauthored Digital Image Processing Using MATLAB. He writes here about image processing concepts, algorithm implementations, and MATLAB.

These postings are the author's and don't necessarily represent the opinions of The MathWorks.