• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1845
  • Last Modified:

what are butterfly's in DSP

Ive noticed in many DCT and FFT 'C' source codes there are references to
something called butterfly, can someone explain what this is.
Im a self taught programmer, so dont understand math jargon too well,
so if you could explain it's purpose in english that would be great.

1 Solution
apakianAuthor Commented:

In english, assume Im a really dummy please :-)
some pseudo code would help.
Build your data science skills into a career

Are you ready to take your data science career to the next step, or break into data science? With Springboard’s Data Science Career Track, you’ll master data science topics, have personalized career guidance, weekly calls with a data science expert, and a job guarantee.

A butterfly is a simple operation on a complex number.
Part of the process of an FFT is having an network of these butterflies to achieve it's algorithmic aims.
You may notice that the end product of the network of butterflies there is bit reversal, a phenomina of the FFT.
Don't worry if you don't understand it very easily. The FFT is one of mankinds greatest algorithmic achievements and requires a reasonable background in mathematics to understand it. It's just not easy.
apakianAuthor Commented:

I understand fft,dct and signal processing, as far as how to code them,
but the math jargon i dont understand, so if you can explain butterflies
in the form of C code for something other than DSP, that would
do the trick...
apakian, Unless you are hot stuff on the old maths stuff you are not going to understand the subtleties of the FFT and DCT. You do not need complex numbers for the DCT and they really are not required for the FFT but it is a nightmare without them.
Here is a C language implementation of the Cooley-Tookey FFT algorithm with the butterflies calculations.


Butterflies are just a way of scrambling the inputs in an organized way.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

A proven path to a career in data science

At Springboard, we know how to get you a job in data science. With Springboard’s Data Science Career Track, you’ll master data science  with a curriculum built by industry experts. You’ll work on real projects, and get 1-on-1 mentorship from a data scientist.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now