This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DSPLIB, digit-reversed

The documentation:

TMS320C67x DSP Library

Programmer’s Reference Guide

has the following passage to explain digit reversal.

"For example, for a 1024 point FFT, the digit-reversed location for

617d = 1001101001b = 10 01 10 10 01 is

422d = 0110100110b = 01 10 10 01 10 and vice versa."

Is the third pair correct?  Is there a rule about pairs that don't get reversed?

Thanks for you support.

 

 

  • The example numbers are correct, but these numbers do not make it clear how the Digit Reversal works.

    Generalized Digit Reversal can be the reversal of any number of bits at a time, but most commonly it is 2-bit Digit Reversal used on radix-4 FFTs. Bit-reversal is 1-bit digit reversal used on radix-2 FFTs - which is the standard variety most people know about.

    For an example of 2-bit Digit Reversal, let's say the digits are aa, bb, cc, dd, and ee, where aa represents 2-bits, bb represents 2-bits, and so on.

    Then the 2-bit digit reversal would be going from

    aa bb cc dd ee -> ee dd cc bb aa

    and the bits are not reversed within the digit pairs, like aa.  Thus the example in the User's Guide is correct, but it is not obvious what the algorithm is that got there.

    Another binary example would be 00 01 10 11 10 ==> 10 11 10 01 00.