Steve Smith specializes in developing novel imaging systems for medical, security, and industrial applications. His interests include: digital signal processing, analog ...show full bio

**Would you like to be notified by email when SteveSmith publishes a new blog?**

Follow @DSPRelated

**Mea Culpa**

There are many scary things about writing a technical book. Can I make the concepts clear? It is worth the effort? Will it sell? But all of these pale compared to the biggest fear: *What if I'm just plain wrong*? Not being able to help someone is one thing, but leading them astray is far worse.

My book on DSP has now been published for almost ten years. I've found lots of typos, a few misstatements, and many places where the explanations confuse even me. But I have been lucky; there are only a few places where I am simply mistaken. Here is one of the bigger ones. On page 216, Chapter 10, I write:

"

Is there a waveform that is its own Fourier Transform? The answer is yes, and there is only one: the Gaussian."

It is true that the Fourier Transform of a Gaussian is also a Gaussian. However, is this really the only one? Not hardly.

Mea Culpa. I'm sorry. I bet your forgiveness.

**Simple Examples**

For instance, the **null function** meets this criterion. That is, a time domain signal with a value of zero corresponds to a frequency domain with a value of zero. Here is another example that is not so trivial, the **impulse train**. This goes by other names as well, such a the dirac comb, the shah function, and the bed of nails. It consists of evenly spaced impulses (delta functions) from negative to positive infinity, in both the time and frequency domains. Here is a reference if you are interested:

http://en.wikipedia.org/wiki/Shah_function

**30 Second Drill**

If this were the extent of my mistake I wouldn't feel so bad. But, in fact, there are an *infinite* number of waveforms that are their own Fourier Transform. And I can convince you of this in about 30 seconds. Start your stopwatch.

As you know, the Fourier Transform of a rectangular pulse is the sinc function.

Also, the Fourier Transform of the sinc function is a rectangular pulse.

Now, think what happens when we create a third waveform by adding these two time domain signals together. That is, we create a third waveform by adding a rectangular pulse to a sinc function. What is the Fourier Transform of this third waveform?

Addition in the time domain corresponds to addition in the frequency domain. Therefore, the Fourier Transform of a "rectangular pulse plus a sinc function" is a "sinc function plus a rectangular pulse." That is, this third waveform is its own Fourier Transform.

With a few restrictions, *any waveform added to the Fourier transform of the waveform*, will have this key property.

Stop you stopwatch.

**An Example**

The table below shows an example of how this works. We start with nine random numbers contained in a(k), with k running from 0 to 8. Next we create b(k) from a(k), where b(k) has **even symmetry**. Specifically, b(k) is equal to a(k) for the first nine points. Afterward, b(k) = a(16-k). That is, b(9) = a(7), b(10) = a(6), etc.

Why do we need to make the signal have even symmetry? Our goal is to find waveforms that are their own Fourier Transform. However, we are restricting our search to waveforms that are entirely real, that is, the imaginary part is zero. Therefore, the Fourier Transform must also be entirely real, or it wouldn't meet our criterion. In turn, this requires that the time domain signal have even symmetry. In other words, if a time domain signal does not have even symmetry, its Fourier transform will have an imaginary part, and therefore does not belong to the class of signals we are looking for. Here are two links on these topics if you need a refresher:

http://www.dspguide.com/ch5/7.htm

http://www.dspguide.com/ch12/5.htm

The next step is to take the DFT of b(k), which we will call, B(k). The simplest way is to run b(k) through a standard N=16 point DFT algorithm, such as the FFT. However, there is a subtle detail here. As you know, if you run a signal through the DFT, and then the Inverse DFT, you end up with what you started with. Somewhere along this path you encounter a 1/N scaling factor. This may be placed in the DFT, the Inverse DFT, or split between the two. Most algorithms, including the standard FFT, place this scaling factor on the DFT. However, for our method we need the factor split, with 1/SQR(N) placed with each. In short, we calculate B(k) by taking the conventional DFT of b(k), and then dividing all of the numbers by SQR(N).

Now things move quickly. We add b(k) to B(k) to form c(k), and then take the DFT of c(k) to find C(k).

Voila! We find that c(k) is identical to C(k), except for round-off error in the DFT. We have created a waveform that is its own Fourier Transform.

**Is there a waveform that is its own Fourier Transform?**

I said: Yes, and there is only one. The correct answer is: Yes, there are an infinite number. Do I get partial credit? Say, 100% x 1/infinity?

Steve Smith

1/16/2008

Steve Smith specializes in developing novel imaging systems for medical, security, and industrial applications. His interests include: digital signal processing, analog electronics, x-ray physics and sensory systems. Dr. Smith is the author of "The Scientist and Engineer's Guide to Digital Signal Processing," freely distributed over the internet in electronic form. For the last ten years he has been the president and technical director of Spectrum San Diego, Inc., a research and development group specializing in imaging and instrumentation systems.

