qctrlqua.add_pulse_to_config(pulse_name: str, channel_name: str, i_signal: Union[List[float], numpy.ndarray], q_signal: Union[List[float], numpy.ndarray], config: Dict, intermediate_frequency: Optional[float] = None) → Dict

Adds a pulse to the QUA config.

  • pulse_name (str) – Name of the pulse.

  • channel_name (str) – Name of the channel, typically corresponding to a specific carrier frequency.

  • i_signal (list or ndarray) – Contains I quadrature of the pulse at 1ns sampling rate

  • q_signal (list or ndarray) – Contains Q quadrature of the pulse at 1ns sampling rate

  • config (dict) – The main config that contains 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 original config dictionary. By default it is 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.