qctrlqua.add_pulse_to_config(pulse_name, channel_name, i_signal, q_signal, config, intermediate_frequency=None)

Add a pulse to a QUA config dictionary.


  • pulse_name (str) – The name of the pulse.
  • channel_name (str) – The name of the channel, typically corresponding to a specific carrier frequency.
  • i_signal (list or np.ndarray) – The I quadrature of the pulse at 1 ns sampling rate.
  • q_signal (list or np.ndarray) – The Q quadrature of the pulse at 1 ns sampling rate.
  • config (dict) – The main configuration dictionary, containing all parameters of the Operator-X (OPX).
  • intermediate_frequency (float , optional) – The intermediate frequency of the channel in MHz. If provided, this value overrides the intermediate frequency of the config dictionary. Defaults to None, which means that the original value of the intermediary frequency is not modified if it’s already present.


Updated config dictionary with the new pulses included.

Return type



ValueError – If the maximum amplitude of I or Q of any pulse is more than 0.49.

Was this useful?