INET Framework for OMNeT++/OMNEST
inet::physicallayer::Ieee802154NarrowbandDimensionalTransmitter Class Reference

#include <Ieee802154NarrowbandDimensionalTransmitter.h>

Inheritance diagram for inet::physicallayer::Ieee802154NarrowbandDimensionalTransmitter:
inet::physicallayer::FlatTransmitterBase inet::physicallayer::DimensionalTransmitterBase inet::physicallayer::NarrowbandTransmitterBase inet::IPrintableObject inet::physicallayer::TransmitterBase inet::physicallayer::ITransmitter inet::IPrintableObject

Public Member Functions

 Ieee802154NarrowbandDimensionalTransmitter ()
 
virtual void initialize (int stage) override
 
virtual std::ostream & printToStream (std::ostream &stream, int level, int evFlags=0) const override
 Prints this object to the provided output stream. More...
 
virtual const ITransmissioncreateTransmission (const IRadio *radio, const Packet *packet, const simtime_t startTime) const override
 Returns a transmission which describes the radio signal corresponding to the provided packet. More...
 
- Public Member Functions inherited from inet::physicallayer::FlatTransmitterBase
 FlatTransmitterBase ()
 
virtual b getHeaderLength () const
 
virtual void setHeaderLength (b headerLength)
 
virtual bps getBitrate () const
 
virtual void setBitrate (bps bitrate)
 
virtual W getMaxPower () const override
 Returns the maximum transmission power above which no transmission is ever transmitted. More...
 
virtual W getPower () const
 
virtual void setPower (W power)
 
- Public Member Functions inherited from inet::physicallayer::NarrowbandTransmitterBase
 NarrowbandTransmitterBase ()
 
virtual const IModulationgetModulation () const
 
virtual void setModulation (const IModulation *modulation)
 
virtual Hz getCenterFrequency () const
 
virtual void setCenterFrequency (Hz centerFrequency)
 
virtual Hz getBandwidth () const
 
virtual void setBandwidth (Hz bandwidth)
 
- Public Member Functions inherited from inet::physicallayer::TransmitterBase
virtual m getMaxCommunicationRange () const override
 Returns the maximum communication range. More...
 
virtual m getMaxInterferenceRange () const override
 Returns the maximum interference range. More...
 
- Public Member Functions inherited from inet::IPrintableObject
virtual ~IPrintableObject ()
 
virtual std::string printToString () const
 
virtual std::string printToString (int level, int evFlags=0) const
 
virtual std::string getInfoStringRepresentation (int evFlags=0) const
 
virtual std::string getDetailStringRepresentation (int evFlags=0) const
 
virtual std::string getDebugStringRepresentation (int evFlags=0) const
 
virtual std::string getTraceStringRepresentation (int evFlags=0) const
 
virtual std::string getCompleteStringRepresentation (int evFlags=0) const
 

Additional Inherited Members

- Public Types inherited from inet::IPrintableObject
enum  PrintLevel {
  PRINT_LEVEL_TRACE, PRINT_LEVEL_DEBUG, PRINT_LEVEL_DETAIL, PRINT_LEVEL_INFO,
  PRINT_LEVEL_COMPLETE = INT_MIN
}
 
enum  PrintFlag { PRINT_FLAG_FORMATTED = (1 << 0), PRINT_FLAG_MULTILINE = (1 << 1) }
 
- Protected Member Functions inherited from inet::physicallayer::FlatTransmitterBase
virtual bps computeTransmissionPreambleBitrate (const Packet *packet) const
 
virtual bps computeTransmissionHeaderBitrate (const Packet *packet) const
 
virtual bps computeTransmissionDataBitrate (const Packet *packet) const
 
virtual W computeTransmissionPower (const Packet *packet) const
 
- Protected Member Functions inherited from inet::physicallayer::NarrowbandTransmitterBase
virtual Hz computeCenterFrequency (const Packet *packet) const
 
virtual Hz computeBandwidth (const Packet *packet) const
 
- Protected Member Functions inherited from inet::physicallayer::TransmitterBase
virtual int numInitStages () const override
 
- Protected Member Functions inherited from inet::physicallayer::DimensionalTransmitterBase
template<typename T >
std::vector< GainEntry< T > > parseGains (const char *text) const
 
virtual void parseTimeGains (const char *text)
 
virtual void parseFrequencyGains (const char *text)
 
template<typename T >
const Ptr< const IFunction< double, Domain< T > > > normalize (const Ptr< const IFunction< double, Domain< T >>> &function, const char *normalization) const
 
virtual Ptr< const IFunction< double, Domain< simsec, Hz > > > createGainFunction (const simtime_t startTime, const simtime_t endTime, Hz centerFrequency, Hz bandwidth) const
 
virtual Ptr< const IFunction< WpHz, Domain< simsec, Hz > > > createPowerFunction (const simtime_t startTime, const simtime_t endTime, Hz centerFrequency, Hz bandwidth, W power) const
 
- Protected Attributes inherited from inet::physicallayer::FlatTransmitterBase
simtime_t preambleDuration
 
b headerLength
 
bps bitrate
 
W power
 
- Protected Attributes inherited from inet::physicallayer::NarrowbandTransmitterBase
const IModulationmodulation
 
Hz centerFrequency
 
Hz bandwidth
 
- Protected Attributes inherited from inet::physicallayer::DimensionalTransmitterBase
const IInterpolator< simsec, double > * firstTimeInterpolator = nullptr
 
const IInterpolator< Hz, double > * firstFrequencyInterpolator = nullptr
 
std::vector< GainEntry< simsec > > timeGains
 
