1 of 34

NYU COMPARISON TO 3GPP

Week 3

2 of 34

Section 2: Large-scale parameter comparison

3GPP uses equations defined by Table 7.4.2-1 [1]

Function of distance and sometimes height of tx and rx

NYUSIM

“The NYUSIM LOS probability model has a similar form to the 3GPP one, but with the entire formula (i.e., the second equation in Table 7.4.2-1 in [1]) squared and the parameter values updated based on statistical modeling from a high resolution ray-tracing approach now described.”

3 of 34

Section 2: Large-scale parameter comparison

NYUSIM - ray-tracing approach

“(..) The ratio of the number of LOS positions to the total number of positions along the circle provided the LOS probability. (..)”

NOTE: 10 m < R < 200 m; (+1 m); For 4 tx locations

Tx

Ue height = 1.5 m

4 of 34

Section 2: Large-scale parameter comparison

Scenarios comparison

At larger distance, more number of buildings appear between the Tx and the Rx node, which will decrease the number of nodes in LOS

In other hand, NYUSIM predicts more LOS above 160 meters in comparison to 3GPP

5 of 34

Section 2: Large-scale parameter comparison

Path loss model

Close-in (CI) and three-parameter alpha-beta-gamma approach: omnidirectional paths

Free space path loss in dB at a 1 m 3D T-R separation distance at the carrier frequency fc in GHz.

Path loss exponent (PLE), c is the speed of light

Zero-mean Gaussian random variable with a standard deviation σ in dB

6 of 34

Section 2: Large-scale parameter comparison

Path loss model

Close-in (CI) and three-parameter alpha-beta-gamma approach (ABG): omnidirectional paths

α and γ are coefficients embodying the dependence of path loss on distance and frequency

Path loss exponent (PLE), c is the speed of light

zero-mean Gaussian random variable with a standard deviation σ in dB describing shadow fading (SF) over large-scale distances.

7 of 34

Section 2: Large-scale parameter comparison

Path loss model - 3GPP x NYUSIM

3GPP (UMi and UMa)

NYUSIM (UMi and UMa)

CI path loss model is utilized for d3D smaller than the breakpoint distance d'BP(not specified)

In both UMi and UMa scenarios, the CI model is employed in NYUSIM.

New term involving the BS and UE heights is added to the CI model

The 1-m CI model used in NYUSIM (same mathematical of ABG model) but has fewer parameters and offers much easier analysis (..)

In the UMi NLOS scenario, the ABG path loss model is adopted, while the CI model is listed as an optional path loss model.

Different path loss models in 3GPP and NYUSIM generate difference between the two channel models varies depending upon the underlying scenario.

8 of 34

Section 2: Large-scale parameter comparison

Also, 3GPP uses an unrealistic number of clusters (12 ~19) to evaluate the channel calculation, which is not according to measurements made by the NYC.

Cluster definition - 3GPP x NYUSIM

Time cluster (TC): Composed of multipath components (different directions)

Spatial lobes (SL): Primary direction of departure and arrival

3GPP uses the same number of clusters and rays per cluster in a given scenario. On the other hand, NYUSIM works with non-fixed values of TCs, subpaths per TC, and the number of SLs, which can vary for each channel calculation.

9 of 34

Section 3: small-scale parameter comparison

10 of 34

Milestones

Week 3

11 of 34

Milestone 1:

Doubts

  • What Sandra said about non su-mimo channel models?

12 of 34

Milestone 2:

Doubts and practical part (code view)

  • User selection for distinct channel models
  • Band creation and configuration
  • Initialization

13 of 34

Milestone 2:

Different user selection approach for distinct channel models

Enum that defines the scenario and the channel model

A new enum just for the type of channel model

14 of 34

Milestone 2:

Different user selection approach

In case we choose use another enum for the channel models

Create the component carrier with the specified channel model

In CreateOperationBandContiguousCc

15 of 34

Milestone 2:

Initialize operation band ~ Steps

Include two-ray-spectrum class

include NYU with conditional build

Step 1: Include headers

16 of 34

Milestone 2:

Initialize operation band ~ Steps

Step 2: Create new variables in header (nr-helper.h)

Map that holds the TypeId of the given channel model

Vector to hold:

  • Channel condition
  • Propagation Loss
  • Matrix Channel model (in case the channel model needs)
  • Spectrum Propagation Loss Model

17 of 34

Milestone 2:

Initialize operation band ~ Steps

Step 3: Initialize the map in constructor

Initialize all the channel models TypeId: NYU (with conditional build), Two-Ray and 3GPP

18 of 34

Milestone 2:

Initialize operation band ~ Steps

