#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>
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) |
#define max | ( | a, | |
b | |||
) | ((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, | |
b | |||
) | ((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 |
Definition at line 47 of file 80211b.c.
Referenced by Get80211bDsssDbpskBerIeee(), Get80211bDsssDqpskBerIeee(), Get80211bDsssDqpskCCK11BerIeee(), and Get80211bDsssDqpskCCK5_5BerIeee().
#define WLAN_SIR_perfect 10.0 |
Definition at line 46 of file 80211b.c.
Referenced by Get80211bDsssDbpskBerIeee(), Get80211bDsssDqpskBerIeee(), Get80211bDsssDqpskCCK11BerIeee(), and Get80211bDsssDqpskCCK5_5BerIeee().
double DQPSKFunction | ( | double | x | ) |
Definition at line 103 of file 80211b.c.
References sample-rng-plot::x.
Referenced by Get80211bDsssDqpskBer().
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().
double Get80211bDsssDbpskBerIeee | ( | double | EcNc | ) |
Definition at line 109 of file 80211b.c.
References min, QFunction(), WLAN_SIR_impossible, and WLAN_SIR_perfect.
double Get80211bDsssDqpskBer | ( | double | sinr | ) |
Definition at line 152 of file 80211b.c.
References DQPSKFunction().
double Get80211bDsssDqpskBerIeee | ( | double | EcNc | ) |
Definition at line 134 of file 80211b.c.
References min, QFunction(), WLAN_SIR_impossible, and WLAN_SIR_perfect.
double Get80211bDsssDqpskCCK11BerIeee | ( | double | EcNc | ) |
Definition at line 180 of file 80211b.c.
References min, QFunction(), WLAN_SIR_impossible, and WLAN_SIR_perfect.
double Get80211bDsssDqpskCCK5_5BerIeee | ( | double | EcNc | ) |
Definition at line 160 of file 80211b.c.
References min, QFunction(), WLAN_SIR_impossible, and WLAN_SIR_perfect.
double p_e1 | ( | double | e1 | ) |
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().
double QFunction | ( | double | x | ) |
Definition at line 55 of file 80211b.c.
Referenced by Get80211bDsssDbpskBerIeee(), Get80211bDsssDqpskBerIeee(), Get80211bDsssDqpskCCK11BerIeee(), and Get80211bDsssDqpskCCK5_5BerIeee().