def __init__(self, orb, options): resource_manager_base.__init__(self, orb, options=options, loggerbase="mber.") self.localenv = options.le self.snr = options.snr self.amplitude = options.rms_amplitude self.init_mod = options.init_mod self.logger = logging.getLogger("mber.sm") self.logger.setLevel(logging.DEBUG) self.num_points = options.points # self.rm_logger.setLevel(logging.ERROR) # set initial parameters self.setup_time = 1000 # ms if self.localenv is not None: self.tx_max_log = log10(10000**2) self.tx_min_log = log10(500**2) else: if self.options.usrp2: self.scale = 1 / 32768. self.tx_max_log = log10(options.ub**2) self.tx_min_log = log10(options.lb**2) #self.txpow_range = logspace(self.tx_max_log,self.tx_min_log,self.num_points) #self.txpow_range = range(10000**2,500**2,-(500**2)) #self.nbits = [1, 2, 3, 4, 5, 6, 7, 8] self.nbits = [options.init_mod] available_modulations = [ "BPSK", "QPSK", "8-PSK", "16-QAM", "32-QAM", "64-QAM", "128-QAM", "256-QAM" ] self.modulations = available_modulations[self.init_mod - 1] self.state = 0 self.curmod = 0 self.curtxpowind = 0 if self.options.usrp2: self.scale = 1 / 32768. self.tx_amplitude = self.amplitude * self.scale else: self.tx_amplitude = self.amplitude self.buffer = [] self.data_rate = 0 self.current_rx_id = -1 self.expected_rx_id = -1 self.expire_cnt = 0 self.start_time = "" self.options = options
def __init__(self, orb, options): resource_manager_base.__init__(self, orb, options=options, loggerbase="suw.") self.logger = logging.getLogger("suw.rm") self.logger.setLevel(logging.DEBUG) # set initial parameters self.required_ber = 1e-3 self.constraint = 8000.0 # rate or power, RMS! self.setup_time = 10000 # ms self.data_rate = 365079 # implicitly exposed to GUI # self.data_rate= self.subcarriers*4*9/12/(self.fft_length+self.cp_length)/self.bandwidth if self.options.usrp2: self.tx_amplitude = 0.8 # RMS! self.scale = 1 / 32768.0 # Still experimental else: self.tx_amplitude = 8000 #!!! dummy setup of parameters using options -> improve !!! self.bandwidth = options.bandwidth if options.dyn_freq: self.freq = options.freq self.tx_freq = options.freq self.rx_freq = options.freq # self.subcarriers self.store_ctrl_events = False self.auto_state = 0 self.state1_cntr = 0 self.options = options
def __init__(self, orb, options): resource_manager_base.__init__(self, orb, options=options, loggerbase="suw.") self.logger = logging.getLogger("suw.rm") self.logger.setLevel(logging.DEBUG) # set initial parameters self.required_ber = 1e-3 self.constraint = 4000.0 # rate or power, RMS! self.setup_time = 1000 # ms self.data_rate = 365079 # implicitly exposed to GUI #self.data_rate= self.subcarriers*4*9/12/(self.fft_length+self.cp_length)/self.bandwidth if self.options.usrp2: self.tx_amplitude = 0.3 # RMS! self.scale = 1 / 32768. #Still experimental else: self.tx_amplitude = 10000 # self.subcarriers self.store_ctrl_events = False self.auto_state = 0 self.state1_cntr = 0 self.options = options
def __init__(self,orb,options): resource_manager_base.__init__(self,orb,options=options,loggerbase="suw.") self.logger = logging.getLogger("suw.rm") self.logger.setLevel(logging.DEBUG) # set initial parameters self.required_ber = 1e-3 self.constraint = 6000 # rate or power, RMS! self.setup_time = 1*1000 # ms self.data_rate= 365079 # implicitly exposed to GUI #self.data_rate= self.subcarriers*4*9/12/(self.fft_length+self.cp_length)/self.bandwidth if self.options.usrp2: self.tx_amplitude = 0.3 # RMS! self.scale = 1/32768. #Still experimental else: self.tx_amplitude = 10000 self.store_ctrl_events = False self.auto_state = 0 self.state1_cntr = 0 self.options = options #Static shifted pilot tones -> CORRECT later self.shifted_pilots = [24,44,64,84,124,144,164,180]
def __init__(self, orb): resource_manager_base.__init__(self, orb) # set initial parameters self.required_ber = 1e-4 self.constraint = 4000.0 # rate or power, RMS! self.setup_time = 3 * 1000 # ms self.data_rate = 365079 # implicitly exposed to GUI self.tx_amplitude = 5000 # RMS!
def __init__(self,orb): resource_manager_base.__init__(self,orb) # set initial parameters self.required_ber = 1e-4 self.constraint = 4000.0 # rate or power, RMS! self.setup_time = 3*1000 # ms self.data_rate= 365079 # implicitly exposed to GUI self.tx_amplitude = 5000 # RMS!
def __init__(self, orb): resource_manager_base.__init__(self, orb) # set initial parameters self.strategy_mode = ofdm_ti.PA_Ctrl.reset self.required_ber = 0.01 self.constraint = 4000.0 # rate or power self.setup_time = 3 * 1000 # ms self.data_rate = 365079 self.tx_amplitude = 50004
def __init__(self, orb): resource_manager_base.__init__(self, orb) # set initial parameters self.strategy_mode = ofdm_ti.PA_Ctrl.reset self.required_ber = 0.01 self.constraint = 4000.0 # rate or power self.setup_time = 3 * 1000 # ms self.data_rate = 365079 self.tx_amplitude = 50004
def __init__(self,orb,options): resource_manager_base.__init__(self,orb,options=options,loggerbase="mber.") self.localenv = options.le self.snr = options.snr self.amplitude = options.rms_amplitude self.init_mod = options.init_mod self.logger = logging.getLogger("mber.sm") self.logger.setLevel(logging.DEBUG) self.num_points = options.points # self.rm_logger.setLevel(logging.ERROR) # set initial parameters self.setup_time = 1000 # ms if self.localenv is not None: self.tx_max_log = log10(10000**2) self.tx_min_log = log10(500**2) else: if self.options.usrp2: self.scale = 1/32768. self.tx_max_log = log10(options.ub**2) self.tx_min_log = log10(options.lb**2) #self.txpow_range = logspace(self.tx_max_log,self.tx_min_log,self.num_points) #self.txpow_range = range(10000**2,500**2,-(500**2)) #self.nbits = [1, 2, 3, 4, 5, 6, 7, 8] self.nbits = [options.init_mod] available_modulations = ["BPSK", "QPSK", "8-PSK","16-QAM","32-QAM", "64-QAM","128-QAM", "256-QAM"] self.modulations = available_modulations[ self.init_mod-1] self.state = 0 self.curmod = 0 self.curtxpowind = 0 if self.options.usrp2: self.scale = 1/32768. self.tx_amplitude = self.amplitude*self.scale else: self.tx_amplitude = self.amplitude self.buffer = [] self.data_rate = 0 self.current_rx_id = -1 self.expected_rx_id = -1 self.expire_cnt = 0 self.start_time = "" self.options = options
def __init__(self, orb): resource_manager_base.__init__(self, orb) # set initial parameters self.required_ber = 1e-4 self.constraint = 4000.0 # rate or power, RMS! self.setup_time = 3 * 1000 # ms self.data_rate = 365079 # implicitly exposed to GUI self.tx_amplitude = 5000 # RMS! self.strategy_mode = ofdm_ti.PA_Ctrl.rate_adaptive self.ber_state = 1e-7 self.last_ber_err = 0.0
def __init__(self,orb,options): resource_manager_base.__init__(self,orb,options=options,loggerbase="mber.") self.localenv = options.le self.logger = logging.getLogger("mber.sm") self.logger.setLevel(logging.DEBUG) self.num_points = options.points # self.rm_logger.setLevel(logging.ERROR) # set initial parameters self.setup_time = 3000 # ms if self.localenv is not None: self.tx_max_log = log10(10000**2) self.tx_min_log = log10(500**2) else: if self.options.usrp2: self.scale = 1/32768. self.tx_max_log = log10(options.ub**2) self.tx_min_log = log10(options.lb**2) self.txpow_range = logspace(self.tx_max_log,self.tx_min_log,self.num_points) #self.txpow_range = range(10000**2,500**2,-(500**2)) self.nbits = [1, 2, 3, 4, 5, 6, 7, 8] self.state = 0 self.curmod = 0 self.curtxpowind = 0 if self.options.usrp2: self.scale = 1/32768. self.tx_amplitude = sqrt(self.txpow_range[0])*self.scale else: self.tx_amplitude = sqrt(self.txpow_range[0]) self.buffer = [] self.data_rate = 0 self.current_rx_id = -1 self.expected_rx_id = -1 self.expire_cnt = 0 self.start_time = "" self.options = options
def __init__(self,orb): resource_manager_base.__init__(self,orb) # set initial parameters self.required_ber = 1e-4 self.constraint = 4000.0 # rate or power, RMS! self.setup_time = 6*1000 # ms self.data_rate= 365079 # implicitly exposed to GUI self.tx_amplitude = 5000 # RMS! # self.subcarriers self.state = 0 self.txpow_range = logspace(6, 8, 20, True, 10)# range(1000**2,3000**2,1000**2) self.cur_txpow_ind = 0 self.mod_range = range(1,9) self.cur_mod_ind = 0 self.ber_vec = [] self.snr_vec = [] self.results = []
def __init__(self, orb): resource_manager_base.__init__(self, orb) # set initial parameters self.required_ber = 1e-4 self.constraint = 4000.0 # rate or power, RMS! self.setup_time = 6 * 1000 # ms self.data_rate = 365079 # implicitly exposed to GUI self.tx_amplitude = 5000 # RMS! # self.subcarriers self.state = 0 self.txpow_range = logspace(6, 8, 20, True, 10) # range(1000**2,3000**2,1000**2) self.cur_txpow_ind = 0 self.mod_range = range(1, 9) self.cur_mod_ind = 0 self.ber_vec = [] self.snr_vec = [] self.results = []