bug 643: Interference Helper does not account properly for simultaneous events

This commit is contained in:
Mathieu Lacage
2009-09-22 17:33:03 +02:00
parent d9f4c30720
commit 904a2b4410

View File

@@ -460,7 +460,11 @@ InterferenceHelper::CalculateNoiseInterferenceW (Ptr<InterferenceHelper::Event>
i++;
continue;
}
if (event->Overlaps ((*i)->GetStartTime ()))
if ((*i)->Overlaps (event->GetStartTime ()))
{
noiseInterference += (*i)->GetRxPowerW ();
}
else if (event->Overlaps ((*i)->GetStartTime ()))
{
ni->push_back (NiChange ((*i)->GetStartTime (), (*i)->GetRxPowerW ()));
}
@@ -468,10 +472,6 @@ InterferenceHelper::CalculateNoiseInterferenceW (Ptr<InterferenceHelper::Event>
{
ni->push_back (NiChange ((*i)->GetEndTime (), -(*i)->GetRxPowerW ()));
}
if ((*i)->Overlaps (event->GetStartTime ()))
{
noiseInterference += (*i)->GetRxPowerW ();
}
i++;
}
ni->push_back (NiChange (event->GetStartTime (), noiseInterference));