A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
ns3::UanPhyPerUmodem Class Reference

Packet error rate calculation assuming WHOI Micromodem like PHY Calculates PER assuming rate 1/2 convolutional code with constraint length 9 with soft decision viterbi decoding and a CRC capable of correcting 1 bit error. More...

#include <introspected-doxygen.h>

+ Inheritance diagram for ns3::UanPhyPerUmodem:

Public Member Functions

virtual double CalcPer (Ptr< Packet > pkt, double sinrDb, UanTxMode mode)
 
- Public Member Functions inherited from ns3::UanPhyPer
virtual void Clear (void)
 
virtual void DoDispose (void)
 
- Public Member Functions inherited from ns3::Object
void AggregateObject (Ptr< Object > other)
 
void Dispose (void)
 
AggregateIterator GetAggregateIterator (void) const
 
virtual TypeId GetInstanceTypeId (void) const
 
template<typename T >
Ptr< T > GetObject (void) const
 
template<typename T >
Ptr< T > GetObject (TypeId tid) const
 
void Initialize (void)
 
- Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
 SimpleRefCount (const SimpleRefCount &o)
 
uint32_t GetReferenceCount (void) const
 
SimpleRefCountoperator= (const SimpleRefCount &o)
 
void Ref (void) const
 
void Unref (void) const
 
- Public Member Functions inherited from ns3::ObjectBase
void GetAttribute (std::string name, AttributeValue &value) const
 
bool GetAttributeFailSafe (std::string name, AttributeValue &attribute) const
 
void SetAttribute (std::string name, const AttributeValue &value)
 
bool SetAttributeFailSafe (std::string name, const AttributeValue &value)
 
bool TraceConnect (std::string name, std::string context, const CallbackBase &cb)
 
bool TraceConnectWithoutContext (std::string name, const CallbackBase &cb)
 
bool TraceDisconnect (std::string name, std::string context, const CallbackBase &cb)
 
bool TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb)
 

Static Public Member Functions

static TypeId GetTypeId (void)
 
- Static Public Member Functions inherited from ns3::UanPhyPer
static TypeId GetTypeId (void)
 
- Static Public Member Functions inherited from ns3::Object
static TypeId GetTypeId (void)
 
- Static Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
static void Cleanup (void)
 
- Static Public Member Functions inherited from ns3::ObjectBase
static TypeId GetTypeId (void)
 

Private Member Functions

double NChooseK (uint32_t n, uint32_t k)
 

Additional Inherited Members

- Protected Member Functions inherited from ns3::Object
 Object (const Object &o)
 
virtual void DoInitialize (void)
 
virtual void NotifyNewAggregate (void)
 
- Protected Member Functions inherited from ns3::ObjectBase
void ConstructSelf (const AttributeConstructionList &attributes)
 
virtual void NotifyConstructionCompleted (void)
 

Detailed Description

Packet error rate calculation assuming WHOI Micromodem like PHY Calculates PER assuming rate 1/2 convolutional code with constraint length 9 with soft decision viterbi decoding and a CRC capable of correcting 1 bit error.

Doxygen introspection did not find any typical Config paths.
No Attributes are defined for this type.
No TraceSources are defined for this type.

Definition at line 60 of file uan-phy-gen.h.

Member Function Documentation

double ns3::UanPhyPerUmodem::CalcPer ( Ptr< Packet pkt,
double  sinrDb,
UanTxMode  mode 
)
virtual

This implementation uses calculations for binary FSK modulation coded by a rate 1/2 convolutional code with constraint length = 9 and a viterbi decoder and finally a CRC capable of correcting one bit error. These equations can be found in the book, Digital Communications, by Proakis (Any version I think)

Parameters
pktPacket which is under consideration
sinrDbSINR at receiver
modeTX mode used to transmit packet
Returns
Probability of packet error

Implements ns3::UanPhyPer.

Definition at line 282 of file uan-phy-gen.cc.

References ns3::Packet::GetSize().

Referenced by UanTest::DoRun().


The documentation for this class was generated from the following files: