Rural Marocells O2I#
- class RuralMacrocellsOutsideToInside(alpha_device=None, beta_device=None, gain=1.0, delay_normalization=DelayNormalization.ZERO, **kwargs)[source]#
Bases:
ClusterDelayLineBase
,Serializable
3GPP cluster delay line preset modeling a rural scenario with the linked wireless devices being outside and inside a building, respectively.
Refer to the Study on channel model for frequencies from 0.5 to 100 GHz[1] for detailed information.
The following minimal example outlines how to configure the channel model within the context of a Simulation:
1# Initialize two devices to be linked by a channel 2simulation = Simulation() 3alpha_device = simulation.new_device( 4 carrier_frequency=1e8, pose=Transformation.From_Translation(np.array([0., 0., 2.]))) 5beta_device = simulation.new_device( 6 carrier_frequency=1e8, pose=Transformation.From_Translation(np.array([40., 40., 2.]))) 7 8# Create a channel between the two devices 9channel = RuralMacrocellsOutsideToInside() 10simulation.set_channel(alpha_device, beta_device, channel) 11 12# Configure communication link between the two devices 13link = SimplexLink(alpha_device, beta_device) 14 15# Specify the waveform and postprocessing to be used by the link 16link.waveform = RRCWaveform( 17 symbol_rate=1e8, oversampling_factor=2, num_data_symbols=1000, 18 num_preamble_symbols=10, pilot_rate=10) 19link.waveform.channel_estimation = SCLeastSquaresChannelEstimation() 20link.waveform.channel_equalization = SCZeroForcingChannelEqualization() 21 22# Configure a simulation to evaluate the link's BER and sweep over the receive SNR 23simulation.add_evaluator(BitErrorEvaluator(link, link)) 24simulation.new_dimension('snr', dB(0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20)) 25 26# Run simulation and plot resulting SNR curve 27result = simulation.run() 28result.plot() 29plt.show()
- Parameters:
alpha_device (SimulatedDevice, optional) – First device linked by the
ClusterDelayLineBase
instance that generated this realization.beta_device (SimulatedDevice, optional) – Second device linked by the
ClusterDelayLineBase
instance that generated this realization.gain (float, optional) – Linear power gain factor a signal experiences when being propagated over this realization. \(1.0\) by default.
delay_normalization (DelayNormalization, optional) – The delay normalization routine applied during channel sampling.
- property aoa_spread_mean: float#
Mean of the Azimuth Angle-of-Arriaval spread.
The spread realization and its mean are referred to as \(\mathrm{ASA}\) and \(\mu_{\mathrm{lgASA}}\) within the the standard, respectively.
- Returns:
Mean angle spread in seconds
- Return type:
- property aoa_spread_std: float#
Standard deviation of the Azimuth Angle-of-Arrival spread.
The spread realization and its standard deviation are referred to as \(\mathrm{ASA}\) and \(\sigma_{\mathrm{lgASA}}\) within the the standard, respectively.
- Returns:
Angle spread standard deviation in seconds.
- Return type:
- Raises:
ValueError – If the standard deviation is smaller than zero.
- property aod_spread_mean: float#
Mean of the Azimuth Angle-of-Departure spread.
The spread realization and its mean are referred to as \(\mathrm{ASD}\) and \(\mu_{\mathrm{lgASD}}\) within the the standard, respectively.
- Returns:
Mean angle spread in seconds
- Return type:
- property aod_spread_std: float#
Standard deviation of the Azimuth Angle-of-Departure spread.
The spread realization and its standard deviation are referred to as \(\mathrm{ASD}\) and \(\sigma_{\mathrm{lgASD}}\) within the the standard, respectively.
- Returns:
Angle spread standard deviation in seconds.
- Return type:
- Raises:
ValueError – If the standard deviation is smaller than zero.
- property cluster_aoa_spread: float#
Azimuth Angle-of-Arrival spread within an individual cluster.
Referred to as \(c_{ASA}\) within the standard.
- Returns:
Angle spread in degrees.
- Return type:
- Raises:
ValueError – If spread is smaller than zero.
- property cluster_aod_spread: float#
Azimuth Angle-of-Departure spread within an individual cluster.
Referred to as \(c_{ASD}\) within the standard.
- Returns:
Angle spread in degrees.
- Return type:
- Raises:
ValueError – If spread is smaller than zero.
- property cluster_delay_spread: float#
Delay spread within an individual cluster.
Referred to as \(c_{DS}\) within the standard.
- Returns:
Delay spread in seconds.
- Return type:
- Raises:
ValueError – If spread is smaller than zero.
- property cluster_shadowing_std: float#
Standard deviation of the cluster shadowing.
Referred to as \(\zeta\) within the the standard.
- Returns:
Cluster shadowing standard deviation.
- Return type:
- Raises:
ValueError – If the deviation is smaller than zero.
- property cluster_zoa_spread: float#
Zenith Angle-of-Arrival spread within an individual cluster.
Referred to as \(c_{ZSA}\) within the standard.
- Returns:
Angle spread in degrees.
- Return type:
- Raises:
ValueError – If spread is smaller than zero.
- property cross_polarization_power_mean: float#
Mean of the cross-polarization power.
The cross-polarization power and its mean are referred to as \(\mathrm{XPR}\) and \(\mu_{\mathrm{XPR}}\) within the the standard, respectively.
- Returns:
Mean power in dB.
- Return type:
- property cross_polarization_power_std: float#
Standard deviation of the cross-polarization power.
The cross-polarization power and its standard deviation are referred to as \(\mathrm{XPR}\) and \(\sigma_{\mathrm{XPR}}\) within the the standard, respectively.
- Returns:
Power standard deviation in dB.
- Return type:
- Raises:
ValueError – If the standard deviation is smaller than zero.
- property delay_scaling: float#
Delay scaling proportionality factor
Referred to as \(r_{\tau}\) within the standard.
- Returns:
Scaling factor.
- Return type:
- Raises:
ValueError – If scaling factor is smaller than one.
- property delay_spread_mean: float#
Mean of the cluster delay spread.
The spread realization and its mean are referred to as \(\mathrm{DS}\) and \(\mu_{\mathrm{lgDS}}\) within the the standard, respectively.
- Returns:
Mean delay spread in seconds.
- Return type:
- property delay_spread_std: float#
Standard deviation of the cluster delay spread.
The spread realization and its standard deviation are referred to as \(\mathrm{DS}\) and \(\sigma_{\mathrm{lgDS}}\) within the the standard, respectively.
- Returns:
Delay spread standard deviation in seconds.
- Return type:
- Raises:
ValueError – If the standard deviation is smaller than zero.
- property line_of_sight: bool#
Does this model assume direct line of sight between the two devices?
Referred to as \(LOS\) within the standard.
- Returns:
Line of sight indicator.
- Return type:
- property num_clusters: int#
Number of clusters.
Referred to as \(M\) within the standard.
- Returns:
Number of clusters.
- Return type:
- Raises:
ValueError – If the number of clusters is smaller than one.
- property num_rays: int#
Number of rays per cluster.
Referred to as \(N\) within the standard.
- Returns:
Number of rays.
- Return type:
- property rice_factor_mean: float#
Mean of the rice factor distribution.
The rice factor realization and its mean are referred to as \(K\) and \(\mu_K\) within the the standard, respectively.
- Returns:
Rice factor mean in dB.
- Return type:
- property rice_factor_std: float#
Standard deviation of the rice factor distribution.
The rice factor realization and its standard deviation are referred to as \(K\) and \(\sigma_K\) within the the standard, respectively.
- Returns:
Rice factor standard deviation in dB.
- Return type:
- Raises:
ValueError – If the standard deviation is smaller than zero.
- yaml_tag: Optional[str] = 'RMaO2I'#
YAML serialization tag.
- property zoa_spread_mean: float#
Mean of the Zenith Angle-of-Arriaval spread.
The spread realization and its mean are referred to as \(\mathrm{ZSA}\) and \(\mu_{\mathrm{lgZSA}}\) within the the standard, respectively.
- Returns:
Mean angle spread in seconds
- Return type:
- property zoa_spread_std: float#
Standard deviation of the Zenith Angle-of-Arrival spread.
The spread realization and its standard deviation are referred to as \(\mathrm{ZSA}\) and \(\sigma_{\mathrm{lgZSA}}\) within the the standard, respectively.
- Returns:
Angle spread standard deviation in seconds.
- Return type:
- Raises:
ValueError – If the standard deviation is smaller than zero.
- property zod_offset: float#
Offset between Zenith Angle-of-Arrival and Angle-of-Departure.
The offset is referred to as \(\mu_{\mathrm{offset,ZOD}}\) within the standard.
- Returns:
The offset in degrees.
- Return type:
- property zod_spread_mean: float#
Mean of the Zenith Angle-of-Departure spread.
The spread realization and its mean are referred to as \(\mathrm{ZOD}\) and \(\mu_{\mathrm{lgZSD}}\) within the the standard, respectively.
- Returns:
Mean angle spread in degrees
- Return type:
- property zod_spread_std: float#
Standard deviation of the Zenith Angle-of-Departure spread.
The spread realization and its standard deviation are referred to as \(\mathrm{ZOD}\) and \(\sigma_{\mathrm{lgZOD}}\) within the the standard, respectively.
- Returns:
Angle spread standard deviation in degrees.
- Return type:
- Raises:
ValueError – If the standard deviation is smaller than zero.