RMa path loss overestimated by +180 dB in NrChannelModel_3GPP38_901 (Hz used where TR 38.901 requires GHz), CQI 0 at all distances.
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 78/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Quiet
- Tech stack
- cpp
- Domain
- networking
Research direction
Start in NrChannelModel_3GPP38_901.cc at the RMa path-loss calculations around lines 245 and 248, then run the provided RMa configuration with a 2 GHz carrier. Verify that the TR 38.901 frequency unit is used in both terms and that the 100–2000 m scenario no longer produces CQI 0 at every distance; the reported CQI and path-loss values should match the issue's after-fix results.
Written by the indexing model from the issue text.
Description
In the RMa (Rural Macrocell) path loss calculation of NrChannelModel_3GPP38_901.cc, the first term of TR 38.901's PL1 formula, 20·log10(40π·d·fc/3), is computed with the carrier frequency in Hz, while the 3GPP formula (TR 38.901 Table 7.4.1-1) requires fc in GHz.
Current master (as of this filing), lines 245 and 248:
pLoss_los = 20 * log10(40 * M_PI * threeDimDistance * (carrierFrequencyHz_ / 3.0)) + ...
With fc = 2 GHz, carrierFrequencyHz_ = 2e9, so the term contributes an excess of 20·log10(1e9) = +180 dB of phantom path loss.
Impact
Every RMa simulation produces CQI 0 at all distances (verified 100 m–2000 m), with no error or warning. Users comparing scenario models will conclude RMa is "broken" or that rural coverage is zero, and silently switch to UMa/UMi — the failure mode is invisible.
Reproduction
Simu5G 1.4.3, OMNeT++ 6.3, INET 4.6.0. Any single-cell config with:
*.gnb.cellularNic.channelModel[0].scenario = "RURAL_MACROCELL"
*.gnb.cellularNic.channelModel[0].carrierFrequency = 2GHz
UE at any distance → averageCqiDl = 0.
Fix
Divide by 1e9 (or use the GHz-typed value) in both lines:
pLoss_los = 20 * log10(40 * M_PI * threeDimDistance * (carrierFrequencyHz_ / 1e9 / 3.0)) + ...
Verification (fix applied and rebuilt, RMa, 2 GHz, 25 m gNB, 46 dBm)
| Distance | Before | After |
|---|---|---|
| 100 m | CQI 0 | CQI 15 |
| 500 m | CQI 0 | CQI 15 |
| 1000 m | CQI 0 | CQI 14 |
After the fix, hand-calculated TR 38.901 RMa LOS path loss at 1000 m/2 GHz (~100 dB) matches the simulated value.
Related
The v1.4.0 release notes mention that the carrierFrequency type refactor "helped identifying a bug in certain channel models … where a double representing GHz instead of Hz was used … resulting in underestimated path loss values." This issue is the inverse error (Hz where GHz is required, overestimating path loss) surviving in the RMa path of the NR model.
https://github.com/Unipisa/Simu5G/blob/master/WHATSNEW.md#v140-2025-09-18
See also the companion issue for LteRealisticChannelModel.
- Dominant language
- C++
- Stars
- 235
- Forks
- 116
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from Unipisa/Simu5G
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 35/100
-
Difficulty 5/5 Over a week Newbie friendliness 20/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 25/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 52/100
Similar issues
-
Difficulty 1/5 Under an hour Newbie friendliness 90/100
AXERA-TECH/ax-llm#77 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
-
bug-unconfirmed
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
NVIDIA/cuda-samples#453 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
infiniflow/infinity#3502 ·