The latency of the motion capture system PhaseSpace may be measured in the following way.
- Attach a PhaseSpace led to the end of a drawer-runner so that it can be smoothly swept from side to side
- Capture this data stream with the PhaseSpace App in the Apps folder of LSL
- Set up a photo-transistor circuit whose output voltage is analogous to the proximity of the same LED. Here is an example circuit -- the one I used has a 1k resistor as well as a 4.7uf cap in series with the signal line (marked VA3 in the diagram) to smooth the signal some.
- Plug that voltage source into a BioSemi amplifier and capture the data stream with the LSL BioSemi App
The code used to analyze the collected data streams can be downloaded here. The data streams were normalized, one was flipped so that the polarities of the signal match, and the stream was truncated so that only the part of the signal during which the LED was moving was analyzed.
Note that a significantly long data stream must be captured in order that this analysis may be robust and reliable. The results presented here are for a data stream that was about 1/2 hour long.
CES Lab figures
The overall cross correlation function is shown here.
As you can see there is a total lag of 5.37 ms. The data was also broken up into 10 equally spaced windows and analyzed using the same method. The mean latency was shown to be 5.76. Thus we may conclude that 5.37-5.76ms is about right. Unfortunately, we may not be more precise than the estimated error of latency which was shown to be +/- 3.33ms.
The sampling rate of the PhaseSpace system is rather low at 480Hz, so we may not hold much hope of finding a more precise figure than this.
Mobi Lab figures
As of now, both the BioSemi and PhaseSpace data acquisition apps account for some latency in their time-stamping routines. The latency reported here is on top of this latency. It is of interest that the PhaseSpace manufacturers claim a latency of 8-10ms on their website. The lag here was measured to be (on average) about 5.5ms beyond the 8ms lag which the PhaseSpace acquisition App already accounts for.