Public Member Functions |
void | SetHeaderModulationAndCodingScheme (ModulationAndCodingType mcs) |
ModulationAndCodingType | GetHeaderModulationAndCodingScheme (void) |
void | SetPayloadModulationAndCodingScheme (ModulationAndCodingType mcs) |
ModulationAndCodingType | GetPayloadModulationAndCodingScheme (void) |
size_t | GetOfdmSymbolsPerCodeBlock (void) |
void | EndRxHeader (Ptr< SpectrumValue > &rxPsd, Ptr< const PLC_TrxMetaInfo > metaInfo) |
void | EndRxPayload (Ptr< const PLC_TrxMetaInfo > metaInfo) |
void | ReceptionFailure (void) |
void | SendFrame (Ptr< Packet > p, Ptr< PLC_TrxMetaInfo > metaInfo) |
virtual void | PreambleDetectionSuccessful (Ptr< const Packet > p, uint32_t txId, Ptr< SpectrumValue > &rxPsd, Time duration, Ptr< const PLC_TrxMetaInfo > metaInfo) |
Static Public Member Functions |
static TypeId | GetTypeId (void) |
static void | SetOfdmSymbolsPerCodeBlock (size_t spb) |
static void | SetRatelessCodingOverhead (double overhead) |
static double | GetRatelessCodingOverhead (void) |
Protected Member Functions |
virtual void | DoStart (void) |
virtual void | DoDispose (void) |
virtual void | DoSetNoiseFloor (Ptr< const SpectrumValue > noiseFloor) |
virtual bool | DoStartTx (Ptr< Packet > p) |
virtual void | DoStartRx (Ptr< const Packet > p, uint32_t txId, Ptr< SpectrumValue > &rxPsd, Time duration, Ptr< const PLC_TrxMetaInfo > metaInfo) |
virtual void | DoUpdateRxPsd (uint32_t txId, Ptr< SpectrumValue > newRxPsd) |
virtual void | StartReception (Ptr< const Packet > p, uint32_t txId, Ptr< SpectrumValue > &rxPsd, Time duration, Ptr< const PLC_TrxMetaInfo > metaInfo) |
virtual void | NotifySuccessfulReception (void) |
Ptr< Packet > | CreateEncodedPacket (Ptr< PLC_TrxMetaInfo > metaInfo) |
Ptr< Packet > | CreateFixedRateEncodedPacket (Ptr< PLC_TrxMetaInfo > metaInfo) |
Ptr< Packet > | CreateRatelessEncodedPacket (Ptr< PLC_TrxMetaInfo > metaInfo) |
PLC_PhyCcaResult | ClearChannelAssessment (void) |
size_t | RequiredChunks (size_t num_blocks) |
size_t | ChunksInByte (size_t num_chunks, size_t raw_bits_per_symbol) |
Protected Attributes |
Ptr< PLC_InformationRateModel > | m_information_rate_model |
ModulationAndCodingType | m_header_mcs |
ModulationAndCodingType | m_payload_mcs |
Static Protected Attributes |
static size_t | modulation_symbols_per_code_block = 1 |
static double | rateless_coding_overhead = 0.2 |
Simple implementation of a half duplex phy using the information rate model