Source code for comyx.network.base_station

from __future__ import annotations

from typing import Any, List, Union

import numpy as np
import numpy.typing as npt

NDArrayFloat = npt.NDArray[np.floating[Any]]
RVDistribution = Any

from .transceiver import Transceiver


[docs] class BaseStation(Transceiver): """Represents a base station in the modelled environment. Identifiers may be of the form "BSx", where x is a positive integer. The first two characters indicate the type of transceiver, i.e., "BS" for base station. The remaining characters are the unique identifier of the base station. For example, "BS1" is a base station with identifier 1. """ def __init__( self, id_: str, n_antennas: int, position: Union[List[float], None] = None, t_power: Union[float, None] = None, r_sensitivity: Union[float, None] = None, radius: Union[float, None] = None, ): """Initialize a transceiver object. Args: id_: Unique identifier of the transceiver. n_antennas: Number of antennas of the transceiver. position: Position of the transceiver in the environment. t_power: Transmit power of the transceiver. r_sensitivity: Sensitivity of the transceiver. radius: Radius of the transceiver. """ super().__init__(id_, n_antennas, position, t_power, r_sensitivity) self._radius = radius @property def radius(self) -> float: """Return the radius of the base station.""" return self._radius
__all__ = ["BaseStation"]