Example #1
0
    def __init__(self, position, PHY, velocity=10, antennas=2):
        PhysicalEntity.__init__(self, position, velocity)
        self._baseStations = {
        }  # list of base stations. Keeps track of pathloss data and similar.
        self.SINR = None  # The mobile has only one SINR
        self._BS = None  # Store the BS with the best SINR here. This is the BS the mobile is connected to.
        self._cell = None  # Store the cell  the best SINR here. This is the cell the mobile is connected to.
        self.antennas = antennas  # number of device antennas for MIMO capacity
        self.PHY = PHY
        self.noisePower = None  # system noise power over entire bandwidth
        self.interferencePower = None
        self.noiseIfPower = None  # the perceived noise power over the system bandwidth when all undesired BS send at PMax
        # self.OFDMA_assignedCSI = None # numpy array of CSI from assigned BS on each resource
        self.OFDMA_interferenceCovar = np.empty(
            [self.antennas, 2, self.PHY.numFreqChunks, self.PHY.numTimeslots],
            dtype=complex)
        self.OFDMA_EC = np.empty(
            [antennas, 2, self.PHY.numFreqChunks, self.PHY.numTimeslots],
            dtype=complex
        )  # effective channel including noise and interference. H*Cn*Hh on each RB TODO: remove magic number cell antennas
        self.OFDMA_effSINR = np.empty(
            [max(antennas, 2), self.PHY.numFreqChunks, self.PHY.numTimeslots]
        )  # unit power SINR on each spatial stream/channel. real-valued positive

        self.id_ = Mobile.id_
        Mobile.id_ += 1
Example #2
0
    def __init__(self, position, typ='macro', p0=0, m=1, pS=0, antennas=2): # power in dBm 
        PhysicalEntity.__init__(self, position)
        self.typ = typ
        self._cells = None # If sectored, the BS serves multiple. This is a list of cells.
        self.p0 = p0 # power consumption at zero transmission
        self.m = m # power consumption load factor. How consumption rises with transmission power
        self.pS = pS # power consumption in sleep mode

        self.id_ = BaseStation.id_ 
        BaseStation.id_ += 1
Example #3
0
    def __init__(self,
                 position,
                 typ='macro',
                 p0=0,
                 m=1,
                 pS=0,
                 antennas=2):  # power in dBm
        PhysicalEntity.__init__(self, position)
        self.typ = typ
        self._cells = None  # If sectored, the BS serves multiple. This is a list of cells.
        self.p0 = p0  # power consumption at zero transmission
        self.m = m  # power consumption load factor. How consumption rises with transmission power
        self.pS = pS  # power consumption in sleep mode

        self.id_ = BaseStation.id_
        BaseStation.id_ += 1
Example #4
0
    def __init__(self, position, PHY, velocity=10, antennas=2):
        PhysicalEntity.__init__(self,position, velocity)
        self._baseStations = {} # list of base stations. Keeps track of pathloss data and similar.
        self.SINR = None # The mobile has only one SINR
        self._BS = None # Store the BS with the best SINR here. This is the BS the mobile is connected to.
        self._cell = None # Store the cell  the best SINR here. This is the cell the mobile is connected to.
        self.antennas = antennas # number of device antennas for MIMO capacity
        self.PHY = PHY
        self.noisePower = None # system noise power over entire bandwidth
        self.interferencePower = None 
        self.noiseIfPower = None # the perceived noise power over the system bandwidth when all undesired BS send at PMax
        # self.OFDMA_assignedCSI = None # numpy array of CSI from assigned BS on each resource
        self.OFDMA_interferenceCovar = np.empty([self.antennas, 2, self.PHY.numFreqChunks, self.PHY.numTimeslots], dtype=complex)
        self.OFDMA_EC = np.empty([antennas, 2, self.PHY.numFreqChunks, self.PHY.numTimeslots], dtype=complex) # effective channel including noise and interference. H*Cn*Hh on each RB TODO: remove magic number cell antennas
        self.OFDMA_effSINR = np.empty([max(antennas, 2), self.PHY.numFreqChunks, self.PHY.numTimeslots]) # unit power SINR on each spatial stream/channel. real-valued positive

        self.id_ = Mobile.id_ 
        Mobile.id_ += 1