SpinCore Logo

SpinCore RadioProcessor -

Arbitrary Waveform Generation

   This document describes the shaped-pulse feature available on certain models of the RadioProcessor.   If equipped, the RadioProcessor is capable of arbitrary waveform generation on its analog output.  This feature allows the for the following:
  • RF outputs can be shaped by an arbitrary waveform. (for example, a sinc waveform)

  • RF outputs can be scaled by a constant value.
  • The RF output itself can be set to waveforms other than a sinewave (e.g., triangle wave, square wave, etc.).
   This allows, for example, the generation of soft pulses, see Figure 1, below.
Sinc Shaped Pulse
Figure 1: Sinc-shaped soft pulse.   Pulse duration is 0.5 ms.

   The AWG system is flexible and can be programmed with a wide variety of parameters. For example as shown in the figures below, you can generate pulse sequences that have pulses with multiple different amplitudes and it is also possible to generate both hard and soft pulses in a single pulse program.    The shape of the pulse is not limited to a sinc-shape.  It is user-loadable with any arbitrary waveform.

Variable Amplitude Sinc Shaped Pulses 

Soft and Hard Pulses

Figure 2: Combinations of RF pulses - variable amplitudes (top image) and soft- and hard-pulses in a sequence (bottom image)

   To make use of the AWG feature, use the pb_inst_radio_shape() function to generate the instructions of your pulse program. This function has two additional parameters over the standard pb_inst_radio() function. They are:

use_shape: if this is 0, no shape will be applied to the pulse. If it is nonzero, whatever waveform is loaded as the shape will be used to shape the RF pulse. The shape waveform can be loaded by the user with the pb_dds_load() function

amp: This selects which amplitude register to use. The values stored in the amplitude register can be set with the pb_set_amp() function.

   If a shaped pulse is used, the shape will be stretched to last the duration of the entire instruction.

   Two other functions are used to control the AWG features.

pb_set_amp() - This function sets the values of the amplitude registers to the given values. There are 4 amplitude registers, so any pulse program can use four distinct amplitude values on its output.

pb_dds_load() - This function loads both the DDS waveform, and the shape waveform. The DDS waveform is loaded with a sinewave by default, so you do not need to re-load it unless you wish to use a different shape.

Example programs

   Two example programs are included with spinapi in the RadioProcessor directory to demonstrate how the AWG capabilities are used.

   The first is awg.exe, which is a simple demo program which you can use to view the AWG outputs on your oscilloscope. By default, this program generates two sinc-shaped pulses back to back followed by a 1ms delay. You can enter the amplitude for each one, as well as the desired RF frequency to be used. The TTL outputs are enabled at the same time the pulses are generated, and can be used as the trigger for the oscilloscope. The RF output can be viewed on another channel.

   The source code for this program is well documented, please take a look to gain a better understanding on how the AWG features of the board are controlled.

<>   The second program is spnmr_shape.exe . This program functions identically to the single_pulse_nmr.exe program described above, except that it generates a soft (sinc-shaped) excitation pulse instead of a hard pulse. There is also an additional command line parameter which allows you to specify the amplitude of the generated pulse.

Backwards compatibility with older code.

   If you have a AWG-capable RadioProcessor board, you can still use older code which uses the pb_inst_radio() function. This code will still behave correctly, since it will default to not using any shape, and using amplitude register 0. The pb_set_defaults() function always initializes amplitude register 0 to 1.0, and the DDS waveform is loaded with a sinewave, so the code will continue to operate the same as it did on previous generations of the RadioProcessor board which did not have AWG capabilities.

Contact Information

Email:   sales@spincore.com
Web:    http://www.spincore.com
Phone: (352) 271-7383

© 2006 SpinCore Technologies, Inc.