Source code for nirfmxcdma2k.sem_results

"""Provides methods to fetch and read the Sem measurement results."""

import functools

import nirfmxcdma2k.attributes as attributes
import nirfmxcdma2k.enums as enums
import nirfmxcdma2k.errors as errors
import nirfmxcdma2k.internal._helper as _helper


def _raise_if_disposed(f):
    """From https://stackoverflow.com/questions/5929107/decorators-with-parameters."""

    @functools.wraps(f)
    def aux(*xs, **kws):
        meas_obj = xs[0]  # parameter 0 is 'self' which is the measurement object
        if meas_obj._signal_obj.is_disposed:
            raise Exception("Cannot access a disposed Cdma2k signal configuration")
        return f(*xs, **kws)

    return aux


[docs] class SemResults(object): """Provides methods to fetch and read the Sem measurement results.""" def __init__(self, signal_obj): """Provides methods to fetch and read the Sem measurement results.""" self._signal_obj = signal_obj self._session_function_lock = signal_obj._session_function_lock self._interpreter = signal_obj._interpreter
[docs] @_raise_if_disposed def get_measurement_status(self, selector_string): r"""Indicates the overall measurement status based on the measurement limits, which are specified by the standard for each offset segment. You do not need to use a selector string to read this result for the default signal and result instance. Refer to the `Selector String <https://www.ni.com/docs/en-US/bundle/rfmx/page/selector-strings-net.html>`_ topic for information about the string syntax for named signals and named results. +--------------+----------------------------------------------------------------------------------------+ | Name (Value) | Description | +==============+========================================================================================+ | Fail (0) | The measurement fails according to the measurement limits specified by this standard. | +--------------+----------------------------------------------------------------------------------------+ | Pass (1) | The measurement passes according to the measurement limits specified by this standard. | +--------------+----------------------------------------------------------------------------------------+ Args: selector_string (string): Pass an empty string. Returns: Tuple (attr_val, error_code): attr_val (enums.SemMeasurementStatus): Indicates the overall measurement status based on the measurement limits, which are specified by the standard for each offset segment. error_code (int): Returns the status code of this method. The status code either indicates success or describes a warning condition. """ try: self._session_function_lock.enter_read_lock() updated_selector_string = _helper.validate_and_update_selector_string( selector_string, self._signal_obj ) attr_val, error_code = self._interpreter.get_attribute_i32( updated_selector_string, attributes.AttributeID.SEM_RESULTS_MEASUREMENT_STATUS.value ) attr_val = enums.SemMeasurementStatus(attr_val) except (KeyError, ValueError): raise errors.DriverTooNewError() # type: ignore finally: self._session_function_lock.exit_read_lock() return attr_val, error_code
[docs] @_raise_if_disposed def get_carrier_absolute_integrated_power(self, selector_string): r"""Gets the carrier power. The carrier power is the power centered at the center frequency and integrated over the carrier bandwidth of 1.23 MHz. This value is expressed in dBm. You do not need to use a selector string to read this result for the default signal and result instance. Refer to the `Selector String <https://www.ni.com/docs/en-US/bundle/rfmx/page/selector-strings-net.html>`_ topic for information about the string syntax for named signals and named results. Args: selector_string (string): Pass an empty string. Returns: Tuple (attr_val, error_code): attr_val (float): Returns the carrier power. The carrier power is the power centered at the center frequency and integrated over the carrier bandwidth of 1.23 MHz. This value is expressed in dBm. error_code (int): Returns the status code of this method. The status code either indicates success or describes a warning condition. """ try: self._session_function_lock.enter_read_lock() updated_selector_string = _helper.validate_and_update_selector_string( selector_string, self._signal_obj ) attr_val, error_code = self._interpreter.get_attribute_f64( updated_selector_string, attributes.AttributeID.SEM_RESULTS_CARRIER_ABSOLUTE_INTEGRATED_POWER.value, ) finally: self._session_function_lock.exit_read_lock() return attr_val, error_code
[docs] @_raise_if_disposed def get_lower_offset_measurement_status(self, selector_string): r"""Indicates the lower offset segment measurement status based on measurement limits specified by the standard. Use "offset< <format type="monospace-italic">n</format> >" as the `Selector String <https://www.ni.com/docs/en-US/bundle/rfmx/page/selector-strings-net.html>`_ to read this result. +--------------+------------------------------------------------------------------------------------------------------------+ | Name (Value) | Description | +==============+============================================================================================================+ | Fail (0) | The lower offset segment measurement fails according to the measurement limits specified by the standard. | +--------------+------------------------------------------------------------------------------------------------------------+ | Pass (1) | The lower offset segment measurement passes according to the measurement limits specified by the standard. | +--------------+------------------------------------------------------------------------------------------------------------+ Args: selector_string (string): Pass an empty string. Returns: Tuple (attr_val, error_code): attr_val (enums.SemLowerOffsetMeasurementStatus): Indicates the lower offset segment measurement status based on measurement limits specified by the standard. error_code (int): Returns the status code of this method. The status code either indicates success or describes a warning condition. """ try: self._session_function_lock.enter_read_lock() updated_selector_string = _helper.validate_and_update_selector_string( selector_string, self._signal_obj ) attr_val, error_code = self._interpreter.get_attribute_i32( updated_selector_string, attributes.AttributeID.SEM_RESULTS_LOWER_OFFSET_MEASUREMENT_STATUS.value, ) attr_val = enums.SemLowerOffsetMeasurementStatus(attr_val) except (KeyError, ValueError): raise errors.DriverTooNewError() # type: ignore finally: self._session_function_lock.exit_read_lock() return attr_val, error_code
[docs] @_raise_if_disposed def get_lower_offset_absolute_integrated_power(self, selector_string): r"""Gets the absolute power measured in the lower (negative) offset segment. This value is expressed in dBm. Use "offset< <format type="monospace-italic">n</format> >" as the `Selector String <https://www.ni.com/docs/en-US/bundle/rfmx/page/selector-strings-net.html>`_ to read this result. Args: selector_string (string): Pass an empty string. Returns: Tuple (attr_val, error_code): attr_val (float): Returns the absolute power measured in the lower (negative) offset segment. This value is expressed in dBm. error_code (int): Returns the status code of this method. The status code either indicates success or describes a warning condition. """ try: self._session_function_lock.enter_read_lock() updated_selector_string = _helper.validate_and_update_selector_string( selector_string, self._signal_obj ) attr_val, error_code = self._interpreter.get_attribute_f64( updated_selector_string, attributes.AttributeID.SEM_RESULTS_LOWER_OFFSET_ABSOLUTE_INTEGRATED_POWER.value, ) finally: self._session_function_lock.exit_read_lock() return attr_val, error_code
[docs] @_raise_if_disposed def get_lower_offset_relative_integrated_power(self, selector_string): r"""Gets the power measured in the lower (negative) offset segment relative to the carrier absolute integrated power. This value is expressed in dB. Use "offset< <format type="monospace-italic">n</format> >" as the `Selector String <https://www.ni.com/docs/en-US/bundle/rfmx/page/selector-strings-net.html>`_ to read this result. Args: selector_string (string): Pass an empty string. Returns: Tuple (attr_val, error_code): attr_val (float): Returns the power measured in the lower (negative) offset segment relative to the carrier absolute integrated power. This value is expressed in dB. error_code (int): Returns the status code of this method. The status code either indicates success or describes a warning condition. """ try: self._session_function_lock.enter_read_lock() updated_selector_string = _helper.validate_and_update_selector_string( selector_string, self._signal_obj ) attr_val, error_code = self._interpreter.get_attribute_f64( updated_selector_string, attributes.AttributeID.SEM_RESULTS_LOWER_OFFSET_RELATIVE_INTEGRATED_POWER.value, ) finally: self._session_function_lock.exit_read_lock() return attr_val, error_code
[docs] @_raise_if_disposed def get_lower_offset_absolute_peak_power(self, selector_string): r"""Gets the peak power measured in the lower (negative) offset segment. This value is expressed in dBm. Use "offset< <format type="monospace-italic">n</format> >" as the `Selector String <https://www.ni.com/docs/en-US/bundle/rfmx/page/selector-strings-net.html>`_ to read this result. Args: selector_string (string): Pass an empty string. Returns: Tuple (attr_val, error_code): attr_val (float): Returns the peak power measured in the lower (negative) offset segment. This value is expressed in dBm. error_code (int): Returns the status code of this method. The status code either indicates success or describes a warning condition. """ try: self._session_function_lock.enter_read_lock() updated_selector_string = _helper.validate_and_update_selector_string( selector_string, self._signal_obj ) attr_val, error_code = self._interpreter.get_attribute_f64( updated_selector_string, attributes.AttributeID.SEM_RESULTS_LOWER_OFFSET_ABSOLUTE_PEAK_POWER.value, ) finally: self._session_function_lock.exit_read_lock() return attr_val, error_code
[docs] @_raise_if_disposed def get_lower_offset_relative_peak_power(self, selector_string): r"""Gets the peak power measured in the lower (negative) offset segment relative to the carrier absolute integrated power. This value is expressed in dB. Use "offset< <format type="monospace-italic">n</format> >" as the `Selector String <https://www.ni.com/docs/en-US/bundle/rfmx/page/selector-strings-net.html>`_ to read this result. Args: selector_string (string): Pass an empty string. Returns: Tuple (attr_val, error_code): attr_val (float): Returns the peak power measured in the lower (negative) offset segment relative to the carrier absolute integrated power. This value is expressed in dB. error_code (int): Returns the status code of this method. The status code either indicates success or describes a warning condition. """ try: self._session_function_lock.enter_read_lock() updated_selector_string = _helper.validate_and_update_selector_string( selector_string, self._signal_obj ) attr_val, error_code = self._interpreter.get_attribute_f64( updated_selector_string, attributes.AttributeID.SEM_RESULTS_LOWER_OFFSET_RELATIVE_PEAK_POWER.value, ) finally: self._session_function_lock.exit_read_lock() return attr_val, error_code
[docs] @_raise_if_disposed def get_lower_offset_peak_frequency(self, selector_string): r"""Gets the frequency at which the peak power occurred in the lower offset segment. This value is expressed in Hz. Use "offset< <format type="monospace-italic">n</format> >" as the `Selector String <https://www.ni.com/docs/en-US/bundle/rfmx/page/selector-strings-net.html>`_ to read this result. Args: selector_string (string): Pass an empty string. Returns: Tuple (attr_val, error_code): attr_val (float): Returns the frequency at which the peak power occurred in the lower offset segment. This value is expressed in Hz. error_code (int): Returns the status code of this method. The status code either indicates success or describes a warning condition. """ try: self._session_function_lock.enter_read_lock() updated_selector_string = _helper.validate_and_update_selector_string( selector_string, self._signal_obj ) attr_val, error_code = self._interpreter.get_attribute_f64( updated_selector_string, attributes.AttributeID.SEM_RESULTS_LOWER_OFFSET_PEAK_FREQUENCY.value, ) finally: self._session_function_lock.exit_read_lock() return attr_val, error_code
[docs] @_raise_if_disposed def get_lower_offset_margin(self, selector_string): r"""Gets the margin from the limit mask value specified by the standard. This value is expressed in dB. Margin is defined as the minimum difference between the spectrum and the closest limit mask, which can be absolute or relative. Use "offset< <format type="monospace-italic">n</format> >" as the `Selector String <https://www.ni.com/docs/en-US/bundle/rfmx/page/selector-strings-net.html>`_ to read this result. +-----------------------------------+------------------------------------------------------------------------------------------------------+ | Setting Specified by the Standard | Margin Description | +===================================+======================================================================================================+ | Absolute | Returns the margin with reference to the absolute limit mask. | +-----------------------------------+------------------------------------------------------------------------------------------------------+ | Relative | Returns the margin with reference to the relative limit mask. | +-----------------------------------+------------------------------------------------------------------------------------------------------+ | Abs AND Rel | Returns the margin as the maximum of the margin referenced to the absolute and relative limit masks. | +-----------------------------------+------------------------------------------------------------------------------------------------------+ | Abs OR Rel | Returns the margin as the minimum of the margin referenced to the absolute and relative limit masks. | +-----------------------------------+------------------------------------------------------------------------------------------------------+ Args: selector_string (string): Pass an empty string. Returns: Tuple (attr_val, error_code): attr_val (float): Returns the margin from the limit mask value specified by the standard. This value is expressed in dB. Margin is defined as the minimum difference between the spectrum and the closest limit mask, which can be absolute or relative. error_code (int): Returns the status code of this method. The status code either indicates success or describes a warning condition. """ try: self._session_function_lock.enter_read_lock() updated_selector_string = _helper.validate_and_update_selector_string( selector_string, self._signal_obj ) attr_val, error_code = self._interpreter.get_attribute_f64( updated_selector_string, attributes.AttributeID.SEM_RESULTS_LOWER_OFFSET_MARGIN.value, ) finally: self._session_function_lock.exit_read_lock() return attr_val, error_code
[docs] @_raise_if_disposed def get_lower_offset_margin_absolute_power(self, selector_string): r"""Gets the absolute power at which the margin occurred in the lower (negative) offset segment. This value is expressed in dBm. Use "offset< <format type="monospace-italic">n</format> >" as the `Selector String <https://www.ni.com/docs/en-US/bundle/rfmx/page/selector-strings-net.html>`_ to read this result. Args: selector_string (string): Pass an empty string. Returns: Tuple (attr_val, error_code): attr_val (float): Returns the absolute power at which the margin occurred in the lower (negative) offset segment. This value is expressed in dBm. error_code (int): Returns the status code of this method. The status code either indicates success or describes a warning condition. """ try: self._session_function_lock.enter_read_lock() updated_selector_string = _helper.validate_and_update_selector_string( selector_string, self._signal_obj ) attr_val, error_code = self._interpreter.get_attribute_f64( updated_selector_string, attributes.AttributeID.SEM_RESULTS_LOWER_OFFSET_MARGIN_ABSOLUTE_POWER.value, ) finally: self._session_function_lock.exit_read_lock() return attr_val, error_code
[docs] @_raise_if_disposed def get_lower_offset_margin_relative_power(self, selector_string): r"""Gets the power at which the margin occurred in the lower (negative) offset segment relative to the carrier absolute integrated power. This value is expressed in dB. Use "offset< <format type="monospace-italic">n</format> >" as the `Selector String <https://www.ni.com/docs/en-US/bundle/rfmx/page/selector-strings-net.html>`_ to read this result. Args: selector_string (string): Pass an empty string. Returns: Tuple (attr_val, error_code): attr_val (float): Returns the power at which the margin occurred in the lower (negative) offset segment relative to the carrier absolute integrated power. This value is expressed in dB. error_code (int): Returns the status code of this method. The status code either indicates success or describes a warning condition. """ try: self._session_function_lock.enter_read_lock() updated_selector_string = _helper.validate_and_update_selector_string( selector_string, self._signal_obj ) attr_val, error_code = self._interpreter.get_attribute_f64( updated_selector_string, attributes.AttributeID.SEM_RESULTS_LOWER_OFFSET_MARGIN_RELATIVE_POWER.value, ) finally: self._session_function_lock.exit_read_lock() return attr_val, error_code
[docs] @_raise_if_disposed def get_lower_offset_margin_frequency(self, selector_string): r"""Gets the frequency at which the margin occurred in the lower (negative) offset segment. This value is expressed in Hz. Use "offset< <format type="monospace-italic">n</format> >" as the `Selector String <https://www.ni.com/docs/en-US/bundle/rfmx/page/selector-strings-net.html>`_ to read this result. Args: selector_string (string): Pass an empty string. Returns: Tuple (attr_val, error_code): attr_val (float): Returns the frequency at which the margin occurred in the lower (negative) offset segment. This value is expressed in Hz. error_code (int): Returns the status code of this method. The status code either indicates success or describes a warning condition. """ try: self._session_function_lock.enter_read_lock() updated_selector_string = _helper.validate_and_update_selector_string( selector_string, self._signal_obj ) attr_val, error_code = self._interpreter.get_attribute_f64( updated_selector_string, attributes.AttributeID.SEM_RESULTS_LOWER_OFFSET_MARGIN_FREQUENCY.value, ) finally: self._session_function_lock.exit_read_lock() return attr_val, error_code
[docs] @_raise_if_disposed def get_upper_offset_measurement_status(self, selector_string): r"""Indicates the upper offset measurement status based on measurement limits set by the standard. Use "offset< <format type="monospace-italic">n</format> >" as the `Selector String <https://www.ni.com/docs/en-US/bundle/rfmx/page/selector-strings-net.html>`_ to read this result. +--------------+-------------------------------------------------------------------------------------------------------------+ | Name (Value) | Description | +==============+=============================================================================================================+ | Fail (0) | The lower offset segment measurement fails according to the measurement limits specified by this standard. | +--------------+-------------------------------------------------------------------------------------------------------------+ | Pass (1) | The lower offset segment measurement passes according to the measurement limits specified by this standard. | +--------------+-------------------------------------------------------------------------------------------------------------+ Args: selector_string (string): Pass an empty string. Returns: Tuple (attr_val, error_code): attr_val (enums.SemUpperOffsetMeasurementStatus): Indicates the upper offset measurement status based on measurement limits set by the standard. error_code (int): Returns the status code of this method. The status code either indicates success or describes a warning condition. """ try: self._session_function_lock.enter_read_lock() updated_selector_string = _helper.validate_and_update_selector_string( selector_string, self._signal_obj ) attr_val, error_code = self._interpreter.get_attribute_i32( updated_selector_string, attributes.AttributeID.SEM_RESULTS_UPPER_OFFSET_MEASUREMENT_STATUS.value, ) attr_val = enums.SemUpperOffsetMeasurementStatus(attr_val) except (KeyError, ValueError): raise errors.DriverTooNewError() # type: ignore finally: self._session_function_lock.exit_read_lock() return attr_val, error_code
[docs] @_raise_if_disposed def get_upper_offset_absolute_integrated_power(self, selector_string): r"""Gets the power measured in the upper (positive) offset segment. This value is expressed in dB. Use "offset< <format type="monospace-italic">n</format> >" as the `Selector String <https://www.ni.com/docs/en-US/bundle/rfmx/page/selector-strings-net.html>`_ to read this result. Args: selector_string (string): Pass an empty string. Returns: Tuple (attr_val, error_code): attr_val (float): Returns the power measured in the upper (positive) offset segment. This value is expressed in dB. error_code (int): Returns the status code of this method. The status code either indicates success or describes a warning condition. """ try: self._session_function_lock.enter_read_lock() updated_selector_string = _helper.validate_and_update_selector_string( selector_string, self._signal_obj ) attr_val, error_code = self._interpreter.get_attribute_f64( updated_selector_string, attributes.AttributeID.SEM_RESULTS_UPPER_OFFSET_ABSOLUTE_INTEGRATED_POWER.value, ) finally: self._session_function_lock.exit_read_lock() return attr_val, error_code
[docs] @_raise_if_disposed def get_upper_offset_relative_integrated_power(self, selector_string): r"""Gets the power measured in the upper (positive) offset segment relative to the carrier absolute integrated power. This value is expressed in dB. Use "offset< <format type="monospace-italic">n</format> >" as the `Selector String <https://www.ni.com/docs/en-US/bundle/rfmx/page/selector-strings-net.html>`_ to read this result. Args: selector_string (string): Pass an empty string. Returns: Tuple (attr_val, error_code): attr_val (float): Returns the power measured in the upper (positive) offset segment relative to the carrier absolute integrated power. This value is expressed in dB. error_code (int): Returns the status code of this method. The status code either indicates success or describes a warning condition. """ try: self._session_function_lock.enter_read_lock() updated_selector_string = _helper.validate_and_update_selector_string( selector_string, self._signal_obj ) attr_val, error_code = self._interpreter.get_attribute_f64( updated_selector_string, attributes.AttributeID.SEM_RESULTS_UPPER_OFFSET_RELATIVE_INTEGRATED_POWER.value, ) finally: self._session_function_lock.exit_read_lock() return attr_val, error_code
[docs] @_raise_if_disposed def get_upper_offset_absolute_peak_power(self, selector_string): r"""Gets the peak power measured in the upper (positive) offset segment. This value is expressed in dBm. Use "offset< <format type="monospace-italic">n</format> >" as the `Selector String <https://www.ni.com/docs/en-US/bundle/rfmx/page/selector-strings-net.html>`_ to read this result. Args: selector_string (string): Pass an empty string. Returns: Tuple (attr_val, error_code): attr_val (float): Returns the peak power measured in the upper (positive) offset segment. This value is expressed in dBm. error_code (int): Returns the status code of this method. The status code either indicates success or describes a warning condition. """ try: self._session_function_lock.enter_read_lock() updated_selector_string = _helper.validate_and_update_selector_string( selector_string, self._signal_obj ) attr_val, error_code = self._interpreter.get_attribute_f64( updated_selector_string, attributes.AttributeID.SEM_RESULTS_UPPER_OFFSET_ABSOLUTE_PEAK_POWER.value, ) finally: self._session_function_lock.exit_read_lock() return attr_val, error_code
[docs] @_raise_if_disposed def get_upper_offset_relative_peak_power(self, selector_string): r"""Gets the peak power measured in the upper (positive) offset segment relative to the carrier absolute integrated power. This value is expressed in dB. Use "offset< <format type="monospace-italic">n</format> >" as the `Selector String <https://www.ni.com/docs/en-US/bundle/rfmx/page/selector-strings-net.html>`_ to read this result. Args: selector_string (string): Pass an empty string. Returns: Tuple (attr_val, error_code): attr_val (float): Returns the peak power measured in the upper (positive) offset segment relative to the carrier absolute integrated power. This value is expressed in dB. error_code (int): Returns the status code of this method. The status code either indicates success or describes a warning condition. """ try: self._session_function_lock.enter_read_lock() updated_selector_string = _helper.validate_and_update_selector_string( selector_string, self._signal_obj ) attr_val, error_code = self._interpreter.get_attribute_f64( updated_selector_string, attributes.AttributeID.SEM_RESULTS_UPPER_OFFSET_RELATIVE_PEAK_POWER.value, ) finally: self._session_function_lock.exit_read_lock() return attr_val, error_code
[docs] @_raise_if_disposed def get_upper_offset_peak_frequency(self, selector_string): r"""Gets the frequency at which the peak power occurred in the upper offset segment. This value is expressed in Hz. Use "offset< <format type="monospace-italic">n</format> >" as the `Selector String <https://www.ni.com/docs/en-US/bundle/rfmx/page/selector-strings-net.html>`_ to read this result. Args: selector_string (string): Pass an empty string. Returns: Tuple (attr_val, error_code): attr_val (float): Returns the frequency at which the peak power occurred in the upper offset segment. This value is expressed in Hz. error_code (int): Returns the status code of this method. The status code either indicates success or describes a warning condition. """ try: self._session_function_lock.enter_read_lock() updated_selector_string = _helper.validate_and_update_selector_string( selector_string, self._signal_obj ) attr_val, error_code = self._interpreter.get_attribute_f64( updated_selector_string, attributes.AttributeID.SEM_RESULTS_UPPER_OFFSET_PEAK_FREQUENCY.value, ) finally: self._session_function_lock.exit_read_lock() return attr_val, error_code
[docs] @_raise_if_disposed def get_upper_offset_margin(self, selector_string): r"""Gets the margin from the limit mask value specified by the standard. This value is expressed in dB. Margin is defined as the minimum difference between the spectrum and the closest limit mask (absolute or relative). Use "offset< <format type="monospace-italic">n</format> >" as the `Selector String <https://www.ni.com/docs/en-US/bundle/rfmx/page/selector-strings-net.html>`_ to read this result. +-----------------------------------+------------------------------------------------------------------------------------------------------+ | Setting Specified by the Standard | Margin Description | +===================================+======================================================================================================+ | Absolute | Returns the margin with reference to the absolute limit mask. | +-----------------------------------+------------------------------------------------------------------------------------------------------+ | Relative | Returns the margin with reference to the relative limit mask. | +-----------------------------------+------------------------------------------------------------------------------------------------------+ | Abs AND Rel | Returns the margin as the maximum of the margin referenced to the absolute and relative limit masks. | +-----------------------------------+------------------------------------------------------------------------------------------------------+ | Abs OR Rel | Returns the margin as the minimum of the margin referenced to the absolute and relative limit masks. | +-----------------------------------+------------------------------------------------------------------------------------------------------+ Args: selector_string (string): Pass an empty string. Returns: Tuple (attr_val, error_code): attr_val (float): Returns the margin from the limit mask value specified by the standard. This value is expressed in dB. Margin is defined as the minimum difference between the spectrum and the closest limit mask (absolute or relative). error_code (int): Returns the status code of this method. The status code either indicates success or describes a warning condition. """ try: self._session_function_lock.enter_read_lock() updated_selector_string = _helper.validate_and_update_selector_string( selector_string, self._signal_obj ) attr_val, error_code = self._interpreter.get_attribute_f64( updated_selector_string, attributes.AttributeID.SEM_RESULTS_UPPER_OFFSET_MARGIN.value, ) finally: self._session_function_lock.exit_read_lock() return attr_val, error_code
[docs] @_raise_if_disposed def get_upper_offset_margin_absolute_power(self, selector_string): r"""Gets the power at which the margin occurred in the upper (positive) offset segment. This value is expressed in dBm. Use "offset< <format type="monospace-italic">n</format> >" as the `Selector String <https://www.ni.com/docs/en-US/bundle/rfmx/page/selector-strings-net.html>`_ to read this result. Args: selector_string (string): Pass an empty string. Returns: Tuple (attr_val, error_code): attr_val (float): Returns the power at which the margin occurred in the upper (positive) offset segment. This value is expressed in dBm. error_code (int): Returns the status code of this method. The status code either indicates success or describes a warning condition. """ try: self._session_function_lock.enter_read_lock() updated_selector_string = _helper.validate_and_update_selector_string( selector_string, self._signal_obj ) attr_val, error_code = self._interpreter.get_attribute_f64( updated_selector_string, attributes.AttributeID.SEM_RESULTS_UPPER_OFFSET_MARGIN_ABSOLUTE_POWER.value, ) finally: self._session_function_lock.exit_read_lock() return attr_val, error_code
[docs] @_raise_if_disposed def get_upper_offset_margin_relative_power(self, selector_string): r"""Gets the power at which the margin occurred in the upper (positive) offset segment. This value is expressed in dBm. Use "offset< <format type="monospace-italic">n</format> >" as the `Selector String <https://www.ni.com/docs/en-US/bundle/rfmx/page/selector-strings-net.html>`_ to read this result. Args: selector_string (string): Pass an empty string. Returns: Tuple (attr_val, error_code): attr_val (float): Returns the power at which the margin occurred in the upper (positive) offset segment. This value is expressed in dBm. error_code (int): Returns the status code of this method. The status code either indicates success or describes a warning condition. """ try: self._session_function_lock.enter_read_lock() updated_selector_string = _helper.validate_and_update_selector_string( selector_string, self._signal_obj ) attr_val, error_code = self._interpreter.get_attribute_f64( updated_selector_string, attributes.AttributeID.SEM_RESULTS_UPPER_OFFSET_MARGIN_RELATIVE_POWER.value, ) finally: self._session_function_lock.exit_read_lock() return attr_val, error_code
[docs] @_raise_if_disposed def get_upper_offset_margin_frequency(self, selector_string): r"""Gets the frequency at which the margin occurred in the upper (positive) offset. This value is expressed in Hz. Use "offset< <format type="monospace-italic">n</format> >" as the `Selector String <https://www.ni.com/docs/en-US/bundle/rfmx/page/selector-strings-net.html>`_ to read this result. Args: selector_string (string): Pass an empty string. Returns: Tuple (attr_val, error_code): attr_val (float): Returns the frequency at which the margin occurred in the upper (positive) offset. This value is expressed in Hz. error_code (int): Returns the status code of this method. The status code either indicates success or describes a warning condition. """ try: self._session_function_lock.enter_read_lock() updated_selector_string = _helper.validate_and_update_selector_string( selector_string, self._signal_obj ) attr_val, error_code = self._interpreter.get_attribute_f64( updated_selector_string, attributes.AttributeID.SEM_RESULTS_UPPER_OFFSET_MARGIN_FREQUENCY.value, ) finally: self._session_function_lock.exit_read_lock() return attr_val, error_code
[docs] @_raise_if_disposed def fetch_carrier_absolute_integrated_power(self, selector_string, timeout): r"""Returns the absolute carrier integrated power of the SEM measurement. Args: selector_string (string): This parameter specifies a `Selector String <https://www.ni.com/docs/en-US/bundle/rfmx/page/selector-strings-net.html>`_ comprising of result name. Examples: "" "signal::sig1" "result::r1" "signal::sig1/result::r1" You can use the :py:meth:`build_result_string` method to build the selector string. timeout (float): This parameter specifies the timeout for fetching the specified measurement. This value is expressed in seconds. Set this value to an appropriate time, longer than expected for fetching the measurement. A value of -1 specifies that the method waits until the measurement is complete. The default value is 10. Returns: Tuple (carrier_absolute_integrated_power, error_code): carrier_absolute_integrated_power (float): This parameter returns the averaged integrated channel power measured in the specified integration bandwidth. This value is expressed in dBm. error_code (int): Returns the status code of this method. The status code either indicates success or describes a warning condition. """ try: self._session_function_lock.enter_read_lock() _helper.validate_not_none(selector_string, "selector_string") updated_selector_string = _helper.validate_and_update_selector_string( selector_string, self._signal_obj ) carrier_absolute_integrated_power, error_code = ( self._interpreter.sem_fetch_carrier_absolute_integrated_power( updated_selector_string, timeout ) ) finally: self._session_function_lock.exit_read_lock() return carrier_absolute_integrated_power, error_code
[docs] @_raise_if_disposed def fetch_lower_offset_margin_array(self, selector_string, timeout): r"""Returns the array of measurement status and margins from the limit line measured in the lower offset segments. Args: selector_string (string): This parameter specifies a `Selector String <https://www.ni.com/docs/en-US/bundle/rfmx/page/selector-strings-net.html>`_ comprising of result name. Examples: "" "signal::sig1" "result::r1" "signal::sig1/result::r1" You can use the :py:meth:`build_result_string` method to build the selector string. timeout (float): This parameter specifies the timeout for fetching the specified measurement. This value is expressed in seconds. Set this value to an appropriate time, longer than expected for fetching the measurement. A value of -1 specifies that the method waits until the measurement is complete. The default value is 10. Returns: Tuple (measurement_status, margin, margin_frequency, margin_absolute_power, margin_relative_power, error_code): measurement_status (enums.SemLowerOffsetMeasurementStatus): This parameter returns the array of lower offset measurement status based on measurement limits and the failure criteria specified by the standard. +--------------+----------------------------------------------------------------------------------------+ | Name (value) | Description | +==============+========================================================================================+ | Fail (0) | The measurement fails according to the measurement limits specified by this standard. | +--------------+----------------------------------------------------------------------------------------+ | Pass (1) | The measurement passes according to the measurement limits specified by this standard. | +--------------+----------------------------------------------------------------------------------------+ margin (float): This parameter returns the array of margins from the limit mask value specified by the standard. This value is expressed in dB. Margin is defined as the maximum difference between the spectrum and the limit mask. margin_frequency (float): This parameter returns the array of frequencies at which the margin occurred in each lower (negative) offset segment. This value is expressed in Hz. margin_absolute_power (float): This parameter returns the array of powers at which the margin occurred in each lower (negative) offset segment relative to the carrier absolute integrated power. This value is expressed in dB. margin_relative_power (float): This parameter returns the array of powers at which the margin occurred in the lower (negative) offset segment. This value is expressed in dBm. error_code (int): Returns the status code of this method. The status code either indicates success or describes a warning condition. """ try: self._session_function_lock.enter_read_lock() _helper.validate_not_none(selector_string, "selector_string") updated_selector_string = _helper.validate_and_update_selector_string( selector_string, self._signal_obj ) ( measurement_status, margin, margin_frequency, margin_absolute_power, margin_relative_power, error_code, ) = self._interpreter.sem_fetch_lower_offset_margin_array( updated_selector_string, timeout ) finally: self._session_function_lock.exit_read_lock() return ( measurement_status, margin, margin_frequency, margin_absolute_power, margin_relative_power, error_code, )
[docs] @_raise_if_disposed def fetch_lower_offset_margin(self, selector_string, timeout): r"""Returns the measurement status and margin from the limit line measured in the lower offset segment. Use "offset<n>" as the selector string to read parameters from this method. Args: selector_string (string): This parameter specifies a `Selector String <https://www.ni.com/docs/en-US/bundle/rfmx/page/selector-strings-net.html>`_ comprising of result name, and offset number. Examples: "offset0" "signal::sig1/offset0" "result::r1/offset0" "signal::sig1/result::r1/offset0" You can use the :py:meth:`build_offset_string` method to build the selector string. timeout (float): This parameter specifies the timeout for fetching the specified measurement. This value is expressed in seconds. Set this value to an appropriate time, longer than expected for fetching the measurement. A value of -1 specifies that the method waits until the measurement is complete. The default value is 10. Returns: Tuple (measurement_status, margin, margin_frequency, margin_absolute_power, margin_relative_power, error_code): measurement_status (enums.SemLowerOffsetMeasurementStatus): This parameter returns the lower offset measurement status based on measurement limits and the failure criteria specified by the standard. +--------------+----------------------------------------------------------------------------------------+ | Name (value) | Description | +==============+========================================================================================+ | Fail (0) | The measurement fails according to the measurement limits specified by this standard. | +--------------+----------------------------------------------------------------------------------------+ | Pass (1) | The measurement passes according to the measurement limits specified by this standard. | +--------------+----------------------------------------------------------------------------------------+ margin (float): This parameter returns the margin from the limit mask value specified by the standard. This value is expressed in dB. Margin is defined as the minimum difference between the spectrum and the closest limit mask (absolute or relative). margin_frequency (float): This parameter returns the frequency at which the margin occurred in the lower (negative) offset. This value is expressed in Hz. margin_absolute_power (float): This parameter returns the power at which the margin occurred in the lower (negative) offset segment relative to the carrier absolute integrated power. This value is expressed in dB. margin_relative_power (float): This parameter returns the power at which the margin occurred in the lower (negative) offset segment. This value is expressed in dBm. error_code (int): Returns the status code of this method. The status code either indicates success or describes a warning condition. """ try: self._session_function_lock.enter_read_lock() _helper.validate_not_none(selector_string, "selector_string") updated_selector_string = _helper.validate_and_update_selector_string( selector_string, self._signal_obj ) ( measurement_status, margin, margin_frequency, margin_absolute_power, margin_relative_power, error_code, ) = self._interpreter.sem_fetch_lower_offset_margin(updated_selector_string, timeout) finally: self._session_function_lock.exit_read_lock() return ( measurement_status, margin, margin_frequency, margin_absolute_power, margin_relative_power, error_code, )
[docs] @_raise_if_disposed def fetch_lower_offset_power_array(self, selector_string, timeout): r"""Returns the arrays of lower offset segment power measurements. Args: selector_string (string): This parameter specifies a `Selector String <https://www.ni.com/docs/en-US/bundle/rfmx/page/selector-strings-net.html>`_ comprising of result name. Examples: "" "signal::sig1" "result::r1" "signal::sig1/result::r1" You can use the :py:meth:`build_result_string` method to build the selector string. timeout (float): This parameter specifies the timeout for fetching the specified measurement. This value is expressed in seconds. Set this value to an appropriate time, longer than expected for fetching the measurement. A value of -1 specifies that the method waits until the measurement is complete. The default value is 10. Returns: Tuple (absolute_integrated_power, relative_integrated_power, absolute_peak_power, peak_frequency, relative_peak_power, error_code): absolute_integrated_power (float): This parameter returns the array of lower (negative) offset segment powers measured. relative_integrated_power (float): This parameter returns the array of powers in each lower (negative) offset segment relative to the carrier absolute integrated power. absolute_peak_power (float): This parameter returns the array of peak powers measured in each lower (negative) offset segment. The power is measured in dBm. peak_frequency (float): This parameter returns the array of peak powers in the lower (negative) offset segment relative to the carrier absolute integrated power. relative_peak_power (float): This parameter returns the array of frequencies at which the peak power occurred in each offset segment. This value is expressed in Hz. error_code (int): Returns the status code of this method. The status code either indicates success or describes a warning condition. """ try: self._session_function_lock.enter_read_lock() _helper.validate_not_none(selector_string, "selector_string") updated_selector_string = _helper.validate_and_update_selector_string( selector_string, self._signal_obj ) ( absolute_integrated_power, relative_integrated_power, absolute_peak_power, peak_frequency, relative_peak_power, error_code, ) = self._interpreter.sem_fetch_lower_offset_power_array( updated_selector_string, timeout ) finally: self._session_function_lock.exit_read_lock() return ( absolute_integrated_power, relative_integrated_power, absolute_peak_power, peak_frequency, relative_peak_power, error_code, )
[docs] @_raise_if_disposed def fetch_lower_offset_power(self, selector_string, timeout): r"""Returns the lower offset segment power measurements. Use "offset<n>" as the selector string to read parameters from this method. Args: selector_string (string): This parameter specifies a `Selector String <https://www.ni.com/docs/en-US/bundle/rfmx/page/selector-strings-net.html>`_ comprising of result name, and offset number. Examples: "offset0" "signal::sig1/offset0" "result::r1/offset0" "signal::sig1/result::r1/offset0" You can use the :py:meth:`build_offset_string` method to build the selector string. timeout (float): This parameter specifies the timeout for fetching the specified measurement. This value is expressed in seconds. Set this value to an appropriate time, longer than expected for fetching the measurement. A value of -1 specifies that the method waits until the measurement is complete. The default value is 10. Returns: Tuple (absolute_integrated_power, relative_integrated_power, absolute_peak_power, peak_frequency, relative_peak_power, error_code): absolute_integrated_power (float): This parameter returns the lower (negative) offset segment power measured. relative_integrated_power (float): This parameter returns the power in the lower (negative) offset segment relative to the carrier absolute integrated power. absolute_peak_power (float): This parameter returns the peak power measured in the lower (negative) offset segment. The power is measured in dBm. peak_frequency (float): This parameter returns the peak power in the lower (negative) offset segment relative to the carrier absolute integrated power. relative_peak_power (float): This parameter returns the frequency at which the peak power occurred in the offset segment. This value is expressed in Hz. error_code (int): Returns the status code of this method. The status code either indicates success or describes a warning condition. """ try: self._session_function_lock.enter_read_lock() _helper.validate_not_none(selector_string, "selector_string") updated_selector_string = _helper.validate_and_update_selector_string( selector_string, self._signal_obj ) ( absolute_integrated_power, relative_integrated_power, absolute_peak_power, peak_frequency, relative_peak_power, error_code, ) = self._interpreter.sem_fetch_lower_offset_power(updated_selector_string, timeout) finally: self._session_function_lock.exit_read_lock() return ( absolute_integrated_power, relative_integrated_power, absolute_peak_power, peak_frequency, relative_peak_power, error_code, )
[docs] @_raise_if_disposed def fetch_measurement_status(self, selector_string, timeout): r"""Returns the SEM measurement status. Args: selector_string (string): This parameter specifies a `Selector String <https://www.ni.com/docs/en-US/bundle/rfmx/page/selector-strings-net.html>`_ comprising of result name. Examples: "" "signal::sig1" "result::r1" "signal::sig1/result::r1" You can use the :py:meth:`build_result_string` method to build the selector string. timeout (float): This parameter specifies the timeout for fetching the specified measurement. This value is expressed in seconds. Set this value to an appropriate time, longer than expected for fetching the measurement. A value of -1 specifies that the method waits until the measurement is complete. The default value is 10. Returns: Tuple (measurement_status, error_code): measurement_status (enums.SemMeasurementStatus): This parameter returns the overall measurement status based on the measurement limits which are specified by the standard for each offset segment. +--------------+----------------------------------------------------------------------------------------+ | Name (value) | Description | +==============+========================================================================================+ | Fail (0) | The measurement fails according to the measurement limits specified by this standard. | +--------------+----------------------------------------------------------------------------------------+ | Pass (1) | The measurement passes according to the measurement limits specified by this standard. | +--------------+----------------------------------------------------------------------------------------+ error_code (int): Returns the status code of this method. The status code either indicates success or describes a warning condition. """ try: self._session_function_lock.enter_read_lock() _helper.validate_not_none(selector_string, "selector_string") updated_selector_string = _helper.validate_and_update_selector_string( selector_string, self._signal_obj ) measurement_status, error_code = self._interpreter.sem_fetch_measurement_status( updated_selector_string, timeout ) finally: self._session_function_lock.exit_read_lock() return measurement_status, error_code
[docs] @_raise_if_disposed def fetch_upper_offset_margin_array(self, selector_string, timeout): r"""Returns the measurement status and margin from the limit line measured in the upper offset segments. Args: selector_string (string): This parameter specifies a `Selector String <https://www.ni.com/docs/en-US/bundle/rfmx/page/selector-strings-net.html>`_ comprising of result name. Examples: "" "signal::sig1" "result::r1" "signal::sig1/result::r1" You can use the :py:meth:`build_result_string` method to build the selector string. timeout (float): This parameter specifies the timeout for fetching the specified measurement. This value is expressed in seconds. Set this value to an appropriate time, longer than expected for fetching the measurement. A value of -1 specifies that the method waits until the measurement is complete. The default value is 10. Returns: Tuple (measurement_status, margin, margin_frequency, margin_absolute_power, margin_relative_power, error_code): measurement_status (enums.SemUpperOffsetMeasurementStatus): This parameter returns the array of upper offset measurement statuses based on measurement limits and the failure criteria specified by the standard. +--------------+----------------------------------------------------------------------------------------+ | Name (value) | Description | +==============+========================================================================================+ | Fail (0) | The measurement fails according to the measurement limits specified by this standard. | +--------------+----------------------------------------------------------------------------------------+ | Pass (1) | The measurement passes according to the measurement limits specified by this standard. | +--------------+----------------------------------------------------------------------------------------+ margin (float): This parameter returns the array of margins from the limit mask value specified by the standard. This value is expressed in dB. Margin is defined as the minimum difference between the spectrum and the closest limit mask (absolute or relative). margin_frequency (float): This parameter returns the array of frequencies at which the margin occurred in each upper (positive) offset. This value is expressed in Hz. margin_absolute_power (float): This parameter returns the array of powers at which the margin occurred in each upper (positive) offset segment. This value is expressed in dBm. margin_relative_power (float): This parameter returns the array of powers at which the margin occurred in each upper (positive) offset segment relative to the carrier absolute integrated power. This value is expressed in dB. error_code (int): Returns the status code of this method. The status code either indicates success or describes a warning condition. """ try: self._session_function_lock.enter_read_lock() _helper.validate_not_none(selector_string, "selector_string") updated_selector_string = _helper.validate_and_update_selector_string( selector_string, self._signal_obj ) ( measurement_status, margin, margin_frequency, margin_absolute_power, margin_relative_power, error_code, ) = self._interpreter.sem_fetch_upper_offset_margin_array( updated_selector_string, timeout ) finally: self._session_function_lock.exit_read_lock() return ( measurement_status, margin, margin_frequency, margin_absolute_power, margin_relative_power, error_code, )
[docs] @_raise_if_disposed def fetch_upper_offset_margin(self, selector_string, timeout): r"""Returns the measurement status and margin from the limit line measured in the upper offset segment. Use "offset<n>" as the selector string to read parameters from this method. Args: selector_string (string): This parameter specifies a `Selector String <https://www.ni.com/docs/en-US/bundle/rfmx/page/selector-strings-net.html>`_ comprising of result name, and offset number. Examples: "offset0" "signal::sig1/offset0" "result::r1/offset0" "signal::sig1/result::r1/offset0" You can use the :py:meth:`build_offset_string` method to build the selector string. timeout (float): This parameter specifies the timeout for fetching the specified measurement. This value is expressed in seconds. Set this value to an appropriate time, longer than expected for fetching the measurement. A value of -1 specifies that the method waits until the measurement is complete. The default value is 10. Returns: Tuple (measurement_status, margin, margin_frequency, margin_absolute_power, margin_relative_power, error_code): measurement_status (enums.SemUpperOffsetMeasurementStatus): This parameter indicates the upper offset measurement status based on measurement limits and the failure criteria specified by the standard. +--------------+----------------------------------------------------------------------------------------+ | Name (value) | Description | +==============+========================================================================================+ | Fail (0) | The measurement fails according to the measurement limits specified by this standard. | +--------------+----------------------------------------------------------------------------------------+ | Pass (1) | The measurement passes according to the measurement limits specified by this standard. | +--------------+----------------------------------------------------------------------------------------+ margin (float): This parameter returns the margin from the limit mask value specified by the standard. This value is expressed in dB. Margin is defined as the minimum difference between the spectrum and the closest limit mask (absolute or relative). margin_frequency (float): This parameter returns the frequency at which the margin occurred in the upper (positive) offset. This value is expressed in Hz. margin_absolute_power (float): This parameter returns the power at which the margin occurred in the upper (positive) offset segment. This value is expressed in dBm. margin_relative_power (float): This parameter returns the power at which the margin occurred in the upper (positive) offset segment relative to the carrier absolute integrated power. This value is expressed in dB. error_code (int): Returns the status code of this method. The status code either indicates success or describes a warning condition. """ try: self._session_function_lock.enter_read_lock() _helper.validate_not_none(selector_string, "selector_string") updated_selector_string = _helper.validate_and_update_selector_string( selector_string, self._signal_obj ) ( measurement_status, margin, margin_frequency, margin_absolute_power, margin_relative_power, error_code, ) = self._interpreter.sem_fetch_upper_offset_margin(updated_selector_string, timeout) finally: self._session_function_lock.exit_read_lock() return ( measurement_status, margin, margin_frequency, margin_absolute_power, margin_relative_power, error_code, )
[docs] @_raise_if_disposed def fetch_upper_offset_power_array(self, selector_string, timeout): r"""Returns the arrays of upper offset segment power measurements. Args: selector_string (string): This parameter specifies a `Selector String <https://www.ni.com/docs/en-US/bundle/rfmx/page/selector-strings-net.html>`_ comprising of result name. Examples: "" "signal::sig1" "result::r1" "signal::sig1/result::r1" You can use the :py:meth:`build_result_string` method to build the selector string. timeout (float): This parameter specifies the timeout for fetching the specified measurement. This value is expressed in seconds. Set this value to an appropriate time, longer than expected for fetching the measurement. A value of -1 specifies that the method waits until the measurement is complete. The default value is 10. Returns: Tuple (absolute_integrated_power, relative_integrated_power, absolute_peak_power, peak_frequency, relative_peak_power, error_code): absolute_integrated_power (float): This parameter returns the array of upper (positive) offset segment powers measured. relative_integrated_power (float): This parameter returns the array of powers measured in each upper (positive) offset segment relative to the carrier absolute integrated power. absolute_peak_power (float): This parameter returns the array of peak powers measured in each upper (positive) offset segment. The power is measured in dBm. peak_frequency (float): This parameter returns the array of frequencies at which the peak power occurred in each offset segment. This value is expressed in Hz. relative_peak_power (float): This parameter returns the array of peak powers measured in each upper (positive) offset segment relative to the carrier absolute integrated power. error_code (int): Returns the status code of this method. The status code either indicates success or describes a warning condition. """ try: self._session_function_lock.enter_read_lock() _helper.validate_not_none(selector_string, "selector_string") updated_selector_string = _helper.validate_and_update_selector_string( selector_string, self._signal_obj ) ( absolute_integrated_power, relative_integrated_power, absolute_peak_power, peak_frequency, relative_peak_power, error_code, ) = self._interpreter.sem_fetch_upper_offset_power_array( updated_selector_string, timeout ) finally: self._session_function_lock.exit_read_lock() return ( absolute_integrated_power, relative_integrated_power, absolute_peak_power, peak_frequency, relative_peak_power, error_code, )
[docs] @_raise_if_disposed def fetch_upper_offset_power(self, selector_string, timeout): r"""Returns the upper offset segment power measurements. Use "offset<n>" as the selector string to read parameters from this method. Args: selector_string (string): This parameter specifies a `Selector String <https://www.ni.com/docs/en-US/bundle/rfmx/page/selector-strings-net.html>`_ comprising of result name, and offset number. Examples: "offset0" "signal::sig1/offset0" "result::r1/offset0" "signal::sig1/result::r1/offset0" You can use the :py:meth:`build_offset_string` method to build the selector string. timeout (float): This parameter specifies the timeout for fetching the specified measurement. This value is expressed in seconds. Set this value to an appropriate time, longer than expected for fetching the measurement. A value of -1 specifies that the method waits until the measurement is complete. The default value is 10. Returns: Tuple (absolute_integrated_power, relative_integrated_power, absolute_peak_power, peak_frequency, relative_peak_power, error_code): absolute_integrated_power (float): This parameter returns the upper (positive) offset segment power measured. relative_integrated_power (float): This parameter returns the power in the upper (positive) offset segment relative to the carrier absolute integrated power. absolute_peak_power (float): This parameter returns the peak power measured in the upper (positive) offset segment. The power is measured in dBm. peak_frequency (float): This parameter returns the frequency at which the peak power occurred in the offset segment. This value is expressed in Hz. relative_peak_power (float): This parameter returns the peak power in the upper (positive) offset segment relative to the carrier absolute integrated power. error_code (int): Returns the status code of this method. The status code either indicates success or describes a warning condition. """ try: self._session_function_lock.enter_read_lock() _helper.validate_not_none(selector_string, "selector_string") updated_selector_string = _helper.validate_and_update_selector_string( selector_string, self._signal_obj ) ( absolute_integrated_power, relative_integrated_power, absolute_peak_power, peak_frequency, relative_peak_power, error_code, ) = self._interpreter.sem_fetch_upper_offset_power(updated_selector_string, timeout) finally: self._session_function_lock.exit_read_lock() return ( absolute_integrated_power, relative_integrated_power, absolute_peak_power, peak_frequency, relative_peak_power, error_code, )
[docs] @_raise_if_disposed def fetch_spectrum(self, selector_string, timeout, spectrum, relative_mask, absolute_mask): r"""Returns the spectrum used for the SEM measurement. Args: selector_string (string): This parameter specifies a `Selector String <https://www.ni.com/docs/en-US/bundle/rfmx/page/selector-strings-net.html>`_ comprising of result name. Examples: "" "signal::sig1" "result::r1" "signal::sig1/result::r1" You can use the :py:meth:`build_result_string` method to build the selector string. timeout (float): This parameter specifies the timeout for fetching the specified measurement. This value is expressed in seconds. Set this value to an appropriate time, longer than expected for fetching the measurement. A value of -1 specifies that the method waits until the measurement is complete. The default value is 10. spectrum (numpy.float32): This parameter returns the array of averaged powers measured at each frequency bin. This value is expressed in dBm. relative_mask (numpy.float32): This parameter returns the array of averaged powers measured at each frequency bin. This value is expressed in dBm. absolute_mask (numpy.float32): This parameter returns the array of averaged powers measured at each frequency bin. This value is expressed in dBm. Returns: Tuple (x0, dx, error_code): x0 (float): This parameter returns the start frequency. This value is expressed in Hz. dx (float): This parameter returns the frequency bin spacing. This value is expressed in Hz. error_code (int): Returns the status code of this method. The status code either indicates success or describes a warning condition. """ try: self._session_function_lock.enter_read_lock() _helper.validate_not_none(selector_string, "selector_string") updated_selector_string = _helper.validate_and_update_selector_string( selector_string, self._signal_obj ) x0, dx, error_code = self._interpreter.sem_fetch_spectrum( updated_selector_string, timeout, spectrum, relative_mask, absolute_mask ) finally: self._session_function_lock.exit_read_lock() return x0, dx, error_code