Example demonstrating how to use the Sionna RT channel model in ns-3. More...
#include "pybind11/pybind11.h"#include "ns3/channel-condition-model.h"#include "ns3/constant-position-mobility-model.h"#include "ns3/constant-velocity-mobility-model.h"#include "ns3/core-module.h"#include "ns3/lte-spectrum-value-helper.h"#include "ns3/mobility-model.h"#include "ns3/net-device.h"#include "ns3/node-container.h"#include "ns3/node.h"#include "ns3/output-stream-wrapper.h"#include "ns3/simple-net-device.h"#include "ns3/sionna-rt-channel-model.h"#include "ns3/sionna-rt-spectrum-propagation-loss-model.h"#include "ns3/spectrum-signal-parameters.h"#include "ns3/three-gpp-antenna-model.h"#include "ns3/uniform-planar-array.h"#include <iomanip>#include <iostream>Go to the source code of this file.
Classes | |
| struct | ComputeSnrParams |
| A structure that holds the parameters for the ComputeSnr function. More... | |
Functions | |
| static void | ComputeSnr (const ComputeSnrParams ¶ms) |
| Compute the average SNR. | |
| static void | DoBeamforming (Ptr< NetDevice > thisDevice, Ptr< PhasedArrayModel > thisAntenna, Ptr< NetDevice > otherDevice) |
| Perform the beamforming using the DFT beamforming method. | |
| static void | PrintPythonExecutable () |
| Print the python executable and version. | |
Variables | |
| static int | g_snrSamples |
| number of SNR samples computed | |
| static double | g_snrSumDb |
| running sum of SNR values in dB | |
| static Ptr< SionnaRtSpectrumPropagationLossModel > | m_spectrumLossModel |
| the SpectrumPropagationLossModel object | |
Example demonstrating how to use the Sionna RT channel model in ns-3.
This example shows how to configure and use the Sionna RT channel classes to compute the average SNR between two static/moving nodes in a scene computed using the sionna.rt Python library. The example:
The example uses default 30 GHz operation, 18 MHz equivalent LTE bandwidth (100 RBs), and ThreeGppAntennaModel elements arranged in small planar arrays.
Prerequisites:
Common command-line options (and defaults):
The example also exposes several Sionna RT path solver configuration parameters:
The main computed outputs are:
Definition in file sionna-rt-channel-example.cc.
|
static |
Compute the average SNR.
| params | A structure that holds the parameters that are needed to perform calculations in ComputeSnr |
Definition at line 172 of file sionna-rt-channel-example.cc.
References ns3::Create(), ns3::LteSpectrumValueHelper::CreateNoisePowerSpectralDensity(), ns3::LteSpectrumValueHelper::CreateTxPowerSpectralDensity(), g_snrSamples, g_snrSumDb, ns3::Time::GetSeconds(), m_spectrumLossModel, ns3::Simulator::Now(), NS_ASSERT_MSG, NS_LOG_DEBUG, and ns3::Sum().
|
static |
Perform the beamforming using the DFT beamforming method.
| thisDevice | the device performing the beamforming |
| thisAntenna | the antenna object associated to thisDevice |
| otherDevice | the device towards which point the beam |
Definition at line 115 of file sionna-rt-channel-example.cc.
References ns3::Angles::GetAzimuth(), and ns3::Angles::GetInclination().
|
static |
Print the python executable and version.
Definition at line 159 of file sionna-rt-channel-example.cc.
|
static |
number of SNR samples computed
Definition at line 89 of file sionna-rt-channel-example.cc.
Referenced by ComputeSnr().
|
static |
running sum of SNR values in dB
Definition at line 90 of file sionna-rt-channel-example.cc.
Referenced by ComputeSnr().
|
static |
the SpectrumPropagationLossModel object
Definition at line 88 of file sionna-rt-channel-example.cc.