Pattern: Shape Generator

Introduced in version 3.8.0

When shape selection is Expression with 5 parameters, the pulse shape will be generated from the provided expression.

Variables and functions are complex. Calculations are performed with time resolution provided by AWG. IMPORTANT: Trigonometric functions are defined in fractions of 2*pi, not radians, e.g. sin(0.25) = 1. Hyperbolic functions have standard definitions.

Built-in variables

Built-in functions

Introduced in version 3.8.7

chirp sweeps the instantaneous frequency from -fw/2 at x = 0 to +fw/2 at x = tp, which is the phase of the built-in Chirp shape. Keep the carrier out of it (3 arguments) and write it as exp(j*par1*t) when the pulse has to stay phase coherent with the rest of the sequence — the sweep itself is referenced to the pulse start, t0, while the carrier is referenced to t.

wurst is that sweep multiplied by the WURST amplitude 1-|cos(pi*x/tp)|^n, reproducing the built-in WURST shape. The envelope is zero at both pulse edges and flattens near the top as n grows; n is limited to the 1…100 range of the built-in shape. Carrier handling is the same as for chirp. Setting fw to 0 removes the sweep and leaves the bare envelope, which is useful as a soft-edged replacement for a square pulse.

Example:

exp(j*par1*t) * sin(0.5*t0/tp) - IQ RF pulse sin(par1*t) * gaussian(t0, 0.5*tp, 0.1*tp) - Gaussian RF pulse exp(j*par1*t) * sinc(t0, tp/2, tp) - Sinc RF pulse exp(j*par1*t) * chirp(t0, par2, tp) - chirp, par1 carrier, par2 sweep width chirp(t0, par1, par2, tp) - chirp, phase referenced to the pulse gaussian(t0, tp/2, tp/6) * exp(j*par1*t) * chirp(t0, par2, tp) - apodized chirp exp(j*par1*t) * wurst(t0, par2, tp, 20) - WURST, par1 carrier, par2 sweep width wurst(t0, par1, par2, tp, 20) - WURST, phase referenced to the pulse exp(j*par1*t) * wurst(t0, 0, tp, 20) - WURST envelope only, no sweep

See also

PPL and Pulse Engine