Jump to content

User Reference:Timing: Difference between revisions

From BCI2000 Wiki
Mellinger (talk | contribs)
No edit summary
 
Mellinger (talk | contribs)
No edit summary
Line 13: Line 13:


==Roundtrip Display==
==Roundtrip Display==
[[Image:RoundtripDisplay]]
[[Image:RoundtripDisplay.png|frameless]]
 
When switched on via the ''VisualizeRoundtrip'' parameter, roundtrip time and source-to-stimulus delay are displayed in a visualization window.
When switched on via the ''VisualizeRoundtrip'' parameter, roundtrip time and source-to-stimulus delay are displayed in a visualization window.
In this window, physical sample block length is indicated with a tickmark on the y axis, with scaling such that a range of 0..2 physical sample block lengths is displayed.
In this window, physical sample block length is indicated with a tickmark on the y axis, with scaling such that a range of 0..2 physical sample block lengths is displayed.

Revision as of 20:00, 7 November 2007

Roundtrip time is the time needed for a sample block to traverse the core modules. Starting with the acquisition of a sample block, a block's roundtrip includes the time spent on signal processing and stimulus display. The roundtrip finishes when the block enters the data acquisition module again.

To fulfil the real-time constraint, roundtrip time may not exceed the physical duration of a sample block. For stable system operation, a weaker condition is sufficient; only the roundtrip's average value needs to stay below a sample block duration.

Measuring Roundtrip Time

Roundtrip is measured using the millisecond timestamp stored in the SourceTime state. When, coming from the application module, a block enters the data acquisition module, the DataIOFilter subtracts the time stamp from the current system time to obtain roundtrip time.

Measuring Source-to-Stimulus Delay

In the StimulusTime state, the application module stores a time stamp when the module's Process() function has finished. The DataIOFilter subtracts the source time stamp from the stimulus time stamp to compute the source-to-stimulus delay. Unlike roundtrip time, measurement of the source-to-stimulus delay requires that data acquisition and application modules share a common time base; when distributed over multiple machines in a network, source-to-stimulus delay cannot be measured.

Roundtrip Display

File:RoundtripDisplay.png

When switched on via the VisualizeRoundtrip parameter, roundtrip time and source-to-stimulus delay are displayed in a visualization window. In this window, physical sample block length is indicated with a tickmark on the y axis, with scaling such that a range of 0..2 physical sample block lengths is displayed.

This display allows to easily observe the system's timing behavior, and whether real-time operation is possible.

See also

Technical Reference:Core Modules, User Reference:DataIOFilter