Marker Filters

When the Codamotion system is acquiring marker position data, it interrogates each marker for only a very short period of time (about 40µs), whatever the overall sampling rate. This gives very precise time resolution and prevents any ambiguous ‘smearing’ of fast movements. The residual high frequency noise in the position measurement arises mainly from photo-detector current noise in the cameras and a small effect due to the AC component of room lighting, arising principally at double the mains frequency. The RMS amplitude of noise from these sources is typically less than 0.1mm in the X and Z axes. The co-ordinate in the Y axis is more susceptible to noise, as it is derived from a triangulation calculation using the signals from the two outer cameras.

When markers are attached to a subject’s skin or clothing, further mid-frequency ‘noise’ will be introduced by movement of the latter. These fluctuations will not normally appear significant on a graph of marker position data, but will become more significant on derived data such as angles, marker velocities and accelerations.

The higher frequency components of noise and other fluctuations may be smoothed out by applying low-pass filtering to the data, using an adjustable cut-off frequency.

Marker Filter Panel

The filtering control and cut-off frequencies are set in the “Marker Filter” dialogue box which is opened by selecting the “Set Marker Filter…” item in the “Calculation” Menu (Figure 1).

Figure 1: Marker Filter Panel

Different filters may be set for each co-ordinate of marker position data, and for velocity and acceleration data. You should be careful not to over-filter the position data, as important detail may be removed, and the amplitudes of peaks in the data will be reduced. For data acquired at 200Hz, a filter cut-off frequency of 100Hz is recommended. For most biomechanics applications, such as gait analysis, it is not recommended to set the filter to less than 20Hz.

Velocities and accelerations are calculated from filtered position data, so will be smoothed somewhat as soon as the latter is filtered. However, you will normally need to set these filters much lower — typically 20Hz — to remove noise without affecting the genuine detail in the data.

To check the effect of filtering, plot both filtered and unfiltered data simultaneously.

The standard filters are simple running-average (square) filters, so may show some aliasing effects if the data has strong components at certain frequencies. Also, the filtering will only have an effect when the filter frequency is below half the sampling rate: the data is filtered by averaging over a progressively larger number of samples as the filter frequency is reduced.

More advanced filtering algorithms can be used through the Python™ Script command.