Source code for nirfmxgsm.modacc_results

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

import functools

import nirfmxgsm.attributes as attributes
import nirfmxgsm.enums as enums
import nirfmxgsm.errors as errors
import nirfmxgsm.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 Gsm signal configuration")
        return f(*xs, **kws)

    return aux


[docs] class ModAccResults(object): """Provides methods to fetch and read the ModAcc measurement results.""" def __init__(self, signal_obj): """Provides methods to fetch and read the ModAcc 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_evm_mean_rms_evm(self, selector_string): r"""Gets the mean of RMS values of EVM over all the measured time slots. This value is expressed as a percentage. The attribute returns this result for EDGE/EGPRS measurements. You do not need to use a `Selector String <https://www.ni.com/docs/en-US/bundle/rfmx/page/selector-strings-net.html>`_ to configure or read this attribute for the default signal and result instances. Refer to the Selector String 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 mean of RMS values of EVM over all the measured time slots. This value is expressed as a percentage. The attribute returns this result for EDGE/EGPRS measurements. 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.MODACC_RESULTS_EVM_MEAN_RMS_EVM.value, ) finally: self._session_function_lock.exit_read_lock() return attr_val, error_code
[docs] @_raise_if_disposed def get_evm_maximum_rms_evm(self, selector_string): r"""Gets the maximum of RMS values of EVM over all the measured time slots. This value is expressed as a percentage. The attribute returns this result for EDGE/EGPRS measurements. You do not need to use a `Selector String <https://www.ni.com/docs/en-US/bundle/rfmx/page/selector-strings-net.html>`_ to read this result for the default signal and result instances. Refer to the Selector String 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 maximum of RMS values of EVM over all the measured time slots. This value is expressed as a percentage. The attribute returns this result for EDGE/EGPRS measurements. 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.MODACC_RESULTS_EVM_MAXIMUM_RMS_EVM.value, ) finally: self._session_function_lock.exit_read_lock() return attr_val, error_code
[docs] @_raise_if_disposed def get_evm_mean_peak_evm(self, selector_string): r"""Gets the mean of the peak EVM values over all the measured time slots. This value is expressed as a percentage. The attribute returns this result for EDGE/EGPRS measurements. You do not need to use a `Selector String <https://www.ni.com/docs/en-US/bundle/rfmx/page/selector-strings-net.html>`_ to read this result for the default signal and result instances. Refer to the Selector String 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 mean of the peak EVM values over all the measured time slots. This value is expressed as a percentage. The attribute returns this result for EDGE/EGPRS measurements. 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.MODACC_RESULTS_EVM_MEAN_PEAK_EVM.value, ) finally: self._session_function_lock.exit_read_lock() return attr_val, error_code
[docs] @_raise_if_disposed def get_evm_maximum_peak_evm(self, selector_string): r"""Gets the maximum of the peak EVM values over all the measured time slots. This value is expressed as a percentage. The attribute returns this result for EDGE/EGPRS measurements. You do not need to use a `Selector String <https://www.ni.com/docs/en-US/bundle/rfmx/page/selector-strings-net.html>`_ to read this result for the default signal and result instances. Refer to the Selector String 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 maximum of the peak EVM values over all the measured time slots. This value is expressed as a percentage. The attribute returns this result for EDGE/EGPRS measurements. 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.MODACC_RESULTS_EVM_MAXIMUM_PEAK_EVM.value, ) finally: self._session_function_lock.exit_read_lock() return attr_val, error_code
[docs] @_raise_if_disposed def get_evm_95th_percentile_evm(self, selector_string): r"""Gets the EVM value at which no more than 5% of the symbols have an EVM exceeding this value. This value is expressed as a percentage. The attribute returns this result for EDGE/EGPRS measurements. You do not need to use a `Selector String <https://www.ni.com/docs/en-US/bundle/rfmx/page/selector-strings-net.html>`_ to read this result for the default signal and result instances. Refer to the Selector String 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 EVM value at which no more than 5% of the symbols have an EVM exceeding this value. This value is expressed as a percentage. The attribute returns this result for EDGE/EGPRS measurements. 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.MODACC_RESULTS_EVM_95TH_PERCENTILE_EVM.value, ) finally: self._session_function_lock.exit_read_lock() return attr_val, error_code
[docs] @_raise_if_disposed def get_evm_peak_evm_symbol(self, selector_string): r"""Gets the symbol number in the useful portion of the burst corresponding to :py:attr:`~nirfmxgsm.attributes.AttributeID.MODACC_RESULTS_EVM_MAXIMUM_PEAK_EVM` result. The attribute returns this result for ModAcc EDGE/EGPRS measurements. You do not need to use a `Selector String <https://www.ni.com/docs/en-US/bundle/rfmx/page/selector-strings-net.html>`_ to read this result for the default signal and result instances. Refer to the Selector String 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 (int): Returns the symbol number in the useful portion of the burst corresponding to :py:attr:`~nirfmxgsm.attributes.AttributeID.MODACC_RESULTS_EVM_MAXIMUM_PEAK_EVM` result. The attribute returns this result for ModAcc EDGE/EGPRS measurements. 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.MODACC_RESULTS_EVM_PEAK_EVM_SYMBOL.value, ) finally: self._session_function_lock.exit_read_lock() return attr_val, error_code
[docs] @_raise_if_disposed def get_evm_mean_magnitude_error(self, selector_string): r"""Gets the mean of RMS values of magnitude error over all the measured time slots. This value is expressed as a percentage. The attribute returns this result for EDGE/EGPRS measurements. You do not need to use a `Selector String <https://www.ni.com/docs/en-US/bundle/rfmx/page/selector-strings-net.html>`_ to read this result for the default signal and result instances. Refer to the Selector String 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 mean of RMS values of magnitude error over all the measured time slots. This value is expressed as a percentage. The attribute returns this result for EDGE/EGPRS measurements. 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.MODACC_RESULTS_EVM_MEAN_MAGNITUDE_ERROR.value, ) finally: self._session_function_lock.exit_read_lock() return attr_val, error_code
[docs] @_raise_if_disposed def get_evm_maximum_magnitude_error(self, selector_string): r"""Gets the maximum of RMS values of magnitude error over all the measured time slots. This value is expressed as a percentage. The attribute returns this result for EDGE/EGPRS measurements. You do not need to use a `Selector String <https://www.ni.com/docs/en-US/bundle/rfmx/page/selector-strings-net.html>`_ to read this result for the default signal and result instances. Refer to the Selector String 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 maximum of RMS values of magnitude error over all the measured time slots. This value is expressed as a percentage. The attribute returns this result for EDGE/EGPRS measurements. 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.MODACC_RESULTS_EVM_MAXIMUM_MAGNITUDE_ERROR.value, ) finally: self._session_function_lock.exit_read_lock() return attr_val, error_code
[docs] @_raise_if_disposed def get_evm_mean_peak_magnitude_error(self, selector_string): r"""Gets the mean of peak magnitude error values over all the measured time slots. This result is returned while performing ModAcc measurement on EDGE/EGPRS. This value is measured as a percentage. You do not need to use a `Selector String <https://www.ni.com/docs/en-US/bundle/rfmx/page/selector-strings-net.html>`_ to read this result for the default signal and result instances. Refer to the Selector String 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 mean of peak magnitude error values over all the measured time slots. This result is returned while performing ModAcc measurement on EDGE/EGPRS. This value is measured as a percentage. 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.MODACC_RESULTS_EVM_MEAN_PEAK_MAGNITUDE_ERROR.value, ) finally: self._session_function_lock.exit_read_lock() return attr_val, error_code
[docs] @_raise_if_disposed def get_evm_maximum_peak_magnitude_error(self, selector_string): r"""Gets the maximum of peak magnitude error values over all the measured time slots. This result is returned while performing ModAcc measurement on EDGE/EGPRS. This value is measured as a percentage. You do not need to use a `Selector String <https://www.ni.com/docs/en-US/bundle/rfmx/page/selector-strings-net.html>`_ to read this result for the default signal and result instances. Refer to the Selector String 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 maximum of peak magnitude error values over all the measured time slots. This result is returned while performing ModAcc measurement on EDGE/EGPRS. This value is measured as a percentage. 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.MODACC_RESULTS_EVM_MAXIMUM_PEAK_MAGNITUDE_ERROR.value, ) finally: self._session_function_lock.exit_read_lock() return attr_val, error_code
[docs] @_raise_if_disposed def get_evm_95th_percentile_magnitude_error(self, selector_string): r"""Gets the measured magnitude error value multiplied by 100, at which, no more than 5 percent of the symbols have magnitude error exceeding this value. This result is returned while performing ModAcc measurement on EDGE/EGPRS. This value is measured as a percentage. You do not need to use a `Selector String <https://www.ni.com/docs/en-US/bundle/rfmx/page/selector-strings-net.html>`_ to read this result for the default signal and result instances. Refer to the Selector String 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 measured magnitude error value multiplied by 100, at which, no more than 5 percent of the symbols have magnitude error exceeding this value. This result is returned while performing ModAcc measurement on EDGE/EGPRS. This value is measured as a percentage. 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.MODACC_RESULTS_EVM_95TH_PERCENTILE_MAGNITUDE_ERROR.value, ) finally: self._session_function_lock.exit_read_lock() return attr_val, error_code
[docs] @_raise_if_disposed def get_evm_mean_phase_error(self, selector_string): r"""Gets the mean of RMS values of phase error over all the measured time slots. This value is expressed in degrees. The attribute returns this result for EDGE/EGPRS measurements. You do not need to use a `Selector String <https://www.ni.com/docs/en-US/bundle/rfmx/page/selector-strings-net.html>`_ to read this result for the default signal and result instances. Refer to the Selector String 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 mean of RMS values of phase error over all the measured time slots. This value is expressed in degrees. The attribute returns this result for EDGE/EGPRS measurements. 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.MODACC_RESULTS_EVM_MEAN_PHASE_ERROR.value, ) finally: self._session_function_lock.exit_read_lock() return attr_val, error_code
[docs] @_raise_if_disposed def get_evm_maximum_phase_error(self, selector_string): r"""Gets the maximum of the RMS values of phase error over all the measured time slots. This value is expressed in degrees. The attribute returns this result for EDGE/EGPRS measurements. You do not need to use a `Selector String <https://www.ni.com/docs/en-US/bundle/rfmx/page/selector-strings-net.html>`_ to read this result for the default signal and result instances. Refer to the Selector String 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 maximum of the RMS values of phase error over all the measured time slots. This value is expressed in degrees. The attribute returns this result for EDGE/EGPRS measurements. 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.MODACC_RESULTS_EVM_MAXIMUM_PHASE_ERROR.value, ) finally: self._session_function_lock.exit_read_lock() return attr_val, error_code
[docs] @_raise_if_disposed def get_evm_mean_peak_phase_error(self, selector_string): r"""Gets the mean of peak phase error values over all the measured time slots. This result is returned while performing ModAcc measurement on EDGE/EGPRS. This value is measured in degrees. You do not need to use a `Selector String <https://www.ni.com/docs/en-US/bundle/rfmx/page/selector-strings-net.html>`_ to read this result for the default signal and result instances. Refer to the Selector String topic for information about the string syntax for named signals and named results. &amp;gt; Args: selector_string (string): Pass an empty string. Returns: Tuple (attr_val, error_code): attr_val (float): Returns the mean of peak phase error values over all the measured time slots. This result is returned while performing ModAcc measurement on EDGE/EGPRS. This value is measured in degrees. 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.MODACC_RESULTS_EVM_MEAN_PEAK_PHASE_ERROR.value, ) finally: self._session_function_lock.exit_read_lock() return attr_val, error_code
[docs] @_raise_if_disposed def get_evm_maximum_peak_phase_error(self, selector_string): r"""Gets the maximum of peak phase error values over all the measured time slots. This result is returned while performing ModAcc measurement on EDGE/EGPRS. This value is measured in degrees. You do not need to use a `Selector String <https://www.ni.com/docs/en-US/bundle/rfmx/page/selector-strings-net.html>`_ to read this result for the default signal and result instances. Refer to the Selector String 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 maximum of peak phase error values over all the measured time slots. This result is returned while performing ModAcc measurement on EDGE/EGPRS. This value is measured in degrees. 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.MODACC_RESULTS_EVM_MAXIMUM_PEAK_PHASE_ERROR.value, ) finally: self._session_function_lock.exit_read_lock() return attr_val, error_code
[docs] @_raise_if_disposed def get_evm_95th_percentile_phase_error(self, selector_string): r"""Gets the measured phase error value multiplied by 100, at which, no more than 5 percent of the symbols have phase error exceeding this value. This result is returned while performing ModAcc measurement on EDGE/EGPRS. This value is measured in degrees. You do not need to use a `Selector String <https://www.ni.com/docs/en-US/bundle/rfmx/page/selector-strings-net.html>`_ to read this result for the default signal and result instances. Refer to the Selector String 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 measured phase error value multiplied by 100, at which, no more than 5 percent of the symbols have phase error exceeding this value. This result is returned while performing ModAcc measurement on EDGE/EGPRS. This value is measured in degrees. 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.MODACC_RESULTS_EVM_95TH_PERCENTILE_PHASE_ERROR.value, ) finally: self._session_function_lock.exit_read_lock() return attr_val, error_code
[docs] @_raise_if_disposed def get_evm_mean_frequency_error(self, selector_string): r"""Gets the mean of the frequency error values over all the measured time slots. This value is expressed in Hz. The attribute returns this result for EDGE/EGPRS measurements. You do not need to use a `Selector String <https://www.ni.com/docs/en-US/bundle/rfmx/page/selector-strings-net.html>`_ to read this result for the default signal and result instances. Refer to the Selector String 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 mean of the frequency error values over all the measured time slots. This value is expressed in Hz. The attribute returns this result for EDGE/EGPRS measurements. 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.MODACC_RESULTS_EVM_MEAN_FREQUENCY_ERROR.value, ) finally: self._session_function_lock.exit_read_lock() return attr_val, error_code
[docs] @_raise_if_disposed def get_evm_maximum_frequency_error(self, selector_string): r"""Gets the maximum of the frequency error values over all the measured time slots. This value is expressed in Hz. The attribute returns this result for EDGE/EGPRS measurements. You do not need to use a `Selector String <https://www.ni.com/docs/en-US/bundle/rfmx/page/selector-strings-net.html>`_ to read this result for the default signal and result instances. Refer to the Selector String 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 maximum of the frequency error values over all the measured time slots. This value is expressed in Hz. The attribute returns this result for EDGE/EGPRS measurements. 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.MODACC_RESULTS_EVM_MAXIMUM_FREQUENCY_ERROR.value, ) finally: self._session_function_lock.exit_read_lock() return attr_val, error_code
[docs] @_raise_if_disposed def get_evm_mean_amplitude_droop(self, selector_string): r"""Gets the mean of the amplitude droop values over all the measured time slots. This value is expressed in dB/symbol. The attribute returns this result for EDGE/EGPRS measurements. You do not need to use a `Selector String <https://www.ni.com/docs/en-US/bundle/rfmx/page/selector-strings-net.html>`_ to read this result for the default signal and result instances. Refer to the Selector String 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 mean of the amplitude droop values over all the measured time slots. This value is expressed in dB/symbol. The attribute returns this result for EDGE/EGPRS measurements. 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.MODACC_RESULTS_EVM_MEAN_AMPLITUDE_DROOP.value, ) finally: self._session_function_lock.exit_read_lock() return attr_val, error_code
[docs] @_raise_if_disposed def get_evm_maximum_amplitude_droop(self, selector_string): r"""Gets the maximum of the amplitude droop values over all the measured time slots. This value is expressed in dB/symbol. The attribute returns this result for EDGE/EGPRS measurements. You do not need to use a `Selector String <https://www.ni.com/docs/en-US/bundle/rfmx/page/selector-strings-net.html>`_ to read this result for the default signal and result instances. Refer to the Selector String 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 maximum of the amplitude droop values over all the measured time slots. This value is expressed in dB/symbol. The attribute returns this result for EDGE/EGPRS measurements. 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.MODACC_RESULTS_EVM_MAXIMUM_AMPLITUDE_DROOP.value, ) finally: self._session_function_lock.exit_read_lock() return attr_val, error_code
[docs] @_raise_if_disposed def get_pfer_mean_rms_phase_error(self, selector_string): r"""Gets the mean of RMS values of phase error over all the measured time slots. This value is expressed in degrees. The attribute returns this result for GSM ModAcc measurements. You do not need to use a `Selector String <https://www.ni.com/docs/en-US/bundle/rfmx/page/selector-strings-net.html>`_ to read this result for the default signal and result instances. Refer to the Selector String 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 mean of RMS values of phase error over all the measured time slots. This value is expressed in degrees. The attribute returns this result for GSM ModAcc measurements. 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.MODACC_RESULTS_PFER_MEAN_RMS_PHASE_ERROR.value, ) finally: self._session_function_lock.exit_read_lock() return attr_val, error_code
[docs] @_raise_if_disposed def get_pfer_maximum_rms_phase_error(self, selector_string): r"""Gets the maximum of the RMS values of phase error over all the measured time slots. This value is expressed in degrees. The attribute returns this result for GSM ModAcc measurements. You do not need to use a `Selector String <https://www.ni.com/docs/en-US/bundle/rfmx/page/selector-strings-net.html>`_ to read this result for the default signal and result instances. Refer to the Selector String 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 maximum of the RMS values of phase error over all the measured time slots. This value is expressed in degrees. The attribute returns this result for GSM ModAcc measurements. 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.MODACC_RESULTS_PFER_MAXIMUM_RMS_PHASE_ERROR.value, ) finally: self._session_function_lock.exit_read_lock() return attr_val, error_code
[docs] @_raise_if_disposed def get_pfer_mean_peak_phase_error(self, selector_string): r"""Gets the mean of peak phase error values over all the measured time slots. This value is expressed in degrees. The attribute returns this result for GSM ModAcc measurements. You do not need to use a `Selector String <https://www.ni.com/docs/en-US/bundle/rfmx/page/selector-strings-net.html>`_ to read this result for the default signal and result instances. Refer to the Selector String 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 mean of peak phase error values over all the measured time slots. This value is expressed in degrees. The attribute returns this result for GSM ModAcc measurements. 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.MODACC_RESULTS_PFER_MEAN_PEAK_PHASE_ERROR.value, ) finally: self._session_function_lock.exit_read_lock() return attr_val, error_code
[docs] @_raise_if_disposed def get_pfer_maximum_peak_phase_error(self, selector_string): r"""Gets the maximum of peak phase error values over all the measured time slots. This value is expressed in degrees. The attribute returns this result for GSM ModAcc measurements. You do not need to use a `Selector String <https://www.ni.com/docs/en-US/bundle/rfmx/page/selector-strings-net.html>`_ to read this result for the default signal and result instances. Refer to the Selector String 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 maximum of peak phase error values over all the measured time slots. This value is expressed in degrees. The attribute returns this result for GSM ModAcc measurements. 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.MODACC_RESULTS_PFER_MAXIMUM_PEAK_PHASE_ERROR.value, ) finally: self._session_function_lock.exit_read_lock() return attr_val, error_code
[docs] @_raise_if_disposed def get_pfer_peak_phase_error_symbol(self, selector_string): r"""Gets the symbol number in the useful portion of the burst corresponding to the phase error value in the :py:attr:`~nirfmxgsm.attributes.AttributeID.MODACC_RESULTS_PFER_MAXIMUM_PEAK_PHASE_ERROR` result. The attribute returns this result for GSM ModAcc measurements. You do not need to use a `Selector String <https://www.ni.com/docs/en-US/bundle/rfmx/page/selector-strings-net.html>`_ to read this result for the default signal and result instances. Refer to the Selector String 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 (int): Returns the symbol number in the useful portion of the burst corresponding to the phase error value in the :py:attr:`~nirfmxgsm.attributes.AttributeID.MODACC_RESULTS_PFER_MAXIMUM_PEAK_PHASE_ERROR` result. The attribute returns this result for GSM ModAcc measurements. 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.MODACC_RESULTS_PFER_PEAK_PHASE_ERROR_SYMBOL.value, ) finally: self._session_function_lock.exit_read_lock() return attr_val, error_code
[docs] @_raise_if_disposed def get_pfer_95th_percentile_phase_error(self, selector_string): r"""Gets the measured phase error value multiplied by 100, at which, no more than 5 percent of the symbols have phase error exceeding this value. This result is returned while performing ModAcc measurement on GSM. This value is measured in degrees. Args: selector_string (string): Pass an empty string. Returns: Tuple (attr_val, error_code): attr_val (float): Returns the measured phase error value multiplied by 100, at which, no more than 5 percent of the symbols have phase error exceeding this value. This result is returned while performing ModAcc measurement on GSM. This value is measured in degrees. 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.MODACC_RESULTS_PFER_95TH_PERCENTILE_PHASE_ERROR.value, ) finally: self._session_function_lock.exit_read_lock() return attr_val, error_code
[docs] @_raise_if_disposed def get_pfer_mean_frequency_error(self, selector_string): r"""Gets the mean of the frequency error values over all the measured time slots. This value is expressed in Hz. The attribute returns this result for GSM ModAcc measurements. You do not need to use a `Selector String <https://www.ni.com/docs/en-US/bundle/rfmx/page/selector-strings-net.html>`_ to read this result for the default signal and result instances. Refer to the Selector String 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 mean of the frequency error values over all the measured time slots. This value is expressed in Hz. The attribute returns this result for GSM ModAcc measurements. 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.MODACC_RESULTS_PFER_MEAN_FREQUENCY_ERROR.value, ) finally: self._session_function_lock.exit_read_lock() return attr_val, error_code
[docs] @_raise_if_disposed def get_pfer_maximum_frequency_error(self, selector_string): r"""Gets the maximum of the frequency error values over all the measured time slots. This value is expressed in Hz. The attribute returns this result for GSM ModAcc measurements. You do not need to use a `Selector String <https://www.ni.com/docs/en-US/bundle/rfmx/page/selector-strings-net.html>`_ to read this result for the default signal and result instances. Refer to the Selector String 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 maximum of the frequency error values over all the measured time slots. This value is expressed in Hz. The attribute returns this result for GSM ModAcc measurements. 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.MODACC_RESULTS_PFER_MAXIMUM_FREQUENCY_ERROR.value, ) finally: self._session_function_lock.exit_read_lock() return attr_val, error_code
[docs] @_raise_if_disposed def get_mean_iq_gain_imbalance(self, selector_string): r"""Gets the mean of I/Q gain imbalance values over all the measured time slots. This value is expressed in dB. The presence of quadrature skew in the signal affects the measurement of I/Q gain imbalance. You do not need to use a `Selector String <https://www.ni.com/docs/en-US/bundle/rfmx/page/selector-strings-net.html>`_ to read this result for the default signal and result instances. Refer to the Selector String 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 mean of I/Q gain imbalance values over all the measured time slots. This value is expressed in dB. The presence of quadrature skew in the signal affects the measurement of I/Q gain imbalance. 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.MODACC_RESULTS_MEAN_IQ_GAIN_IMBALANCE.value, ) finally: self._session_function_lock.exit_read_lock() return attr_val, error_code
[docs] @_raise_if_disposed def get_maximum_iq_gain_imbalance(self, selector_string): r"""Gets the maximum of I/Q gain imbalance values over all the measured time slots. This value is expressed in dB. The presence of quadrature skew in the signal affects the measurement of I/Q gain imbalance. You do not need to use a `Selector String <https://www.ni.com/docs/en-US/bundle/rfmx/page/selector-strings-net.html>`_ to read this result for the default signal and result instances. Refer to the Selector String 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 maximum of I/Q gain imbalance values over all the measured time slots. This value is expressed in dB. The presence of quadrature skew in the signal affects the measurement of I/Q gain imbalance. 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.MODACC_RESULTS_MAXIMUM_IQ_GAIN_IMBALANCE.value, ) finally: self._session_function_lock.exit_read_lock() return attr_val, error_code
[docs] @_raise_if_disposed def get_mean_iq_origin_offset(self, selector_string): r"""Gets the mean of the I/Q origin offset values over all the measured time slots. This value is expressed in dB. Presence of I/Q gain imbalance and quadrature skew in the signal affects the I/Q origin offset measurement. The attribute returns this result for GSM/EDGE/EGPRS measurements. You do not need to use a `Selector String <https://www.ni.com/docs/en-US/bundle/rfmx/page/selector-strings-net.html>`_ to read this result for the default signal and result instances. Refer to the Selector String 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 mean of the I/Q origin offset values over all the measured time slots. This value is expressed in dB. Presence of I/Q gain imbalance and quadrature skew in the signal affects the I/Q origin offset measurement. The attribute returns this result for GSM/EDGE/EGPRS measurements. 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.MODACC_RESULTS_MEAN_IQ_ORIGIN_OFFSET.value, ) finally: self._session_function_lock.exit_read_lock() return attr_val, error_code
[docs] @_raise_if_disposed def get_maximum_iq_origin_offset(self, selector_string): r"""Gets the maximum of the I/Q origin offset values over all the measured time slots. This value is expressed in dB. Presence of I/Q gain imbalance and quadrature skew in the signal affects the I/Q origin offset measurement. The attribute returns this result for GSM/EDGE/EGPRS measurements. You do not need to use a `Selector String <https://www.ni.com/docs/en-US/bundle/rfmx/page/selector-strings-net.html>`_ to read this result for the default signal and result instances. Refer to the Selector String 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 maximum of the I/Q origin offset values over all the measured time slots. This value is expressed in dB. Presence of I/Q gain imbalance and quadrature skew in the signal affects the I/Q origin offset measurement. The attribute returns this result for GSM/EDGE/EGPRS measurements. 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.MODACC_RESULTS_MAXIMUM_IQ_ORIGIN_OFFSET.value, ) finally: self._session_function_lock.exit_read_lock() return attr_val, error_code
[docs] @_raise_if_disposed def get_detected_tsc(self, selector_string): r"""Gets the detected training sequence code (TSC) if you set the :py:attr:`~nirfmxgsm.attributes.AttributeID.BURST_SYNCHRONIZATION_TYPE` attribute to **TSC**. Use "slot<*n*>" as the selector string to read this result. When the :py:attr:`~nirfmxgsm.attributes.AttributeID.MODACC_MEASUREMENT_INTERVAL` attribute is set to **Timeslot at Offset**, Detected TSC array has one element and the Detected TSC is returned at index 0. +--------------+----------------------------------------------------------------------------------------------------+ | Name (Value) | Description | +==============+====================================================================================================+ | Unknown (-1) | The synchronization is not found, and measurements correspond to best estimate of synchronization. | +--------------+----------------------------------------------------------------------------------------------------+ | TSC0 (0) | The detected TSC is TSC0. | +--------------+----------------------------------------------------------------------------------------------------+ | TSC1 (1) | The detected TSC is TSC1. | +--------------+----------------------------------------------------------------------------------------------------+ | TSC2 (2) | The detected TSC is TSC2. | +--------------+----------------------------------------------------------------------------------------------------+ | TSC3 (3) | The detected TSC is TSC3. | +--------------+----------------------------------------------------------------------------------------------------+ | TSC4 (4) | The detected TSC is TSC4. | +--------------+----------------------------------------------------------------------------------------------------+ | TSC5 (5) | The detected TSC is TSC5. | +--------------+----------------------------------------------------------------------------------------------------+ | TSC6 (6) | The detected TSC is TSC6. | +--------------+----------------------------------------------------------------------------------------------------+ | TSC7 (7) | The detected TSC is TSC7. | +--------------+----------------------------------------------------------------------------------------------------+ Args: selector_string (string): Pass an empty string. Returns: Tuple (attr_val, error_code): attr_val (enums.ModAccDetectedTsc): Returns the detected training sequence code (TSC) if you set the :py:attr:`~nirfmxgsm.attributes.AttributeID.BURST_SYNCHRONIZATION_TYPE` attribute to **TSC**. 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.MODACC_RESULTS_DETECTED_TSC.value ) attr_val = enums.ModAccDetectedTsc(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 fetch_detected_tsc(self, selector_string, timeout): r"""Fetches the detected training sequence code (TSC) of the last burst for GSM/EDGE/EGPRS. Use "slot<*n*>" as the selector string to read results from this method. When the :py:attr:`~nirfmxgsm.attributes.AttributeID.MODACC_MEASUREMENT_INTERVAL` attribute is set to **Timeslot at Offset**, Detected TSC array has one element and the Detected TSC is returned at index 0. 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 slot number. The default is "" (empty string). Example: "slot0" "result::r1/slot0" You can use the :py:meth:`build_slot_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 (detected_tsc, error_code): detected_tsc (enums.ModAccDetectedTsc): This parameter returns the detected TSC when you set the :py:attr:`~nirfmxgsm.attributes.AttributeID.BURST_SYNCHRONIZATION_TYPE` attribute to **TSC**. +--------------+-----------------------------------------------------------------------------------------------------+ | Name (Value) | Description | +==============+=====================================================================================================+ | Unknown (-1) | Burst synchronization is not found and measurements correspond to best estimate of synchronization. | +--------------+-----------------------------------------------------------------------------------------------------+ | TSC0 (0) | The detected TSC is TSC0. | +--------------+-----------------------------------------------------------------------------------------------------+ | TSC1 (1) | The detected TSC is TSC1. | +--------------+-----------------------------------------------------------------------------------------------------+ | TSC2 (2) | The detected TSC is TSC2. | +--------------+-----------------------------------------------------------------------------------------------------+ | TSC3 (3) | The detected TSC is TSC3. | +--------------+-----------------------------------------------------------------------------------------------------+ | TSC4 (4) | The detected TSC is TSC4. | +--------------+-----------------------------------------------------------------------------------------------------+ | TSC5 (5) | The detected TSC is TSC5. | +--------------+-----------------------------------------------------------------------------------------------------+ | TSC6 (6) | The detected TSC is TSC6. | +--------------+-----------------------------------------------------------------------------------------------------+ | TSC7 (7) | The detected TSC is TSC7. | +--------------+-----------------------------------------------------------------------------------------------------+ 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 ) detected_tsc, error_code = self._interpreter.modacc_fetch_detected_tsc( updated_selector_string, timeout ) finally: self._session_function_lock.exit_read_lock() return detected_tsc, error_code
[docs] @_raise_if_disposed def fetch_evm_amplitude_droop(self, selector_string, timeout): r"""Fetches the amplitude droop measurement results for EDGE/EGPRS. 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. The default is "" (empty string). Example: "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 (mean_amplitude_droop, maximum_amplitude_droop, error_code): mean_amplitude_droop (float): This parameter returns the mean of amplitude droop values over all the measured time slots. This value is expressed in dB/symbol. maximum_amplitude_droop (float): This parameter returns the maximum of amplitude droop values over all the measured time slots. This value is expressed in dB/symbol. 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 ) mean_amplitude_droop, maximum_amplitude_droop, error_code = ( self._interpreter.modacc_fetch_evm_amplitude_droop(updated_selector_string, timeout) ) finally: self._session_function_lock.exit_read_lock() return mean_amplitude_droop, maximum_amplitude_droop, error_code
[docs] @_raise_if_disposed def fetch_evm_magnitude_error(self, selector_string, timeout): r"""Fetches the magnitude error measurement results for EDGE/EGPRS. 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. The default is "" (empty string). Example: "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 (mean_magnitude_error, maximum_magnitude_error, error_code): mean_magnitude_error (float): This parameter returns the mean of RMS values of magnitude error over all the measured time slots. This value is expressed as a percentage. maximum_magnitude_error (float): This parameter returns the maximum of RMS values of magnitude error over all the measured time slots. This value is expressed as a percentage. 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 ) mean_magnitude_error, maximum_magnitude_error, error_code = ( self._interpreter.modacc_fetch_evm_magnitude_error(updated_selector_string, timeout) ) finally: self._session_function_lock.exit_read_lock() return mean_magnitude_error, maximum_magnitude_error, error_code
[docs] @_raise_if_disposed def fetch_evm_phase_error(self, selector_string, timeout): r"""Fetches the phase error measurement results for EDGE/EGPRS. 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. The default is "" (empty string). Example: "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 (mean_phase_error, maximum_phase_error, error_code): mean_phase_error (float): This parameter returns the mean of RMS values of phase error over all the measured time slots. This value is expressed in degrees. maximum_phase_error (float): This parameter returns the maximum of RMS values of phase error over all the measured time slots. This value is expressed in degrees. 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 ) mean_phase_error, maximum_phase_error, error_code = ( self._interpreter.modacc_fetch_evm_phase_error(updated_selector_string, timeout) ) finally: self._session_function_lock.exit_read_lock() return mean_phase_error, maximum_phase_error, error_code
[docs] @_raise_if_disposed def fetch_evm(self, selector_string, timeout): r"""Fetches the EVM measurement results for EDGE/EGPRS. 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. The default is "" (empty string). Example: "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 (mean_rms_evm, maximum_rms_evm, mean_peak_evm, maximum_peak_evm, ninety_fifth_percentile_evm, mean_frequency_error, peak_evm_symbol, error_code): mean_rms_evm (float): This parameter returns the mean of RMS EVM values over all the measured time slots. This value is expressed as a percentage. maximum_rms_evm (float): This parameter returns the maximum of RMS EVM values over all the measured time slots. This value is expressed as a percentage. mean_peak_evm (float): This parameter returns the mean of peak EVM values over all the measured time slots. This value is expressed as a percentage. maximum_peak_evm (float): This parameter returns the maximum of peak EVM values over all the measured time slots. This value is expressed as a percentage. ninety_fifth_percentile_evm (float): This parameter returns the EVM value, at which no more than 5 percent of the symbols have an EVM exceeding this value. This value is expressed as a percentage. mean_frequency_error (float): This parameter returns the mean of frequency error values over all the measured time slots. This value is expressed in Hz. peak_evm_symbol (int): This parameter returns the symbol number in the useful portion of the burst corresponding to **Maximum Peak EVM** parameter. 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 ) ( mean_rms_evm, maximum_rms_evm, mean_peak_evm, maximum_peak_evm, ninety_fifth_percentile_evm, mean_frequency_error, peak_evm_symbol, error_code, ) = self._interpreter.modacc_fetch_evm(updated_selector_string, timeout) finally: self._session_function_lock.exit_read_lock() return ( mean_rms_evm, maximum_rms_evm, mean_peak_evm, maximum_peak_evm, ninety_fifth_percentile_evm, mean_frequency_error, peak_evm_symbol, error_code, )
[docs] @_raise_if_disposed def fetch_iq_impairments(self, selector_string, timeout): r"""Fetches the origin offset and gain imbalance measurement results for GSM/EDGE/EGPRS. 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. The default is "" (empty string). Example: "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 (mean_iq_gain_imbalance, maximum_iq_gain_imbalance, mean_iq_origin_offset, maximum_iq_origin_offset, error_code): mean_iq_gain_imbalance (float): This parameter returns the mean of I/Q gain imbalance values over all the measured time slots. This value is expressed in dB. The presence of quadrature skew in the signal affects the measurement of I/Q gain imbalance. maximum_iq_gain_imbalance (float): This parameter returns the maximum of I/Q gain imbalance values over all the measured time slots. This value is expressed in dB. The presence of quadrature skew in the signal affects the measurement of I/Q gain imbalance. mean_iq_origin_offset (float): This parameter returns the mean of I/Q origin offset values over all the measured time slots. This value is expressed in dB. Presence of I/Q gain imbalance and quadrature skew in the signal affects the I/Q origin offset measurement. The measurement returns this result for GSM/EDGE/EGPRS. maximum_iq_origin_offset (float): This parameter returns the maximum of I/Q origin offset values over all the measured time slots. This value is expressed in dB. Presence of I/Q gain imbalance and quadrature skew in the signal affects the I/Q origin offset measurement. The measurement returns this result for GSM/EDGE/EGPRS. 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 ) ( mean_iq_gain_imbalance, maximum_iq_gain_imbalance, mean_iq_origin_offset, maximum_iq_origin_offset, error_code, ) = self._interpreter.modacc_fetch_iq_impairments(updated_selector_string, timeout) finally: self._session_function_lock.exit_read_lock() return ( mean_iq_gain_imbalance, maximum_iq_gain_imbalance, mean_iq_origin_offset, maximum_iq_origin_offset, error_code, )
[docs] @_raise_if_disposed def fetch_pfer(self, selector_string, timeout): r"""Fetches the phase and frequency error measurement results for GSM. 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. The default is "" (empty string). Example: "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 (mean_rms_phase_error, maximum_rms_phase_error, mean_peak_phase_error, maximum_peak_phase_error, mean_frequency_error, peak_symbol, error_code): mean_rms_phase_error (float): This parameter returns the mean of RMS phase error values over all the measured time slots. This value is expressed in degrees. maximum_rms_phase_error (float): This parameter returns the maximum of RMS phase error values over all the measured time slots. This value is expressed in degrees. mean_peak_phase_error (float): This parameter returns the mean of peak phase error values over all the measured time slots. This value is expressed in degrees. maximum_peak_phase_error (float): This parameter returns the maximum of peak phase error values over all the measured time slots. This value is expressed in degrees. mean_frequency_error (float): This parameter returns the mean of frequency error values over all the measured time slots. This value is expressed in Hz. peak_symbol (int): This parameter returns the symbol number in the useful portion of the burst corresponding to phase error value in the **Maximum Peak Phase Error** parameter. 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 ) ( mean_rms_phase_error, maximum_rms_phase_error, mean_peak_phase_error, maximum_peak_phase_error, mean_frequency_error, peak_symbol, error_code, ) = self._interpreter.modacc_fetch_pfer(updated_selector_string, timeout) finally: self._session_function_lock.exit_read_lock() return ( mean_rms_phase_error, maximum_rms_phase_error, mean_peak_phase_error, maximum_peak_phase_error, mean_frequency_error, peak_symbol, error_code, )
[docs] @_raise_if_disposed def fetch_demodulated_bits(self, selector_string, timeout, demodulated_bits): r"""Fetches the array of demodulated bits concatenated over all the measured time slots for the last acquisition. 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. The default is "" (empty string). Example: "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. demodulated_bits (numpy.int8): This parameter returns an array of demodulated bits concatenated over all the measured time slots for the last acquisition. Returns: 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 ) error_code = self._interpreter.modacc_fetch_demodulated_bits( updated_selector_string, timeout, demodulated_bits ) finally: self._session_function_lock.exit_read_lock() return error_code
[docs] @_raise_if_disposed def fetch_detected_tsc_array(self, selector_string, timeout): r"""Fetches the detected training sequence code (TSC) of the last acquisition for GSM/EDGE/EGPRS. When the :py:attr:`~nirfmxgsm.attributes.AttributeID.MODACC_MEASUREMENT_INTERVAL` attribute is set to **Timeslot at Offset**, Detected TSC array has one element and the Detected TSC is returned at index 0. 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. The default is "" (empty string). Example: "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 (detected_tsc, error_code): detected_tsc (enums.ModAccDetectedTsc): This parameter returns an array of the detected TSCs when you set the :py:attr:`~nirfmxgsm.attributes.AttributeID.BURST_SYNCHRONIZATION_TYPE` attribute to **TSC**. +--------------+---------------------------------------------------------------------------------------------------+ | Name (Value) | Description | +==============+===================================================================================================+ | Unknown (-1) | The synchronization is not found and measurements correspond to best estimate of synchronization. | +--------------+---------------------------------------------------------------------------------------------------+ | TSC0 (0) | The detected TSC is TSC0. | +--------------+---------------------------------------------------------------------------------------------------+ | TSC1 (1) | The detected TSC is TSC1. | +--------------+---------------------------------------------------------------------------------------------------+ | TSC2 (2) | The detected TSC is TSC2. | +--------------+---------------------------------------------------------------------------------------------------+ | TSC3 (3) | The detected TSC is TSC3. | +--------------+---------------------------------------------------------------------------------------------------+ | TSC4 (4) | The detected TSC is TSC4. | +--------------+---------------------------------------------------------------------------------------------------+ | TSC5 (5) | The detected TSC is TSC5. | +--------------+---------------------------------------------------------------------------------------------------+ | TSC6 (6) | The detected TSC is TSC6. | +--------------+---------------------------------------------------------------------------------------------------+ | TSC7 (7) | The detected TSC is TSC7. | +--------------+---------------------------------------------------------------------------------------------------+ 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 ) detected_tsc, error_code = self._interpreter.modacc_fetch_detected_tsc_array( updated_selector_string, timeout ) finally: self._session_function_lock.exit_read_lock() return detected_tsc, error_code
[docs] @_raise_if_disposed def fetch_evm_trace(self, selector_string, timeout, evm): r"""Fetches the EDGE/EGPRS RMS EVM trace concatenated over all the measured time slots for the last acquisition. 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. The default is "" (empty string). Example: "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. evm (numpy.float32): This parameter returns the EVM trace measured at each time instance. Returns: Tuple (x0, dx, error_code): x0 (float): This parameter returns the start time, in seconds. dx (float): This parameter returns the sample duration, in seconds. 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.modacc_fetch_evm_trace( updated_selector_string, timeout, evm ) finally: self._session_function_lock.exit_read_lock() return x0, dx, error_code
[docs] @_raise_if_disposed def fetch_magnitude_error_trace(self, selector_string, timeout, magnitude_error): r"""Fetches the EDGE/EGPRS magnitude error trace concatenated over all the measured time slots for the last acquisition. 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. The default is "" (empty string). Example: "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. magnitude_error (numpy.float32): This parameter returns an array of magnitude error values measured at each time instance. Returns: Tuple (x0, dx, error_code): x0 (float): This parameter returns the start time, in seconds. dx (float): This parameter returns the sample duration, in seconds. 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.modacc_fetch_magnitude_error_trace( updated_selector_string, timeout, magnitude_error ) finally: self._session_function_lock.exit_read_lock() return x0, dx, error_code
[docs] @_raise_if_disposed def fetch_phase_error_trace(self, selector_string, timeout, phase_error): r"""Fetches the phase error trace concatenated over all the measured time slots for the last acquisition. 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. The default is "" (empty string). Example: "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. phase_error (numpy.float32): This parameter returns the phase error trace. Returns: Tuple (x0, dx, error_code): x0 (float): This parameter returns the start time, in seconds. dx (float): This parameter returns the sample duration, in symbols. 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.modacc_fetch_phase_error_trace( updated_selector_string, timeout, phase_error ) finally: self._session_function_lock.exit_read_lock() return x0, dx, error_code
[docs] @_raise_if_disposed def fetch_constellation_trace(self, selector_string, timeout, constellation_trace): r"""Fetches the constellation trace concatenated over all the measured time slots for the last acquisition. 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. The default is "" (empty string). Example: "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. constellation_trace (numpy.complex64): This parameter returns the constellation trace concatenated over all the measured time slots for the last acquisition. Returns: 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 ) error_code = self._interpreter.modacc_fetch_constellation_trace( updated_selector_string, timeout, constellation_trace ) finally: self._session_function_lock.exit_read_lock() return error_code