Hi Casperites,

After a long day of debugging an FFT spectrum yesterday, I got down to
basics and compared the output of the 8-pt direct fft block with matlab's
fft function. When I used random numbers as the inputs it quickly became
apparant that they didn't match.

After a little more investigation, it turns out that the twiddle factors
used in the FFT all fall in the imag(coeff) <= 0 range of the unit-circle,
apart from the twiddle_coeff_1 block, which "multiplies" by the coefficient
+j. Hence, it would appear, that an fft which uses a mixture of the special
case twiddle_coeff_1 block and twiddle_general blocks will give an incorrect
result.

After switching the twiddle_coeff_1 block to multiply by -j the direct fft
seems to work correctly (at least for the 8pt and 16pt cases that I've
tested)

I'm not sure when (if ever) the twiddle_coeff_1 block is used other than a
direct fft outside of one of the larger wideband real blocks, but here's a
heads up to the anyone using the the block in this way like I am.

Cheers,

Jack

Reply via email to