A Discrete-Event Network Simulator
API
80211b.c File Reference
#include "math.h"
#include "stdlib.h"
#include "stdio.h"
#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
 

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

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

Definition at line 45 of file 80211b.c.

Referenced by visualizer.core.Visualizer::_update_drops_view(), visualizer.core.Visualizer::_update_transmissions_view(), ns3::Buffer::AddAtEnd(), ns3::Buffer::AddAtStart(), ns3::ByteTagList::Allocate(), visualizer.core.Visualizer::autoscale_view(), ns3::CalendarScheduler::CalculateNewWidth(), ns3::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::TcpNewReno::CongestionAvoidance(), ns3::Time::ConvertTimes(), ns3::EutranMeasurementMapping::Db2RsrqRange(), ns3::EutranMeasurementMapping::Dbm2RsrpRange(), ns3::ByteTagList::Deallocate(), visualizer.higcontainer.HIGContainer::do_size_request(), ns3::FriisPropagationLossModel::DoCalcRxPower(), ns3::TcpSocketBase::DoRetransmit(), OneIntegerAverageTestCase::DoRun(), OneIntegerTestCase::DoRun(), ns3::TcpHyblaIncrementTest::DoRun(), OneUniformRandomVariableManyGetValueCallsTestCase::DoRun(), ManyUniformRandomVariablesOneGetValueCallTestCase::DoRun(), TvSpectrumTransmitterTestCase::DoRun(), LteRlcAmE2eTestCase::DoRun(), LteRrcConnectionEstablishmentTestCase::DoRun(), ns3::TcpHighSpeedDecrementTest::DoRun(), ns3::TcpScalableDecrementTest::DoRun(), FiveIntegersAverageTestCase::DoRun(), FiveIntegersTestCase::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(), ns3::TcpBicDecrementTest::ExecuteTest(), ns3::dsr::DsrGraReply::FindAndUpdate(), ns3::SpectrumConverter::GetCoefficient(), ns3::Ipv6L3Protocol::GetInterfaceForAddress(), ns3::OhBuildingsPropagationLossModel::GetLoss(), ns3::HybridBuildingsPropagationLossModel::GetLoss(), ns3::LteMiErrorModel::GetPcfichPdcchError(), ns3::TcpVegasTest::GetSsThresh(), ns3::TcpIllinoisTest::GetSsThresh(), ns3::TcpHighSpeed::GetSsThresh(), ns3::TcpHtcp::GetSsThresh(), ns3::TcpScalable::GetSsThresh(), ns3::TcpWestwood::GetSsThresh(), ns3::TcpBic::GetSsThresh(), ns3::TcpVegas::GetSsThresh(), ns3::TcpVeno::GetSsThresh(), ns3::TcpIllinois::GetSsThresh(), ns3::TcpYeah::GetSsThresh(), ns3::TcpNewReno::GetSsThresh(), ns3::LteMiErrorModel::GetTbDecodificationStats(), ns3::RadioEnvironmentMapHelper::GetTypeId(), ns3::TvSpectrumTransmitter::GetTypeId(), ns3::MatrixPropagationLossModel::GetTypeId(), ns3::TriangularRandomVariable::GetValue(), ns3::aodv::RoutingProtocol::HelloTimerExpire(), ns3::TcpVegasTest::IncreaseWindow(), ns3::TcpYeahIncrementTest::IncreaseWindow(), ns3::TcpVegas::IncreaseWindow(), ns3::TcpYeah::IncreaseWindow(), ns3::PcapFileWrapper::Init(), ns3::SixLowPanNetDevice::Fragments::IsEntire(), ns3::Ipv4L3Protocol::Fragments::IsEntire(), grid.TimelinesRenderer::layout(), ns3::olsr::RoutingProtocol::LinkSensing(), ns3::MakeDoubleChecker(), ns3::MakeIntegerChecker(), ns3::MakeUintegerChecker(), ns3::dsr::DsrRreqTable::MarkLinkAsUnidirectional(), ns3::ArrayMatcher::Matches(), ns3::Time::Max(), ns3::LteMiErrorModel::Mib(), ns3::olsr::RoutingProtocol::MprComputation(), ns3::TcpVenoTest::MultiplicativeDecrease(), ns3::UanPhyPerUmodem::NChooseK(), ns3::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::TcpIllinois::PktsAcked(), ns3::DynamicQueueLimits::Posdiff(), ns3::CommandLine::PrintHelp(), ns3::aodv::RoutingProtocol::ProcessHello(), ns3::TcpHybla::RecalcParam(), Ipv4StaticRoutingSlash32TestCase::ReceivePkt(), SixlowpanHc1ImplTest::ReceivePkt(), SixlowpanIphcImplTest::ReceivePkt(), Ipv6ForwardingTest::ReceivePkt(), Ipv6RipngTest::ReceivePkt(), Ipv4RipTest::ReceivePkt(), ns3::aodv::LoopbackTestCase::ReceivePkt(), UdpSocketLoopbackTest::ReceivePkt(), Ipv6RawSocketImplTest::ReceivePkt(), Ipv4RawSocketImplTest::ReceivePkt(), Ipv4ForwardingTest::ReceivePkt(), Ipv4HeaderTest::ReceivePkt(), Udp6SocketLoopbackTest::ReceivePkt(), UdpSocketImplTest::ReceivePkt(), Ipv6RipngCountToInfinityTest::ReceivePkt(), Ipv4RipCountToInfinityTest::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::Ipv6L3Protocol::RemoveAutoconfiguredAddress(), ns3::dsr::DsrRreqTable::RemoveLeastExpire(), ns3::PacketMetadata::ReplaceTail(), ns3::Average< double >::Reset(), ns3::StaWifiMac::RestartBeaconWatchdog(), InterferenceExperiment::Run(), runBench(), Ipv6PacketInfoTagTest::RxCb(), Ipv4PacketInfoTagTest::RxCb(), ns3::MacLow::SendDataAfterCts(), ns3::TcpSocketBase::SendDataPacket(), grid.GraphicRenderer::set_range(), ns3::UanMacRcGw::StartCycle(), ns3::WifiPhyStateHelper::SwitchFromSleep(), ns3::WifiPhyStateHelper::SwitchMaybeToCcaBusy(), ns3::TestDoubleIsEqual(), 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().

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

