A Discrete-Event Network Simulator
API
80211b.c File Reference
#include <gsl/gsl_math.h>
#include <gsl/gsl_integration.h>
#include <gsl/gsl_cdf.h>
#include <gsl/gsl_sf_bessel.h>
+ Include dependency graph for 80211b.c:

Go to the source code of this file.

Classes

struct  fn_parameters
 fn_parameter_t structure More...
 

Macros

#define max(a, b)   ((a) > (b) ? (a) : (b))
 
#define min(a, b)   ((a) < (b) ? (a) : (b))
 
#define WLAN_SIR_impossible   0.1
 
#define WLAN_SIR_perfect   10.0
 

Functions

double DbToNoneDb (double x)
 
double DQPSKFunction (double x)
 
double f (double x, void *params)
 
double Get80211bDsssDbpskBer (double sinr)
 
double Get80211bDsssDbpskBerIeee (double EcNc)
 
double Get80211bDsssDqpskBer (double sinr)
 
double Get80211bDsssDqpskBerIeee (double EcNc)
 
double Get80211bDsssDqpskCCK11BerIeee (double EcNc)
 
double Get80211bDsssDqpskCCK5_5BerIeee (double EcNc)
 
double NoneDbToDb (double x)
 
double p_e1 (double e1)
 
double p_e2 (double e2)
 
double QFunction (double x)
 

Macro Definition Documentation

◆ max

#define max (   a,
 
)    ((a) > (b) ? (a) : (b))

Definition at line 43 of file 80211b.c.

