Mchannel

class pylayers.antprop.channel.Mchannel(x, y, **kwargs)[source]

Bases: pylayers.signal.bsignal.FUsignal

Handle the measured channel

Methods Summary

Bcapacity([Pt, Tp])

calculates BLAST deterministic MIMO channel capacity

WFcapacity([Pt, Tp])

calculates deterministic MIMO channel capacity

eig([HdH])

calculate eigen values of the transfer matrix.

plot2([fig, ax, mode])

Methods Documentation

Bcapacity(Pt=array([0.001]), Tp=273)[source]

calculates BLAST deterministic MIMO channel capacity

Ptnp.array (,NPt)

the total power is assumed uniformaly distributed over the whole bandwidth

Tp : Receiver Temperature (K)

Csum rate or spectral efficiency (bit/s)

np.array (Nf,NPt)

rhoSNR

np.array (Nf,Nt,NPt)

log_2(det(I+(Et/(N0Nt))HH^{H})

The returned value is homogeneous to bit/s the aggregated capacity is obtrained by a simple summation of the returned quantity. To obtain the sum rate or the spectral efficiency in (bit/s/Hz ) the returned value should be divided by the frequency step dfGHz

WFcapacity(Pt=array([0.001]), Tp=273)[source]

calculates deterministic MIMO channel capacity

Ptthe total power to be distributed over the different spatial

channels using water filling

Tp : Receiver Noise Temperature (K)

C : capacity (bit/s) rho : SNR (in linear scale)

log_2(det(It + HH^{H})

eig(HdH=False)[source]
calculate eigen values of the transfer matrix.

it involves H and Hd against svd() which acts only over H.

HdH : Hermitian transfer matrix (nf x nt x nt ) U : Unitary tensor (nf x nt x nt ) S : Singular values (nf x nt) V : = Ud (in that case because HdH Hermitian) (nf x nt x nt)

HdH = U L U^{dagger}

plot2(fig=[], ax=[], mode='time')[source]