Monday, 3rd February 2014


PulseGen is the MatLab tool for the fast and accurate drawing of pulse sequences in EPR or other magnetic resonance techniques.

The original script was written by Dr. F. Mentink (Weizmann Institute of Science, IL) as a result of frustration in drawing pulse sequences accurately. In the original script only pulses were drawn, whilst later iterations included both an adjustable echo and multiple channel support.

This script was adjusted to perform as a function and a graphical user interface developed by myself. The original script is included (commented within the .m file) in the PulseGen.m file for reference.

Please note that whilst PulseGen provides several ways to export the generated pulse sequence figure, it is highly recommended that the sequence is further improved. The authors routinely export in a postscript format (*.eps) from PulseGen before importing the figure into Inkscape for finishing. Nor will this program calculate the correct phases of the echoes, this is purely for figure generation.

Available for direct download from sourceforge


PulseGen comes with some examples in the Defaults menu of common experiments including:

2 pulse ESEEM

Inversion recovery

4 pulse PELDOR / DEER

Extended options

Echo shape

The echo shape option allows for more oscillations about the echo to allow for a more realistic representation of the experiment. This parameter can be loosely approximated to being the number of side peaks on either side (inclusive of the centre peak). For example, setting Echo shape as 4 yields:

Variable pulse height

By adjusting the Pulse height variable in the Pulses table can give the impression of different strengths to the pulses. For example, here the first pulse (second channel) is a long pulse (such as an RF pulse) with only 20 % power of the 2 pulse ESEEM reporter sequence.

  • D

    Work, I like it. Things must be on the up.

About Morgan Bye

Scientist, programmer and all around techie


EPR toolbox