When handling C3Ds in Nexus, the ratio of the Vicon System data capture rate and the device data capture rate must be an integer. To ensure that this occurs, device data may need to be up-sampled. Nexus will do this automatically during trial reconstruction and will only occur when device capture rates are not integers of the Vicon System capture rate.
Note: the rule is – if required, device data will be upsampled to the next highest multiple of the [Vicon System sample rate] above the [highest sampling device rate].
Note: Nexus will only ever upsample data, never downsample. Nexus will only ever upsample device data, never Vicon camera data.
If your cameras are capturing at 200 Hz and your device is capturing at 1000 Hz, no resampling is required as there are 5 device sub frames per frame of the camera data (eg 1000/200 = 5).
However, if your cameras are capturing at 200 Hz and your device is capturing at 1500 Hz, there is no common factor and therefore not an even number of subframes for the device (i.e. 1500/200 = 7.5 ⇒ not an integer). In this case Nexus will automatically up-sample to 1600 Hz which is the equivalent of 8 sub frames per frame (eg. 1600/200 = 8 ⇒ an integer).
To prevent up-sampling, you can increase/decrease the capture rate of the device or the cameras.
It is important to take the capture rate of all devices into consideration when setting up your system for a capture. For example, if the Vicon system was set to capture at 200 Hz, one device capturing at 1000 Hz and another at 1500 Hz, then BOTH devices would be up sampled to 1600 Hz upon saving the file.
Vicon Nexus uses a simple linear interpolation for most data types, exceptions are:
- EMG data: uses the ‘nearest sample’ method to preserve rapid peaks
- Trident Global Angles: a linear interpolation employing a “slerp” method – i.e. it interpolates the full 3D rotation, not the individual components (more on Tridents below).
To revert to original raw sampled data you will need to delete or remove the existing trial C3D from the session folder before reopening the trial. If you attempt to overwrite a C3D the sample rates are carried through.
Trident Data Upsampling
Special consideration needs to be taken with Trident data in Nexus, as there are several Trident sampling rates dependent on the components selected.
Note: PLEASE ENSURE you transfer data off the Tridents prior to reconstructing and saving a C3D. If the complete dataset isn’t transferred prior to reconstructing the C3D then the streamed data – at a significantly lower rate (30, 50 or 100 Hz) – will be upsampled to match any attached devices and it can appear to be the full dataset!
The raw Trident capture rates are:
- 225 Hz if global angles are selected,
- 1125 if global angle are deselected, and
- 1600 Hz if only the high-g component is selected
The raw capture rates may be upsampled to match other device capture rates or to the next highest factor of the Vicon System capture rate as per the same rule as covered in the above section.
Advanced users: there is a method to extract the raw (e.g. 1125 Hz) data from Tridents. You will need to reconstruct the C3D and immediately export the IMU data (CSV, MATLAB extraction, etc.) before saving the C3D and closing the trial in Nexus. The upsampling occurs on the saving and closing/reopening C3D step. If you save and close a C3D but want the raw 1125 Hz data, you need to completely delete the C3D first, then reconstruct, i.e. not just overwrite the C3D.
Above: data transferred from Trident sensors but prior to C3D reconstruction
Below: data from both force plate and Tridents resample to a multiple of the Vicon System (Data) rate
Examples
- If I have a Vicon System capturing at 200 Hz, a force plate at 1000 Hz and Trident at 1125 Hz (global angles deselected) then upon reconstruction and saving of my C3D the force plate and Trident data will be upsampled to 1200 Hz.
- If I have the same setup except my force plate is capturing at 2000 Hz, the IMU data will be upsampled from 1125 Hz to 2000 Hz to match it
- If I have a Vicon System capturing at 250 Hz, force plates at 1000 Hz and Trident at 1125 Hz (global angles deselected) then upon reconstruction and saving of my C3D the force plate and Trident data will be upsampled to 1250 Hz.
- If I have a Vicon System capturing at 200 Hz, a force plate at 1000 Hz and Trident at 1600 Hz (high-g acc only) then upon reconstruction and saving of my C3D the force plate data will be upsampled to 1600 Hz (Trident data already at 1600 Hz).