Emulation is a key enabler of the development environment in AERPAW. In the development environment, AERPAW replicates all the software used in the testbed environment, but the vehicles and the wireless channel are emulated. This way, an entire experiment can be emulated in a safe, repeatable environment before it is instantiated in the testbed. The primary goal of providing the development mode is to facilitate the development of AERPAW experiments, and, as much as possible, avoid software errors in the testbed. What is not the objective of the AERPAW emulation is obtaining realistic emulation results. The testbed is intended to obtain these realistic results.
In what follows we will briefly introduce the two emulation environments in AERPAW:
Vehicle Emulation, and
Wireless Channel Emulation
The figure on the right illustrates the vehicle control pipelines in AERPAW both in the Testbed, as well as in emulation mode. The only two differences between the two pipelines are in the last two blocks (at the bottom of the pipeline):
In the testbed the autopilot firmware runs in a Pixhawk 2.1 autopilot, while in emulation mode the same firmware runs in a software emulator, and
In emulation mode the vehicle frame is simulated in the SITL
The AERPAW vehicle emulation is largely based on the ArduPilot SITL setup. Each portable node in AERPAW has its own independent vehicle emulation process.
The figure to the right shows an overview of the wireless emulation in AERPAW. In particular, it shows that , in general, the radio nodes in the system (both fixed and portable nodes) transmit and receive wireless signals that are, in development mode, routed to a wireless channel emulator. In turn, the wireless channel emulator forwards the incoming signals to all the nodes that are "in range" of the transmitting node. The determination of whether the transmission from node i should be received at node j is made by the Channel Matrix Computation, which informs the wireless channel emulator of which signals should be forwarded, and which should not be forwarded.
The channel matrix computation considers both static information (e.g., the position of the fixed nodes), as well as dynamic information (e.g., the position of the portable nodes, obtained from the vehicle emulator).
At this time the channel model is a simple disk model with a fixed transmission range of 300m. In other words, if the receiver is within 300m of the transmitter, the receiver will receive 100% of the packets sent by the transmitter, and 0% if the receiver is further away from the transmitter. In the future we will provide more complex channel models.
At this time different sample applications are supported by different types of emulation. The IQ emulation is available for all GNU Radio sample applications, as well as for the SRS-LTE eNB and UE sample applications. For the cell_search sample application we have developed a custom emulation solution. We plan to support it in the near future through IQ emulation. For the sample application OAI packet level emulation is available; likewise, we are planning to make IQ emulation also available for the OAI sample application.
In IQ Emulation, the signals being forwarded by the Wireless Channel Emulator are IQ samples that in the testbed go to and from the USRP are now redirected through a channel emulator that forwards them selectively to other nodes according to the channel matrix.
In Packet Level (PL) emulation the radio part of the software is completely eliminated, and only the traffic generation processes are running. Since at least some Experimenters would benefit from having the radio software running in development mode, we are planning to support IQ emulation for all future radios.