Bruker Interface

Since every Bruker Xepr spectrometer is slightly different and has a slightly different build specification a configuration file is required.

Nonetheless we do differentiate between an AWG-based spectrometer and a MPFU-based spectrometer. These two generations of Bruker spectrometer represent a significant change in both pulse and sequence definition.

Configuration file

The configuration file is writen as a YAML (Yet Another Markup Language) file, this is an easy to write whilst simultaneously both computer and human readable.

Here is a simple example:

Spectrometer:
  Type: Complete Spectrometer
  Manufacturer: Bruker
  Model: E580
  Local Name: C243

  AWG: False
  MPFU: True
  Hybrid: True

  Bridge:
    Min Freq: 33 #GHz
    Max Freq: 35 #GHz
    Freq Cal: [-67652.70, 2050.203]
    MPFU Channels: ['+<x>', '-<x>','+<y>', '-<y>']
    Pulse dt: 2  #ns
    Det dt: 0.5  #ns
    Det res: 8  #bit

  Hybrid:
    AWG: M8190A
    IP: 192.168.1.1

One important element of the configuration file is the frequency calibration. This is only need if your Bruker spectrometer is using an analogue source and has not been upgraded to the newer digital source. When using analogue source, you do not directly set the frequency but the potential difference (Voltage) across the Gunn diode, this is done on a scale of 0-4095. For easy convertion a polynomial fit of the Scale-Frequency graph is required. This must be at least to the third order or preferably higher. In a DEER measurment frequencies have to be very specific, down to the 1MHz. (i.e 0.03%).

Getting started

Before the Bruker interfaces can be imported the Bruker XeprAPI must be installed. The recommended way of doing this is:

python -m pip install "XeprAPI @git+https://github.com/OE-FET/XeprAPI"

Currently, the version on PyPI is incompatible with the latest numpy so we do not recommended installing that version at this time.

from autodeer.hardware import BrukerAWG # or BrukerMPFU

interface = BrukerAWG("path/to/config/file")