resonator

Simulation of the effect of the resonator on a pulse or computation of pulse shapes compensated for the resonator transfer function.

Syntax
[t,signal] = resonator(t0,signal0,mwFreq,nu,TransferFunction,'simulate')
[t,signal] = resonator(t0,signal0,mwFreq,nu0,QL,'simulate')

[t,signal] = resonator(t0,signal0,mwFreq,nu,TransferFunction,'compensate')
[t,signal] = resonator(t0,signal0,mwFreq,nu0,QL,'compensate')

... = resonator(...,Opt)
Description

This function simulates the effect of the resonator on the input signal shape or provides a signal compensated for the resonator transfer function that can be used to obtain the desired signal in the resonator.

The first two input arguments should contain the time axis (in microseconds) and signal (input signal for the option 'simulate', desired output signal for the option 'compensate').

The third input argument, mwFreq, is the center microwave frequency of the provided signal at the resonator (in GHz).

The resonator transfer function can be provided directly as frequency axis (nu in GHz) and transfer function (TransferFunction). If the transfer function input is real, it is interpreted as magnitude transfer function, if it is complex it is taken as the full transfer function (see below for details).

Alternatively, the resonator center frequency (nu0 in GHz) and the loaded Q-value (QL) can be provided to model the resonator frequency response based on the ideal transfer function for an RLC series circuit (see resonatorprofile for details).

The output contains the time axis data (in microseconds) and the distorted or adapted signal.

Compensation for resonator bandwidth limitations by sweep rate adaptation in frequency-swept pulses is implemented in pulse and activated by providing the resonator profile as Par.FrequencyResponse = [nu; TransferFunction] or by specifying the resonator center frequency and loaded Q-value in Par.ResonatorFrequency and Par.ResonatorQL, respectively, as well as the center microwave frequency in Par.mwFreq (see pulse documentation for details).

Additional calculation parameters can be provided in the Opt structure:

CutoffFactor
Relative cutoff level for pulse shapes modified by the resonator transfer function (default = 1/1000). This determines the length of the returned pulse shape and time axis if Opt.Resonator is used.
TimeStep
Time step for the definition of the waveform, in microseconds. If not given, it is automatically determined based on the Nyquist sampling criterion and the pulse frequency content.
OverSampleFactor
Oversampling factor for the automatic determination of the time step (default = 10).
N
Bandwidth multiplication factor used in the determination of the width of the frequency domain window considered for the Fourier convolution/deconvolution. The center frequency and bandwidth of the input signal are estimated from the magnitude FT and the width is set to Opt.N times the estimated bandwidth. (default = 20). Adjustment of this factor and of Opt.Window may be required in some cases to obtain the correct output signal using 'compensate'.
Window and alpha
Type of apodization window used on the frequency domain output data (default: 'gau' (Gaussian), see apowin for available options). Some apodization functions require an additional parameter to be specified in Opt.alpha (default: 0.6).
Examples

The distortion of a rectangular pulse by the resonator can be simulated as follows:

% Pulse
Par.tp = 0.100; % µs
[t,rectangular] = pulse(Par);

% Resonator
nu0 = 9.50; % GHz
QL = 150;
mwFreq = 9.50; % GHz

% Distorted pulse shape
[tOut,signalOut] = resonator(t,rectangular,mwFreq,nu0,QL,'simulate')

The output signal has rise and fall times determined by the resonator frequency and loaded Q-value.

The input pulse shape required to obtain an undistorted pulse can be obtained as follows:

% Pulse
Par.tp = 0.100; % µs
Par.Type = 'quartersin';
Par.trise = 0.005; % µs
[t,ideal] = pulse(Par);

% Resonator
nu0 = 9.50; % GHz
QL = 100;
mwFreq = 9.50; % GHz

% Predistorted pulse shape
[tIn,signalIn] = resonator(t,ideal,mwFreq,nu0,QL,'compensate');
Algorithm

Simulation of the effect of the resonator or predistortion of the pulse shape to account for the resonator transfer function is performed by Fourier convolution and deconvolution. If a complex frequency response is provided, the transfer function in the full frequency range is computed by extending the provided function with an ideal transfer function of a RLC series circuit:

[eqn]

where the loaded Q-value and the center frequency of the resonator are estimated by least-squares fitting. If the provided frequency response is real, it is assumed to correspond to the magnitude response and the phase response is derived in the defined frequency range using the procedure described in Doll, A., Pribitzer, S., Tschaggelar, R., Jeschke, G., Adiabatic and fast passage ultra-wideband inversion in pulsed EPR, J. Magn. Reson. 230, 27-39 (2013), DOI: 10.1016/j.jmr.2013.01.002. The transfer function is then again extended over the full frequency range as in the previous case. The distorted/corrected pulse shapes are obtained by inverse Fourier transform after multiplication/division of the Fourier transform of the pulse shape with the transfer function (see Kaufmann, T., Keller, T.J., Franck, J.M., Barnes, R.P., Glaser, S., Martinis, J.M., Han, S., DAC-board based X-band EPR spectrometer with arbitrary waveform control, J. Magn. Reson. 235, 95-108 (2013), DOI: 10.1016/j.jmr.2013.07.015 for details). If no time step is provided, an optimized time step is computed based on the frequency content of the returned pulse function.

See also

resonatorprofile, pulse, transmitter, rfmixer