std::vector< GainEntry< Hz > > frequencyGains
 
const char * timeGainsNormalization = nullptr
 
const char * frequencyGainsNormalization = nullptr
 
int gainFunctionCacheLimit = -1
 
std::map< std::tuple< simtime_t, Hz, Hz >, Ptr< const IFunction< double, Domain< simsec, Hz > > > > gainFunctionCache
 

Constructor & Destructor Documentation

◆ Ieee802154NarrowbandDimensionalTransmitter()

inet::physicallayer::Ieee802154NarrowbandDimensionalTransmitter::Ieee802154NarrowbandDimensionalTransmitter ( )
20  :
22  DimensionalTransmitterBase()
23 {
24 }

Member Function Documentation

◆ createTransmission()

const ITransmission * inet::physicallayer::Ieee802154NarrowbandDimensionalTransmitter::createTransmission ( const IRadio transmitter,
const Packet packet,
const simtime_t  startTime 
) const
overridevirtual

Returns a transmission which describes the radio signal corresponding to the provided packet.

This function never returns nullptr.

Implements inet::physicallayer::ITransmitter.

40 {
41  W transmissionPower = computeTransmissionPower(packet);
42  bps transmissionBitrate = computeTransmissionDataBitrate(packet);
43  const simtime_t headerDuration = b(headerLength).get() / bps(transmissionBitrate).get();
44  const simtime_t dataDuration = b(packet->getTotalLength()).get() / bps(transmissionBitrate).get();
45  const simtime_t duration = preambleDuration + headerDuration + dataDuration;
46  const simtime_t endTime = startTime + duration;
47  IMobility *mobility = transmitter->getAntenna()->getMobility();
48  const Ptr<const IFunction<WpHz, Domain<simsec, Hz>>>& powerFunction = createPowerFunction(startTime, endTime, centerFrequency, bandwidth, transmissionPower);
49  const Coord& startPosition = mobility->getCurrentPosition();
50  const Coord& endPosition = mobility->getCurrentPosition();
51  const Quaternion& startOrientation = mobility->getCurrentAngularPosition();
52  const Quaternion& endOrientation = mobility->getCurrentAngularPosition();
53  return new DimensionalTransmission(transmitter, packet, startTime, endTime, preambleDuration, headerDuration, dataDuration, startPosition, endPosition, startOrientation, endOrientation, modulation, headerLength, packet->getTotalLength(), centerFrequency, bandwidth, transmissionBitrate, powerFunction);
54 }

◆ initialize()

void inet::physicallayer::Ieee802154NarrowbandDimensionalTransmitter::initialize ( int  stage)
overridevirtual

◆ printToStream()

std::ostream & inet::physicallayer::Ieee802154NarrowbandDimensionalTransmitter::printToStream ( std::ostream &  stream,
int  level,
int  evFlags = 0 
) const
overridevirtual

Prints this object to the provided output stream.

Reimplemented from inet::physicallayer::DimensionalTransmitterBase.

33 {
34  stream << "Ieee802154NarrowbandDimensionalTransmitter";
36  return DimensionalTransmitterBase::printToStream(stream, level);
37 }

The documentation for this class was generated from the following files:
inet::physicallayer::FlatTransmitterBase::headerLength
b headerLength
Definition: FlatTransmitterBase.h:21
inet::physicallayer::FlatTransmitterBase::FlatTransmitterBase
FlatTransmitterBase()
Definition: FlatTransmitterBase.cc:15
inet::physicallayer::FlatTransmitterBase::computeTransmissionPower
virtual W computeTransmissionPower(const Packet *packet) const
Definition: FlatTransmitterBase.cc:63
inet::physicallayer::DimensionalTransmitterBase::printToStream
virtual std::ostream & printToStream(std::ostream &stream, int level, int evFlags=0) const override
Prints this object to the provided output stream.
Definition: DimensionalTransmitterBase.cc:110
inet::units::units::bps
compose< b, pow< s, -1 > > bps
Definition: Units.h:1169
inet::units::units::W
compose< J, pow< s, -1 > > W
Definition: Units.h:939
inet::physicallayer::DimensionalTransmitterBase::initialize
virtual void initialize(int stage)
Definition: DimensionalTransmitterBase.cc:20
inet::physicallayer::FlatTransmitterBase::preambleDuration
simtime_t preambleDuration
Definition: FlatTransmitterBase.h:20
inet::physicallayer::DimensionalTransmitterBase::createPowerFunction
virtual Ptr< const IFunction< WpHz, Domain< simsec, Hz > > > createPowerFunction(const simtime_t startTime, const simtime_t endTime, Hz centerFrequency, Hz bandwidth, W power) const
Definition: DimensionalTransmitterBase.cc:204
inet::physicallayer::FlatTransmitterBase::computeTransmissionDataBitrate
virtual bps computeTransmissionDataBitrate(const Packet *packet) const
Definition: FlatTransmitterBase.cc:57
inet::units::values::b
value< int64_t, units::b > b
Definition: Units.h:1241
inet::physicallayer::FlatTransmitterBase::initialize
virtual void initialize(int stage) override
Definition: FlatTransmitterBase.cc:24
inet::physicallayer::NarrowbandTransmitterBase::centerFrequency
Hz centerFrequency
Definition: NarrowbandTransmitterBase.h:22
inet::physicallayer::NarrowbandTransmitterBase::bandwidth
Hz bandwidth
Definition: NarrowbandTransmitterBase.h:23
inet::physicallayer::NarrowbandTransmitterBase::modulation
const IModulation * modulation
Definition: NarrowbandTransmitterBase.h:21