Required Parameters > The FORCE_PLATFORM group

CAL_MATRIX

The FORCE_PLATFORM:CAL_MATRIX parameter is an array of floating-point values, supplied by the force platform manufacturer, that contain force platform calibration matrices. This allows for greater accuracy in the calculation of forces, powers and moments from the recorded analog data as the full calibration matrices are now stored within the C3D file and are available to any application that reads the analog data from the C3D file.

Figure 35 - A typical force platform crosstalk matrix

A calibration matrix enables software applications to correct for cross talk between outputs of the force platform; software applications that use the full calibration matrix to correct for cross talk will typically provide more accurate results when compared to applications that only have access to the major diagonal component. As a result, it is recommended that the CAL_MATRIX parameter be always included with force data if possible.

Since the CAL_MATRIX parameter will be ignored, even if present, unless the force platform type is a supported TYPE, its inclusion in a C3D file does not automatically imply that it must be applied to the stored force data. If the force data TYPE does not support the CAL_MATRIX then the force plates data must be scaled using the ANALOG:SCALE factors as described in detail in the chapter entitled Calculating SCALE values for force plates.

Note that most force plate systems include some degree of variable amplification of the signals from the plate. The amount of amplification applied to each force signal must be taken into account when applying the calibration matrix and is an important factor is the calculation of the correct ANALOG:SCALE value for each force plate channel.

The calibration matrix for each force platform must be applied to the measured channel outputs to obtain the corrected channel outputs according to the matrix equation:

[CAL_MATRIX] Fmeasured = Fcorrected

where the F’s are column vectors. The elements of the calibration matrix will always be stored in column order, i.e. for the first force platform using a 6x6 CAL_MATRIX:

      CAL_MATRIX(1,1,1) must contain the first element of the matrix.

      CAL_MATRIX(6,1,1) the last element of the first column.

      CAL_MATRIX(1,2,1) must contain the first element of the second column, etc.

The first three rows of the supplied calibration matrix have units of force/Volt (e.g. N/V) and the last three rows have units of moments/Volt (e.g. N•m/V). If the C3D file is using distance units of millimeters then the last three rows of the calibration matrix must have units of N•mm/V. In order to convert from N•m/V to N•mm/V each element in the last three rows must be multiplied by 1000.

Figure 36 - The C3D calibration matrix scaled in N/V and Nmm/V.

Note that the analog channels associated with force platforms using the CAL_MATRIX must be scaled in Volts – see the earlier discussions for full details on calculating the analog scale values for each force platform type. Sample data files and spreadsheets are available from http://www.c3d.org that implement the CAL_MATRIX parameter calculations for the associated analog channels.

When implementing the CAL_MATRIX parameter it is very important to be aware of the order in which the C3D format stores the elements of the matrix, the storage sequence is in column order (as in FORTRAN) and not row order (as in C and C++). Also, every C3D file uses a consistent set of units throughout – thus while the force plate manufacturer usually supplies the moment calibration data in terms of N•m/V, the calibration matrix must store the moment data in N•mm/V if the POINT calibration and measurement units are millimeters.

 

0x0Ah

0x03h

0x43h

0x41h

0x4Ch

0x5Fh

0x4Dh

0x41h

0x54h

0x52h

10

3

C

A

L

_

M

A

T

R

0x49h

0x58h

0x3Ah

0x01h

0x04h

0x03h

0x06h

0x06h

0x02h

0x5Ch

I

X

314

4

3

6

6

2

0x4Fh

0xFBh

0x43h

0x7Ah

0Xc7h

0xe1h

0xBFh

0xBCh

0x57h

0x9Dh

503.37 (P1-C11)

-1.7639 (P1-C21)

