Source code for nirfmxgsm.enums

"""enums.py - Contains enum classes."""

from enum import Enum, IntFlag


[docs] class TriggerType(Enum): """TriggerType.""" NONE = 0 r"""No Reference Trigger is configured.""" DIGITAL_EDGE = 1 r"""The Reference Trigger is not asserted until a digital edge is detected. The source of the digital edge is specified using the :py:attr:`~nirfmxgsm.attributes.AttributeID.DIGITAL_EDGE_TRIGGER_SOURCE` attribute.""" IQ_POWER_EDGE = 2 r"""The Reference Trigger is asserted when the signal changes past the level specified by the slope (rising or falling), which is configured using the :py:attr:`~nirfmxgsm.attributes.AttributeID.IQ_POWER_EDGE_TRIGGER_SLOPE` attribute.""" SOFTWARE = 3 r"""The Reference Trigger is not asserted until a software trigger occurs."""
[docs] class DigitalEdgeTriggerEdge(Enum): """DigitalEdgeTriggerEdge.""" RISING_EDGE = 0 r"""The trigger asserts on the rising edge of the signal.""" FALLING_EDGE = 1 r"""The trigger asserts on the falling edge of the signal."""
[docs] class IQPowerEdgeTriggerLevelType(Enum): """IQPowerEdgeTriggerLevelType.""" RELATIVE = 0 r"""The value of the IQ Power Edge Level attribute is relative to the value of the :py:attr:`~nirfmxgsm.attributes.AttributeID.REFERENCE_LEVEL` attribute.""" ABSOLUTE = 1 r"""The IQ Power Edge Level attribute specifies the absolute power."""
[docs] class IQPowerEdgeTriggerSlope(Enum): """IQPowerEdgeTriggerSlope.""" RISING_SLOPE = 0 r"""The trigger asserts when the signal power is rising.""" FALLING_SLOPE = 1 r"""The trigger asserts when the signal power is falling."""
[docs] class TriggerMinimumQuietTimeMode(Enum): """TriggerMinimumQuietTimeMode.""" MANUAL = 0 r"""The minimum quiet time for triggering is the value of the :py:attr:`~nirfmxgsm.attributes.AttributeID.TRIGGER_MINIMUM_QUIET_TIME_DURATION` attribute.""" AUTO = 1 r"""The measurement computes the minimum quiet time used for triggering."""
[docs] class LinkDirection(Enum): """LinkDirection.""" DOWNLINK = 0 r"""The source is a base transceiver station.""" UPLINK = 1 r"""The source is a mobile station."""
[docs] class Band(Enum): """Band.""" PGSM = 0 r"""The operation band is Primary GSM in the 900 MHz band.""" EGSM = 1 r"""The operation band is Extended GSM in the 900 MHz band.""" RGSM = 2 r"""The operation band is Railway GSM in the 900 MHz band.""" DCS1800 = 3 r"""The operation band is GSM in the 1800 MHz band.""" PCS1900 = 4 r"""The operation band is GSM in the 1900 MHz band.""" GSM450 = 5 r"""The operation band is GSM in the 450 MHz band.""" GSM480 = 6 r"""The operation band is GSM in the 480 MHz band.""" GSM850 = 7 r"""The operation band is GSM in the 850 MHz band.""" GSM750 = 8 r"""The operation band is GSM in the 750 MHz band.""" TGSM810 = 9 r"""The operation band is terrestrial GSM in the 810 MHz band."""
[docs] class SignalStructure(Enum): """SignalStructure.""" BURSTED = 0 r"""The signal is bursted.""" CONTINUOUS = 1 r"""The signal is continuous."""
[docs] class ModulationType(Enum): """ModulationType.""" MODULATION_TYPE_GMSK = 0 r"""The modulation type is Gaussian minimum shift keying. This value is valid only when you set the :py:attr:`~nirfmxgsm.attributes.AttributeID.BURST_TYPE` attribute to **NB** or **AB**.""" MODULATION_TYPE_8PSK = 1 r"""The modulation type is 8-PSK. This value is valid only when you set the Burst Type attribute to **NB**.""" MODULATION_TYPE_QPSK = 2 r"""The modulation type is QPSK. This value is valid only when you set the Burst Type attribute to **HB**.""" MODULATION_TYPE_16QAM = 3 r"""The modulation type is 16-QAM.""" MODULATION_TYPE_32QAM = 4 r"""The modulation type is 32-QAM."""
[docs] class BurstType(Enum): """BurstType.""" NB = 0 r"""The burst type is Normal Burst.""" HB = 1 r"""The burst type is Higher Symbol Rate Burst.""" AB = 2 r"""The burst type is Access Burst."""
[docs] class HBFilterWidth(Enum): """HBFilterWidth.""" NARROW = 0 r"""The measurement uses a narrow filter.""" WIDE = 1 r"""The measurement uses a wide filter."""
[docs] class AutoTscDetectionEnabled(Enum): """AutoTscDetectionEnabled.""" FALSE = 0 r"""The measurement uses the value that you configure using the :py:attr:`~nirfmxgsm.attributes.AttributeID.TSC` attribute.""" TRUE = 1 r"""The measurement detects the TSC in the burst."""
[docs] class Tsc(Enum): """Tsc.""" TSC0 = 0 r"""The measurement uses training sequence code 0.""" TSC1 = 1 r"""The measurement uses training sequence code 1.""" TSC2 = 2 r"""The measurement uses training sequence code 2.""" TSC3 = 3 r"""The measurement uses training sequence code 3.""" TSC4 = 4 r"""The measurement uses training sequence code 4.""" TSC5 = 5 r"""The measurement uses training sequence code 5.""" TSC6 = 6 r"""The measurement uses training sequence code 6.""" TSC7 = 7 r"""The measurement uses training sequence code 7."""
[docs] class BurstSynchronizationType(Enum): """BurstSynchronizationType.""" TSC = 0 r"""Synchronizes the measurement to the timing of the demodulated training sequence in the burst. The measurement requires a burst with a valid training sequence code (TSC). The measurement determines the *T0* point by demodulating the burst and identifying the TSC.""" AMPLITUDE = 1 r"""Synchronizes the measurement based on the RF envelope of the received signal. The measurement sets the *T0* point as the center of the RF envelope.""" NONE = 2 r"""Sets the *T0* point to 273.23 microseconds after the trigger."""
[docs] class ModAccMeasurementInterval(Enum): """ModAccMeasurementInterval.""" NUMBER_OF_TIMESLOTS = 0 r"""The measurement includes all timeslots defined by the :py:attr:`~nirfmxgsm.attributes.AttributeID.NUMBER_OF_TIMESLOTS` attribute.""" TIMESLOT_AT_OFFSET = 1 r"""The measurement is performed only on the timeslot specified by the :py:attr:`~nirfmxgsm.attributes.AttributeID.MODACC_MEASUREMENT_OFFSET` attribute. This attribute is applicable only when you set the :py:attr:`~nirfmxgsm.attributes.AttributeID.TRIGGER_TYPE` attribute to **IQ Power Edge** or **Digital Edge **."""
[docs] class ModAccAveragingEnabled(Enum): """ModAccAveragingEnabled.""" FALSE = 0 r"""The measurement is performed on a single acquisition.""" TRUE = 1 r"""The measurement is averaged over multiple acquisitions."""
[docs] class ModAccDroopCompensationEnabled(Enum): """ModAccDroopCompensationEnabled.""" FALSE = 0 r"""Disables power droop compensation in the EVM measurement.""" TRUE = 1 r"""Enables power droop compensation in the EVM measurement."""
[docs] class ModAccDetectedTsc(Enum): """ModAccDetectedTsc.""" Unknown = -1 r"""The synchronization is not found, and measurements correspond to best estimate of synchronization.""" TSC0 = 0 r"""The detected TSC is TSC0.""" TSC1 = 1 r"""The detected TSC is TSC1.""" TSC2 = 2 r"""The detected TSC is TSC2.""" TSC3 = 3 r"""The detected TSC is TSC3.""" TSC4 = 4 r"""The detected TSC is TSC4.""" TSC5 = 5 r"""The detected TSC is TSC5.""" TSC6 = 6 r"""The detected TSC is TSC6.""" TSC7 = 7 r"""The detected TSC is TSC7."""
[docs] class OrfsMeasurementInterval(Enum): """OrfsMeasurementInterval.""" NUMBER_OF_TIMESLOTS = 0 r"""The measurement includes all timeslots defined by the :py:attr:`~nirfmxgsm.attributes.AttributeID.NUMBER_OF_TIMESLOTS` attribute.""" TIMESLOT_AT_OFFSET = 1 r"""The measurement is performed only on the timeslot specified by the :py:attr:`~nirfmxgsm.attributes.AttributeID.ORFS_MEASUREMENT_OFFSET` attribute. This attribute is applicable only when you set the :py:attr:`~nirfmxgsm.attributes.AttributeID.TRIGGER_TYPE` attribute to **IQ Power Edge** or **Digital Edge **."""
[docs] class OrfsAveragingEnabled(Enum): """OrfsAveragingEnabled.""" FALSE = 0 r"""The measurement is performed on a single acquisition.""" TRUE = 1 r"""The measurement is averaged over multiple acquisitions."""
[docs] class OrfsAveragingType(Enum): """OrfsAveragingType.""" RMS = 0 r"""The measurement averages the power spectrum linearly. RMS averaging reduces signal fluctuations but not the noise floor.""" LOG = 1 r"""The measurement averages the power spectrum in a logarithmic scale."""
[docs] class OrfsMeasurementType(Enum): """OrfsMeasurementType.""" MODULATION_AND_SWITCHING = 0 r"""Measures the spectrum on the modulated part and the switching part of the waveform.""" MODULATION = 1 r"""Measures the spectrum on the modulated part of the waveform.""" SWITCHING = 2 r"""Measures the spectrum on the switching part of the waveform."""
[docs] class OrfsOffsetFrequencyMode(Enum): """OrfsOffsetFrequencyMode.""" STANDARD = 0 r"""Uses the list of lower and upper offset frequencies of 100 kHz, 200 kHz, 250 kHz, 400 kHz, 600 kHz, 800 kHz, 1000 kHz, 1200 kHz, 1400 kHz, 1600 kHz, and 1800 kHz for the spectrum due to the modulation measurement, and the lower and upper offset frequencies of 400 kHz, 600 kHz, 1200 kHz, and 1800 kHz for the spectrum produced by the switching measurement.""" SHORT = 1 r"""Uses the list of lower and upper offset frequencies of 200 kHz, 250 kHz, 400 kHz, 600 kHz, and 1200 kHz for the spectrum due to the modulation measurement, and the lower and upper offset frequencies of 400 kHz, 600 kHz, 1200 kHz, and 1800 kHz for the spectrum produced by the switching measurement.""" CUSTOM = 2 r"""Uses the list of frequencies that is configured using the :py:meth:`orfs_configure_modulation_custom_offset_frequency_array` and :py:meth:`orfs_configure_switching_custom_offset_frequency_array` methods for measurement of spectrum produced by modulation and switching measurements."""
[docs] class OrfsEvaluationSymbolsIncludeTsc(Enum): """OrfsEvaluationSymbolsIncludeTsc.""" FALSE = 0 r"""The TSC portion of the burst will be excluded while performing the ORFS measurement.""" TRUE = 1 r"""The TSC portion of the burst will be included while performing the ORFS measurement."""
[docs] class OrfsEvaluationSymbolsScope(Enum): """OrfsEvaluationSymbolsScope.""" OFFSET = 0 r"""Modulation Offset Power measurements will only use the part of burst configured using the RFmxGSM ORFS Configure Evaluation Symbols method. Modulation Carrier Power measurement will use all of the useful part of the burst.""" OFFSET_AND_CARRIER = 1 r"""Modulation Offset and Carrier Power measurements will both use the part of burst configured using the RFmxGSM ORFS Configure Evaluation Symbols method."""
[docs] class OrfsNoiseCompensationEnabled(Enum): """OrfsNoiseCompensationEnabled.""" FALSE = 0 r"""Disables compensation of the channel powers for the signal analyzer noise floor.""" TRUE = 1 r"""Enables compensation of the channel powers for the noise floor of the signal analyzer. The noise floor of the signal analyzer is measured for the RF path used by the output radio frequency spectrum (ORFS) measurement and cached for future use. If signal analyzer or measurement parameters change, noise floors are measured again."""
[docs] class PvtAveragingEnabled(Enum): """PvtAveragingEnabled.""" FALSE = 0 r"""The measurement is performed on a single acquisition.""" TRUE = 1 r"""The measurement is averaged over multiple acquisitions."""
[docs] class PvtAveragingType(Enum): """PvtAveragingType.""" RMS = 0 r"""The power at each sample interval is linearly averaged from one acquisition to the next acquisition.""" LOG = 1 r"""The power at each sample interval is averaged on a logarithmic scale from one acquisition to the next acquisition.""" MAXIMUM = 3 r"""The peak power at each sample interval is retained from one acquisition to the next acquisition.""" MINIMUM = 4 r"""The lowest power at each sample interval is retained from one acquisition to the next acquisition."""
[docs] class PvtMaximumPowerTraceEnabled(Enum): """PvtMaximumPowerTraceEnabled.""" FALSE = 0 r"""Disables computation of the PVT Maximum Power Trace.""" TRUE = 1 r"""Enables computation of the PVT Maximum Power Trace."""
[docs] class PvtMinimumPowerTraceEnabled(Enum): """PvtMinimumPowerTraceEnabled.""" FALSE = 0 r"""Disables computation of the PVT Minimum Power Trace.""" TRUE = 1 r"""Enables computation of the PVT Minimum Power Trace."""
[docs] class PvtMeasurementStatus(Enum): """PvtMeasurementStatus.""" FAIL = 0 r"""The measurement failed because the average power of at least one slot is outside the standard-defined limits.""" PASS = 1 r"""The measurement passed because the average power of all slots is within the standard-defined limits."""
[docs] class PvtSlotMeasurementStatus(Enum): """PvtSlotMeasurementStatus.""" FAIL = 0 r"""The average power for at least one slot is outside the standard-defined limits.""" PASS = 1 r"""The average power for each slot is within the standard-defined limits."""
[docs] class LimitedConfigurationChange(Enum): """LimitedConfigurationChange.""" DISABLED = 0 r"""This is the normal mode of RFmx operation. All configuration changes in RFmxInstr attributes or in personality attributes will be applied during RFmx Commit.""" NO_CHANGE = 1 r"""Signal configuration is locked after the first Commit of the named signal configuration. Any configuration change thereafter either in RFmxInstr attributes or personality attributes will not be considered by subsequent RFmx Commits or Initiates of this signal. Use **No Change** if you have created named signal configurations for all measurement configurations but are setting some RFmxInstr attributes. Refer to the Limitations of the Limited Configuration Change Property topic for more details about the limitations of using this mode.""" FREQUENCY = 2 r"""Signal configuration, other than center frequency and external attenuation, is locked after first Commit of the named signal configuration. Thereafter, only the :py:attr:`~nirfmxgsm.attributes.AttributeID.CENTER_FREQUENCY` and :py:attr:`~nirfmxgsm.attributes.AttributeID.EXTERNAL_ATTENUATION` attribute value changes will be considered by subsequent driver Commits or Initiates of this signal. Refer to the Limitations of the Limited Configuration Change Property topic for more details about the limitations of using this mode.""" REFERENCE_LEVEL = 3 r"""Signal configuration, other than the reference level, is locked after first Commit of the named signal configuration. Thereafter only the :py:attr:`~nirfmxgsm.attributes.AttributeID.REFERENCE_LEVEL` attribute value change will be considered by subsequent driver Commits or Initiates of this signal. If you have configured this signal to use an IQ Power Edge Trigger, NI recommends that you set the :py:attr:`~nirfmxgsm.attributes.AttributeID.IQ_POWER_EDGE_TRIGGER_LEVEL_TYPE` to **Relative** so that the trigger level is automatically adjusted as you adjust the reference level. Refer to the Limitations of the Limited Configuration Change Property topic for more details about the limitations of using this mode.""" FREQUENCY_AND_REFERENCE_LEVEL = 4 r"""Signal configuration, other than center frequency, reference level, and external attenuation, is locked after first Commit of the named signal configuration. Thereafter only Center Frequency, Reference Level, and External Attenuation attribute value changes will be considered by subsequent driver Commits or Initiates of this signal. If you have configured this signal to use an IQ Power Edge Trigger, NI recommends you set the IQ Power Edge Level Type to **Relative** so that the trigger level is automatically adjusted as you adjust the reference level. Refer to the Limitations of the Limited Configuration Change Property topic for more details about the limitations of using this mode.""" SELECTED_PORTS_FREQUENCY_AND_REFERENCE_LEVEL = 5 r"""Signal configuration, other than selected ports, center frequency, reference level, external attenuation, and RFInstr configuration, is locked after first Commit or Initiate of the named signal configuration. Thereafter only Selected Ports, Center Frequency, Reference Level, and External Attenuation attribute value changes will be considered by subsequent driver Commits or Initiates of this signal. If you have configured this signal to use an IQ Power Edge Trigger, NI recommends you set the IQ Power Edge Level Type to **Relative** so that the trigger level is automatically adjusted as you adjust the reference level. Refer to the Limitations of the Limited Configuration Change Property topic for more details about the limitations of using this mode."""
[docs] class MeasurementTypes(IntFlag): """MeasurementTypes.""" MODACC = 1 << 0 r"""Selects MODACC measurement.""" ORFS = 1 << 1 r"""Selects ORFS measurement.""" PVT = 1 << 2 r"""Selects PVT measurement."""