|
| NarrowbandReceiverBase () |
|
virtual std::ostream & | printToStream (std::ostream &stream, int level) const override |
| Prints this object to the provided output stream. More...
|
|
virtual const IListening * | createListening (const IRadio *radio, const simtime_t startTime, const simtime_t endTime, const Coord startPosition, const Coord endPosition) const override |
| Returns a description of how the receiver is listening on the medium. More...
|
|
virtual bool | computeIsReceptionPossible (const IListening *listening, const ITransmission *transmission) const override |
| Returns whether the reception of the provided transmission is possible or not independently of the reception conditions. More...
|
|
virtual bool | computeIsReceptionPossible (const IListening *listening, const IReception *reception, IRadioSignal::SignalPart part) const override |
| Returns whether the reception of the provided part is possible or not. More...
|
|
virtual const IReceptionDecision * | computeReceptionDecision (const IListening *listening, const IReception *reception, IRadioSignal::SignalPart part, const IInterference *interference, const ISNIR *snir) const override |
| Returns the reception decision for the transmission part that specifies whether the reception is possible, attempted, and successful. More...
|
|
virtual const IModulation * | getModulation () const |
|
virtual void | setModulation (const IModulation *modulation) |
|
virtual Hz | getCarrierFrequency () const |
|
virtual void | setCarrierFrequency (Hz carrierFrequency) |
|
virtual Hz | getBandwidth () const |
|
virtual void | setBandwidth (Hz bandwidth) |
|
| SNIRReceiverBase () |
|
virtual double | getSNIRThreshold () const |
|
virtual bool | computeIsReceptionSuccessful (const IListening *listening, const IReception *reception, IRadioSignal::SignalPart part, const IInterference *interference, const ISNIR *snir) const override |
| Returns whether the reception of the provided part is actually successful or failed by the receiver. More...
|
|
| ReceiverBase () |
|
virtual W | getMinInterferencePower () const override |
| Returns the minimum interference power below which receptions are to be ignored while computing the interference. More...
|
|
virtual W | getMinReceptionPower () const override |
| Returns the minimum reception power below which successful reception is definitely not possible. More...
|
|
virtual bool | computeIsReceptionAttempted (const IListening *listening, const IReception *reception, IRadioSignal::SignalPart part, const IInterference *interference) const override |
| Returns whether the reception of the provided part is actually attempted or ignored by the receiver. More...
|
|
virtual const IReceptionResult * | computeReceptionResult (const IListening *listening, const IReception *reception, const IInterference *interference, const ISNIR *snir) const override |
| Returns the complete result of the reception process for the provided reception. More...
|
|
virtual ReceptionIndication * | createReceptionIndication () const |
| Returns an empty reception indication (control info). More...
|
|
virtual const IListeningDecision * | computeListeningDecision (const IListening *listening, const IInterference *interference) const =0 |
| Returns the result of the listening process specifying the reception state of the receiver. More...
|
|
virtual | ~IPrintableObject () |
|
virtual std::string | getInfoStringRepresentation () const |
|
virtual std::string | getDetailStringRepresentation () const |
|
virtual std::string | getDebugStringRepresentation () const |
|
virtual std::string | getTraceStringRepresentation () const |
|
virtual std::string | getCompleteStringRepresentation () const |
|
bool inet::physicallayer::NarrowbandReceiverBase::computeIsReceptionPossible |
( |
const IListening * |
listening, |
|
|
const ITransmission * |
transmission |
|
) |
| const |
|
overridevirtual |
Returns whether the reception of the provided part is possible or not.
For example, it might check if the reception power is above sensitivity.
This function may be called before the reception actually starts at the receiver, thus it must be purely functional and support optimistic parallel computation.
Reimplemented from inet::physicallayer::ReceiverBase.
Reimplemented in inet::physicallayer::FlatReceiverBase.
74 const BandListening *bandListening = check_and_cast<
const BandListening *>(listening);
75 const NarrowbandReceptionBase *narrowbandReception = check_and_cast<
const NarrowbandReceptionBase *>(reception);
76 if (bandListening->getCarrierFrequency() != narrowbandReception->getCarrierFrequency() || bandListening->getBandwidth() != narrowbandReception->getBandwidth()) {
77 EV_DEBUG <<
"Computing whether reception is possible: listening and reception bands are different -> reception is impossible" << endl;