Modulation is a measure of the uniformity of reflectance of the dark and light modules in a 2D barcode. Lower modulation may increase the probability of a module being incorrectly identified as dark or light.

Modulation is affected by print growth or loss, defects, reflectance, and variation of the ink coverage. For example, the following figure illustrates a Data Matrix with variations in reflectance:

Modulation is expressed as:

Modulation = 2 · (abs(R - GT))/SC

where,

R is the reflectance of the module closest to the global threshold in the codeword,

GT is the global threshold.

The mean reflectance of the darkest 10% and the mean reflectance of the lightest 10% is determined. The average of the two means is taken as the global threshold.

The modulation grade for a codeword is computed as the minimum grade of all the data cells in a particular codeword. The final modulation grade is determined by comparing the number of codewords with a particular grade or higher and the error correction capacity of the given data matrix barcode. The following list shows how codeword grading for modulation is calculated.

  • A (4.0) if modulation ≥ 0.50
  • B (3.0) if modulation ≥ 0.40
  • C (2.0) if modulation ≥ 0.30
  • D (1.0) if modulation ≥ 0.20
  • F (0.0) if modulation < 0.20

The following figure shows a Data Matrix code with a modulation grade of F.