Optimizing Simulation Runtime by Precomputing the Channel Matrix for Static UEs

35 views
Skip to first unread message

Guy Gabay

unread,
May 1, 2025, 12:03:17 PMMay 1
to 5G-LENA-users

Hello everyone,

I have an topology where the positions of the UEs remain static and do not change.
To reduce runtime as the number of UEs increases, I would like to compute the channel matrix only once, instead of recalculating it throughout the entire simulation.

Do you think this is a good idea?
If so, does anyone have suggestions on how to implement it efficiently?

Gabriel Ferreira

unread,
May 2, 2025, 10:10:06 AMMay 2
to 5G-LENA-users
This pretty much does what you want. Channel updates will still be triggered by mobility, antenna changes, etc.

Config::SetDefault("ns3::ThreeGppChannelModel::UpdatePeriod", TimeValue(MilliSeconds(0)));

Guy Gabay

unread,
May 3, 2025, 12:19:46 AMMay 3
to 5G-LENA-users

Hi Gabriel,

Thank you for your response.

In my setup, all UEs are completely static (position, mobility, antenna config).
Is there a way to force the ThreeGppChannelModel to compute the channel matrix only once at the beginning of the simulation and reuse it throughout, with no further updates triggered?

Would appreciate any suggestions.


ב-יום שישי, 2 במאי 2025 בשעה 10:10:06 UTC-4, Gabriel Ferreira כתב/ה:

Gabriel Ferreira

unread,
May 5, 2025, 4:25:08 AMMay 5
to 5G-LENA-users
Yes, this is the way to do it. The same channel will be reused for the rest of the simulation.
I was incorrect when I said mobility would trigger an update. It doesn't yet. Got to change that.
The only other thing that can trigger a channel update, other than time and settings changes, is the condition model.
Set always to LOS or NLOS to avoid changes. 

Guy Gabay

unread,
May 5, 2025, 11:28:49 PMMay 5
to 5G-LENA-users

Hi Gabriel,

Thank you very much for your helpful and detailed response!

I have a couple of follow-up questions, if you don’t mind:

  1. You mentioned that it’s possible to set the channel condition to always be LOS or NLOS to avoid updates. Could you please explain how to configure that in the simulation?

  2. Also, is there a way to save the generated channel matrices to a file, so that if I run the same topology again (with the same UE locations, number of UEs, etc.), I could load them from the file instead of recomputing them?

Thanks again for your support!



ב-יום שני, 5 במאי 2025 בשעה 04:25:08 UTC-4, Gabriel Ferreira כתב/ה:
Reply all
Reply to author
Forward
0 new messages