# Waveforms that are their own Fourier Transform

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 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

[ - ]
Comment by January 16, 2008 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.
[ - ]
Comment by January 17, 2008 [ - ]
Comment by February 4, 2008 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
[ - ]
Comment by April 24, 2008 Very nice line of reasoning. That should not only apply to the Fourier transfrom but to any linear transform where the forward and backward transform are essentially the same.
[ - ]
Comment by May 19, 2008 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
[ - ]
Comment by February 22, 2009 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..)
[ - ]
Comment by April 6, 2009 This is absolutely brilliant. Your book is also very good for developing clear concepts. Regards, Bhaskar Bhattacharya
[ - ]
Comment by April 13, 2010 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)
[ - ]
Comment by June 15, 2010 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.
[ - ]
Comment by October 29, 2013 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).
[ - ]
Comment by April 22, 2017 Hello, Steve,

This octogenarian remembers when you learned that comp.dsp was an a news group, not a support group. I had by then come to refer often to your book (which I had bought) and which I had referred many others to on line. I thank you for it. Please save me from the need to compare published version to the current on-line version. Has the latter been updated?

Thanks again.

Jerry

[ - ]
Comment by August 31, 2017 Hello Dear Mr. Smit,

I Thank you for the greatest book I have ever read! If I didn't read your book as the very first book of my journey to DSP, I am not sure that I would have learned what I got now. Particularly in an intuitive way without any pain of learning, the usual way of learning DSP! Your book is my foundation.

I would like to ask you only one more thing that - 'Please write about Q-Format (Q15 and Q31) implementation on 16-bit and 32-bit Fixed Point DSP Controllers from the very practical perspective. Particularly for Programming Control Systems'. The Q-Format Literature that already spanned across the web is needlessly complicated and completely lack of practical implementation details. You may consider adding 35th chapter to the book for Q-Format. 'Chapter 34 -Explaining Benford’s Law' was just excellent!

Thank you for what you have already given...

Regards

Anand.

To post reply to a comment, click on the 'reply' button attached to each comment. To post a new comment (not a reply to a comment) check out the 'Write a Comment' tab at the top of the comments.