Skip to content

Precompensation Advisor Module

The Precompensation Advisor Module provides the functionality available in the LabOne User Interface's Precompensation Tab. In essence the precompensation allows a pre-distortion or pre-emphasis to be applied to a signal before it leaves the instrument, to compensate for undesired distortions caused by the device under test (DUT). The Precompensation Advisor module simulates the precompensation filters in the device, allowing the user to experiment with different filter settings and filter combinations to obtain an optimal output signal, before using the setup in the actual device.

example_precompensation
Figure 1: example_precompensation

Precompensation Advisor Module Work-Flow

Precompensation Advisor usage via the LabOne APIs closely follows the work-flow used in the LabOne User Interface.

  1. Create an instance of the Precompensation Advisor module (one instance is required for each AWG waveform output in use).
  2. Decide which filters to use.
  3. Set the coefficients/time constants of the filters.
  4. Read and analyze the results of the simulation via the /wave/output, /wave/output/forwardwave and /wave/output/backwardwave parameters.
  5. Adjust filter coefficients and repeat the previous two steps until an optimal output waveform is achieved.

Note that with the Precompensation Advisor module, the execute(), finish(), finished(), read(), progress(), subscribe() and unsubscribe() commands serve no purpose. Indeed some APIs do not provide all of these commands. Each time one or more filter parameters are changed, the module re-runs the simulation and the results can be read via the /wave/output, /wave/output/forwardwave and /wave/output/backwardwave parameters.