cancel
Showing results for 
Search instead for 
Did you mean: 

Limitation of Unicleo-GUI to represent FFT data

Rajesh1
Associate II

We have designed custom board which has STM32F446RE MCU and ISM330DLC vibration sensor.

We are able to send FFT data with 512 sample to Unicleo-GUI and able to observe the FFT data for X,Y,Z axis on graph.

0693W000006F3FDQA0.pngBut when we send FFT data with 1024 samples to Unicleo-GUI, FFT graph for only Z-axis is visible.0693W000006F3GBQA0.pngPlease let us know what is the limiting factor in Unicleo-GUI to represent [1024] more samples.

Awaiting for quick response.

Regards,

Rajesh K.

7 REPLIES 7
Eleon BORLINI
ST Employee

Hi Rajesh @Rajesh​ ,

I believe this topic is related to this other one, and unfortunately we have no other solution other than enable the compression feature in FIFO to store the proper numbers of samples, so far :(

-Eleon

Rajesh1
Associate II

Hi Eleon,

To fix the limitation of FIFO size we have used software FIFO to store 1024 samples.

We have sent the FFT data to Unicleo-GUI.

But the FFT data for 1024 samples is not represented in Unicleo-GUI.

Regards,

Rajesh K.

Hi Rajesh,

so this is a limitation of Unicleo-GUI. I'll consider it in the sense of a "bug report", and report it internally.

Thank you,

-Eleon

louda.marian
Senior

Hi guys,

Unicleo-GUI is able to display FFT with 1024 without problems. But a few changes must be done in FW.

MotionSP_Config.h:

#define FFT_SIZE_MAX         FFT_SIZE_1024

sensor_def.c:

static const uint32_t Lsm6dsoSamplesList[] = {3, 256, 512, 1024};

This change will enable to setup the number of FFT samples to 1024.

I used standard example for vibration monitoring for demonstration. But customer will have to change settings for ISM330DLC sensor.

In main.c file inside function “Collect_Data�? must be removed checking for “samples_in_fifo�? on line 659 (FIFO is not able to handle 1024 samples for three axes) and checking for timeout on line 667. In other case the program will end up inside error handler function.

0693W000006FzJrQAK.png0693W000006FzJSQA0.pngAnd finally the project must be build with code optimization for size in order to fit all data structures into SRAM. MotionSP library is consuming a lot of memory, 1024 samples is maximum value.

Best Regards,

Marian

Rajesh1
Associate II

Hi Marian,

We have performed the suggested [above] changes for ISM330DLC MEMS sensor code.

Please let us know evaluation board used by you for testing.

The FIFO size for ISM330DLC is 4K bytes, where as the FIFO size for LSM6DSO is 9K bytes.

Please let us know whether the reason for the issue is selection of MEMS sensor for our project.

Regards,

Rajesh K.

Rajesh1
Associate II

Hi Marian,

Please let us know how to increase the frequency range to represent FFT data.

Currently maximum frequency range represented in FFT is (0-3400) Hz.

Is it possible to increase the FFT range to (0-6800) Hz ?

Please let us know the possible options to capture FFT data for more than 3400 Hz frequency.

Regards,

Rajesh K.

louda.marian
Senior

Hi Rajesh,

the example was evaluated with F401RE Nucleo board and IKS01A3 expansion board. Evaluation was focused on sending 1024 samples to Unicleo and not on FIFO setup. If you want to see higher ODR value in Unicleo you have to modify odr list array inside sensor_def.c file. I can help you with questions related to Unicleo-GUI. I am not a sensor expert so I will let others to answer questions related to sensor performance optimizations.

Regards,

Marian