Static CDL

Inheritance diagram of hermespy.channel.cdl.cdl.CDL, hermespy.channel.cdl.cdl.CDLRealization
        classDiagram

   direction LR

   class CDL {

      _realize() : CDLRealization
   }

   class CDLRealization {

      _sample() : CDLSample
   }

   class ClusterDelayLineSample {

      propagate(Signal) : Signal
   }

   CDL --o CDLRealization : realize()
   CDLRealization --o ClusterDelayLineSample : sample()

   click CDL href "#hermespy.channel.cdl.cdl.CDL"
   click CDLRealization href "#hermespy.channel.cdl.cdl.CDLRealization"
   click ClusterDelayLineSample href "cluster_delay_lines.html#hermespy.channel.cdl.cluster_delay_lines.ClusterDelayLineSample"
    
class CDL(model_type, rms_delay, rayleigh_factor=0.0, decorrelation_distance=30.0, **kwargs)[source]

Bases: Channel[CDLRealization, ClusterDelayLineSample]

Static cluster delay line model for link-level simulations.

Parameters:
  • model_type (CDLType) – Type of the cluster delay line model.

  • rms_delay (float) – Root mean square delay spread of the channel.

  • rayleigh_factor (float) – Rayleigh K-factor of the channel.

  • decorrelation_distance (float) – Decorrelation distance of the channel.

  • **kwargs – Additional parameters for the base class.

_realize()[source]

Generate a new channel realzation.

Abstract subroutine of realize. Each Channel is required to implement their own _realize() method.

Returns: A new channel realization.

Return type:

CDLRealization

recall_realization(group)[source]

Recall a realization of this channel type from its HDF serialization.

Parameters:

group (h5py.Group) – HDF group to which the channel realization was serialized.

Return type:

CDLRealization

Returns: The recalled realization instance.

property decorrelation_distance: float

Decorrelation distance of the channel.

Raises:

ValueError – If the decorrelation distance is negative.

property model_type: CDLType

Type of the cluster delay line model.

property rayleigh_factor: float

Rayleigh K-factor of the channel.

Raises:

ValueError – If the K-factor is negative.

property rms_delay: float

Root mean square delay spread of the channel.

Raises:

ValuError – If the delay spread is negative.

class CDLRealization(type, rms_delay, rayleigh_factor, angle_coupling_indices, consistent_realization, xpr_phase, sample_hooks, gain)[source]

Bases: ChannelRealization[ClusterDelayLineSample]

Realization of a static cluster delay line model for link-level simulations.

Generated by the realize method of the CDL class.

Parameters:
  • type (CDLType) – Type of the cluster delay line model.

  • rms_delay (float) – Root mean square delay spread of the channel.

  • rayleigh_factor (float) – Rayleigh K-factor of the channel.

  • angle_coupling_indices (ndarray) – Indices for the coupling of rays within a cluster.

  • consistent_realization (ConsistentRealization) – Realization of the consistent distribution.

  • xpr_phase (ConsistentUniform) – Realization of the cross-polarization phase.

  • sample_hooks (Set[ChannelSampleHook[ClusterDelayLineSample]]) – Hooks to be called after the channel sample has been generated.

  • gain (float) – Linear channel gain factor.

static From_HDF(group, xpr_phase, sample_hooks)[source]
Return type:

CDLRealization

_sample(state)[source]

Sample the channel realization at a given point in time and space.

Abstract subroutine of sample.

Parameters:

state (LinkState) – State of the channel at the time of sampling.

Return type:

ClusterDelayLineSample

Returns: The channel sample at the given point in time.

to_HDF(group)[source]

Serialize the channel realization to HDF5.

Parameters:

group (Group) – HDF5 group to serialize the channel realization to.

Return type:

None

class CDLType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[source]

Bases: SerializableEnum

Type of the static cluster delay line model.

A = 0
B = 1
C = 2
D = 3
E = 4