Source code for RsSmw.Implementations.Source.Bb.Nr5G.Output.CfReduction

from ......Internal.Core import Core
from ......Internal.CommandsGroup import CommandsGroup
from ......Internal import Conversions
from ...... import enums


# noinspection PyPep8Naming,PyAttributeOutsideInit,SpellCheckingInspection
class CfReductionCls:
	"""
	| Commands in total: 8
	| Subgroups: 0
	| Direct child commands: 8
	"""

	def __init__(self, core: Core, parent):
		self._core = core
		self._cmd_group = CommandsGroup("cfReduction", core, parent)

	# noinspection PyTypeChecker
[docs] def get_algorithm(self) -> enums.CrestFactoralgorithm: """ ``[SOURce<HW>]:BB:NR5G:OUTPut:CFReduction:ALGorithm`` \n Snippet: ``value: enums.CrestFactoralgorithm = driver.source.bb.nr5G.output.cfReduction.get_algorithm()`` \n Selects the algorithm used for the crest factor reduction. :return: cfr_algorithm: CLF Clipping and filtering algorithm PC Peak cancellation algorithm """ response = self._core.io.query_str('SOURce<HwInstance>:BB:NR5G:OUTPut:CFReduction:ALGorithm?') return Conversions.str_to_scalar_enum(response, enums.CrestFactoralgorithm)
[docs] def get_cp_bwidth(self) -> float: """ ``[SOURce<HW>]:BB:NR5G:OUTPut:CFReduction:CPBWidth`` \n Snippet: ``value: float = driver.source.bb.nr5G.output.cfReduction.get_cp_bwidth()`` \n Sets the bandwidth of the cancellation pulse. Prerequisites for this command \n - method ``RsSmw.source.bb.nr5G.output.cfReduction.algorithm()`` = PC :return: cancel_pulse_bw: float Range: 0 to 500e6 """ response = self._core.io.query_str('SOURce<HwInstance>:BB:NR5G:OUTPut:CFReduction:CPBWidth?') return Conversions.str_to_float(response)
[docs] def get_iterations(self) -> int: """ ``[SOURce<HW>]:BB:NR5G:OUTPut:CFReduction:ITERations`` \n Snippet: ``value: int = driver.source.bb.nr5G.output.cfReduction.get_iterations()`` \n Sets the number of iterations that are used for calculating the resulting crest factor. The iteration process is stopped when the desired crest factor is achieved by 0.1 dB. :return: max_iteration: integer Range: 0 to 20 """ response = self._core.io.query_str('SOURce<HwInstance>:BB:NR5G:OUTPut:CFReduction:ITERations?') return Conversions.str_to_int(response)
[docs] def get_oc_factor(self) -> int: """ ``[SOURce<HW>]:BB:NR5G:OUTPut:CFReduction:OCFactor`` \n Snippet: ``value: int = driver.source.bb.nr5G.output.cfReduction.get_oc_factor()`` \n Queries the original crest factor of the waveform after the calculation of the resulting crest factor is completed. The original crest factor is calculated as an average over the whole waveform, including any idle periods that might be present in TDD waveforms. :return: original_cfr: integer Range: 0 to 100 """ response = self._core.io.query_str('SOURce<HwInstance>:BB:NR5G:OUTPut:CFReduction:OCFactor?') return Conversions.str_to_int(response)
[docs] def get_rc_factor(self) -> int: """ ``[SOURce<HW>]:BB:NR5G:OUTPut:CFReduction:RCFactor`` \n Snippet: ``value: int = driver.source.bb.nr5G.output.cfReduction.get_rc_factor()`` \n Queries the resulting crest factor of the waveform after the calculations are completed. The resulting crest factor is calculated as an average over the whole waveform, including any idle periods that might be present in TDD waveforms. :return: resulting_cfr: integer Range: 0 to 100 """ response = self._core.io.query_str('SOURce<HwInstance>:BB:NR5G:OUTPut:CFReduction:RCFactor?') return Conversions.str_to_int(response)
[docs] def get_state(self) -> bool: """ ``[SOURce<HW>]:BB:NR5G:OUTPut:CFReduction:STATe`` \n Snippet: ``value: bool = driver.source.bb.nr5G.output.cfReduction.get_state()`` \n Enables the crest factor reduction calculation. :return: crest_factor_stat: 1 | ON | 0| OFF """ response = self._core.io.query_str('SOURce<HwInstance>:BB:NR5G:OUTPut:CFReduction:STATe?') return Conversions.str_to_bool(response)
[docs] def get_tcr_factor(self) -> float: """ ``[SOURce<HW>]:BB:NR5G:OUTPut:CFReduction:TCRFactor`` \n Snippet: ``value: float = driver.source.bb.nr5G.output.cfReduction.get_tcr_factor()`` \n Sets the desired crest factor value. :return: target_crf: float Range: 0 to 30 """ response = self._core.io.query_str('SOURce<HwInstance>:BB:NR5G:OUTPut:CFReduction:TCRFactor?') return Conversions.str_to_float(response)
[docs] def get_tr_bwidth(self) -> float: """ ``[SOURce<HW>]:BB:NR5G:OUTPut:CFReduction:TRBWidth`` \n Snippet: ``value: float = driver.source.bb.nr5G.output.cfReduction.get_tr_bwidth()`` \n Sets the transition bandwidth of the cancellation pulse. Prerequisites for this command \n - method ``RsSmw.source.bb.nr5G.output.cfReduction.algorithm()`` = PC :return: transit_bw: float Range: 0 to 500e6 """ response = self._core.io.query_str('SOURce<HwInstance>:BB:NR5G:OUTPut:CFReduction:TRBWidth?') return Conversions.str_to_float(response)