Inter

class pylayers.antprop.interactions.Inter(typ=0, data=array([], dtype=float64), idx=[], _filemat='matDB.ini', _fileslab='slabDB.ini', slab={})[source]

Bases: pylayers.util.project.PyLayers

Interactions

Meta class of interactions ( Interactions, IntB/IntL/IntT/intR/intD)

typint

type of interaction 1 : D 2 : R 3 : T 0 : Tx or Rx

-1 : B

data: np.array

data for the interaction

idx:

idx number of the interaction between 0 and (ray number * inter number)

fGHznp.array

frequency range in GHz

nfint

number of step into freq range

olfnp.array

np.ones((nf)) used for broadcasting

Methods Summary

create_dusl(a)

create dictionnary of used slab.

sinsout()

calculate sin sout of the interaction

stack([data, dtype, idx, isdata])

stack data and the associated idx

Methods Documentation

create_dusl(a)[source]

create dictionnary of used slab.

anp.array of strings which contains ordered interactions

ordered as in self.idx/self.data

sinsout()[source]

calculate sin sout of the interaction

typ

1 : Diffraction 2 : Reflection 3 : Transmission

si : self.data[:,1] so : self.data[:,2]

typ = 0

LOS

typ = -1

Basis

stack(data=array([], dtype=float64), idx=0, isdata=True)[source]

stack data and the associated idx

datanp.array()

data to stack

idx :

index to stack

isdata: bool

False if you just want to stack idx (only used for intE class )

>>> from pylayers.antprop.rays import *
>>> import numpy as np
>>> I=Inter()
>>> data = np.array(([3,4,5]))
>>> idx = 0
>>> I.stack(data,idx)
>>> I.data
array([3, 4, 5])
>>> I.idx
[0]
>>> data = np.array(([3,4,5],[7,8,9]))
>>> idx = [1,2]
>>> I.stack(data,idx)
>>> I.data
array([[3, 4, 5],
       [3, 4, 5],
       [7, 8, 9]])
>>> I.idx
[0, 1, 2]