--- a/src/wave/helper/wave-helper.cc Sat Jul 11 00:59:27 2015 +0200
+++ b/src/wave/helper/wave-helper.cc Sat Jul 11 11:14:24 2015 +0200
@@ -235,15 +235,15 @@
static void
PcapSniffRxEvent (
- Ptr<PcapFileWrapper> file,
- Ptr<const Packet> packet,
- uint16_t channelFreqMhz,
- uint16_t channelNumber,
- uint32_t rate,
- WifiPreamble preamble,
- WifiTxVector txvector,
- struct mpduInfo aMpdu,
- struct snrDb snr)
+ Ptr<PcapFileWrapper> file,
+ Ptr<const Packet> packet,
+ uint16_t channelFreqMhz,
+ uint16_t channelNumber,
+ uint32_t rate,
+ WifiPreamble preamble,
+ WifiTxVector txvector,
+ struct mpduInfo aMpdu,
+ struct signalNoiseDbm signalNoise)
{
uint32_t dlt = file->GetDataLinkType ();
@@ -306,8 +306,8 @@
header.SetChannelFrequencyAndFlags (channelFreqMhz, channelFlags);
- header.SetAntennaSignalPower (snr.signal);
- header.SetAntennaNoisePower (snr.noise);
+ header.SetAntennaSignalPower (signalNoise.signal);
+ header.SetAntennaNoisePower (signalNoise.noise);
if (preamble == WIFI_PREAMBLE_HT_MF || preamble == WIFI_PREAMBLE_HT_GF || preamble == WIFI_PREAMBLE_NONE)
{
--- a/src/wifi/helper/yans-wifi-helper.cc Sat Jul 11 00:59:27 2015 +0200
+++ b/src/wifi/helper/yans-wifi-helper.cc Sat Jul 11 11:14:24 2015 +0200
@@ -397,15 +397,15 @@
static void
PcapSniffRxEvent (
- Ptr<PcapFileWrapper> file,
- Ptr<const Packet> packet,
- uint16_t channelFreqMhz,
- uint16_t channelNumber,
- uint32_t rate,
- WifiPreamble preamble,
- WifiTxVector txvector,
- struct mpduInfo aMpdu,
- struct snrDb snr)
+ Ptr<PcapFileWrapper> file,
+ Ptr<const Packet> packet,
+ uint16_t channelFreqMhz,
+ uint16_t channelNumber,
+ uint32_t rate,
+ WifiPreamble preamble,
+ WifiTxVector txvector,
+ struct mpduInfo aMpdu,
+ struct signalNoiseDbm signalNoise)
{
uint32_t dlt = file->GetDataLinkType ();
@@ -468,8 +468,8 @@
header.SetChannelFrequencyAndFlags (channelFreqMhz, channelFlags);
- header.SetAntennaSignalPower (snr.signal);
- header.SetAntennaNoisePower (snr.noise);
+ header.SetAntennaSignalPower (signalNoise.signal);
+ header.SetAntennaNoisePower (signalNoise.noise);
if (preamble == WIFI_PREAMBLE_HT_MF || preamble == WIFI_PREAMBLE_HT_GF || preamble == WIFI_PREAMBLE_NONE)
{
--- a/src/wifi/model/wifi-phy.cc Sat Jul 11 00:59:27 2015 +0200
+++ b/src/wifi/model/wifi-phy.cc Sat Jul 11 11:14:24 2015 +0200
@@ -592,9 +592,9 @@
}
void
-WifiPhy::NotifyMonitorSniffRx (Ptr<const Packet> packet, uint16_t channelFreqMhz, uint16_t channelNumber, uint32_t rate, WifiPreamble preamble, WifiTxVector txvector, struct mpduInfo aMpdu, struct snrDb snr)
+WifiPhy::NotifyMonitorSniffRx (Ptr<const Packet> packet, uint16_t channelFreqMhz, uint16_t channelNumber, uint32_t rate, WifiPreamble preamble, WifiTxVector txvector, struct mpduInfo aMpdu, struct signalNoiseDbm signalNoise)
{
- m_phyMonitorSniffRxTrace (packet, channelFreqMhz, channelNumber, rate, preamble, txvector, aMpdu, snr);
+ m_phyMonitorSniffRxTrace (packet, channelFreqMhz, channelNumber, rate, preamble, txvector, aMpdu, signalNoise);
}
void
--- a/src/wifi/model/wifi-phy.h Sat Jul 11 00:59:27 2015 +0200
+++ b/src/wifi/model/wifi-phy.h Sat Jul 11 11:14:24 2015 +0200
@@ -38,10 +38,10 @@
class WifiChannel;
class NetDevice;
-struct snrDb
+struct signalNoiseDbm
{
- double signal;
- double noise;
+ double signal; //in dBm
+ double noise; //in dBm
};
struct mpduInfo
@@ -1014,11 +1014,11 @@
* \param txVector the txvector that holds rx parameters
* \param aMpdu the type of the packet (0 is not A-MPDU, 1 is a MPDU that is part of an A-MPDU and 2 is the last MPDU in an A-MPDU)
* and the A-MPDU reference number (must be a different value for each A-MPDU but the same for each subframe within one A-MPDU)
- * \param snr signal power and noise power in dB
+ * \param signalNoise signal power and noise power in dBm
*/
void NotifyMonitorSniffRx (Ptr<const Packet> packet, uint16_t channelFreqMhz,
uint16_t channelNumber, uint32_t rate, WifiPreamble preamble,
- WifiTxVector txvector, struct mpduInfo aMpdu, struct snrDb snr);
+ WifiTxVector txvector, struct mpduInfo aMpdu, struct signalNoiseDbm signalNoise);
/**
* TracedCallback signature for monitor mode receive events.
@@ -1039,11 +1039,11 @@
* \param txVector the txvector that holds rx parameters
* \param aMpdu the type of the packet (0 is not A-MPDU, 1 is a MPDU that is part of an A-MPDU and 2 is the last MPDU in an A-MPDU)
* and the A-MPDU reference number (must be a different value for each A-MPDU but the same for each subframe within one A-MPDU)
- * \param snr signal power and noise power in dB
+ * \param signalNoise signal power and noise power in dBm
*/
typedef void (* MonitorSnifferRxCallback)(Ptr<const Packet> packet, uint16_t channelFreqMhz,
uint16_t channelNumber, uint32_t rate, WifiPreamble preamble,
- WifiTxVector txvector, struct mpduInfo aMpdu, struct snrDb snr);
+ WifiTxVector txvector, struct mpduInfo aMpdu, struct signalNoiseDbm signalNoise);
/**
* Public method used to fire a MonitorSniffer trace for a wifi packet being transmitted.
@@ -1216,7 +1216,7 @@
*
* \see class CallBackTraceSource
*/
- TracedCallback<Ptr<const Packet>, uint16_t, uint16_t, uint32_t, WifiPreamble, WifiTxVector, struct mpduInfo, struct snrDb> m_phyMonitorSniffRxTrace;
+ TracedCallback<Ptr<const Packet>, uint16_t, uint16_t, uint32_t, WifiPreamble, WifiTxVector, struct mpduInfo, struct signalNoiseDbm> m_phyMonitorSniffRxTrace;
/**
* A trace source that emulates a wifi device in monitor mode
--- a/src/wifi/model/yans-wifi-phy.cc Sat Jul 11 00:59:27 2015 +0200
+++ b/src/wifi/model/yans-wifi-phy.cc Sat Jul 11 11:14:24 2015 +0200
@@ -1108,10 +1108,10 @@
{
dataRate500KbpsUnits = event->GetPayloadMode ().GetDataRate () * event->GetTxVector ().GetNss () / 500000;
}
- struct snrDb snr;
- snr.signal = RatioToDb (event->GetRxPowerW ()) + 30;
- snr.noise = RatioToDb (event->GetRxPowerW () / snrPer.snr) - GetRxNoiseFigure () + 30;
- NotifyMonitorSniffRx (packet, (uint16_t)GetChannelFrequencyMhz (), GetChannelNumber (), dataRate500KbpsUnits, event->GetPreambleType (), event->GetTxVector (), aMpdu, snr);
+ struct signalNoiseDbm signalNoise;
+ signalNoise.signal = RatioToDb (event->GetRxPowerW ()) + 30;
+ signalNoise.noise = RatioToDb (event->GetRxPowerW () / snrPer.snr) - GetRxNoiseFigure () + 30;
+ NotifyMonitorSniffRx (packet, (uint16_t)GetChannelFrequencyMhz (), GetChannelNumber (), dataRate500KbpsUnits, event->GetPreambleType (), event->GetTxVector (), aMpdu, signalNoise);
m_state->SwitchFromRxEndOk (packet, snrPer.snr, event->GetTxVector (), event->GetPreambleType ());
}
else