|
Bugzilla – Full Text Bug Listing |
| Summary: | Bug in the shadowing model for ns3-lte | ||
|---|---|---|---|
| Product: | ns-3 | Reporter: | Luca <lucaanchora> |
| Component: | general | Assignee: | Nicola Baldo <nicola> |
| Status: | RESOLVED FIXED | ||
| Severity: | critical | CC: | tomh |
| Priority: | P5 | ||
| Version: | ns-3.9 | ||
| Hardware: | All | ||
| OS: | All | ||
| Attachments: | Possible corrections for the shadowing loss model | ||
Need to revisit in light of recent LTE merge Fixed with the LENA merge, the shadowing model (now part of the buildings model) returns dB values that are normally distributed. |
Created attachment 1241 [details] Possible corrections for the shadowing loss model Dear all, I noted a bug in the implementation of the shadowing model in ns3-lte (version ns-3.9). In the files src/devices/lte/shadowing-loss-model.hh(cc) the shadowing is declared as a LogNormal random variable (property m_randVariable). Actually, what is lognormally distributed is the value in natural units and not in dB (which has a Normal distribution). On the contrary, in the current implementation the lognormal distribution is used for the values in dB (see the file src/devices/lte/propagation-loss-model.cc, method DoCalcRxPowerSpectralDensity), with the result that the value for the shadowing is always positive and can assume quite large values (e.g., several hundreds or thousands). This, of course, results in an incredible attenuation that prevents the destination from receiving the signal. A fast solution could be to declare the property m_randVariable of the class ShadowingLossModel as NormalVariable* and not LogNormalVariable*. Then, when in the constructors this variable is assigned to an object of class NormalVariable, it is important to be careful with the parameters passed for the construction. The first is the mean (mu), while the second one is the variance (sigma^2) and not the standard error (sigma). So, if for example one wants a shadowing whose value (in natural units) is lognormally distributed with mean = 0 dB and \sigma = 8 dB, he should do something like m_randVariable = new NormalVariable (.0, 64.0); I attach the two files, src/devices/lte/shadowing-loss-model.hh(cc), with the corrections aforementioned. Luca