Definition at line 44 of file 80211b.c.

Referenced by visualizer.core.Visualizer::_start_update_timer(), visualizer.core.Visualizer::autoscale_view(), ns3::TcpYeahDecrementTest::CalculateSsThresh(), ns3::MinstrelWifiManager::CalculateTimeUnicastPacket(), ns3::DynamicQueueLimits::Completed(), ns3::TcpScalable::CongestionAvoidance(), ns3::Time::ConvertTimes(), ns3::Buffer::CopyData(), ns3::PendingData::CopyFromOffset(), ns3::TcpTxBuffer::CopyFromSequence(), ns3::EutranMeasurementMapping::Db2RsrqRange(), ns3::EutranMeasurementMapping::Dbm2RsrpRange(), ns3::LteRlcUm::DoNotifyTxOpportunity(), ns3::LteRlcAm::DoNotifyTxOpportunity(), ns3::DcfManager::DoRestartAccessTimeoutIfNeeded(), ManyUniformRandomVariablesOneGetValueCallTestCase::DoRun(), OneIntegerAverageTestCase::DoRun(), OneIntegerTestCase::DoRun(), OneUniformRandomVariableManyGetValueCallsTestCase::DoRun(), ns3::TcpScalableIncrementTest::DoRun(), LteRlcAmE2eTestCase::DoRun(), FiveIntegersAverageTestCase::DoRun(), FiveIntegersTestCase::DoRun(), RandomVariableStreamUniformTestCase::DoRun(), FiveDoublesAverageTestCase::DoRun(), FiveDoublesTestCase::DoRun(), RandomVariableStreamUniformAntitheticTestCase::DoRun(), grid.GraphicRenderer::draw(), grid.TimelinesRenderer::draw_ranges(), ns3::TcpRxBuffer::Extract(), Get80211bDsssDbpskBerIeee(), Get80211bDsssDqpskBerIeee(), Get80211bDsssDqpskCCK11BerIeee(), Get80211bDsssDqpskCCK5_5BerIeee(), ns3::LrWpanErrorModel::GetChunkSuccessRate(), ns3::Rectangle::GetClosestSide(), ns3::Box::GetClosestSide(), ns3::SpectrumConverter::GetCoefficient(), ns3::WaveMacLow::GetDataTxVector(), 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::PacketSocket::GetMinMtu(), ns3::DeviceNameTag::GetSerializedSize(), ns3::TcpVegasTest::GetSsThresh(), ns3::TcpVegas::GetSsThresh(), ns3::TcpYeah::GetSsThresh(), ns3::LteMiErrorModel::GetTbDecodificationStats(), ns3::UniformRandomVariable::GetValue(), ns3::TriangularRandomVariable::GetValue(), ns3::SSLinkManager::IncreaseRangingRequestCW(), ns3::TcpVegasTest::IncreaseWindow(), ns3::TcpYeahIncrementTest::IncreaseWindow(), ns3::TcpVegas::IncreaseWindow(), ns3::TcpYeah::IncreaseWindow(), ns3::Buffer::Initialize(), ns3::olsr::RoutingProtocol::LinkSensing(), ns3::olsr::RoutingProtocol::LinkTupleTimerExpire(), ns3::MakeIntegerChecker(), ns3::MakeUintegerChecker(), ns3::ArrayMatcher::Matches(), ns3::Time::Min(), ns3::UanPhyPerUmodem::NChooseK(), ns3::ByteTagList::Iterator::Next(), ns3::OriginatorBlockAckAgreement::NotifyMpduTransmission(), 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::TcpSocketBase::ReceivedAck(), ns3::Buffer::RemoveAtEnd(), NetAnimExperiment::Run(), Experiment::Run(), runBench(), ns3::BulkSendApplication::SendData(), ns3::TcpSocketBase::SendPendingData(), ns3::DeviceNameTag::Serialize(), TcpTestCase::ServerHandleRecv(), TcpTestCase::ServerHandleSend(), grid.GraphicRenderer::set_range(), 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::DcfManager::UpdateBackoff(), ns3::DcfState::UpdateFailedCw(), ns3::AmrrWifiManager::UpdateMode(), ns3::ConstantVelocityHelper::UpdateWithBounds(), ns3::TcpSocketBase::Window(), ns3::PcapFile::Write(), ns3::Buffer::Iterator::Write(), WriteUntilBufferFull(), Ns3TcpStateTestCase::WriteUntilBufferFull(), and Ns3TcpLossTestCase::WriteUntilBufferFull().