0.30731 (P1-(31)

0x3Eh

0xCCh

0x34h

0x63h

0xC5h

0x99h

0x19h

0xA0h

0xC4h

0x00h

-3635.3 (P1-C41)

-1280.8 (P1-C51)

0x86h

0x16h

0xC6h

0x76h

0x71h

0x67h

0x40h

0x14h

0xCEh

0xFBh

-9633.5 (P1-C61)

3.6163 (P1-C21)

503.61 (P1-C22)

0x43h

0x9Ah

0x99h

0x95h

0x40h

0x00h

0x80h

0x9Fh

0x44h

0x67h

4.675 (P1-C23)

1276 (P1-C24)

0x66h

0x62h

0xC5h

0x00h

0x68h

0x07h

0x45h

0x0Dh

0x1Ah

0x4Ah

- 3622.4 (P1-C25)

2166.5 (P1-C26)

-0.78946 (P1-C31)

0xBFh

0xA1h

0xF8h

0x1Dh

0x40h

0x33h

0xF3h

0x7Ah

0x44h

0x00h

2.4683 (P1-C32)

1003.8 (P1-C33)

0xB8h

0x9Dh

0x46h

0x9Ah

0x79h

0xF9h

0xC4h

0xCDh

0x9Ch

0x93h

20188 (P1-C34)

-1995.8 (P1-C35)

-1180.9 (P1-C36)

0xC4h

0x79h

0xE9h

0x96h

0xBFh

0x87h

0x8Ah

0x91h

0x3Eh

0xF6h

-1.179 (P1-C41)

 0.28426 (P1-C42)

0x97h

0x9Dh

0xBFh

0x00h

0xFEh

0x12h

0x49h

0x99h

0xD9h

0x57h

-1.2312 (P1-C43)

602080 (P1-C44)

3453.6 (P1-C45)

0x45h

0x87h

0x96h

0x5Eh

0x42h

0x4Fh

0x40h

0x0Fh

0xC0h

0x89h

55.647 (P1-C46)

-2.2383 (P1-C51)

0x29h

0x81h

0x3Eh

0xEEh

0x5Ah

0x16h

0x40h

0x9Ah

0xF9h

0x40h

0.25227 (P1-C52)

2.3493 (P1-C53)

-3087.6 (P1-C54)

0xC5h

0x00h

0x7Bh

0x93h

0x48h

0x14h

0xAEh

0x64h

0x44h

0x9Ch

302040 (P1-C55)

914.72 (P1-C56)

0xC4h

0x03h

0xC1h

0xBBh

0xB8h

0xCDh

0xBDh

0x7Bh

0x88h

0x06h

-8.2355 (P1-C61)

-0.10045 (P1-C62)

0.13138 (P1-C63)

0x3Eh

0xCDh

0xF4h

0x15h

0xC5h

0x15h

0x3Eh

0x24h

0x44h

0x80h

-2399.3 (P1-C64)

656.97 (P1-C65)

0x64h

0x93h

0x48h

0x71h

0xBDh

0x00h

0x44h

301860 (P1-C66)

514.96 (P2-C11)

(P2-C12) …

… Plate 2 matrix follows Plate 1 …

 

0x12h

0x43h

0x61h

0x6Ch

0x69h

0x62h

0x72h

0x61h

0x74h

18

C

a

l

i

b

r

a

t

0x69h

0x6Fh

0x6Eh

0x20h

0x4Dh

0x61h

0x74h

0x72h

0x69h

0x78h

I

o

n

 

M

a

t

r

i

x

For example, if we have a 6x6 CAL_MATRIX parameter stored in the C3D file then the first three rows will have units of Newtons per Volt and the second three rows will have units of Newton•millimeters per Volt (Nm/V * 1000):

C11 C12 C13 C14 C15 C16

C21 C22 C23 C24 C25 C26

C31 C32 C33 C34 C35 C36

C41 C42 C43 C44 C45 C46

C51 C52 C53 C54 C55 C56

C61 C62 C63 C64 C65 C66

If the analog signals from the six force plate sensors are scaled as Volts in the column vector V

V1

V2

V3

V4

V5

V6

Resulting in the corrected forces and moments as the column vector W

W1

W2

W3

W4

W5

W6

Then using the standard notation

W = C*V

Note that W1 is computed by

W1 = C11*V1 +C12*V2 +C13*V3 +C14*V4 +C15*V5 +C16*V6

And that the resulting W1,W2,W3 will have units of Newtons, and W4,W5,W6 will have units of Newton•millimeters, as it should be.