Referenced by ns3::Buffer::AddAtEnd(), ns3::Buffer::AddAtStart(), TcpSsThreshRtoTest::AfterRTOExpired(), ns3::ByteTagList::Allocate(), ns3::CalendarScheduler::CalculateNewWidth(), TcpYeahDecrementTest::CalculateSsThresh(), ns3::LrWpanPhy::CheckInterference(), RngNormalTestCase::ChiSquaredTest(), RngExponentialTestCase::ChiSquaredTest(), RngParetoTestCase::ChiSquaredTest(), RandomVariableStreamNormalTestCase::ChiSquaredTest(), RandomVariableStreamNormalAntitheticTestCase::ChiSquaredTest(), RandomVariableStreamExponentialTestCase::ChiSquaredTest(), RandomVariableStreamExponentialAntitheticTestCase::ChiSquaredTest(), RandomVariableStreamParetoTestCase::ChiSquaredTest(), RandomVariableStreamParetoAntitheticTestCase::ChiSquaredTest(), RandomVariableStreamWeibullTestCase::ChiSquaredTest(), RandomVariableStreamWeibullAntitheticTestCase::ChiSquaredTest(), RandomVariableStreamLogNormalTestCase::ChiSquaredTest(), RandomVariableStreamLogNormalAntitheticTestCase::ChiSquaredTest(), RandomVariableStreamGammaTestCase::ChiSquaredTest(), RandomVariableStreamGammaAntitheticTestCase::ChiSquaredTest(), RandomVariableStreamErlangTestCase::ChiSquaredTest(), RandomVariableStreamErlangAntitheticTestCase::ChiSquaredTest(), ns3::DynamicQueueLimits::Completed(), ns3::TcpHtcp::CongestionAvoidance(), ns3::TcpLedbat::CongestionAvoidance(), ns3::TcpNewReno::CongestionAvoidance(), ns3::Time::ConvertTimes(), ns3::EutranMeasurementMapping::Db2RsrqRange(), ns3::EutranMeasurementMapping::Dbm2RsrpRange(), ns3::ByteTagList::Deallocate(), ns3::FriisPropagationLossModel::DoCalcRxPower(), ns3::TbfQueueDisc::DoDequeue(), ns3::IdealWifiManager::DoGetDataTxVector(), ns3::TcpPrrRecovery::DoRecovery(), OneIntegerTestCase::DoRun(), OneIntegerAverageTestCase::DoRun(), TcpHyblaIncrementTest::DoRun(), TvSpectrumTransmitterTestCase::DoRun(), LteRlcAmE2eTestCase::DoRun(), LteRrcConnectionEstablishmentTestCase::DoRun(), WifiOfdmMaskSlopesTestCase::DoRun(), TcpHighSpeedDecrementTest::DoRun(), FiveIntegersAverageTestCase::DoRun(), FiveIntegersTestCase::DoRun(), TcpScalableDecrementTest::DoRun(), RandomVariableStreamUniformTestCase::DoRun(), FiveDoublesAverageTestCase::DoRun(), FiveDoublesTestCase::DoRun(), RandomVariableStreamUniformAntitheticTestCase::DoRun(), Ns3TcpCwndTestCase2::DoRun(), LteRrcConnectionEstablishmentErrorTestCase::DoRun(), PacketTagListTest::DoRun(), ns3::WaypointMobilityModel::DoSetPosition(), grid.GraphicRenderer::draw(), grid.TimelinesRenderer::draw_ranges(), ns3::aodv::LoopbackTestCase::EchoData(), ns3::LrWpanPhy::EndRx(), CarrierAggregationConfigTestCase::Evaluate(), TcpBicDecrementTest::ExecuteTest(), TcpLedbatDecrementTest::ExecuteTest(), ns3::ShowProgress::Feedback(), ns3::dsr::DsrGraReply::FindAndUpdate(), ns3::TcpRateLinux::GenerateSample(), ns3::SpectrumConverter::GetCoefficient(), ns3::RegularWifiMac::GetHeCapabilities(), ns3::RegularWifiMac::GetHtCapabilities(), ns3::OhBuildingsPropagationLossModel::GetLoss(), ns3::HybridBuildingsPropagationLossModel::GetLoss(), ns3::LteMiErrorModel::GetPcfichPdcchError(), ns3::TcpHtcp::GetSsThresh(), ns3::TcpHighSpeed::GetSsThresh(), TcpVegasTest::GetSsThresh(), ns3::TcpScalable::GetSsThresh(), ns3::TcpWestwood::GetSsThresh(), ns3::TcpBic::GetSsThresh(), TcpIllinoisTest::GetSsThresh(), ns3::TcpVegas::GetSsThresh(), ns3::TcpIllinois::GetSsThresh(), ns3::TcpVeno::GetSsThresh(), ns3::TcpYeah::GetSsThresh(), ns3::TcpNewReno::GetSsThresh(), ns3::RadioEnvironmentMapHelper::GetTypeId(), ns3::TvSpectrumTransmitter::GetTypeId(), ns3::MatrixPropagationLossModel::GetTypeId(), ns3::RegularWifiMac::GetVhtCapabilities(), ns3::aodv::RoutingProtocol::HelloTimerExpire(), TcpVegasTest::IncreaseWindow(), TcpYeahIncrementTest::IncreaseWindow(), ns3::TcpVegas::IncreaseWindow(), ns3::TcpYeah::IncreaseWindow(), ns3::PcapFileWrapper::Init(), ns3::SixLowPanNetDevice::Fragments::IsEntire(), ns3::Ipv4L3Protocol::Fragments::IsEntire(), ns3::SpectrumModel::IsOrthogonal(), grid.TimelinesRenderer::layout(), ns3::olsr::RoutingProtocol::LinkSensing(), ns3::MakeDoubleChecker(), ns3::MakeIntegerChecker(), ns3::MakeUintegerChecker(), ns3::dsr::DsrRreqTable::MarkLinkAsUnidirectional(), ns3::Time::Max(), ns3::LteMiErrorModel::Mib(), TcpVenoTest::MultiplicativeDecrease(), ns3::UanPhyPerUmodem::NChooseK(), TcpVenoTest::NewReno_CongestionAvoidance(), ns3::ByteTagList::Iterator::Next(), ns3::SequenceNumber< uint8_t, int8_t >::operator-(), ns3::PropagationCache< T >::PropagationPathIdentifier::operator<(), ns3::Buffer::operator=(), ns3::SequenceNumber< uint8_t, int8_t >::operator>(), ns3::PacketMetadata::PacketMetadata(), ns3::Watchdog::Ping(), ns3::TcpLp::PktsAcked(), ns3::TcpIllinois::PktsAcked(), ns3::DynamicQueueLimits::Posdiff(), ns3::CommandLine::PrintHelp(), ns3::aodv::RoutingProtocol::ProcessHello(), ns3::TcpHybla::RecalcParam(), ns3::aodv::LoopbackTestCase::ReceivePkt(), Ipv4StaticRoutingSlash32TestCase::ReceivePkt(), UdpSocketLoopbackTest::ReceivePkt(), Ipv6ForwardingTest::ReceivePkt(), Ipv6RipngTest::ReceivePkt(), Ipv4RipTest::ReceivePkt(), Ipv4ForwardingTest::ReceivePkt(), SixlowpanHc1ImplTest::ReceivePkt(), SixlowpanIphcImplTest::ReceivePkt(), Ipv4HeaderTest::ReceivePkt(), Ipv6RawSocketImplTest::ReceivePkt(), Ipv4RawSocketImplTest::ReceivePkt(), Udp6SocketLoopbackTest::ReceivePkt(), Ipv4DeduplicationTest::ReceivePkt(), UdpSocketImplTest::ReceivePkt(), Ipv4RipCountToInfinityTest::ReceivePkt(), Ipv6RipngCountToInfinityTest::ReceivePkt(), Udp6SocketImplTest::ReceivePkt(), Ipv4GlobalRoutingSlash32TestCase::ReceivePkt(), Ipv6RawSocketImplTest::ReceivePkt2(), Ipv4RawSocketImplTest::ReceivePkt2(), UdpSocketImplTest::ReceivePkt2(), Udp6SocketImplTest::ReceivePkt2(), Ipv6RipngSplitHorizonStrategyTest::ReceivePktProbe(), Ipv4RipSplitHorizonStrategyTest::ReceivePktProbe(), ns3::olsr::HelloRegressionTest::ReceivePktProbeA(), ns3::olsr::TcRegressionTest::ReceivePktProbeA(), ns3::olsr::HelloRegressionTest::ReceivePktProbeB(), ns3::olsr::TcRegressionTest::ReceivePktProbeB(), ns3::olsr::TcRegressionTest::ReceivePktProbeC(), ns3::Socket::Recv(), ns3::Socket::RecvFrom(), ns3::aodv::RoutingProtocol::RecvReply(), ns3::aodv::RoutingProtocol::RecvRequest(), ns3::Buffer::Recycle(), ns3::SimpleRefCount< LteChunkProcessor >::Ref(), ns3::Buffer::RemoveAtEnd(), ns3::Buffer::RemoveAtStart(), ns3::PacketMetadata::ReplaceTail(), ns3::Average< double >::Reset(), ns3::StaWifiMac::RestartBeaconWatchdog(), InterferenceExperiment::Run(), runBench(), Ipv4PacketInfoTagTest::RxCb(), Ipv6PacketInfoTagTest::RxCb(), ns3::MacLow::SendDataAfterCts(), ns3::TcpSocketCongestedRouter::SendDataPacket(), ns3::TcpSocketBase::SendDataPacket(), visualizer.core.Node::set_position(), grid.GraphicRenderer::set_range(), ns3::UanMacRcGw::StartCycle(), BasicEnergyUpdateTest::StateSwitchTest(), ns3::WifiPhyStateHelper::SwitchFromOff(), ns3::WifiPhyStateHelper::SwitchFromSleep(), ns3::WifiPhyStateHelper::SwitchMaybeToCcaBusy(), ns3::UanTransducerHd::Transmit(), ns3::Average< double >::Update(), ns3::aodv::Neighbors::Update(), ns3::dsr::DsrRouteCache::UpdateNeighbor(), ns3::aodv::RoutingProtocol::UpdateRouteLifeTime(), ns3::aodv::RoutingProtocol::UpdateRouteToNeighbor(), ns3::ConstantVelocityHelper::UpdateWithBounds(), and ns3::Buffer::~Buffer().

