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.
I'm using the C28X Floating Point Unit Library, specifically a call to RFFT_f32u. I can successfully make the call with an FFT size of 512 (9 fft stages) or smaller. If I try a larger FFT, like 1024 (10 fft stages), I get 1.#INF for the output array. Can the RFFT_f32u accept fft sizes of 1024, 2048, or 4096?
Thanks,
Eric
Eric,
From looking at the documentation provided with the FFT library, it appears the RFFT supports up to a size of 512 as provided. This explains why the larger sizes do not function properly.
Regards,
Tim Love
Hi Tim,
I agree that the documentation shows benchmark information up to 512 point ffts. I was taking a look at the assembly source and noticed an comment in both RFFT_f32.asm, and RFFT_f32u.asm:
at approx line 66 or 70:
; | I8 | (COS*((I8 - I7) - (I5 - I6)) + (I4 - I3) )/8 -> | I8'|
; .
; .
; \|/
; Repeat above FFTSize/8 (i.e. if FFTSize = 1024, Repeat = 128 times)
;
It looks like 1024 and larger ffts aren't ruled out.
Eric
Hello,
First off i am trying to get the floating point library to work, i'm having problems building the project properly. I have read the C28x FPU Library Beta1 pdf but it doesn't really tell me how to start. I can build the project but I don't have a .out file to load the program.
Is there more documentation on a step by step procedure? I'm trying to take my analog signal (0-2MHz) from ADC channel 0 store it in a buffer and do an FFT on it. From what i understand i may have to flip flop between 2 buffers in order to accomplish this in real time.
I plan to sample at 4.17MHz and do a 4096 point FFT. So if i could get some help to get started that would be greatly appreciated.
Eric,
I'm curious to know what solved your problem since I am also looking to do a 4096 point FFT with the FPU Library.
Thanks,
Trent Fougere
Trent,
I don't remember what that exact issue was, but I think it was something like my array sizes were too small, I think I also had to increase the stack size (but that may have been for another issue)
Eric
Hi Timur, could you tell me how to modify the program to sucessfully compute a FFT which size is larger than 1024?
I am running the FFT lib but still get no result.
I read the documentation carefully and noticed that the input data format for several functions are, say, in Q14 format,so that means I should do some pre-work to modify the input data format from ADC modul?
FFT work with 1024 points, and don't work with more point? Do you use floating point library or fixed point?
I don't work with FFT several month and this area not in my head now.