Resonator Dip
The Resonator dip plugin measures the power reflected from (or transmitted through) a resonator as a function of frequency and displays it as a live trace. It is used to tune and match a resonator, to read its loaded Q, and to follow the resonance while the sample, temperature or coupling changes.
The plugin is one of the Plugins, so it takes over the spectrometer for as long as it runs and does not use an experiment or a PPL program. Excitation is swept over a frequency band, a digitizer records the response, and the plugin converts the result into amplitude versus frequency, normally shown in dB.

To open the plugin, add it in Device Configuration under Miscellaneous parameters → Plugins, then start it from the main window. The green triangle at the bottom left starts the sweep and the square stops it; Apply Settings sends the current dialog contents to the server.
Cavity Profile
The profile page shows the measured trace. Below the plot the plugin reports the minimum of the curve and the frequency at which it occurs — that frequency is the resonance.
| Control | Function |
|---|---|
| Center | Center frequency of the sweep. The full displayed span is the Zoom 1x Width from the Settings page divided by the zoom factor. |
| Zoom 1x … 16x | Narrows the sweep around the center frequency by a factor of 2 per step. |
| Follow Dip | When checked, zooming in also moves the center frequency onto the current minimum, so the dip stays in view as the span shrinks. |
| Set to Dip | Moves the center frequency to the current minimum immediately. |
| 3dB Point | Level, in dB relative to the top of the dip, at which the width is measured. The default of −3 dB gives the usual loaded Q. |
| Read Q | Enables the Q readout. Without Auto Track the width is taken where the curve crosses this level as an absolute value, which is only meaningful on a normalized trace. |
| Auto Track | Measures Q against the local baseline instead of an absolute level: starting from the minimum the plugin climbs to the maximum on each side, draws the line connecting them (dashed white), offsets it by the 3dB Point value (dotted yellow) and takes the sub-sample crossings of the curve with that sloped threshold. This tolerates a tilted or drifting baseline and is the recommended setting. Enabling it switches Read Q on. |
The toolbar above the plot rescales the trace to the full window, sets the baseline (hold Ctrl to load a stored one from file) and switches baseline correction on and off. The number of independent traces displayed is selected on the same toolbar.
Devices
The Devices page binds the plugin to the hardware. Device properties are named the usual way, Property@DEVICE, and can be picked with the buttons next to each field.
Excitation Device Properties. Use one of two options, not both. Either give a Center of Sweep and a Sweep Span property — the plugin writes the two values and the device performs the sweep itself — or give a single Excitation property, which is stepped point by point or written as a vector. The Dwell Time / Frequency Property passes the per-step timing to the device, as either a rate or a dwell time.
This route requires the source to support a sweep of its own. A synthesizer with a hardware sweep or an arbitrary waveform generator with a dedicated ramp mode qualifies; a plain AWG does not, which is what the chirp excitation below is for.
Acquisition Channels. Channels 1 to 3 name the digitizer properties that carry the response. Two channels are read as the I and Q of a quadrature detector; a single channel is treated as an amplitude, except in the chirp mode, where it is demodulated (see below). The optional X Axis Acquisition Channel reads the frequency axis from the hardware instead of computing it from the sweep range — useful when the source reports its own frequency, either directly or as a ramp normalized to 0–1.
Introduced in version 3.8.9
Chirp excitation (pulse program)
Instead of asking a device to sweep itself, the plugin can generate a frequency-swept pulse — a chirp — and play it through the ordinary pulse path. Every AWG renders arbitrary pulse shapes already, so this works with any AWG driver and needs no special tuning mode in the device.
Set Source to Pulse program and name the pulse Command that reaches the AWG. The command comes from the loaded Command definition and should be one written specifically for the sweep, because the plugin drives all of it:
- every Pattern definition of the shape type receives the chirp, built from the center frequency and span currently set on the profile page;
- every other pattern fires in its configured default state for the same duration, so a digital pattern becomes a transmitter or receiver gate that is open exactly as long as the chirp;
- a Movable pattern definition is placed by its own offset and tail, which is how a gate is made to open before the chirp and close after it.
The command must contain at least one shape pattern; the plugin reports an error and stops if it does not.
| Setting | Meaning |
|---|---|
| Source | Device properties keeps the behaviour described above and is the default; Pulse program switches to the chirp. Existing configurations are unaffected. |
| Command | Pulse command carrying the chirp and its gates. |
| Reference | Optional second pulse command, played across the whole recorded window — baseline included — carrying a rectangular pulse at the centre of the sweep. Some setups need such a tone on a channel of their own — as a receiver local oscillator, or as something to phase the detection against. Its patterns are driven by the same rule as the chirp's. Leave it empty, which is the default, and no reference is programmed. It must name a command of its own; the chirp command itself is refused, since the two would collide on the same patterns. |
| Ref. ampl. | Amplitude of the reference pulse as a fraction of full scale, 0 to 1. It is set apart from the chirp amplitude because the channel the reference drives is a separate one, whose level has nothing to do with the excitation power. |
| Amplitude | Amplitude of the chirp as a fraction of full scale, 0 to 1. |
| Rep. time | How often the chirp is replayed. Zero derives it from the chirp length and the baseline together, leaving a fifth of the period as dead time; set it explicitly when the receiver or the resonator needs longer to recover. |
| Range | Frequency band the chirp may occupy. In the other excitation source these limits come from the excitation device's property; a pulse-program chirp has no such device, so the range is stated here and the centre frequency and sweep width take their limits, units and precision from it. A sweep that would leave the band is refused rather than allowed to alias. |
| Show sequence | Sends the programmed chirp sequence to the sequence view on every programming pass, the way an experiment does in tune mode. Off by default, since it costs a transfer each pass; turn it on to check that a chirp is being built and what else the command carries. |
| Chirp length | Duration of the chirp itself. It is the Time per Step field on the Settings page, which is relabelled while this source is selected. |
| Baseline | Quiet time recorded around the chirp: half of it before the chirp starts, half after it ends. The sequence, the acquisition trigger and the reference pulse all start together; only the chirp is pushed back by the first half, so the recording opens and closes on a receiver with no excitation on it. Each quiet stretch is half the baseline long, and the offset is averaged over the middle half of it — from an eighth to three eighths of the baseline, a quarter of the baseline on each side. The eighth at either edge is left out, so neither the switching transient at the start nor the ring-down at the end is counted. The average of the two gives the DC offset, which is subtracted from both quadratures before the demodulation. Zero, the default, records no baseline and takes the offset off the whole trace instead, chirp response included. Lengthen the transient trace to match: the window the digitizer has to cover is the chirp plus the baseline, and the plugin warns when it does not. The quiet stretches are not part of the frequency profile: what leaves the server on the first trace is the swept part alone, whatever the trace crop is set to, so its frequency axis stays the sweep range. They are visible on the acquired-channel traces, which are shown as recorded. It sits beside Chirp length in the Excitation Parameters group on the Settings page. |
The excitation-device fields are disabled while the pulse program drives the excitation, since the sweep no longer comes from them. Acquisition is triggered by the detect command of the pulse configuration, if one is defined.
Because the carrier is written into the samples, the highest frequency the chirp reaches must stay inside the usable band of the AWG. Choose the acquisition mode Chirp to have the plugin demodulate the recorded chirp against its own reference; with a bridge that already mixes the response down to baseband, an ordinary sweep mode works as well.
Settings
Excitation Parameters set the frequency grid: the Number of Steps across the band, the Time per Step, and the Zoom 1x Width, which is the full span at zoom 1x.
Acquisition Parameters describe the recorded transient: its length and time per point, the number of Averages, an Excitation Delay, given in points, being the delay between the start of the acquisition and the arrival of the excitation — the displayed trace is shifted by it, and in the chirp mode the demodulation reference is delayed by it as well, and a Filter Cutoff applied in the frequency domain. The Mixer frequency and bandwidth are used by the modes that demodulate digitally. Set Max to 0 dB normalizes the profile trace so its maximum sits at 0 dB; it does not touch the acquired channels on the second and third traces, which stay in volts.
| Mode | Description |
|---|---|
| Point-by-point, single point detection | One frequency is set, one value is read. Slowest, but works with any source and any detector. |
| Point-by-point, AVG(T) | One frequency is set and the recorded transient is averaged into a single point. |
| Point-by-point, AVG(ABS(I,Q)) → PWR | As above, but the magnitude of the two quadratures is averaged and converted to power. |
| Sweep, Trace detection | The source sweeps the whole band while one transient is recorded; the trace is the profile. |
| Sweep, Trace → PWR | The same, converted to power. |
| Sweep, ABS(I,Q) → PWR | Swept excitation with quadrature detection; the magnitude of I and Q is the profile. This is the usual choice with a quadrature bridge. |
| Chirp, DEMOD(chirp) → ABS(I,Q) → PWR | The recorded chirp is demodulated against a reference chirp generated with the same phase law, low-pass filtered with the Mixer bandwidth, and converted to magnitude. Use it when the digitizer records the chirp directly rather than a down-converted baseband signal. It accepts one channel or two: a pair is taken as the I and Q of a quadrature detector, while a single channel is a real recording of the chirp and is demodulated against the cosine and sine of the reference phase. Both give the same trace level. The second and third traces show the acquisition as it was recorded: the whole transient on the digitizer time base, in seconds, with no offset removal and no trace crop, so what is on screen is what the digitizer saw — the baseline, the chirp and whatever was recorded after it. Only the first trace is the frequency profile. With one channel the third trace, which has no quadrature to show, repeats the recording with its DC offset removed.The Mixer BW sets the low-pass that separates the demodulated response from what the multiplication leaves at twice the chirp frequency; left at zero it defaults to a quarter of the lowest chirp frequency. A narrow setting is not free: the filter realising it grows longer in proportion, and its first and last half-length ring, which appears as oscillation at both ends of an otherwise flat trace. Widen it until those ends settle, then narrow it only as far as noise requires. A single channel additionally requires the digitizer to sample above twice the highest chirp frequency — below that the image folds into the signal and the trace becomes unsteady, which a quadrature pair is immune to. |
| Sweep, MIX(f) → ABS(I,Q) → PWR | Swept excitation demodulated at the fixed Mixer frequency before the magnitude is taken. |
Baseline. A reference trace can be recorded with the resonator replaced by an open port or by a 50 Ohm load, and then subtracted from the live trace so that only the resonator's own response remains. Baselines can be saved and reloaded, and are resampled automatically when the sweep range changes. The correction is applied by the quadrature modes — Sweep, ABS(I,Q), Sweep, MIX(f) and Chirp — and has no effect in the point-by-point or plain trace modes.
Scripts
The Plugin Start Script runs when the sweep starts and the Plugin Stop Script when it stops. Both accept ordinary console commands, which makes them the place to switch a bridge into its tuning mode, set an attenuator, and put everything back afterwards. Independently of the stop script, the plugin assigns the center frequency it ends on to the console variable Frequency, so the resonance found here is available to whatever runs next.