◆ min

#define min (   a,
 
)    ((a) < (b) ? (a) : (b))

Definition at line 42 of file 80211b.c.

Referenced by TcpYeahDecrementTest::CalculateSsThresh(), ns3::MinstrelWifiManager::CalculateTimeUnicastPacket(), ns3::DynamicQueueLimits::Completed(), ns3::TcpScalable::CongestionAvoidance(), ns3::TcpLedbat::CongestionAvoidance(), ns3::Time::ConvertTimes(), ns3::Buffer::CopyData(), ns3::PendingData::CopyFromOffset(), ns3::TcpTxBuffer::CopyFromSequence(), ns3::EutranMeasurementMapping::Db2RsrqRange(), ns3::EutranMeasurementMapping::Dbm2RsrpRange(), ns3::IdealWifiManager::DoGetDataTxVector(), ns3::LteRlcUm::DoNotifyTxOpportunity(), ns3::LteRlcAm::DoNotifyTxOpportunity(), ns3::TcpPrrRecovery::DoRecovery(), ns3::ChannelAccessManager::DoRestartAccessTimeoutIfNeeded(), OneIntegerTestCase::DoRun(), OneIntegerAverageTestCase::DoRun(), TcpScalableIncrementTest::DoRun(), LteRlcAmE2eTestCase::DoRun(), FiveIntegersAverageTestCase::DoRun(), FiveIntegersTestCase::DoRun(), RandomVariableStreamUniformTestCase::DoRun(), FiveDoublesAverageTestCase::DoRun(), FiveDoublesTestCase::DoRun(), RandomVariableStreamUniformAntitheticTestCase::DoRun(), grid.GraphicRenderer::draw(), grid.TimelinesRenderer::draw_ranges(), ns3::TcpSocketBase::EstimateRtt(), CarrierAggregationConfigTestCase::Evaluate(), ns3::TcpRxBuffer::Extract(), ns3::ShowProgress::Feedback(), Get80211bDsssDbpskBerIeee(), Get80211bDsssDqpskBerIeee(), Get80211bDsssDqpskCCK11BerIeee(), Get80211bDsssDqpskCCK5_5BerIeee(), ns3::LrWpanErrorModel::GetChunkSuccessRate(), ns3::Rectangle::GetClosestSide(), ns3::Box::GetClosestSide(), ns3::SpectrumConverter::GetCoefficient(), ns3::WaveMacLow::GetDataTxVector(), ns3::DsssErrorRateModel::GetDsssDqpskCck11SuccessRate(), ns3::DsssErrorRateModel::GetDsssDqpskCck5_5SuccessRate(), ns3::NistErrorRateModel::GetFec1024QamBer(), ns3::NistErrorRateModel::GetFec16QamBer(), ns3::NistErrorRateModel::GetFec256QamBer(), ns3::NistErrorRateModel::GetFec64QamBer(), ns3::NistErrorRateModel::GetFecBpskBer(), ns3::YansErrorRateModel::GetFecBpskBer(), ns3::YansErrorRateModel::GetFecQamBer(), ns3::NistErrorRateModel::GetFecQpskBer(), ns3::ParabolicAntennaModel::GetGainDb(), ns3::RegularWifiMac::GetHeCapabilities(), ns3::RegularWifiMac::GetHtCapabilities(), ns3::ApWifiMac::GetHtOperation(), ns3::MpduAggregator::GetMaxAmpduSize(), ns3::MsduAggregator::GetMaxAmsduSize(), ns3::PacketSocket::GetMinMtu(), ns3::MacLow::GetRemainingCfpDuration(), TcpVegasTest::GetSsThresh(), ns3::TcpVegas::GetSsThresh(), ns3::TcpYeah::GetSsThresh(), ns3::TcpTxBuffer::GetTransmittedSegment(), ns3::WifiPhy::GetTxPowerForTransmission(), ns3::RegularWifiMac::GetVhtCapabilities(), ns3::SSLinkManager::IncreaseRangingRequestCW(), TcpVegasTest::IncreaseWindow(), TcpYeahIncrementTest::IncreaseWindow(), ns3::TcpVegas::IncreaseWindow(), ns3::TcpYeah::IncreaseWindow(), ns3::Buffer::Initialize(), ns3::SpectrumModel::IsOrthogonal(), ns3::olsr::RoutingProtocol::LinkSensing(), ns3::olsr::RoutingProtocol::LinkTupleTimerExpire(), ns3::MakeIntegerChecker(), ns3::MakeUintegerChecker(), ns3::Time::Min(), ns3::UanPhyPerUmodem::NChooseK(), ns3::ByteTagList::Iterator::Next(), ns3::PropagationCache< T >::PropagationPathIdentifier::operator<(), ns3::operator<(), ns3::TcpSocketBase::PersistTimeout(), ns3::TcpVegas::PktsAcked(), ns3::TcpVeno::PktsAcked(), ns3::TcpYeah::PktsAcked(), ns3::TcpIllinois::PktsAcked(), ns3::LrWpanCsmaCa::PlmeCcaConfirm(), ns3::Buffer::RemoveAtEnd(), NetAnimExperiment::Run(), Experiment::Run(), runBench(), ns3::BulkSendApplication::SendData(), ns3::TcpSocketBase::SendPendingData(), ns3::ThreeGppHttpServer::ServeFromTxBuffer(), TcpTestCase::ServerHandleRecv(), TcpTestCase::ServerHandleSend(), visualizer.core.Node::set_position(), grid.GraphicRenderer::set_range(), TestInterBssConstantObssPdAlgo::SetupSimulation(), ns3::TcpHybla::SlowStart(), TcpTestCase::SourceHandleRecv(), TcpTestCase::SourceHandleSend(), ns3::LrWpanCsmaCa::Start(), ns3::UanPdp::SumTapsC(), ns3::UanPdp::SumTapsFromMaxC(), ns3::UanPdp::SumTapsFromMaxNc(), ns3::UanPdp::SumTapsNc(), ns3::Average< double >::Update(), ns3::ChannelAccessManager::UpdateBackoff(), ns3::Txop::UpdateFailedCw(), ns3::AmrrWifiManager::UpdateMode(), ns3::ConstantVelocityHelper::UpdateWithBounds(), ns3::TcpSocketBase::Window(), ns3::PcapFile::Write(), ns3::Buffer::Iterator::Write(), WriteUntilBufferFull(), Ns3TcpLossTestCase::WriteUntilBufferFull(), and Ns3TcpStateTestCase::WriteUntilBufferFull().

