Filtering in real time from a NI DAQ

11 views (last 30 days)
Hello Guys, I'm trying to acquire an analog signal (coming from a sensor) from a NI DAQ board and I would like to manage better the plot and filtering in real time in Matlab. I'm acquiring in background operation. What is hard is how to have access to the data (from the listener) for processsing: I'm able to plot only one second of data. Does someone knows how to solve this? Thank you

Accepted Answer

Vandana Ravichandran
Vandana Ravichandran on 20 Jan 2017
Edited: Vandana Ravichandran on 20 Jan 2017
Please try the "DurationInSeconds" property of the session object. You can create a listener using "addlistener" function that calls the "plot" Callback for the "DataAvailable" event. "DurationInSeconds" can be used to control for how long the background operation runs and the data is acquired for this duration. Once this interval completes, the listener invokes the "plot" callback.
The documentation has an example similar to what you want to implement: https://www.mathworks.com/help/daq/ref/dataavailable.html
  2 Comments
Walter Roberson
Walter Roberson on 7 Feb 2017
How are you doing the plotting?
The callback on the listener should have access to all of the data made available. However if you happened to be plotting in Simulink with a Scope block then that block might be configured to retain a limited number of points.

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!

Translated by