Appendix

Spectral output format

Spektralwerk Core supports four different spectral output formats in order to reduce the required bandwidth.

Format Description Size of spectrum (256 Pixels) in bytes
human human readable float values 2560
base64_float base64 encoded float values 1372
base64_int16 base64 encoded integer values 686
cobs_int16 cobs encoded integer values 515

(base64_*)[https://en.wikipedia.org/wiki/Base64] are widely used to reduce the transferred data size, to achieve the highest possible sample rate, (cobs-int16)[https://en.wikipedia.org/wiki/Consistent_Overhead_Byte_Stuffing] should be used because it transmits the fewest bytes.

Processing steps

Spektralwerk Core can return already processed values. For each channel, MEASure:SPECtrum:REQuest (in-band) or CONTrol:INPut|MANual:EMITter (out-of-band), the respective :CONFig:PROCessing endpoint can be used to select a set of processing steps:

  • average -- Several spectra are collected and the rolling average of the spectra is returned. The number of spectra used for averaging can be adjusted with MEASure:SPECtrum:AVERage:NUMBer. If average is not applied, each spectrum is returned individually. Each spectrum is also returned individually if MEASure:SPECtrum:AVERage:NUMBer is set to 1 while is set average to true, because a rolling average of size 1 is equivalent to the individual spectrum.
  • reference_dark -- The dark reference spectrum (MEASure:SPECtrum:REFerence:DARK) is subtracted from the spectrum. If no dark reference is stored, adding the reference_dark flag does not alter the outgoing spectrum. The reference_dark flag can be used to subtract noise from the signal.
  • reference_light -- The spectrum is subtracted from the light reference spectrum (MEASure:SPECtrum:REFerence:LIGHt). If no light reference is stored, adding the reference_light flag does not alter the outgoing spectrum.
  • scale -- A user-defined scaling (MEASure:SPECtrum:SCALe) is applied to the outgoing spectra. The default scaling spectrum represents the sensitivity curve of the spectrometer (DEVice:SPECtrometer:PIXels:SENSitivity).

Emitter status

Requesting the current emitter status (CONTrol:INPut|MANual:EMITter:STATus) will return a brief status information:

  • busy - The out-of-band emission of spectral data is running
  • idle - The out-of-band emission of spectral data is waiting for a start signal

Trigger edges

The spectral sampling can be triggered by external signals (see SYSTem:INPut for more details). Spektralwerk Core will trigger a spectral sample depending on the detected edge. Possible values for the edges are:

  • rising -- A spectrum emission is triggered when a rising edge is detected on the input line (default).
  • falling -- A spectrum emission is triggered when a falling edge is detected on the input line.
  • any -- A spectrum emission is triggered everytime an edge is detected on the input line.
  • none -- A spectral emission is never triggered.

Trigger output source

  • manual -- Allows the manual control of the output line via SCPI commands.
  • sampling -- The output line remains active throughout the sampling process, making this mode ideal for controlling a shutter.

Indicator status

The behavior of the status indicator LED can be changed by passing one of the following keywords to CONTrol:INDicators:STATus. Changes on the LED will not be kept upon rebooting.

  • on -- The status LED is switched on.
  • off -- The status LED is switched off and not status information will be provided by the LED.
  • auto -- The status LED is switched on and status information are provided by color and blinking frequency (default).

References