aspose file tools*
The moose likes Java in General and the fly likes Explain this FFT Radix 2 DIT java code line by line Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Java in General
Bookmark "Explain this FFT Radix 2 DIT java code line by line" Watch "Explain this FFT Radix 2 DIT java code line by line" New topic
Author

Explain this FFT Radix 2 DIT java code line by line

Piotr Orzech
Greenhorn

Joined: Sep 13, 2011
Posts: 3
Hello,
can someone explain me this java code line by line on the selected part of the code:



Here is the whole code:

Paul Clapham
Bartender

Joined: Oct 14, 2005
Posts: 18669
    
    8

Well, yes, but it would be a waste of time for both of us:

1. Assign zero to j.

2. Divide n by 2 and assign the result to n2.

And so on. I don't think that's what you were looking for. Could you perhaps produce a more practical question?
Piotr Orzech
Greenhorn

Joined: Sep 13, 2011
Posts: 3
I've read about fft and i found few steps how to do this. I don't know how to assign them to this code.

1.Prepare input data for summation — put them into convenient order;
2.For every summation level:
2.1For every exponent factor of the half-period:
2.2Calculate factor;
2.1.1For every sum of this factor:
2.1.2Calculate product of the factor and the second term of the sum;
2.1.3Calculate sum;
2.1.4Calculate difference.
Campbell Ritchie
Sheriff

Joined: Oct 13, 2005
Posts: 39436
    
  28
What's FFT and DIT? You should always explain abbreviations.
Campbell Ritchie
Sheriff

Joined: Oct 13, 2005
Posts: 39436
    
  28
. . . and welcome to the Ranch
Piotr Orzech
Greenhorn

Joined: Sep 13, 2011
Posts: 3
FFT - Fast Fourier Transfomate
DIT - Decimation In Time

There is some bit reverse (i dont know how it exacly works) and calculation called butterflies. I am begginer in programming and I need a little patiece :P
Campbell Ritchie
Sheriff

Joined: Oct 13, 2005
Posts: 39436
    
  28
Thank you.
Martin Vajsar
Sheriff

Joined: Aug 22, 2010
Posts: 3610
    
  60

Piotr Orzech wrote:I am begginer in programming...

Do you understand the mathematics behind FFT and DIT? That is the hard part here. You need to get good grasp of this first and then to analyze code you didn't even write. Trying to understand the algorithm from a foreign code (possibly optimized using clever mathematical tricks, or - worse - even buggy) when you're a beginner in programming would certainly be a frustrating task.

Quick search for "FFT explained" gave me this.
Campbell Ritchie
Sheriff

Joined: Oct 13, 2005
Posts: 39436
    
  28
Lines 12-18 in the first code look like a standard method for swapping two elements in arrays, but there are two swaps.
 
It is sorta covered in the JavaRanch Style Guide.
 
subject: Explain this FFT Radix 2 DIT java code line by line