◆ WLAN_SIR_impossible

#define WLAN_SIR_impossible   0.1

◆ WLAN_SIR_perfect

#define WLAN_SIR_perfect   10.0

Function Documentation

◆ DbToNoneDb()

double DbToNoneDb ( double  x)

Definition at line 103 of file 80211b.c.

References sample-rng-plot::x.

◆ DQPSKFunction()

double DQPSKFunction ( double  x)

Definition at line 113 of file 80211b.c.

References sample-rng-plot::x.

Referenced by Get80211bDsssDqpskBer().

+ Here is the caller graph for this function:

◆ f()

double f ( double  x,
void *  params 
)

Definition at line 70 of file 80211b.c.

References sample-rng-plot::n, and sample-rng-plot::x.

Referenced by ns3::EpcTft::Add(), ns3::FriisSpectrumPropagationLossModel::CalculateLoss(), ns3::QueueDisc::Classify(), ns3::WifiPhy::ConfigureChannelForStandard(), ns3::PendingData::CopyFromSeq(), ns3::WifiPhy::DefineChannelNumber(), LteEarfcnTestCase::DoRun(), WriteModeCreateTestCase::DoRun(), LteEarfcnDlTestCase::DoRun(), LteEarfcnUlTestCase::DoRun(), ReadModeCreateTestCase::DoRun(), FileHeaderTestCase::DoRun(), RecordHeaderTestCase::DoRun(), ReadFileTestCase::DoRun(), DiffTestCase::DoRun(), ns3::WifiPhy::FindChannelNumberForFrequencyWidth(), ns3::WifiPhy::GetFrequencyWidthForChannelNumberStandard(), ns3::RandomRoomPositionAllocator::GetNext(), ns3::WifiSpectrumValueHelper::GetSpectrumModel(), ns3::LteSpectrumValueHelper::GetSpectrumModel(), LteEarfcnTestCase::LteEarfcnTestCase(), ns3::MakeEvent(), ns3::operator<<(), p_e2(), PhyStateTrace(), RemainingEnergyTrace(), ns3::Simulator::Schedule(), ns3::Simulator::ScheduleDestroy(), ns3::Simulator::ScheduleNow(), ns3::Simulator::ScheduleWithContext(), ns3::aodv::RrepHeader::SetAckRequired(), ns3::aodv::RoutingProtocol::SetBroadcastEnable(), ns3::WifiPhy::SetChannelNumber(), ns3::aodv::RreqHeader::SetDestinationOnly(), ns3::aodv::RoutingProtocol::SetDestinationOnlyFlag(), ns3::dsdv::RoutingProtocol::SetEnableBufferFlag(), ns3::dsdv::RoutingProtocol::SetEnableRAFlag(), ns3::Icmpv6RA::SetFlags(), ns3::dsr::DsrPassiveBuffEntry::SetFragmentOffset(), ns3::aodv::RoutingProtocol::SetGratuitousReplyFlag(), ns3::aodv::RreqHeader::SetGratuitousRrep(), ns3::aodv::RoutingProtocol::SetHelloEnable(), ns3::aodv::RerrHeader::SetNoDelete(), ns3::AnimationInterface::SetOutputFile(), ns3::SpectrumAnalyzer::SetRxSpectrumModel(), ns3::WifiHelper::SetSelectQueueCallback(), ns3::aodv::RreqHeader::SetUnknownSeqno(), ns3::dsdv::RoutingProtocol::SetWSTFlag(), SpectrumConverterTestSuite::SpectrumConverterTestSuite(), SpectrumValueTestSuite::SpectrumValueTestSuite(), ns3::static_SpectrumModel300Khz300GhzLog_initializer::static_SpectrumModel300Khz300GhzLog_initializer(), ns3::WifiSpectrumModelId::WifiSpectrumModelId(), ns3::AnimationInterface::WriteN(), and ns3::AnimationInterface::WriteXmlAnim().

