public class WirelessUtils extends Object
Constructor and Description |
---|
WirelessUtils() |
Modifier and Type | Method and Description |
---|---|
static Triple<DoubleMatrix2D,Map<Link,Set<Node>>,Map<Node,Set<Link>>> |
computeInterferenceMap(List<Node> nodes,
List<Link> links,
boolean simultaneousTxAndRxPossible)
Given a wireless network where a node cannot simultanously receive signals from two different nodes (or a collision would be produced and no signal is correctly received), this function computes the cases in which a node transmission interferes with a link reception,
and returns this information in several structures.
|
static DoubleMatrix2D |
computeInterferenceMatrixNaturalUnits(List<Link> links,
double interferenceAttenuationFactor_nu,
double pathLossExponent)
Computes the interference matrix in a network subject to soft interferences: a matrix with as many rows and columns as links, with the gain in natural units of the signal from origin of e1 to destination of e2.
|
static double |
computeLinkReceivedInterferenceAtMaxPower_nu(int e,
double maxTransmissionPower_logu,
DoubleMatrix2D Gnu_ee)
Returns the maximum possible interference power in natural (linear) units a link can receive, if the rest of the links transmit at its maximum power at the same time.
|
static DoubleMatrix2D |
computeSchedulingMatrix(List<Link> links)
Given a wireless network where a node cannot simultanously receive signals from two different nodes (or a collision would be produced and no signal is correctly received),
and cannot transmit and receive at the same time, this function computes the scheduling matrix, with one row per link, and one column for each VALID schedule:
in a valid schedule, all the links active (with a 1 in the associated row) could simultaneously transmit with no collision.
|
static double |
computeSINRLink(int e,
DoubleMatrix1D transmissionPowerLogUnits_e,
DoubleMatrix2D Gnu_ee,
double receptionThermalNoise_nu)
Computes the Signal to Noise Ratio for the given wireless link.
|
static double |
computeWorseReceiverInterferencePower_nu(double maxTransmissionPower_logu,
DoubleMatrix2D Gnu_ee)
Compute the highest received interference power that a node in the network receives, when all the links are simultaneously transmitting at its maximum power
|
public static Triple<DoubleMatrix2D,Map<Link,Set<Node>>,Map<Node,Set<Link>>> computeInterferenceMap(List<Node> nodes, List<Link> links, boolean simultaneousTxAndRxPossible)
DoubleMatrix2D
object (a 2D matrix), with as many rows as nodes and as many columns as links. Position (n,e) equals to 1 is the transmission
in node n would impede any reception in link e. Map<Link,Set<Node>>
which associates to each link, the set of nodes that interfere to itMap<Node,Set<Link>>
which associates to each node, the set of links that the node interferes tonodes
- List of nodes of the networklinks
- List of wireless linkssimultaneousTxAndRxPossible
- Wheter or not simultaneous transmission and reception is possible in the network nodespublic static DoubleMatrix2D computeInterferenceMatrixNaturalUnits(List<Link> links, double interferenceAttenuationFactor_nu, double pathLossExponent)
interferenceAttenuationFactor_nu
the received power.links
- List of linksinterferenceAttenuationFactor_nu
- Interference attenuation factorpathLossExponent
- Path loss exponentpublic static double computeLinkReceivedInterferenceAtMaxPower_nu(int e, double maxTransmissionPower_logu, DoubleMatrix2D Gnu_ee)
e
- the linkmaxTransmissionPower_logu
- maximum transmission power of each other link in the network, in logarithmic unitsGnu_ee
- The interference map for the networkpublic static DoubleMatrix2D computeSchedulingMatrix(List<Link> links)
links
- List of wireless linkspublic static double computeSINRLink(int e, DoubleMatrix1D transmissionPowerLogUnits_e, DoubleMatrix2D Gnu_ee, double receptionThermalNoise_nu)
e
- link indextransmissionPowerLogUnits_e
- The vector of transmission power of each link in logarithmic unitsGnu_ee
- the interference map of the network: fraction of power in link e1 that reaches the end node of link e2 (and if e1 is not e2, becomes an interference to it)receptionThermalNoise_nu
- the thermal noise at the receptor node of link epublic static double computeWorseReceiverInterferencePower_nu(double maxTransmissionPower_logu, DoubleMatrix2D Gnu_ee)
maxTransmissionPower_logu
- maximum transmission power of each link in the network, in logarithmic unitsGnu_ee
- The interference map for the networkCopyright © 2018. All rights reserved.