Groups keyboard shortcuts have been updated
Dismiss
See shortcuts

Issue with buildings propagation loss

74 views
Skip to first unread message

Hugo Ledirach

unread,
Nov 14, 2024, 9:43:03 AM11/14/24
to ns-3-users
Hello NS3 enthusiasts, 

I'm trying to do a simulation with buildings propagation loss but I had issues so I made an ultra simplistic simulation and i don't have *-inf* values (of loss) anymore but still get way too high loss for a 10m distance and it is preventing links to form (see code attached <150 lines code)
Does anyone have more insight on propagation models ?

I have try to use the LOG info but NS3 seems to be working fine, there is no bug. I'm a bit lost on why this is happening.
Any information on the behavior of those models is welcome :)
Loss.cc

Tom Henderson

unread,
Nov 14, 2024, 10:57:08 AM11/14/24
to ns-3-...@googlegroups.com
The problem you are probably having is that the simulation adds the
HybridBuildingsPropagationLossModel to the existing
LogDistancePropagationLossModel that is installed by
YansWifiChannelHelper::Default().

In ns-3, propagation loss models can be chained together, so what is
happening is that when you add HybridBuildingsPropagationLossModel, it
is appended to the chain, and then LogDistance is called first, and the
output of that is fed into HybridBuildings.

To avoid this in this specific program, do not use
YansWifiChannelHelper::Default(), just use:

YansWifiChannelHelper wifiChannel;
Message has been deleted

Hugo Ledirach

unread,
Nov 15, 2024, 5:08:45 AM11/15/24
to ns-3-users
Hello Tom,

Thank you for your suggestion, doing the modification you suggested allowed the UDP exchange to happen but there is still very high loss (-70dB for 40 m).
Also the building are not taken into account in the calculation, I made a simple topology (see figure below) to test the loss and they give the same value.


 Screenshot from 2024-11-15 11-06-48.png
Screenshot from 2024-11-15 11-07-04.png
Screenshot from 2024-11-15 11-05-50.png
Loss.cc

Kent Huns

unread,
Nov 15, 2024, 7:34:55 AM11/15/24
to ns-3-users
>> very high loss
>> 70.5134
I don't think it's so high. This value is less than the one of FSPL(=78.46dB @f=5GHz & d=40m).

