AnsweredAssumed Answered

Bug in cfft_fr16.asm

Question asked by AviMagos on Jan 26, 2011
Latest reply on Feb 3, 2011 by AviMagos

There is a buf in cfft_fr16 dynamic scaling feature.

This bug was probably previously fixed in the rfft_fr16 function but not propogated to cfft_fr16 function.


The fix is actually a cheat - the program skips the scaling only if the signal is lower than 0.25 (intead of 0.5). The reason for this is because the data is multiplied by a twidle factor and therefore a size of 0.5 (in real or image parts) might go as high as 0.707 and overflow when added in the butterfly.


Like I said, it was not propogated to cfft function and so I got an overflow when using it.

I was pretty shocked to find that such a basic code as FFT supplied by a respected company like Analog has bugs in it. And the fix itself is also not really a fix but a cheat.. It causes a possible loss of another bit (because the scaling limit is 0.25 and not 0.5).


Just thought the guys at Analog should know and fix it as soon as possible because our company just lost a week work of an engineer to find this bug