back to main page

Discrete Fourier Transform explained

The goal of this lenghty article is to familiarize you with a concept of Discrete Fourier Transform, to teach you how to compute forward and inverse DFT by hand and to implement it in programming language C.

I have assumed that you know the following topics:

If you don't have a knowledge about some of the topics you may look at other resources section which provides links to resources that may help you.

Most of the time I refrain from getting deeply into the math, altough some of it is necessary. There is one paragraph that has more math then the others, which partly shows where does DFT come from, but you may choose to skip it.

This webpage uses mathjax to render mathematical formulas, which requires JavaScipt to be enabled. If any page looks strange, wait a few seconds for mathjax to end processing equations.

The article consists of the following parts:

  1. introduction
  2. complex sinusoids
  3. forward and inverse DFT derived and explained
  4. example calculations
  5. summary
  6. implementing DFT in C
  7. Appendix A - links to other resources

If you are ready go to the introduction.


Article written 15.01.2017