#define WLAN_SIR_impossible   0.1
#define WLAN_SIR_perfect   10.0

Function Documentation

double DbToNoneDb ( double  x)

Definition at line 93 of file 80211b.c.

double DQPSKFunction ( double  x)

Definition at line 103 of file 80211b.c.

References sample-rng-plot::x.

Referenced by Get80211bDsssDqpskBer().

+ Here is the caller graph for this function:

double f ( double  x,
void *  params 
)

Definition at line 60 of file 80211b.c.

Referenced by ns3::QueueDisc::Classify(), ns3::WifiPhy::ConfigureChannelForStandard(), ns3::WifiPhy::DefineChannelNumber(), LteEarfcnTestCase::DoRun(), LteEarfcnDlTestCase::DoRun(), WriteModeCreateTestCase::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(), ns3::MakeEvent(), ns3::DcfManager::MostRecent(), p_e2(), PhyStateTrace(), RemainingEnergyTrace(), ns3::Simulator::Schedule(), ns3::Simulator::ScheduleDestroy(), ns3::Simulator::ScheduleNow(), ns3::Simulator::ScheduleWithContext(), ns3::aodv::RoutingProtocol::SetBroadcastEnable(), ns3::WifiPhy::SetChannelNumber(), ns3::aodv::RoutingProtocol::SetDesinationOnlyFlag(), ns3::dsdv::RoutingProtocol::SetEnableBufferFlag(), ns3::dsdv::RoutingProtocol::SetEnableRAFlag(), ns3::Icmpv6RA::SetFlags(), ns3::dsr::DsrPassiveBuffEntry::SetFragmentOffset(), ns3::aodv::RoutingProtocol::SetGratuitousReplyFlag(), ns3::aodv::RoutingProtocol::SetHelloEnable(), ns3::AnimationInterface::SetOutputFile(), ns3::SpectrumAnalyzer::SetRxSpectrumModel(), ns3::dsdv::RoutingProtocol::SetWSTFlag(), SpectrumConverterTestSuite::SpectrumConverterTestSuite(), SpectrumValueTestSuite::SpectrumValueTestSuite(), ns3::static_SpectrumModel300Khz300GhzLog_initializer::static_SpectrumModel300Khz300GhzLog_initializer(), ns3::AnimationInterface::WriteN(), and ns3::AnimationInterface::WriteXmlAnim().

+ Here is the caller graph for this function:

double Get80211bDsssDbpskBer ( double  sinr)

Definition at line 127 of file 80211b.c.

double Get80211bDsssDbpskBerIeee ( double  EcNc)

Definition at line 109 of file 80211b.c.

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

+ Here is the call graph for this function:

double Get80211bDsssDqpskBer ( double  sinr)

Definition at line 152 of file 80211b.c.

References DQPSKFunction().

+ Here is the call graph for this function:

double Get80211bDsssDqpskBerIeee ( double  EcNc)

Definition at line 134 of file 80211b.c.

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

+ Here is the call graph for this function:

double Get80211bDsssDqpskCCK11BerIeee ( double  EcNc)

Definition at line 180 of file 80211b.c.

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

+ Here is the call graph for this function:

double Get80211bDsssDqpskCCK5_5BerIeee ( double  EcNc)

Definition at line 160 of file 80211b.c.

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

+ Here is the call graph for this function:

double NoneDbToDb ( double  x)

Definition at line 98 of file 80211b.c.

double p_e1 ( double  e1)

Definition at line 88 of file 80211b.c.

References p_e2().

+ Here is the call graph for this function:

double p_e2 ( double  e2)

Definition at line 68 of file 80211b.c.

References fn_parameters::beta, f(), fn_parameters::n, and visualizer.higcontainer::w.

Referenced by p_e1().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

double QFunction ( double  x)

Definition at line 55 of file 80211b.c.

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

+ Here is the caller graph for this function: