Static CDL¶

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.
- classmethod Deserialize(process)[source]¶
Deserialize an object’s state.
Objects cannot be deserialized directly, instead a
Factory
must be instructed to carry out the deserialization process.- Parameters:
process (
DeserializationProcess
) – The current stage of the deserialization process. This object is generated by theFactory
and provides an interface to deserialization methods supporting multiple backends.- Return type:
- Returns:
The deserialized object.
- _realize()[source]¶
Generate a new channel realzation.
Abstract subroutine of
realize
. EachChannel
is required to implement their own_realize()
method.Returns: A new channel realization.
- Return type:
- serialize(process)[source]¶
Serialize this object’s state.
Objects cannot be serialized directly, instead a
Factory
must be instructed to carry out the serialization process.- Parameters:
process (
SerializationProcess
) – The current stage of the serialization process. This object is generated by theFactory
and provides an interface to serialization methods supporting multiple backends.- Return type:
- property decorrelation_distance: float¶
Decorrelation distance of the channel.
- Raises:
ValueError – If the decorrelation distance is negative.
- 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:
ValueError – 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 theCDL
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.
- classmethod Deserialize(process)[source]¶
Deserialize an object’s state.
Objects cannot be deserialized directly, instead a
Factory
must be instructed to carry out the deserialization process.- Parameters:
process (
DeserializationProcess
) – The current stage of the deserialization process. This object is generated by theFactory
and provides an interface to deserialization methods supporting multiple backends.- Return type:
- Returns:
The deserialized object.
- _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:
Returns: The channel sample at the given point in time.
- serialize(process)[source]¶
Serialize this object’s state.
Objects cannot be serialized directly, instead a
Factory
must be instructed to carry out the serialization process.- Parameters:
process (
SerializationProcess
) – The current stage of the serialization process. This object is generated by theFactory
and provides an interface to serialization methods supporting multiple backends.- Return type: