Пример #1
0
    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]
Пример #5
0
    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!
Пример #6
0
  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!
Пример #7
0
    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
Пример #8
0
    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
Пример #9
0
  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
Пример #10
0
    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
Пример #11
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
Пример #12
0
  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 = []
Пример #13
0
    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 = []