Has anyone successfully used Motorola's split56.asm or split563.asm macros for unscrambling the data after using a N/2-point complex FFT to transform N real data points? I always get garbage out (running on a 56311), whereas my own (much slower) split routine works fine. It would be nice to have some confidence that the Motorola code is OK so I can look for the problem elsewhere... Chris |
|
Motorola split56/split563 macros
Started by ●January 17, 2002
Reply by ●August 27, 20022002-08-27
I know this is a very old question, but the same issue just got me as a half-clueless(ful) beginner in this area. I made a few observations about this macro: - it expects a few modulo registers to be left as cfft563 left them (check the references to r? with no initialization of m?) - it expects the IDATA to be the original FFT's input data, and is the _destination_ of the data from this macro. Notice its companion cfft563 is not done in place. To make it work with an inplace complex fft, make a copy of your input data before running the FFT. You could reschedule FFT time away from making the copy by having the data collection write to two areas as the samples come in. Still seems like unnecessary computations though. I'd like to find a good in place real valued FFT. I've seen very good ones in C, but I'm new to 56K assembly. --- In motoroladsp@y..., "cmkessell" <C_Kessell@t...> wrote: > Has anyone successfully used Motorola's split56.asm or split563.asm > macros for unscrambling the data after using a N/2-point complex FFT > to transform N real data points? I always get garbage out (running > on a 56311), whereas my own (much slower) split routine works fine. > > It would be nice to have some confidence that the Motorola code is OK > so I can look for the problem elsewhere... > > Chris |