◆ Get80211bDsssDbpskBer()

double Get80211bDsssDbpskBer ( double  sinr)

Definition at line 137 of file 80211b.c.

◆ Get80211bDsssDbpskBerIeee()

double Get80211bDsssDbpskBerIeee ( double  EcNc)

Definition at line 119 of file 80211b.c.

References min, QFunction(), WLAN_SIR_impossible, and WLAN_SIR_perfect.

+ Here is the call graph for this function:

◆ Get80211bDsssDqpskBer()

double Get80211bDsssDqpskBer ( double  sinr)

Definition at line 162 of file 80211b.c.

References DQPSKFunction().

+ Here is the call graph for this function:

◆ Get80211bDsssDqpskBerIeee()

double Get80211bDsssDqpskBerIeee ( double  EcNc)

Definition at line 144 of file 80211b.c.

References min, QFunction(), WLAN_SIR_impossible, and WLAN_SIR_perfect.

+ Here is the call graph for this function:

◆ Get80211bDsssDqpskCCK11BerIeee()

double Get80211bDsssDqpskCCK11BerIeee ( double  EcNc)

Definition at line 190 of file 80211b.c.

References min, QFunction(), WLAN_SIR_impossible, and WLAN_SIR_perfect.

+ Here is the call graph for this function:

◆ Get80211bDsssDqpskCCK5_5BerIeee()

double Get80211bDsssDqpskCCK5_5BerIeee ( double  EcNc)

Definition at line 170 of file 80211b.c.

References min, QFunction(), WLAN_SIR_impossible, and WLAN_SIR_perfect.

+ Here is the call graph for this function:

◆ NoneDbToDb()

double NoneDbToDb ( double  x)

Definition at line 108 of file 80211b.c.

References sample-rng-plot::x.

◆ p_e1()

double p_e1 ( double  e1)

Definition at line 98 of file 80211b.c.

References p_e2().

+ Here is the call graph for this function:

◆ p_e2()

double p_e2 ( double  e2)

Definition at line 78 of file 80211b.c.

References fn_parameters::beta, f(), and fn_parameters::n.

Referenced by p_e1().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ QFunction()

double QFunction ( double  x)

Definition at line 65 of file 80211b.c.

References sample-rng-plot::x.

Referenced by Get80211bDsssDbpskBerIeee(), Get80211bDsssDqpskBerIeee(), Get80211bDsssDqpskCCK11BerIeee(), and Get80211bDsssDqpskCCK5_5BerIeee().

+ Here is the caller graph for this function: