class.excitation - moduleus/urx GitHub Wiki
Excitation applied to an element.
| UAC | URX | Parameter | Datatype | Description | 
|---|---|---|---|---|
| ✓ | hw_config | hw_config | Hardware configuration of the excitation. Stored as a raw objet. | |
| ✓ | ✓ | pulse_shape | string | Description the pulse shape (e.g., sinusoidal, square wave, chirp), including necessary parameters. | 
| ✓ | ✓ | sampling_frequency | double | Sampling frequency of the excitation waveform, in [Hz]. Default NaN. If waveform is not empty the sampling_frequency must be set to a real value. | 
| ✓ | ✓ | transmit_frequency | double | Transmit frequency, in [Hz]. Default NaN. | 
| ✓ | ✓ | waveform | Array of double | Vector containing the sampled excitation waveform, in [V]. | 
The following figure shows an example of excitation containing 2 periods of 5MHz of square wave with +/-80V amplitude, sampled at 100MSPS:

excitation : {
    pulse_shape : "square wave",
    waveform : [0, 0, 80, 80, 80, 80, 80, 80, 80, 0, 0, 0, -80, -80, -80, -80, -80, -80, -80, 0, 
                0, 0, 80, 80, 80, 80, 80, 80, 80, 0, 0, 0, -80, -80, -80, -80, -80, -80, -80, 0, 0]
    sampling_frequency : 100e6;
    transmit_frequency : 5e6; 
}
The figure has been generated using the MATLAB code bellow:
f0 = 5e6;
fs = 100e6;
t = 0:1/fs:2/f0;
excitation = 80 * [round(sin(2*pi*f0*t))];
stem(t, excitation);
grid on
title(sprintf("Excitation '%s' @ %.2fMHz", "square wave", f0/1e6))
xlabel("Time [s]"), ylabel("Amplitude [V]", 'Interpreter', 'none')
ylim([-100 100])
The following figure shows the timing relation between event, transmit_setup, wave and excitation:
acquisition | hw_config | wave