Real-Time frequency analysis of acceleration data

2 views (last 30 days)
I am using Simulink Desktop Real-Time environment for reading a 3-axis acceleration sensor. The data is sampled in 2kHz and contains the magnitude of the acceleration. For each of the axis I would like to perfom some kind of FFT with the last 4 received values and find the dominant frequencies.
One criterium is that the frequencies in each axis should be comparable such that I can find "the" frequency of the measurements over all axis.
Does anyone have an idea on how to achieve this?
Thanks in advance,
EDIT: I should have been clearer: I am working in Desktop Real-Time, but in external mode.

Accepted Answer

Jan Houska
Jan Houska on 10 Sep 2021
Hi Max,
you can use blocks from the DSP System Toolbox library. There is a Buffer block that packs single data samples to buffers usable for computing the FFT, and then there is a FFT block that actually computes the FFT. Both these blocks are supported with Simulink Desktop Real-Time.
But if the number 4 is not a typo, this is way too short a buffer for FFT. You cannot get any meaningful frequency information from just 4 samples. The buffer must be significantly longer to get any useful results.
Good Luck, Jan
Maximilian Becker
Maximilian Becker on 20 Sep 2021
Let's say I did some thing very stupid and you were (of course) right. I tried to use the scope block for displaying it..
I now use this set up:
But the scope stays empty and does not advance in time. Am I missing something?

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!