Home Examples External Data Acquisition System
Data Recording

External Data Acquisition System

This example shows what changes are necessary to have a Task Program function with an external data acquisition system (DAQ) as used with NHP Kinarm Labs. The purpose of such a setup is to have a central data acquisition system rather than multiple systems which would require post-experiment synchronization of data files (e.g. if using a neural recording system such as Plexon). This type of setup requires different hardware than the standard Dexterit-E requirements. Refer to the Dexterit-E User’s Guide for more information.

10.13.1      Simulink Code for External Data Acquisition System Example

In this example, two new Simulink blocks are required to send information over to the external data acquisition system. Analog information relating to Kinarm robot kinematics is sent using the External DAQ-Analog_Outputs block (i.e. joint position, velocity and acceleration) while Task Event Code related information is sent using the Plexon_Digital_Event block (this is a Plexon-specific example). For more information on interfacing to an external DAQ system with these Simulink blocks, please click Help for those blocks, available from within Simulink.

Figure 10.22: Simulink Code for External Data Acquisition System Example

Note: The reason for sending velocity and acceleration data to an external system in addition to position is that the conversion from digital to analog (on the Robot Computer) and then back from analog to digital (in the external DAQ system) introduces quantization error into the position signal. This quantization error is very small (<0.05% for standard 12-bit systems) but it becomes magnified upon subsequent differentiation. Refer to the Dexterit-E User’s Guide for more information.

Related Tasks

Coding Tips
Persistent Variables
Persistent variables are ones that hold their value between calls to the embedded MATLAB code they are defined in.
Coding Tips
Custom Control of the Trial Protocol Order
Normally, Dexterit-E manages and controls the order in which Trial Protocols (TPs) execute based on what is defined in the block table of the Task Protocol (see the Dexterit-E User Guide for more details).