IQPulse#

class iqm.pulse.playlist.instructions.IQPulse(duration, wave_i, wave_q, scale_i=1.0, scale_q=0.0, phase=0.0, modulation_frequency=0.0, phase_increment=0.0)#

Bases: Instruction

Play an upconverted pulse that contains real in-phase and quadrature waveforms.

Module: iqm.pulse.playlist.instructions

Attributes

modulation_frequency

Modulation frequency of the waveforms, in units of the sampling rate.

phase

Phase of the pulse relative to the channel frequency, in radians.

phase_increment

Relative phase increment to the phase in the carrier frequency of this pulse and all pulses that are played after it.

scale_i

Scaling factor for the I quadrature.

scale_q

Scaling factor for the Q quadrature.

wave_i

I quadrature envelope.

wave_q

Q quadrature envelope.

duration

Time duration of the instruction.

Methods

get_waveforms

Returns all the waveforms the Instruction contains.

validate

Validate the instruction attributes.

Parameters:
  • duration (int) –

  • wave_i (Waveform) –

  • wave_q (Waveform) –

  • scale_i (float) –

  • scale_q (float) –

  • phase (float) –

  • modulation_frequency (float) –

  • phase_increment (float) –

wave_i: Waveform#

I quadrature envelope.

wave_q: Waveform#

Q quadrature envelope.

scale_i: float = 1.0#

Scaling factor for the I quadrature.

scale_q: float = 0.0#

Scaling factor for the Q quadrature.

phase: float = 0.0#

Phase of the pulse relative to the channel frequency, in radians.

modulation_frequency: float = 0.0#

Modulation frequency of the waveforms, in units of the sampling rate. This modulation is additional to the channel frequency. The default value of 0.0 does not modulate. Note that the phase of this modulation resets for every instruction, that is, successive instances of the same modulated pulse are not phase coherent.

phase_increment: float = 0.0#

Relative phase increment to the phase in the carrier frequency of this pulse and all pulses that are played after it. Unit: rad.

validate()#

Validate the instruction attributes.

Raises:

ValueError – something about the instruction is not ok

get_waveforms()#

Returns all the waveforms the Instruction contains.

Return type:

tuple[Waveform, …]