.. :html_theme.sidebar_secondary.remove:

:orphan:

:py:mod:`comyx.network.user_equipment`
======================================

.. py:module:: comyx.network.user_equipment


Module Summary
---------------

Classes
~~~~~~~

.. autoapisummary::

   comyx.network.user_equipment.UserEquipment





Reference
---------

.. py:class:: UserEquipment(id_: str, n_antennas: int, position: Union[List[float], None] = None, t_power: Union[float, None] = None, r_sensitivity: Union[float, None] = None)


   Bases: :py:obj:`comyx.network.transceiver.Transceiver`

   Represents a user equipment in the modelled environment.

   Identifiers may be of the form "UEx", where x is a positive integer. The
   first two characters indicate the type of transceiver, i.e., "UE" for user
   equipment. The remaining characters are the unique identifier of the user
   equipment. For example, "UE42" is a user equipment with identifier 42.

   .. py:property:: rate
      :type: NDArrayFloat

      Calculate the rate of the transceiver (Shannon formula)

      :param mean_axis: Axis along which the mean is calculated.
                        Default is -1 (last axis, i.e., over all realizations).

      :returns: Rate of the transceiver.

   .. py:method:: from_base_station(base_station: comyx.network.base_station.BaseStation, id_: str, n_antennas: int, t_power: Union[float, None] = None, r_sensitivity: Union[float, None] = None, height: float = 0, tolerance: float = 0) -> UserEquipment
      :classmethod:

      Create a user equipment within the coverage area of a base station.

      :param id_: Unique identifier of the user equipment.
      :param n_antennas: Number of antennas of the user equipment.
      :param base_station: Base station to create the user equipment from.
      :param height: Height of the user equipment. Defaults to 0.
      :param tolerance: Tolerance from the edge of the coverage area.
                        Defaults to 0.

      :returns: Randomly positioned user equipment.



