Ctilde¶
-
class
pylayers.antprop.channel.
Ctilde
[source]¶ Bases:
pylayers.util.project.PyLayers
container for the 4 components of the polarimetric ray channel
Ctt : bsignal.FUsignal Ctp : bsignal.FUsignal Cpt : bsignal.FUsignal Cpp : bsignal.FUsignal
tauk : ndarray delays tang : ndarray angles of departure rang : ndarray angles of arrival tangl : ndarray angles of departure (local) rangl : ndarray angles of arrival (local)
- fGHznp.array
frequency array
- nfreqint
number of frequency point
- nrayint
number of rays
choose load mobility doadod show energy sort prop2tran
Methods Summary
Cg2Cl
([Tt, Tr])global reference frame to local reference frame
check channel reciprocity
cut
([threshold_dB])cut rays from a energy threshold
doadod
(**kwargs)doadod scatter plot
energy
([mode, Friis, sumray])calculates energy on each channel
inforay
(iray[, ifreq])provide information about a specific ray
loadh5
(Lfilename, idx[, output])load Ctilde object in hdf5 format
locbas
(**kwargs)global reference frame to local reference frame
los
(**kwargs)Line of site channel
mobility
(v, dt)modify channel for uniform mobility
plotd
([d])plot direction of arrival/departure
prop2tran
([a, b, Friis, debug])transform propagation channel into transmission channel
saveh5
(Lfilename, idx, a, b)save Ctilde object in hdf5 format
show
(**kwargs)show the propagation channel
sort
([typ])sort Ctilde with respect to typ (default tauk)
Methods Documentation
-
Cg2Cl
(Tt=[], Tr=[])[source]¶ global reference frame to local reference frame
If Tt and Tr are [] the global channel is retrieved
- TtTx rotation matrix 3x3
default []
- TrRx rotation matrix 3x3
default []
Cl : Ctilde local
-
doadod
(**kwargs)[source]¶ doadod scatter plot
- phituple (-180, 180)
phi angle
- normalizebool
energy normalized
- reversebool
inverse theta and phi representation
- polarbool
polar representation
cmap : matplotlib.cmap mode : string
‘center’ | ‘mean’ | ‘in’
- sfloat
scatter dot size
fontsize : float edgecolors : bool colorbar : bool xa : xb :
scatter plot of the DoA-DoD channel structure the energy is color coded over all couples of DoA-DoD
>>> from pylayers.antprop.channel import *
pylayers.signal.bsignal.energy
-
energy
(mode='mean', Friis=True, sumray=False)[source]¶ calculates energy on each channel
- modestring
‘mean’
- Friis: boolean
True
- sumray: boolean
False
ECtt : Energy on co channel tt ECpp : Energy on co channel pp ECtp : Energy on co channel tp ECpt : Energy on co channel pt
pylayers.signal.bsignal.FUsignal.energy
- r x f+
axis 0 : ray axis 1 : frequency
-
loadh5
(Lfilename, idx, output=True)[source]¶ load Ctilde object in hdf5 format
- Lfilenamestring
Layout filename
- idxint
file identifier number
- outputbool
return an output precised in return
if output: (Layout filename , Tx position, Rx position)
-
locbas
(**kwargs)[source]¶ global reference frame to local reference frame
If Tt and Tr are [] the global channel is retrieved
- Tarotation matrix 3x3 side a
default []
- Tbrotation matrix 3x3 side b
default []
This method affects the boolean islocal This method update the ray propagation channel in either local or global frame self.Ta and self.Tb are updated with input parameters Ta an Tb
- Cray propagation channel (2x2xrxf) complex
either local or global depends on self.islocal boolean value
>>> C = Ctilde() >>> Ta = MEulerAngle(np.pi/2,np.pi/2,np.pi/2.) >>> Tb = MEulerAngle(np.pi/3,np.pi/3,np.pi/3.) >>> C.locbas(Ta=Ta,Tb=Tb)
-
mobility
(v, dt)[source]¶ modify channel for uniform mobility
- vfloat
velocity (m/s)
- dtfloat
delta t (s)
Calculate a channel field from Ctilde and v(terminal vitese) and dt(time of deplacement)
dt en s (observation time between 2 Rx position) v en m/s (vitesse de changement de Rx)
tau : modified Ctilde
-
plotd
(d='doa', **kwargs)[source]¶ plot direction of arrival/departure
- d: string
‘doa’ | ‘dod’ display direction of departure | arrival
fig : plt.figure ax : plt.axis phi: tuple (-180, 180)
phi angle
- normalize: bool
energy normalized
- reversebool
inverse theta and phi represenation
- polarbool
polar representation
cmap: matplotlib.cmap mode: ‘center’ | ‘mean’ | ‘in’
see bsignal.energy
- sfloat
scatter dot size
fontsize: float edgecolors: bool colorbar: bool title : bool
-
prop2tran
(a=[], b=[], Friis=True, debug=False)[source]¶ transform propagation channel into transmission channel
a : antenna or array a b : antenna or array b
- Tanp.array(3x3)
unitary matrice for antenna orientation
- Tbnp.array(3x3)
unitary matrice for antenna orientation
- Friisboolean
if True scale with \(-j\frac{\lambda}{f}\)
- debugboolean
if True the antenna gain for each ray is stored
H : Tchannel(bs.FUsignal)
-
saveh5
(Lfilename, idx, a, b)[source]¶ save Ctilde object in hdf5 format
- Lfilenamestring
Layout filename
- idxint
file identifier number
- anp.ndarray
postion of point a (transmitter)
- bnp.ndarray
postion of point b (receiver)