Solved

what are butterfly's in DSP

Posted on 2004-08-18
7
1,782 Views
Last Modified: 2008-03-06

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.

thankyou
0
Comment
Question by:apakian
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
7 Comments
 
LVL 84

Expert Comment

by:ozo
ID: 11836444
0
 
LVL 84

Expert Comment

by:ozo
ID: 11836448
0
 

Author Comment

by:apakian
ID: 11836541

In english, assume Im a really dummy please :-)
some pseudo code would help.
0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 18

Expert Comment

by:JR2003
ID: 11841658
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.
0
 

Author Comment

by:apakian
ID: 11842104

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...
0
 
LVL 7

Expert Comment

by:Xxavier
ID: 11849553
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.
0
 
LVL 27

Accepted Solution

by:
d-glitch earned 100 total points
ID: 11852283
Here is a C language implementation of the Cooley-Tookey FFT algorithm with the butterflies calculations.

                           http://www.science.uva.nl/pub/computer-systems/ias/groen/aim/aim/fft1.c

Butterflies are just a way of scrambling the inputs in an organized way.
0

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A Guide to the PMT, FV, IPMT and PPMT Functions In MS Excel we have the PMT, FV, IPMT and PPMT functions, which do a fantastic job for interest rate calculations.  But what if you don't have Excel ? This article is for programmers looking to re…
When we purchase storage, we typically are advertised storage of 500GB, 1TB, 2TB and so on. However, when you actually install it into your computer, your 500GB HDD will actually show up as 465GB. Why? It has to do with the way people and computers…
Although Jacob Bernoulli (1654-1705) has been credited as the creator of "Binomial Distribution Table", Gottfried Leibniz (1646-1716) did his dissertation on the subject in 1666; Leibniz you may recall is the co-inventor of "Calculus" and beat Isaac…
I've attached the XLSM Excel spreadsheet I used in the video and also text files containing the macros used below. https://filedb.experts-exchange.com/incoming/2017/03_w12/1151775/Permutations.txt https://filedb.experts-exchange.com/incoming/201…

705 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question