1024 points FFT with CMSIS

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
WoKi_264666
Level 3
Level 3
First like received

 Hello,

   

after reading of

   

http://www.cypress.com/?app=forum&id=2492&rID=89612

   

I tried to get it to run on my CY8CKIT- 014 with a PSoC5 ES1.

   

Result:  38208 Byte Flash,   8508  SRAM, (after combing the huge CMSIS library)

   

Measured time was:  23,5 ms per FFT   (1024 points, 32Bit float format,  60Mc processor clock)

   

The full CMSIS- sample reached 56 ms  with

   
- calculating the magnitude at each bin
- Calculating of maxValue and returning corresponding BIN value  I am happy, that the PSoC5 satisfies my goals.
0 Likes
5 Replies
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

Welcome in the forum, Woki!

   

I am interested in your project, would you mind to post it here? To do so, use
Creator->File->Create Workspace Bundle (Bundle)
and attach the resulting file.



Bob
 

   

PS: Where in Germany do you live, I am located near Bremen.

0 Likes
lock attach
Attachments are accessible only for community members.
WoKi_264666
Level 3
Level 3
First like received

 Hi Bob,

   

I'm located in Saxony (Elsterberg).

   

Here is the complete Archive.

   

 

   

More results: 

   

- Format q_15 (fixpoint 16 bits)

   

- 1024 points   11 ms
    512                  5 ms
    256                  2 ms
    128                  1 ms
      64               0.4 ms

0 Likes
JeCo_264681
Level 5
Level 5
100 replies posted 50 replies posted 25 replies posted

Nice project. This will get a lot of looks.
Thank you for sharing. Good use of the forum.

0 Likes
Anonymous
Not applicable

Hi, I'm working on a project where I need to convert 1024 samples from the SAR ADC from PSOC5-LP and apply the FFT in the resulting array. I'm trying to apply the method described in the project you uploaded but I'm not obtaining any results. I'm trying to send the resulting values of the FFT (the "testInput_f32_10khz" array after using "the arm_cfft_f32" function) via UART and plot them in Matlab. Am I thinking this straight? Is this the vector that holds the resulting FFT? 

   


Thank you for your time, 

   

Best Regards, 

   

 Carlos Loura

0 Likes
WoKi_264666
Level 3
Level 3
First like received

Hi carlos,

   

please uncomment line 78 in main.c, the resulting values (magnitudes) then are in testOutput. Length is fftsize.

   

Much success!

   

Wolfgang

0 Likes