Discussion in 'Programmer's Corner' started by dmentor, Jul 6, 2011.

1. ### dmentor Thread Starter New Member

Jul 6, 2011
2
0
Hi,
I really need some help. I'm doing a research on 1024 floating-point radix-2
FFTs, i decided to jump all the way to the 64-point. However, the indexing
between stages became confusing so i decided to simulate the 16-point radix-2.
Using thesame method for the 8-point, i seperated them into odd and even
pairs, and the 1st stage had its indices adjacent to each other, the second
seperated by 2, the third seperated by 4 and the fourth seperated by 8. i
realised my results didnt match the ones obtained using the Signal Processing
Blockset (fft command). i then tried so many different combinations by trial
and error, all to no avail. i need help getting an algorithm that would help
me solve this problem for both the 16-point radix-2 and any other N-point
radix-2 FFT. Please any help here will be really appreciated and held in high
regard.
thanks, Jim

2. ### guitarguy12387 Active Member

Apr 10, 2008
359
12
Hey Jim,

Welcome to the forums!

First of all, it would help if you could post some data on your attempt. Block diagrams, simulation results, plots, code, etc.

Secondly, you ought to be able to copy the butterflies directly out of any book and use simulink blocks to do the mults/adds. All you have to do is wire them correctly. I am not exactly sure where the problem arises based on your description

3. ### dmentor Thread Starter New Member

Jul 6, 2011
2
0
thanks a lot for your quick response.
i have attatched my simulink file to help explain the problem. below is a link to the exact signal flow diagram of the simulation which i have attatched. my simulation is supposed to be exactly as the 16-point radix-2 DIT FFT link below and to the best of my knowledge, i have connected it as it should be (Including the input bit reversal & correct twiddle factors). As for the inter-stage indexing, i have followed the exact pattern i used for the 8-point simulation (pattern is as explained initially.the same method was also adviced in a certain website i found, although not all websites are to be trusted). Once again, thank you very much for your assistance.
i have saved the file in the 2006 version format since i originally created it in the 2010 version. i hope this doesn't pose any unforseen problems

File size:
23.4 KB
Views:
34
4. ### guitarguy12387 Active Member

Apr 10, 2008
359
12
Hey no problem.

Hmm well it is a bit difficult to decipher simply because it is a somewhat complex algo (Though my low level of simulink experience probably doesn't help haha!). However, I looked at the first stage or two and it seems to me like you have the right idea. The problem is that because of the way you implemented it in simulink, there is lots of manual wiring in which means potential for human error!

My best advice is that you should break the system down further into other sub systems. For example, make each stage a different sub system.

Also, if you could provide some simulation photos or something, that could help us pin point the source of the error, depending on the behavior of the system.

Sorry I couldn't be more help at this point.