Coverage

class pylayers.antprop.coverage.Coverage(_fileini='coverage.ini')[source]

Bases: pylayers.util.project.PyLayers

Handle Layout Coverage

creategrid()

create a uniform grid for evaluating losses

cover()

run the coverage calculation

showPower()

display the map of received power

showLoss()

display the map of losses

All attributes are read from fileini ino the ini directory of the current project

_fileini

default coverage.ini

L : a Layout nx : number of point on x ny : number of point on y tx : transmitter position txpe : transmitter power emmission level show : boolean for automatic display power map na : number of access point

Methods Summary

cover(**kwargs)

run the coverage calculation

creategrid([mode, boundary, _fileini])

create a grid

evbestsv()

determine the best server map

evsinr()

calculates sinr

evsnr()

calculates signal to noise ratio

plot(**kwargs)

show(**kwargs)

show coverage

where1()

Unfinished : Not sure this is the right place (too specific)

Methods Documentation

cover(**kwargs)[source]

run the coverage calculation

sinr : boolean snr : boolean best : boolean size : integer

size of grid points block

>>> from pylayers.antprop.coverage import *
>>> C = Coverage()
>>> C.cover()
>>> f,a = C.show(typ='sinr',figsize=(10,8))
>>> plt.show()

(Source code)

../_images/pylayers-antprop-coverage-Coverage-1.png

self.fGHz is an array, it means that Coverage is calculated at once for a whole set of frequencies. In practice, it would be the center frequency of a given standard channel.

This function is calling loss.Losst which calculates Losses along a straight path.

In a future implementation we will abstract the EM solver in order to make use of other calculation approaches as a full or partial Ray Tracing.

The following members variables are evaluated :

  • freespace Loss @ fGHz PL() PathLoss (shoud be rename FS as free space) $

  • prdbmo : Received power in dBm .. math:P_{rdBm} =P_{tdBm} - L_{odB}

  • prdbmp : Received power in dBm .. math:P_{rdBm} =P_{tdBm} - L_{pdB}

  • snro : SNR polar o (H)

  • snrp : SNR polar p (H)

pylayers.antprop.loss.Losst pylayers.antprop.loss.PL

creategrid(mode='full', boundary=[], _fileini='')[source]

create a grid

fullboolean

default (True) use all the layout area

boundary(xmin,ymin,xmax,ymax)

if full is False the boundary argument is used

evbestsv()[source]

determine the best server map

C.bestsv

evsinr()[source]

calculates sinr

evsnr()[source]

calculates signal to noise ratio

plot(**kwargs)[source]
show(**kwargs)[source]

show coverage

typstring

‘pr’ | ‘sinr’ | ‘capacity’ | ‘loss’ | ‘best’ | ‘egd’ | ‘ref’

grid : boolean polar : string

‘o’ | ‘p’

bestboolean

draw best server contour if True

fint

frequency index

aint

access point index (-1 all access point)

>>> from pylayers.antprop.coverage import *
>>> C = Coverage()
>>> C.cover()
>>> f,a = C.show(typ='pr',figsize=(10,8))
>>> plt.show()

(Source code, png, hires.png, pdf)

../_images/pylayers-antprop-coverage-Coverage-2_00_00.png
>>> f,a = C.show(typ='best',figsize=(10,8))
>>> plt.show()

(png, hires.png, pdf)

../_images/pylayers-antprop-coverage-Coverage-2_01_00.png
>>> f,a = C.show(typ='loss',figsize=(10,8))
>>> plt.show()

(png, hires.png, pdf)

../_images/pylayers-antprop-coverage-Coverage-2_02_00.png
>>> f,a = C.show(typ='sinr',figsize=(10,8))
>>> plt.show()

(png, hires.png, pdf)

../_images/pylayers-antprop-coverage-Coverage-2_03_00.png

pylayers.gis.layout.Layout.showG

where1()[source]

Unfinished : Not sure this is the right place (too specific)