Previous post by Steve Smith:

Next post by Steve Smith:

Comments / Replies

Nic0

Said:

Hello Mr. Smith
First I would like to thank you a lot for your free ebook about DSP. I am in college in France and I find your book very useful.
I hope you will release a revisted version of the pdf!
Also I just would like to let you know there is a minor problem with number page as Chapter 33 ends on page 630 and Chapter 34 starts at page 700.
Thank you!
Best regards.

6 years ago

0

Sorry, you need javascript enabled to post any comments.

Rick Lyons

Said:

Hi Steve,
Neat blog. (I enjoyed reading your "scary
things" list.)
I knew about the Gaussian and impulse train
waveforms, but I've never thought about your interesting
notion of "the sum of a waveform and its Fourier
transform". Yep, ... interesting. Very interesting.
(Seems to me this idea would make for a great homework
problem.)
What you call an "even symmetric" sequence is what
fred harris called a "DFT-even" sequence in his
famous 1978 "Windows" paper.
As far as I'm concerned Steve, you deserve "full credit".
By the way, thanks for your great book. Some days
ago I had reason to read part of your Laplace
Transform chapter (Chapter 30). That material is
really terrific! Those 3-dimensional plots are,
as George Dubya would say, "magnifical".
(I wish I'd had your book all those years
ago when I was in engineering school.)
Best Regards,
[-Rick Lyons-]

Sorry, you need javascript enabled to post any comments.

kosimov

Said:

Steve, your comments on waveforms that are their own fourier transform were very interesting. I haven't pursued that line of thinking before so I never had occasion to think about it, but perhaps it will be useful sometime. In fact, can you think of any applications where this property of a waveform would be useful? I haven't yet, but then, I've only had a few minutes to think about it! I also complement you on your book. I just started reading it but so far I am able to understand some concepts better because of the way you have written them. Keep it up!
regards,
Larry Holmes

Sorry, you need javascript enabled to post any comments.

keng

Said:

Steve,
Thanks for posting this and for writing an informative and accessible book. You might be interested in a paper that includes results for even and odd Fourier Eigenfunctions.
http://www.de.ufpe.br/~rjdsc/research/papers/Cintra_-_Fourier_Eigenfunctions,_Uncertainty_Gabor_Principle_And_Isore.pdf
Best regards,
Ken

Sorry, you need javascript enabled to post any comments.

wyonghao

Said:

many thanks for your great online book. It is very valuable resource for us. I just have one simple question, your chapter 12 introduces a great simple explanation of FFT. however, it seems your book only talking about the signal length of 2^n, so that you can do bit reverse operation. However, in matlab and other text such as FFTW, they can normally do arbitrary length of signal FFT. Does this mean your text introduces basic components of FFT (which is signal is 2^n etc..)

Sorry, you need javascript enabled to post any comments.

pekon

Said:

Hi Steve,
Firstly, thanks alot for publishing such a wonderful book. I have been referring this book since my engineering days.
The best part you did, to make this book reachable to all readers, was to publish it as a free e-book.
And as a gratitude to you, even after reading the e-version of this book, i still want to buy its paper(hard) version :-)
The book is really awesome for building concepts as it deals with subject in very simplified way.
And you deserve full 10/10 for this blog and finding this small typo in ur own book.
with regards, pekon (India)

Sorry, you need javascript enabled to post any comments.

Farv

Said:

Question: does there exist a function that is localized and very smooth in both space and Fourier space in the sense that
f(x) â†’ exp( -|x| ) as |x| â†’ infinity, and
FT(k) â†’ exp( -|k| ) as |k| â†’ infinity?
Answer: yes, this class of functions is typical of the distribution of real world events.
Discussion: Smoothness is important because such distributions have the potential of satisfying differential equations and the possibility of formulating theories to predict the functions. This loose localization is important because the events are not crowded together as tightly as with a Gaussian distribution. I suspect that most people don't know that this class of functions exists and they make models that are too restrictive to capture the full scope of behavior of the real world.

Sorry, you need javascript enabled to post any comments.

hugofragnito

Said:

Interesting blog, congratulations! Perhaps you will find interesting that the hyperbolic secant function (sech(t)) has a Fourier transform that is also a hyprbolic secant. We use hypsec pulses in optics to smooth and quite represent realistic light pulses from ultrashort pulse lasers (mode-locked lasers). Also, a hypsec pulse is the fundamental soliton of optical fibers, a light pulse that propagate endlessly without distortion even if the fiber has dispersion (this is a nonlinear wave effect; the amplitude of the pulse must match precisely a value determined by the dispersion of the fiber and the pulse duration, also the fiber must have negligible loss).

Sorry, you need javascript enabled to post any comments.

Sorry, you need javascript enabled to post any comments.