Azzera filtri
Azzera filtri

Real time data acquisition

3 visualizzazioni (ultimi 30 giorni)
Aloka Perera
Aloka Perera il 11 Feb 2019
Im trying to acquire EMG signals real time using Arduino support package in simulink. I'm using analog Input block for data acquire. But I dont get data at the rate I wanted it to be. for example, for 1k sampling frequency I dont get expexted samples. futhur more, when the filters also added to the block, this becomes more slower and loss huge amount of data.Is there a way to make this process faster, so that i can obtain expected samples.

Risposta accettata

Andrey Kiselnikov
Andrey Kiselnikov il 11 Feb 2019
I tried to do exactly the same thing. This hardware stack is not able to provide the required sampling frequency. This issue related to some features of Arduino programming through MATLAB/Simulink. There is only one way to solve your task on this hardware - write code for Arduino manually and acquire data to MATLAB through the serial connection. And you should use DUE - one of the most powerful boards in Arduino family.
p.s. I migrated to Raspberry PI platform for this task.
  4 Commenti
Aloka Perera
Aloka Perera il 11 Feb 2019
programming on Arduino.it is difficult to obtain samples at 5k and perform serial communication simultaneously
Andrey Kiselnikov
Andrey Kiselnikov il 12 Feb 2019
I tested DUE. I added the digital output pin in the capturing loop and measured time of each operation: analog capture, serial sending, sliding window average filtering - yes, with the good realization it allows to reduce serial data stream and increase the total data capture frequency. So my result was around 2.5 kHz.

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by