Urban Macrocells NLOS#
- class UrbanMacrocellsNoLineOfSight(alpha_device=None, beta_device=None, gain=1.0, delay_normalization=DelayNormalization.ZERO, **kwargs)[source]#
Bases:
UrbanMacrocellsNoLineOfSightBase
,Serializable
3GPP cluster delay line preset modeling an urban macrocell scenario without direct line of sight between the linked wireless devices.
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 = UrbanMacrocellsNoLineOfSight() 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] = 'UMaNLOS'#
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.