Could you check the parameters about each node's antenna? Are they isotropic? If not, are their angles face-to-face?
Your code is simple, but because of that many parameters are set to implicit default values in /helper/* or /model/*.

Hugo Ledirach

unread,
Nov 15, 2024, 2:18:36 PM11/15/24
to ns-3-users
Hello Kent,

I think it's because I thought there was a NLOS model but I guess 'HybridBuildingsPropagationLossModel ' does not take in consideration the scenario where none of the nodes are inside a building but there is one in between them. Maybe I'm wrong and don't hesitate to correct me if so. But the NLOS models apply to indoor/outdoor relationships and not outdoor/outdoor pathloss where a building shadows the link.
Do you have information on such model ? 

Kent Huns

unread,
Nov 15, 2024, 10:32:30 PM11/15/24
to ns-3-users
Sorry, I'm lost as to what you discuss now.
1) Now you're trying to make 2 links (LOS/purple dots & NLOS/green dots)
2) You checked their pathloss values and they were the same value because the setting about NLOS was still not configured.
3) You mentioned the LOS value 70.5134 is high, and I said no.

If the received power of LOS link is weak even though the TxPower is strong and the pathloss is small, 
I think the problem is antenna gain. I was asking about the purple dots, not NLOS.

>>But the NLOS models apply to indoor/outdoor relationships and not outdoor/outdoor pathloss where a building shadows the link.
I'm not familiar with the channel models used in Wifi,
but in LTE/5G (or in general) attenuation of the propagation from outdoor to indoor is
called BuildingEntryLoss or penetration loss, which is clearly distinguished from shadowing of NLOS.
It looks like there is a proper way to set up NLOS(Outdoor to Outdoor), so please make sure it's done right.

By the way, the frequency=5GHz you set is out of range for HybridBuildingsPropagationModel(from 200 to 2600 MHz).
That's a not problem but I'd suggest we don't go for precise results.
(I know COST 231 is somehow allowed to use in 5G-sub6, is it the same with WiFi 5GHz?)

Thanks
Screenshot.jpg

Hugo Ledirach

unread,
Nov 18, 2024, 2:37:58 AM11/18/24
to ns-3-users
Hello Kent,

Thank you for your response,

Yes the intent of this script is to compare (make sure) two links with one of them being obstruct by the presence of a building give two different loss values. I expect this because for indoor - outdoor, as you explain, HybridBuildingsPropagationModel calls a ExternalWallLoss() function to be added to the path loss.

For now I don't really care for the values of the loss, I simply wish to see two different values (baby steps). The script, when I posted it, was using 5 GHz which is out of range but I set it back to the default value, thank you for pointing it out.

In HybridBuildingsPropagationModel , we can read that for outdoor - outdoor with a distance below 1000, the loss are equal to the path loss as of ItuR1411. There are no NLOS applied (see image attached).

I have not set specific antennas and I am not aware of the default type applied (isotropic would make sense ?). I agree with the graph you sent, but the issue I'm trying to point down is that in HybridBuildingsPropagationModel the out-out (NLOS) does not behave like on the graph. I think there is no building path loss, let alone a multipaht fading.

Best regards
Screenshot from 2024-11-18 08-28-20.png

Kent Huns

unread,
Nov 18, 2024, 9:10:56 AM11/18/24
to ns-3-users
Thank you for the detailed explanation. I understand.
There is no problem if the antenna is isotropic.

And I found below description. The link will be LOS when distance < 200m=m_itu1411NlosThreshold.
I guess this is one of the key concepts of the model.(Whether you need or not.)
If the transmitter is in high location, it's not so strange that receivers in nearby range are always considered LOS.
     * Please see figure 2 on page 5. Now "Direct wave dominant region" = 200m.
TypeId
HybridBuildingsPropagationLossModel::GetTypeId()
{
            .AddAttribute(
                "Los2NlosThr",
                " Threshold from LoS to NLoS in ITU 1411 [m].",
                DoubleValue(200.0),
                MakeDoubleAccessor(&HybridBuildingsPropagationLossModel::m_itu1411NlosThreshold),
                MakeDoubleChecker<double>())

double
HybridBuildingsPropagationLossModel::ItuR1411(Ptr<MobilityModel> a, Ptr<MobilityModel> b) const
{
    if (a->GetDistanceFrom(b) < m_itu1411NlosThreshold)
    {
        return m_ituR1411Los->GetLoss(a, b);
    }
    else
    {
        return m_ituR1411NlosOverRooftop->GetLoss(a, b);
    }
}

One thing I would add. This model simulates the NLOS propagation across a roof as described.
Please be careful about nothing is said about horizontal diffraction or reflection.

Thanks,

Hugo Ledirach

unread,
Nov 18, 2024, 10:42:22 AM11/18/24
to ns-3-users

Hello Kent,

Thank you for your message. I think I’m beginning to understand the purpose of the HybridBuildingsPropagationModel. It is not designed to manage the interaction of multiple nodes with multiple buildings through them. The fact that every node needs to be associated with exactly one building is starting to make sense. The ItuR1411NlosOverRooftopPropagationLossModel represents a very specific case, made to simulate, among other things, rooftop antenna-to-ground receptor connections if I understand correclty. This is useful, but not quite what I am looking for.

I mistakenly assumed that the HybridBuildingsPropagationModel was broader in scope than it actually is. What I am looking for is a tool that can detect and manage NLOS interactions between all nodes and all buildings, without any prior associations (e.g., both nodes being below rooftop height) and the attenuation through the buildings.

I have started developing such a tool in a way that it could be easily attached to the HybridBuildingsPropagationModel, but as I sketched it out, I quickly realized the computational overhead it would induce for large simulations. I’ve identified a couple of ways to minimize computation costs, but explaining them fully would take some time, and I’m not quite there yet. I will continue developing the tool and will write detailed documentation to clearly illustrate my approach. Once it’s ready, I’ll keep you updated here.

Thank you again for enlightening me on this subject. Your help has been very useful and much appreciated.

Best regards

(ps I really have to go but will post some of my ideas for optimization in a few hours)
Reply all
Reply to author
Forward
0 new messages