Step 4: Add a new NYU Init functions to grab the correct propagation and channel condition TypeId.

To a given ${scenario}, set the actual TypeId to the ObjectFactorys. Do it with a build condition.

19 of 34

Milestone 2:

Initialize operation band ~ Steps

Step 5: Redefine the LookUpTable from unordered_map to map to use std:pair<> as a key

Just one LookUpTable that uses a combination (pair) of both the channel model and the scenario

Because Two-ray uses the same prop and channel condition of 3GPP we will not add a pair with BandwidthPartInfo::TwoRay

20 of 34

Milestone 2:

NOTE: Maybe this modification decreases the configuration performance

21 of 34

Milestone 2:

Initialize operation band ~ Steps

Step 6: Add the new NYU Init functions

We have only one map that holds all the Init functions. NYU part has to be built conditional too.

22 of 34

Milestone 2:

Initialize operation band ~ Steps

Step 7: Iteration over all the CCs - Set TypeIds

Set the spectrum TypeId based on the current cc-bwp channel model

Abort the simulation if the user selects the NYU but it is not enabled.

As mentioned previously, we use the same prop and conditional for two-ray

23 of 34

Milestone 2:

Initialize operation band ~ Steps

Step 8: Iteration over all the CCs: Set propagation loss

Because NYU and 3GPP has the same base class (PropagationLossModel), we can simply use it to create.

We set the TypeId of the pathloss object factory previously and it can be either:

Nyu${scenario}PropagationLoss ThreeGpp${scenario}PropagationLoss

Both of them have the same attribute (Frequency and ChannelConditionModel)

24 of 34

Milestone 2:

Initialize operation band ~ Steps

Step 9: Iteration over all the CCs: Set spectrum loss (BAD IMPLEMENTATION)

IF-ELSE conditions (or switch-case) are not good for this approach

25 of 34

Milestone 2:

Initialize operation band ~ Steps

Step 9: Iteration over all the CCs: Set spectrum loss

[9.1] Grab the current class that we want to configure: Spectrum / MatrixBased

Create the phased array spectrum model:

- NyuSpectrumPropagationLossModel

- ThreeGppSpectrumPropagationLossModel

- TwoRaySpectrumPropagationLossModel

The spectrum can be a matrix based channel model for channel matrix calculation or not.

If it has a matrix based class, grab it.

26 of 34

Milestone 2:

Initialize operation band ~ Steps

Step 9: Iteration over all the CCs: Set spectrum loss

[9.2] Set the necessary attributes.

Could be matrix based or spectrum class (e.g., Threegppspectrum/threegppchannelmodel)

27 of 34

Milestone 2:

Initialize operation band ~ Steps

NOTE: Why do this??

We can’t set the attributes that we want direct to ThreeGppSpectrumClass, we need to use the SetChannelModelAttribute.

The problem appears when we have classes that has no channel model class and not have SetChannelModelAttribute (e.g., Two-ray). In this case, we need to use SetAttribute().

To bypass this, we can use the Ternary (operator conditional)

28 of 34

Milestone 2:

Initialize operation band ~ Steps

Step 9: Iteration over all the CCs: Set spectrum loss

[9.2] Set the necessary attributes.

Could be matrix based or spectrum class (e.g., Threegppspectrum/threegppchannelmodel)

use SetAttribute() to configure

29 of 34

Milestone 2:

Initialize operation band ~ Steps

Step 9: Iteration over all the CCs: Set spectrum loss

[9.3] Finally, assign the channel to the cc:bwp.

30 of 34

Milestone 2:

CREATE:

Initialize operation band ~ Steps

Step 10: Allow user to configure features for any initialized band, using the band ID.

- SetPathLossAttribute

- SetPhasedArraySpectrumPropagationLossModelAttribute

- SetChannelConditionModelAttribute

- SetChannelModelAttribute

Now, we need the band ID to configure:

Previously, stored:

31 of 34

Milestone 2:

Initialize operation band ~ Steps

Example: Allow user to configure features for any initialized band, using the band ID.

Get the specific spectrum using the band ID

Assert that this band is already initialized

32 of 34

Milestone 2:

Initialize operation band ~ Steps

Step 11: Things to consider

In channel condition attribute

Some channel conditions does not have attributes:

${scenario}_los

${scenario}_nlos

<AlwaysLosChannelCondition>

<NeverLosChannelCondition>

33 of 34

Milestone 2:

Initialize operation band ~ Steps

Step 11: Things to consider

In channel model attribute

Assert that the band has a channel model that contains a channel (matrix) model class

34 of 34

Milestone 2:

Initialize operation band ~ Steps

Doubts?