Doubts related ThreeGppChannelModel implementation and usage

131 views
Skip to first unread message

ss

unread,
Jul 16, 2022, 11:38:14 PM7/16/22
to ns-3-users
Hi,

I've few questions regarding the implementation of 3gpp channel model in ns3.
1.ThreeGppChannelModel provides an attribute called update period that is equivalent of coherence time to be set manually. I see that at every update period channel parameters are updated which in turn result in channel matrix update. So even if we have moving users in the scenario, the channel will not get updated when I set the update period to zero, right?
2. What is the best way to set the update period for a particular scenario for example, RMa?
Especially because at every channel update, a completely new realization of channel is generated and I don't have one fixed velocity for all users to calculate the coherence time/update period.
3. Is  7.6.3.2 of 38.901 which is  Spatially-consistent UT/BS mobility modelling for               mobility simulation enhancement implemented in NS3 as I didnot find the code corresponding to this?
4. Do I have to simulate moving users or stationary users to get the fading effects of the 3gppchannelmodel or are the stationary users channels directly modeled with the fading effects of the channel scenario(Ex: RMa) irrespective of whether the users are moving or not?

Thanks!

ss

unread,
Jul 20, 2022, 10:36:19 PM7/20/22
to ns-3-users
Hi

Can someone help me with the reasoning behind having "Update Period" as a configurable parameter in the threegppchannelmodel when the coherence time can be directly set within the code as per the user velocity?

Thanks

Tom Henderson

unread,
Jul 21, 2022, 12:40:47 AM7/21/22
to ns-3-...@googlegroups.com, ss
On 7/20/22 19:36, ss wrote:


> when the coherence
> time can be directly set within the code as per the user velocity?

Can you point to where in the code this direct setting occurs?

ss

unread,
Jul 21, 2022, 9:53:01 AM7/21/22
to ns-3-users
It's in three-gpp-channel-model.cc  line 299.

Tom Henderson

unread,
Jul 21, 2022, 10:06:27 AM7/21/22
to ns-3-...@googlegroups.com, ss
On 7/21/22 06:53, ss wrote:
> It's in three-gpp-channel-model.cc  line 299.

Agreed, that is where 'UpdatePeriod' is defined, but you were suggesting
in your email that there was some other way that it was being updated,
within the code, as per the user velocity.

ss

unread,
Jul 21, 2022, 10:11:58 AM7/21/22
to ns-3-users
Sorry, I was asking shouldn't the Update period be directly set using the user velocity ? If so what is the reasoning behind having update period as the configurable parameter? Why can't the update period be directly set within the code as per user and BS mobility?

Tom Henderson

unread,
Jul 21, 2022, 10:21:26 AM7/21/22
to ns-3-...@googlegroups.com, ss
On 7/21/22 07:11, ss wrote:
> Sorry, I was asking shouldn't the Update period be directly set using
> the user velocity ? If so what is the reasoning behind having update
> period as the configurable parameter? Why can't the update period be
> directly set within the code as per user and BS mobility?

For fast fading, user motion can cause changes but the environment
around the user may also change, so I don't think it can always be
simply driven by the user's own mobility.

Anyway, my guess is that making this an attribute was the simplest way
to provide the capability with a trivial configuration that could be set
by the author on a per-scenario basis. It doesn't preclude adding
something more automatic such as you are suggesting.

(I am not the author of this code-- I am just guessing about it. I am
not sure whether TR 38.901 has specific guidance about how to model
coherence time.)

ss

unread,
Jul 21, 2022, 10:29:20 AM7/21/22
to ns-3-users
Thank you Tom.
38.901 doesn't provide any information on coherence time/ update period.
I think Biljana must be aware of this part of code. Biljana, can you please clarify more?

Thanks!

Biljana Bojović

unread,
Jul 22, 2022, 3:19:22 AM7/22/22
to ns-3-users
Hi @ss and Tom, 

this is an excellent question. However, I am not fully aware of what was the reasoning for this choice. I will forward the email to Tommaso Zugno, he will probably give more insights on this, he was working a lot with the 3GPP channel model and recently on a spatial consistency feature (https://gitlab.com/nsnam/ns-3-dev/-/merge_requests/845).

Kind regards,
Biljana

Tommaso Zugno

unread,
Jul 28, 2022, 5:06:38 PM7/28/22
to ns-3-users
Hello, 

Tom's explanation is correct. 38901 does not suggest how to compute the coherence time and the most practical way was to define a parameter. If you need your fast fading model to evolve consistently I suggest taking a look at the MR shared by Biljana which implements the spatial consistency feature described in 38901 (that is, channel realization are correlated and their correlation depends on user motion). Also, you can take a look at the document describing the WINNER II channel model (38901 was derived from it): http://www.ero.dk/93F2FC5C-0C4B-4E44-8931-00A5B05A331B

Best, 
Tommaso

Reply all
Reply to author
Forward
0 new messages