I'm investigating RFFT DSO library for TMS320F28379.
I thought I understood the why the 2N real input RFFT is implemented for base algorithm of the MCU.
But I couldn't understand the algorithm used in RFFT_adc_f32.asm file.
For example, the code explanation,
;; 1) Bit reverse input data and calculate stages 1, 2 & 3: ;; ;; In Buf (read in bit reverse order) Out Buf ;; +----+ +----+ ;; | I1 | (((I1 + I2) + (I3 + I4)) + ((I5 + I6) + (I7 + I8)))/8 -> | I1'| ;; | I2 | ((I1 - I2) + COS*((I5 - I6) + (I8 - I7)) )/8 -> | I2'| ;; | I3 | ((I1 + I2) - (I3 + I4) )/8 -> | I3'| ;; | I4 | ((I1 - I2) - COS*((I5 - I6) + (I8 - I7)) )/8 -> | I4'| ;; | I5 | (((I1 + I2) + (I3 + I4)) - ((I5 + I6) + (I7 + I8)))/8 -> | I5'| ;; | I6 | (COS*((I8 - I7) - (I5 - I6)) - (I4 - I3) )/8 -> | I6'| ;; | I7 | ((I7 + I8) - (I5 + I6) )/8 -> | I7'| ;; | I8 | (COS*((I8 - I7) - (I5 - I6)) + (I4 - I3) )/8 -> | I8'| ;; . ;; . ;; \|/ ;; Repeat above FFTSize/8 (i.e. if FFTSize = 1024, Repeat = 128 times)
I thought this part exaplains 8 point DFT, but it couldn't match the result I expected(2N real DFT using N complex DFT).
If there is a reference paper or book, please guide me to understand the code.
I'm beginner to use DSP scheme with MCU. I was wondering if you please gently guide the way to find the goal.