ADPchannel

class pylayers.antprop.channel.ADPchannel(x=array([], dtype=float64), y=array([], dtype=float64), az=array([], dtype=float64), tx=array([], dtype=float64), rx=array([], dtype=float64), fcGHz=28, _filename='', refinement=False, ang_offset=0)[source]

Bases: pylayers.signal.bsignal.TUsignal

Angular Delay Profile channel

azarray

azimuth in radian

ang_offset : theta : float phi : float tau : float _filename : string

short filename for saving

Methods Summary

app(**kwargs)

Calculate Angular Power Profile

clean([threshold_dB])

clean ADP

correlate(adp[, thresholddB])

correlate ADP with an other ADP

cut([imin, imax])

imshow(**kwargs)

show Angular Delay Profile

pap([fcGHz, fontsize, figsize, Gmax, Gmin, …])

Calculate Power Angular Profile

pdp(**kwargs)

Calculate the Power Delay Profile

pdp_v(**kwargs)

Calculate and plot Power Delay Profile

peak([refinement])

evaluate peak of PADP

pltcir(phideg[, Gain])

plot Channel Impulse Response

polarplot(**kwargs)

polar plot of PADP

svd()

perform singular value decomposition of the PADP

toafp(fmin)

angular delay profile -> angular frequency profile

tomap(L, **kwargs)

surimpose PADP on the Layout

Methods Documentation

app(**kwargs)[source]

Calculate Angular Power Profile

clean(threshold_dB=20)[source]

clean ADP

threshold_dB : float

All values below Max -threshold are set to zero

correlate(adp, thresholddB=-105)[source]

correlate ADP with an other ADP

adp : ADPchannel

rhoE : energy ratio of padp Eadp/Eself rhoEc : energy ratio of centered padp Ecadp/Ecself rho : normalized intercorrelation : <self-mean(self),adp-mean(adp)>/Eself rhon : intercorrelation of normalized padp <self_normalized,adp_normalized>

This can be used to compare a measured PADP with a Ray tracing PADP

cut(imin=0, imax=1000)[source]
imshow(**kwargs)[source]

show Angular Delay Profile

origin: string

‘lower’

vmax : -65, vmin : -120, interpolation : string

‘nearest’,

alpha:1, imin = 0 imax = -1 dB = True fig = [] ax = [] fonts = 18 label = ‘’ blos = True orientation = -1 bcolorbar = False ang_offset = 450

pap(fcGHz=28, fontsize=18, figsize=(10, 10), Gmax=22.68, Gmin=19, threshdB=-95, label='', color='k', fig=[], ax=[], xlabel=True, ylabel=True, legend=True)[source]

Calculate Power Angular Profile

fcGHz : float fontsize : int figsize : tuple fig : ax : xlabel : boolean ylabel : boolean legen : boolean

fig,ax

pdp(**kwargs)[source]

Calculate the Power Delay Profile

fcGHz : float figsize’:(1010) fontsize’:18 fig’ : [] ax’: [] xlabel’: True ylabel’: True legend’: True losdelay’: True freespace’: True desembeded’: False typic’:True semilogx’:True bcir’:False raw’: False Gmax’:22.68 Gmin’:19 Tilt’:10 HPBW’:10

tau pdp

pdp_v(**kwargs)[source]

Calculate and plot Power Delay Profile

fcGHz : float

peak(refinement=False)[source]

evaluate peak of PADP

refinmentboolean

provide a refined version of angular estimation

alphapeak, taupeak , phipeak

pltcir(phideg, Gain=21)[source]

plot Channel Impulse Response

phideg : f

fig,ax u

polarplot(**kwargs)[source]

polar plot of PADP

fig ax figsize typ : string Ndec : int

decimation factor (1)

imaxint

max value 150

vminfloat

-120

vmaxfloat

-50

cmap : colormap title : PADP

fig , ax , pc (colormash)

svd()[source]

perform singular value decomposition of the PADP

It creates a dictionnay

{‘sv’:sv,’b’:b}

toafp(fmin)[source]

angular delay profile -> angular frequency profile

tomap(L, **kwargs)[source]

surimpose PADP on the Layout

L : Layout xmin : 10 xmax : 400 ymin : 10 ymax : 400, Nx :3000, Ny :3000, ‘cmap’:’jet’, ‘mode’:’image’, ‘excess’:’los’, ‘figsize’:(20,20), ‘thmindB’:-110, ‘thmaxdB’:-108, ‘vmindB’:-110, ‘vmaxdB’:-60, ‘offset’:0, ‘display’:True, ‘compensated’:True, ‘tauns_excess’:0