Skip to content

Python Toolkit API UHFQA

zhinst.toolkit.driver.devices.uhfqa.UHFQA(serial, device_type, session)

Bases: UHFLI

High-level driver for the Zurich Instruments UHFQA.

qas: t.Sequence[QAS] cached property

A Sequence of QAS.

Returns:

Name Type Description
NodeList Sequence[QAS]

List of QAS nodes.

enable_qccs_mode()

Configure the instrument to work with PQSC.

This method sets the reference clock source and DIO settings correctly to connect the instrument to the PQSC.

Info

Use factory_reset to reset the changes if necessary

zhinst.toolkit.driver.devices.uhfqa.QAS(root, tree)

Bases: Node

Quantum Analyzer Channel for the UHFQA.

Parameters:

Name Type Description Default
root NodeTree

Underlying node tree.

required
tree tuple

tree (node path as tuple) of the corresponding node.

required

integration: Integration cached property

Integration.

Returns:

Name Type Description
Integration Integration

Integration

adjusted_delay(value=None)

Set or get the adjustment in the quantum analyzer delay.

Adjusts the delay that defines the time at which the integration starts in relation to the trigger signal of the weighted integration units.

Depending if the deskew matrix is bypassed there exists a different default delay. This function can be used to add an additional delay to the default delay.

Parameters:

Name Type Description Default
value Optional[int]

Number of additional samples to adjust the delay. If not specified this function will just return the additional delay currently set.

None

Returns:

Type Description
int

The adjustment in delay in units of samples.

Raises:

Type Description
ValueError

If the adjusted quantum analyzer delay is outside the allowed range of 1021 samples.

crosstalk_matrix(matrix=None)

Sets or gets the crosstalk matrix of the UHFQA as a 2D array.

Parameters:

Name Type Description Default
matrix Numpy2DArray

The 2D matrix used in the digital signal processing path to compensate for crosstalk between the different channels. The given matrix can also be a part of the entire 10 x 10 matrix. Its maximum dimensions are 10 x 10 (default: None).

None

Returns:

Type Description
Optional[Numpy2DArray]

If no argument is given the method returns the current

Optional[Numpy2DArray]

crosstalk matrix as a 2D numpy array.

Raises:

Type Description
ValueError

If the matrix size exceeds the maximum size of 10 x 10

zhinst.toolkit.driver.devices.uhfqa.Integration(root, tree)

Bases: Node

Integration part for the UHFQA.

Parameters:

Name Type Description Default
root NodeTree

Underlying node tree.

required
tree tuple

tree (node path as tuple) of the corresponding node.

required

write_integration_weights(weights)

Upload complex integration weights.

The weight functions are applied to the real and imaginary part of the input signal. In the hardware the weights are implemented as 17-bit integers.

Parameters:

Name Type Description Default
weights Union[Waveforms, dict]

Dictionary containing the weight functions, where keys correspond to the indices of the integration weights to be configured.

required
Note

Does not raise an error when sample limit is exceeded, but applies only the maximum number of samples. Please refer to LabOne node documentation for the number of maximum integration weight samples.

Note

This function calls both /qas/n/integration/weights/n/real and /qas/n/integration/weights/n/imag nodes.

If only real or imaginary part is defined, the number of defined samples from the other one is zeroed.