Hi
I am trying to extend the CMSIS floating point CFFT to 8192 points but don't know how to generate the bit reversal table.
1)
const uint16_t armBitRevIndexTable_fixed_16[ARMBITREVINDEXTABLE_FIXED_16_TABLE_LENGTH] =
{
radix 4, size 12
8,64, 16,32, 24,96, 40,80, 56,112, 88,104
};
I can generate/extend this table for 8192 points using a standard bit reversal algorithm (example showing the 16 point one as reference due to size).
2) But the CFFT floating point output uses a different one called
const uint16_t armBitRevIndexTable16[ARMBITREVINDEXTABLE16_TABLE_LENGTH] =
{
8x2, size 20
8,64, 24,72, 16,64, 40,80, 32,64, 56,88, 48,72, 88,104, 72,96, 104,112
};
which has more entries and no explanation of how it was derived.
Does anyone know how this table was generated ?
Regards
Mark
Hi
I am trying to extend the CMSIS floating point CFFT to 8192 points but don't know how to generate the bit reversal table.
1) const uint16_t armBitRevIndexTable_fixed_16[ARMBITREVINDEXTABLE_FIXED_16_TABLE_LENGTH] = { radix 4, size 12 8,64, 16,32, 24,96, 40,80, 56,112, 88,104 };
I can generate/extend this table for 8192 points using a standard bit reversal algorithm (example showing the 16 point one as reference due to size).
2) But the CFFT floating point output uses a different one called
const uint16_t armBitRevIndexTable16[ARMBITREVINDEXTABLE16_TABLE_LENGTH] = { 8x2, size 20 8,64, 24,72, 16,64, 40,80, 32,64, 56,88, 48,72, 88,104, 72,96, 104,112 };
which has more entries and no explanation of how it was derived.
Does anyone know how this table was generated ?
Regards
Mark