createCWSignals
Generate array of CW signals from amplitude and phase.
Syntax
cw_signal = createCWSignal(t_array, freq, amp, phase) cw_signal = createCWSignal(t_array, freq, amp, phase, ramp_length)
Description
createCWSignals
generates a series of continuous wave (CW) signals based on the 1D or 2D input matrices amp
and phase
, where each signal is given by:
amp(i, j) .* sin(2 .* pi .* freq .* t_array + phase(i, j));To avoid startup transients, a cosine tapered up-ramp is applied to the beginning of the signal. By default, the length of this ramp is four periods of the wave. The up-ramp can be turned off by setting the
ramp_length
to 0.
Example:
% define sampling parameters f = 5e6; T = 1/f; Fs = 100e6; dt = 1/Fs; t_array = 0:dt:10*T; % define amplitude and phase amp = getWin(9, 'Gaussian'); phase = linspace(0, 2*pi, 9).'; % create signals and plot cw_signal = createCWSignals(t_array, f, amp, phase); stackedPlot(cw_signal);

Inputs
t_array |
1D vector of time points [s] |
freq |
frequency of the CW signal [Hz] |
amp |
1D or 2D matrix of amplitudes [au] |
phase |
1D or 2D matrix of phases [rad] |
Optional Inputs
ramp_length |
length of the up-ramp used to reduce start-up transients in periods (default = 4) |
Outputs
cw_signal |
matrix of CW signals |
See Also
extractAmpPhase
, toneBurst