ConceptioArchivearXiv CS
arXiv CSopen access

ACHEM: A Real-Time Digital Twin Framework with Channel and Radio Emulation

Unknown · 2026 · arxiv_cs
arXiv CS · Papers · License: Open Access · 2026
Open Source ↗Direct PDF ↓
distributedsystemsprotocols
networking, internet, protocols, distributed systems

ACHEM: A REAL-TIME DIGITAL TWIN FRAMEWORK WITH CHANNEL AND RADIO EMULATION

1

ACHEM: A Real-Time Digital Twin Framework with Channel and Radio Emulation

arXiv:2604.04742v1 [eess.SP] 6 Apr 2026

Anıl Gürses, Student Member, IEEE, Mihail L. Sichitiu, Senior Member, IEEE

Abstract—Digital twins are becoming an important tool for designing, developing, testing, and optimizing next-generation wireless communication systems. Over the past decade, system softwarization has become a reality, and wireless communication systems are no exception. Software-Defined Radios (SDRs), in general, and Universal Software Radio Peripherals (USRPs), in particular, are often used for prototyping and testing advanced wireless systems. Unfortunately, there is currently no end-to-end, software-based, general-purpose testing environment for SDRbased systems: developers often rely on benchtop setups or even small testbeds, but those are costly and cumbersome to build. At the other end of the spectrum, simulations often rely on simplified channel/radio models and typically do not execute fullstack production code, which can increase development effort and reduce fidelity. In this paper, we propose ACHEM (A Channel Emulator), the first software-based, end-to-end wireless channel emulation environment and toolset for communication systems based on SDRs, specifically USRPs. With the proposed emulator and toolkit, any USRP-based system can be fully emulated at the I/Q level in a pure digital environment without requiring specialized hardware (e.g., vehicles, USRPs, FPGAs, or GPUs). The proposed emulator supports multiple transmitters and receivers, MIMO communications, multiple frequencies, heterogeneous sampling rates, real-time node mobility through vehicle emulation, antenna radiation patterns, and various channel models. ACHEM facilitates wireless digital twin development and deployment. ACHEM is validated with several popular open-source USRP-based wireless communication applications, including GNU Radio, srsRAN 4G/5G, and OpenAirInterface. Index Terms—Digital Twins, USRP, Software-Defined Radio (SDR), Wireless Channel Emulation, 5G, 6G

I. I NTRODUCTION Throughout the last decade, Software Defined Radios (SDRs) have received significant attention due to their ease of use for wireless communication systems, radars, spectrum sensing, and even visible light communications [2], [3]. SDRs are used for the development and testing of wireless systems, and they provide great flexibility in terms of supporting different applications. The Universal Software Radio Peripheral (USRP) is an early and widely adopted SDR hardware in this field [4]. Its open-source nature and robust support from the community have made it a widely adopted solution for many researchers, hobbyists, and professionals. With opensource tools available today [5], [6], it is possible to run end-to-end Long-Term Evolution (LTE) and Fifth-Generation Mobile Network (5G) stacks with consumer-grade computers and inexpensive SDRs, such as USRPs. This accessibility significantly lowers the barriers to entry for wireless communication innovation and experimentation. This work was funded in part by NSF award CNS-1939334. The software is available publicly [1].

USRP

Testbed

Digital Twin

Real World

Fig. 1. The digital twin system that is proposed in this work: a digital twin with virtualized components (left) replicates a real communication network (right).

While SDRs are practical and versatile tools for wireless communication system development and testing, they introduce additional complexity and overhead. This can be particularly challenging for researchers who are unfamiliar with the nuances of SDRs or lack access to the necessary resources. As a result, simulations are often the primary and essential tool to assess the potential merits of new wireless systems. Simulations offer valuable insights into the behavior of wireless systems and help researchers evaluate the performance of new systems under various scenarios. However, simulations often fall short of replicating the complexities of the system and real-world dynamics. Wireless communication performance depends on many factors, such as multipath propagation, mobility, antenna patterns, and clock synchronization. Simulations often rely on statistical channel models and on assumptions that gloss over important channel impairments. Additionally, most network simulators rely on models of the radios rather than on production code. Emulation, on the other hand, provides a more realistic environment for replicating a real system while using production code without modifications, offering a more accurate representation of system behavior under various scenarios. A digital twin, as illustrated in Fig. 1, is a digital replica of a

ACHEM: A REAL-TIME DIGITAL TWIN FRAMEWORK WITH CHANNEL AND RADIO EMULATION

communication system used to evaluate, debug, and optimize behavior under controlled, repeatable conditions. Depending on the use case, a digital twin can be purely virtual or incorporate real components in the loop [7]. By leveraging digital twins, researchers can evaluate and test wireless communication systems under controlled, repeatable conditions, improving reproducibility while reducing the cost and effort of experimentation. Although digital twins can be realized using simulations, the lack of realism in simulations often limits their effectiveness. Emulation, on the other hand, provides a higher degree of realism by using production-ready components, which is more suitable for digital twin development and evaluation. In this work, we focus on the emulation aspect of digital twins for wireless communication systems based on USRPs and SDRs. The overall system architecture of the proposed digital twin framework is illustrated in Figure 1. Wireless channels can be emulated at least at three different levels: 1) at packet level, where the unit of information exchanged is a network packet [8], 2) at I/Q level, where the unit is a baseband I/Q sample, and 3) at RF level, where the RF channel is captured in the up-converted frequency band. RF emulators are constructed using real wireless hardware connected to the emulation hardware via RF cables [9], [10], [11]. Colosseum [12] is a prominent example of RFlevel emulation; to the best of our knowledge, it is the only RF emulator that can support up to 256 nodes. Although RF emulators provide extensive realism, they come with a considerable build cost and quickly become outdated due to advancements in radio hardware and computing technologies. At this stage, software-based emulators represent a suitable middle ground for realizing digital twins. Recently, NVIDIA and a few other companies have started to provide digital twin solutions for wireless communication applications, but they are not tailored for portability to production environments as envisioned in this work [13]. In this work, we present A Channel Emulator (ACHEM), an open-source, real-time digital twin framework for USRP-based wireless systems. ACHEM emulates wireless propagation at the I/Q level, enabling realistic channel impairments, heterogeneous configurations, and node mobility in a fully softwarebased environment. The framework is highly configurable and can be adapted to a broad range of experimental scenarios. While this paper validates ACHEM on the AERPAW testbed, the framework is general-purpose and applicable to other USRP-based experimentation environments. To enable compatibility with existing application software, ACHEM includes Virtual Universal Software Radio Peripheral (V-USRP), a VUSRP that allows unmodified USRP Hardware Driver (UHD)based applications to run within the emulation environment. The V-USRP replicates the functionality of real USRP hardware, including multiple RX/TX ports, various sampling rates, timed commands, flexible frequencies, and more. In this paper, we make the following contributions: We introduce a radio emulator V-USRP that emulates the functionality of real USRPs; • We introduce Channel Emulator (CHEM), which: •

2

− coordinates wireless propagation between multiple nodes with varying frequencies and sampling rates; − emulates wireless channel impairments and antenna effects; − supports mobile nodes by integrating with existing Uncrewed Aerial Vehicle (UAV)/Uncrewed Ground Vehicle (UGV) emulators; • We validate CHEM and V-USRP using open-source LTE and 5G stacks, and compare the results from ACHEM with those from a real testbed. The rest of the paper is organized as follows: Section II provides an overview of a real-world USRP-based wireless communication scenario and its representation in ACHEM. Section III details the design of the V-USRP, CHEM, and overall framework, including the channel processing flow. Section IV validates ACHEM using LTE and 5G communication stacks and compares the results with real-world experiments. Section V highlights the key performance metrics of ACHEM. Section VI provides an overview of related work and compares ACHEM with existing solutions. Finally, Section VII concludes the paper. II. OVERALL S YSTEM D ESIGN In this section, we present a sample scenario to illustrate how a USRP-based wireless system can be implemented and deployed first with real hardware and then in our digital twin environment. A. Sample Scenario Figure 2a shows a sample end-to-end USRP-based experiment setup with two USRPs and two host PCs, where one node is mobile and the other is fixed. Each of the experiment nodes consists of a host PC and a USRP radio, and the first node is carried by a UAV while the second one is fixed on a tower. Nodes run experiment software (e.g., srsRAN [6] and GNU Radio [14]) that communicates with the USRPs through the UHD driver; the vehicle for node one is controlled by dedicated vehicle-control software. Vehicle software is responsible for communicating with vehicle control hardware and providing autonomous operation capabilities. The setup on the physical testbed requires several people, and it is not portable to other locations without significant effort and cost. This sample scenario can be seamlessly transitioned into a digital twin by using the ACHEM environment without modifying the experiment software. Portability of USRP application software is achieved by introducing V-USRP (a component of ACHEM), which allows existing USRP software to run unaltered within the ACHEM environment and enables a seamless transition between the real world and the digital twin. In ACHEM, the experiment software from all nodes can run together on the same computer, either on bare metal or with virtualization technology (e.g., Docker), for increased flexibility and isolation. Although ACHEM can run on bare metal, containers or virtual machines are simpler for logically separating processes across different experiment nodes. In Section IV, we employ Docker containers to provide this logical separation while minimizing virtualization overhead.

ACHEM: A REAL-TIME DIGITAL TWIN FRAMEWORK WITH CHANNEL AND RADIO EMULATION

Portable Node

Fixed Node

Experiment Software

Radio Software

Radio Software UHD

UHD

I/Q

I/Q

USB/Ethernet Connection Flight Controller

ACHEM Server Portable Node

Experiment Software Vehicle Software

USB/Ethernet Connection

Radio & RF Frontend

Fixed Node

Experiment Software

Radio Software

Radio Software

UHD

UHD

I/Q

I/Q

Experiment Software

Host PC

Experiment Software

Experiment Software

Host PC

Vehicle Software

3

Radio & RF Frontend

Vehicle Emulation

ion

(a) An example end-to-end system setup with a UAV carrying a portable node and a fixed node, each with a USRP device

SITL

Physical Emulation

opagat

Physical Domain

Wirele ss Pr

(b) Equivalent setup with V-USRP and CHEM, with a portable node and a fixed node.

Fig. 2. A communication system with USRPs in a real testbed and in the ACHEM framework.

Node mobility is supported by a vehicle emulator; in this study, we use ArduPilot Software-in-the-Loop (SITL). ACHEM coordinates both the V-USRPs and the SITL instances (one per vehicle) corresponding to each physical node. In addition to the logical separation, the containerized environment facilitates the transition of ACHEM-based experiments into a real testbed thanks to the portability of Docker containers. B. ACHEM Overview ACHEM is a digital twin framework that emulates wireless channels and radios with two unique components: CHEM and V-USRP. CHEM is the digital counterpart of real-world wireless propagation and the V-USRP corresponds to the USRP device. CHEM emulates the wireless channel at the I/Q level in real time, making it protocol-agnostic and allowing it to operate without application-software changes. Additionally, ACHEM provides an experiment-management tool called PyCHEM for configuring the emulation environment, including propagation models, antenna radiation patterns, and channel coefficients. The overall architecture and interconnections of the CHEM and V-USRP are shown in Figure 3. CHEM provides orchestration for the nodes, wireless channels, and node mobility. A single CHEM instance is used for an arbitrary number of V-USRPs. This configuration allows nodes within an environment to operate synchronously at the same center frequency or at different center frequencies. The ability to support multiple center frequencies enables the emulation of complex wireless communication environments, where devices may be required to transmit and receive on distinct channels, including TDD and FDD configurations. Similar to the way a USRP transfers signals between radio application software and the real world, the V-USRP couples the application software and CHEM. Each V-USRP has three components working in parallel that communicate separately

with CHEM. CHEM receives the I/Q samples through UDP sockets from each V-USRP and processes the I/Q samples based on channel information for each node pair. Channel information is acquired from multiple sources, including path distance from the Vehicle Connector, path-loss model configuration from the Channel Coordinator, and antenna patterns from the Node Coordinator. Finally, the processed I/Q samples are transferred to the receiving V-USRPs through UDP sockets. CHEM comprises five main components: Node Entity, Node Coordinator, Link/Channel Coordinator, PyCHEM Connector, and Link Pool. A Node Entity communicates with each node’s V-USRP and controls node-specific settings, such as antenna radiation pattern and path loss model. All the node configurations and related communications are handled by the Node Coordinator on the CHEM side, and the corresponding Controller on the V-USRP side. The Link/Channel Coordinator is responsible for creating and destroying virtual wireless channels/links for frequencies where at least a transmitting and a receiving V-USRPs are tuned to. The created channels are allocated in the link pool and the Link/Channel Coordinator chooses the respective channel for each stream based on the center frequency of the stream. Lastly, the PyCHEM Connector handles the communications with the PyCHEM library/user interface and forwards the requested changes to both the Node Coordinator and Link/Channel Coordinator. CHEM is designed to support mobility updates from MAVLink sources, such as the ArduPilot [15] and PX4 [16] SITL vehicle emulators. ArduPilot is a popular open-source firmware for UAVs, UGVs, and many other types of vehicles [15]. Using the SITL feature of ArduPilot, any compatible vehicle can be accurately emulated at the software level. The communication between CHEM and the vehicle emulator is handled through TCP sockets and MAVLink messages [17]. MAVLink is a popular messaging protocol for UAVs and

ACHEM: A REAL-TIME DIGITAL TWIN FRAMEWORK WITH CHANNEL AND RADIO EMULATION

PyCHEM

Freq. X

I/Q Samples

Freq. Y

I/Q Samples

PyCHEM Server

Vehicle SITL Emulator

V-USRP-N

UHD-TX

UHD-RX

UDP CHEM - RX

Controller Node Entity

CHEM - TX

Link Pool

Vehicle Connector

V-USRP-2

UDP

Control

CHEM - RX

CHEM - TX

Vehicle Connector

UDP CHEM - RX

CHEM - TX

Vehicle Connector Node Coordinator

Node Entity

UHD-TX

UHD

UHD-RX

UHD

Controller

UHD

V-USRP-1

Radio Application (srsRAN, GNURadio, etc.)

UHD-TX

Node N

Radio Application (srsRAN, GNURadio, etc.)

UHD-RX

Node 2

Radio Application (srsRAN, GNURadio, etc.)

Controller

Node 1

Node Entity

TCP

4

Link/Channel Coordinator

Vehicle SITL Emulator

Vehicle SITL Emulator

Fig. 3. Overall ACHEM architecture and V-USRP/CHEM integration. N mobile nodes transmit and receive concurrently on two frequencies in this example.

UGVs. III. S YSTEM I MPLEMENTATION The ACHEM emulation system consists of two main components: V-USRP and CHEM. In this section, we first explain the implementation of V-USRP and then CHEM. We then explain how the V-USRPs interact with CHEM. A. Virtual USRP (V-USRP) For this work, we forked the open-source UHD driver [18] and developed a new device type called V-USRP within the driver. The V-USRP emulates real USRP hardware for UHD, allowing unmodified applications that use UHD to run the same way as on USRP hardware. A typical hardware USRP communicates with the host PC through Ethernet or USB, as shown in Figure 4a. The V-USRP uses network interfaces, specifically UDP sockets, for the same purpose as shown in Figure 4b. The communication between real USRP and the host PC is replicated by the V-USRP. In a real testbed setup, a single PC can control multiple USRPs, and each USRP may have multiple RX and TX streams (phase coherent or not). Our emulation system supports the same features (i.e., multiple V-USRPs per node and, for each V-USRP, multiple MIMO RX and TX streams); however, for clarity, we present scenarios with a single V-USRP per host and one TX and one RX stream per V-USRP. The application software may create multiple TX and RX streams during initialization depending on the application requirements. A stream includes properties such as sampling rate, center frequency, data format, transmit/receive type, and special commands. A real USRP uses stream properties for

configuring the RF components and uses in-hardware buffering for continuous delivery of I/Q samples to and from the application software. In the V-USRP, this is achieved by sending the stream configuration information to CHEM, which instantiates a Node Entity for each joining V-USRP. The VUSRP instantiates a TX UDP client for transmitting and a RX UDP server for receiving I/Q samples to/from CHEM. In a real USRP, the transmitted I/Q samples from the application software to the UHD are represented in a so-called “CPU format” in the Application Programming Interface (API) call to the UHD, which converts them to an Over-the-Wire (OTW) format to send them to the USRP. At reception, the reverse conversion occurs. To preserve the emulation fidelity, the V-USRP also converts the I/Q samples between the two formats, in both directions. Signal frame: Similar to a real USRP, the V-USRP has two logical paths: the data path and the control path. On the data path, the V-USRP transfers I/Q samples, while on the control path it transfers configuration-related information such as timing, sampling rate, and center frequency. The data exchanged between the V-USRP and CHEM is encapsulated in a signal frame, shown in Figure 5, that includes the I/Q samples as well as several control fields associated with those I/Q samples. The first field carries the emulated transmit time used to place the frame on the radio timeline. For scheduled transmissions, this value is the transmit time requested through the UHD metadata; for unscheduled transmissions, the VUSRP assigns the next available transmission instant. This field is used to order I/Q samples at the receiver. The second field carries the actual transmission time, obtained from the emulation host clock, and is used for computing propagation

ACHEM: A REAL-TIME DIGITAL TWIN FRAMEWORK WITH CHANNEL AND RADIO EMULATION

5

Radio Software

Radio Software CPU I/Q and Control over UHD API

UHD

UHD Host Stack / Device Tree

X310

Device Tree

Device Tree

UHD Host Stack / Device Tree B210

X410

RX Stream Device subtree

Stream Handler

CPU/OTW Conversion

Controller

OTW/CPU Conversion

RX Firmware / FPGA Image

Mixer

Mixer

Clock/LO

DAC

CPU/OTW Conversion Signal Frame Generation TX UDP Client

Virtual Clock

UDP

Amplifier RF

Data Path

RX Metadata Timed Buffer

VUSRP Controller

Control Path

OTW/CPU Conversion RX UDP Server

Data Path

UDP

USRP

ADC

Amplifier

I/Q Sample Retriever

Hardware

Buffer

RX Stream

Scheduler

Ethernet/USB

Buffer

Device subtree

TX Metadata

VUSRP Config

TX

TX Stream

X310

Software

Stream Handler

NEW! B210

Software

TX Stream

Ethernet/USB

CPU I/Q and Control over UHD API

UHD

RF Front End and Antennas

(a) Experimental setup with a real USRP device.

(b) Experimental setup with V-USRP and CHEM.

Fig. 4. Comparison of (a) X310 USRP and (b) V-USRP.

delay. The third and fourth fields carry the number of samples and the number of channels, respectively. I/Q samples fill the remaining frame space. Samples from MIMO channels are multiplexed in the same frame to maintain temporal alignment of I/Q samples. Signal frame size is determined by the sampling rate and number of channels, and it is configured by the application software through the UHD API. Before transmission over the network interface, the generated signal frame is fragmented into multiple UDP packets based on the maximum transmission unit (MTU) of the network interface. The custom UDP fragmentation and reassembly process is implemented to avoid the overhead of IP fragmentation and complete drop of the entire frame, thus maintaining low latency in the system. num_samples (4 B) req_tx_time (8 B) 0-7

tx_timestamp (8 B) 8-15

control fields

(4 B) 16-19 20

num_ch (1 B) I/Q sample payload

size = num_ch * num_samples * bytes_per_sample (B)

21-...

data payload

MIMO: ch. multiplexed in same frame

Fig. 5. Signal frame structure for data exchange between V-USRP and CHEM.

Transmitting: The V-USRP transmitter employs a TX UDP client to send I/Q samples, encapsulated as signal frames, from the V-USRP to CHEM. A UDP client is initialized when the application software creates a TX stream. To avoid unnecessary processing overhead, CHEM activates channel processing only when at least one receiver is associated with that frequency; otherwise, samples on that channel are not processed. The UHD API provides two transmission modes: scheduled and unscheduled. In unscheduled mode, TX metadata does

not carry a requested transmit time; therefore, each frame is appended to an on-the-air First In First Out (FIFO) and assigned the next available transmission instant. Following the first unscheduled call, subsequent calls are serialized at the end of the previous transmission. In scheduled mode, TX metadata includes an explicit hardware transmit time, and frames are inserted into the FIFO accordingly. To emulate USRP timing semantics, V-USRP evaluates each transmit request against a virtual hardware clock derived from the emulation computer clock. For scheduled transmissions, the gap between the current virtual hardware time and the requested transmit time is evaluated at each transmit request. If a scheduled frame specifies a transmit time earlier than the current virtual hardware time, the request is marked late and the frame is discarded. An underflow/underrun condition is treated separately and corresponds to the transmitter not being able to sustain continuous sample delivery when samples are needed on the emulated radio timeline. Conversely, if the application produces samples excessively ahead of consumption, such that this gap exceeds the user-defined buffer threshold (in milliseconds), subsequent UHD calls are blocked to emulate hardware backpressure. Receiving: A V-USRP receiver is instantiated when a USRP application requests an RX stream through the UHD API. The receiver first requests a data-path port from CHEM, and then starts a UDP server for receiving signal frames. Receive processing is organized in two stages. In the first stage, a timed buffer aligns and superposes incoming frames. A receiving V-USRP may observe partially overlapping frames from multiple transmitting V-USRPs, including itself when transmitter(s) operate on the same frequency. As shown in Figure 6, each incoming frame is inserted according

ACHEM: A REAL-TIME DIGITAL TWIN FRAMEWORK WITH CHANNEL AND RADIO EMULATION

to its emulated transmit time: non-overlapping frames are delivered at scheduled receive times as buffer time advances, whereas overlapping frames are combined by sample-wise summation over the overlap interval. The timed buffer is implemented as a priority queue to maintain low latency and overhead during real-time operation. Receiver Timed Buffer

RX-1

Noise Signal Frames

TX 1

Signal Frame Signal Frame

GAP

N O I S E

Overlap

0

1

t+t0

TX 3

Signal Frame

Overlap

t+t1

2 t+t2

I/Q Samples

3 t+t3

N-1 GAP Noise

N t+tN Timed Buffer Increment buffer time

I/Q Samples RX Request from Radio Sofware

Packet Stream CMD

Stream Checker

signal propagation between multiple transmitters and receivers, applies impairments, and resamples signals when needed for the target receiver. CHEM coordinates the wireless channels and the V-USRPs. The detailed internal structure of CHEM is shown in Figure 7. CHEM comprises multiple components that replicate real-world hardware entities in the digital domain while preserving the integrity of system components. CHEM is written in C++ and all data path processing is implemented with Single Instruction Multiple Data (SIMD) instructions to maintain low latency across the system.

TX 2

Signal Frame Buffer Time

6

Radio Software

RX Metadata

UHD

Fig. 6. The timed buffer data structure is used to combine (superpose) signal frames from different nodes arriving at different times and then delivers them to the application software as requested.

The second stage is triggered when application software requests samples with RX metadata. Consistent with transmission, reception supports unscheduled and scheduled modes. Unscheduled reception provides continuous sample delivery, whereas scheduled reception returns samples at a specified hardware time, a requirement for scheduled communication stacks such as LTE and 5G. The receive behavior of a real USRP is replicated using a virtual hardware time, Tv−usrp , which preserves stream continuity and annotates returned samples with reception timestamps. As in real hardware buffering, samples must be consumed to avoid overflow; overflow results in lost samples and gaps in the stream. If no transmitter contributes samples within a requested time window, noiseonly samples are returned to the application. Hardware Time/Clock: Precise timing is essential for LTE, 5G, and other similar applications since each frame block has a narrow time window to be transmitted and received. Real USRPs provide the hardware time information through an internal clock, which can be synchronized with external sources such as a GPS Disciplined Oscillator (GPSDO). In V-USRP, time is calculated based on the emulation computer clock; the V-USRPs internal clock starts at the initialization of UHD. The assumption is that all V-USRPs in a scenario run on the same emulating computer (and are thus precisely synchronized). The time resolution of V-USRP is 1 ns. In the current implementation, this constrains the maximum supported sample rate to 1 GSamples/s. Time resolution limits on real USRPs are imposed by master clock rate. B. CHEM The main role of CHEM in the emulation system is to replicate wireless channels in real systems. CHEM models radio-

Node Entity: CHEM assigns a Node Entity to each registered V-USRP, including CHEM-TX, CHEM-RX, and a Vehicle Connector (if the node is mobile). The data path of the VUSRP is used to exchange I/Q samples between the Node Entity and its corresponding V-USRP. The control path is shared between V-USRP instances and it is used for coordinating VUSRP operation. CHEM-RX is the receiver component of the Node Entity, which uses a UDP server for receiving signal frames from a VUSRP. CHEM-RX is instantiated when the ports are assigned for the V-USRP and only one CHEM-RX is instantiated per V-USRP, including for V-USRPs with MIMO streams (as the I/Q samples are multiplexed by the V-USRP in a single signal frame). The received signal frames are first converted into CPU format and then placed in the attached channel’s buffer. CHEM-TX is the transmitter component that uses a UDP client for transferring signal frames from CHEM to V-USRP. The UDP client starts sending samples when the CHEM assigns a port for the V-USRP. Only one CHEM-TX is assigned for each V-USRP instance and it holds the related information. CHEM-TX has a FIFO buffer that stores frames forwarded by the attached channel. Each item in the buffer is processed according to the receiving V-USRP, including receiver antenna gain and OTW format change. In addition to CHEM-TX and CHEM-RX, the Node Entity includes the Vehicle Connector. Based on the configuration of the corresponding node, a V-USRP can be attached to a fixed or portable node. If the V-USRP is configured to be a portable node, the Vehicle Connector initiates a connection with the corresponding MAVLink source, ArduPilot SITL vehicle emulator in our case, and starts receiving vehicle updates for the node entity, including vehicle position and orientation in 3D space. Node Coordinator: The Node Coordinator handles new VUSRPs registration, updates of node information, channel requests, and detachment. The Node Coordinator uses a TCP server to receive JSON-based control requests from V-USRPs. Node Entities are created by the Node Coordinator and their management is also handled by the Node Coordinator. A V-USRP registers itself to the CHEM with node name and number and type of Radio Frequency (RF) port (RX, TX, or RX/TX). Each V-USRP receives two port numbers, which are used for transmitting and receiving data paths. Additionally, each V-USRP receives an Universally Unique Identifier (UUID) for further control path communications with the CHEM, at which point, the V-USRP becomes registered with the Node Coordinator.

ACHEM: A REAL-TIME DIGITAL TWIN FRAMEWORK WITH CHANNEL AND RADIO EMULATION

Node Coordinator

PyCHEM Server

PyCHEM Console

7

Link/Channel Coordinator Link Pool

Vehicle Emulator

Vehicle Emulator Propagation Delay

Noise

Resample

Freq Offset / Doppler

Node Entity

Control Path

I/Q Frequency 2

Data Path

I/Q Frequency 2

UHD-RX

Path Loss

Antenna

Channel Taps

CHEM-TX

Path Loss

Antenna

Noise

CHEM-RX

Channel Taps

UHD-TX

Resample

Node Config

Propagation Delay

Controller

Vehicle Connector

Frequency 1

Frequency 1

Control Path

Freq Offset / Doppler

Link 1

Node Config

Vehicle Connector

Controller

Antenna

CHEM-TX

UHD-RX

Antenna

CHEM-RX

UHD-TX Data Path

Node Entity

Link 2

Fig. 7. CHEM internal architecture and flow of the wireless channel emulation for two V-USRPs on different uplink and downlink frequencies with a single RX and TX stream each.

Link/Channel Coordinator: When the application software requests the instantiation of an RX or TX stream, the VUSRP provides the corresponding stream information (e.g., frequency, sampling rate, number of channels) to CHEM. Upon receipt of this information at CHEM, a Channel is created by the Link/Channel Coordinator for that particular center frequency if none already exists. If a Channel already exists for that particular frequency, the V-USRP stream is assigned to that existing Channel, which leads to creating links between others already attached to that Channel and the new V-USRP stream. The Channel starts processing the I/Q samples after at least one receiver and one transmitter are associated with the Channel. A V-USRP can get detached from a Channel by either changing the operating center frequency or closing the respective stream. The Channel gets destroyed if all the associated V-USRP instances are detached from that particular frequency. CHEM Channel and the Link Pool: The processing of an I/Q sample through CHEM starts at the CHEM-RX, which receives signal frames from V-USRPs. Each CHEM-RX receiver runs on a separate thread and puts the signal frames into the respective Channel pipeline as they are received from the V-USRP transmitter. The Node Coordinator also updates the Channel with vehicle information (position and orientation), as well as antenna patterns. Each Channel keeps track of the attached CHEM-RX receivers and CHEM-TX transmitters as they attach, detach, or update their stream parameters. CHEM uses this information to calculate the parameters of individual channels or links between each receiver and transmitter. In the Channel, I/Q processing starts with the retrieval of CHEM-RX receiver and CHEM-TX transmitter information including mobility if present. For each TX/RX node pair on a Channel, node location, relative distance, Angle of Arrival (AoA), Angle of Departure (AoD), and path loss are calculated. In the Channel, I/Q samples are resampled if required by the CHEM-TX stream options, and transmitter antenna gain is applied according to the AoD. Then, the frequency offset, path loss, channel taps, noise, and propagation delay are applied accordingly. Formally, the per-receiver baseband signal model

used by CHEM can be written as: Lt,r −1

yr [n] =

X t∈Tr

Grx t,r [n] · at,r [n] ·

X

ht,r,ℓ [n] · Gtx t,r [n]

ℓ=0 jωt,r n

·xt [n − dt,r [n] − ℓ] · e

(1)

+ wr [n],

where xt [n] and yr [n] are transmitted and received complex baseband samples, ht,r,ℓ [n] is tap ℓ of the time-varying CIR between transmitter t and receiver r, at,r [n] is the pathloss attenuation, dt,r [n] is the propagation delay in samples, ωt,r = 2π∆ft,r Ts is the discrete-time frequency offset, rx rx tx Gtx t,r [n] = gt (ϕt,r [n]) and Gt,r [n] = gr (θt,r [n]) are antenna gains from AoD/AoA, and wr [n] is additive noise. As reflected in (1), receiver antenna gains (from AoAs) are applied before each processed I/Q frame is enqueued in the corresponding CHEM-TX buffer. Finally, each processed signal frame is distributed to CHEM-TX transmitters and sent to V-USRP receivers (UHD-RX) in parallel. By default, CHEM provides two measured antenna patterns used in our testbed: the SA-4400-5900 C-band stub antenna (portable node) and the RW-WB1-DN sub-6 surface-mount antenna (fixed node). It also includes standard reference patterns, such as isotropic and dipole models. This information is combined with the vehicle’s position information relative to the other node, and the corresponding antenna gain values are extracted. Any new antenna patterns can be added to the system by the user. Node Mobility: One of the important features that ACHEM offers is support for node mobility. Nodes can be attached to a vehicle or placed at a fixed position through PyCHEM or the configuration file associated with a V-USRP. A vehicle can be a UAV or a UGV, emulated through a MAVLink source (ArduPilot SITL vehicle software in this work). The ArduPilot SITL emulator initiates the MAVLink connection the same way it does for real vehicles. CHEM uses the SITL’s TCP MAVLink connection to receive status messages from the emulated vehicle. Although ArduPilot is used in this work, CHEM can operate with any MAVLink-compatible vehicle emulator or tool that sends MAVLink messages. The number

ACHEM: A REAL-TIME DIGITAL TWIN FRAMEWORK WITH CHANNEL AND RADIO EMULATION

of vehicles, their node associations, and fixed-node positions are obtained from the CHEM configuration file. In addition to providing updates to CHEM, the vehicle SITL interacts with the application vehicle software (as shown in Figure 2b) for automation and control. PyCHEM: PyCHEM provides the management interface and control API for CHEM via a TCP connection. Through PyCHEM, an experimenter can configure and update channeland node-level parameters, including antenna models, frequency offsets, noise and propagation models, fixed-node locations, and portable-node vehicle types. This interface enables online reconfiguration of active experiments without restarting the emulation framework. IV. VALIDATION

8

LAM

PC RF Front-End

SDR RX Antenna

TX Antenna Portable Node

Fig. 9. LAM carrying the portable node used in the experiments.

Digital Twin

Testbed

LW-1

We validate ACHEM through end-to-end experiments at AERPAW’s Lake Wheeler testbed. Our validation focuses on system-level fidelity by comparing ACHEM behavior against that of the over-the-air testbed under matched trajectories and stack configurations (LTE, 5G, and LTE handover).

60 65

RSRP (dBm)

70 75 80 85 90

A. Experimental Setup The validation of the entire ACHEM system is performed at AERPAW’s Lake Wheeler testbed site (Figure 8) [19]. The testbed site includes a cellular base station and a large open area for flying UAVs. A portable node is mounted on a Large AERPAW Multicopter (LAM), as shown in Figure 9, and it communicates with the base station over the air. The same setup is replicated in ACHEM with the same trajectory and stack configuration to compare ACHEM against the overthe-air testbed. In both cases, the same software stack and configurations are used without any modifications. ACHEM is configured with the same antennas as in the AERPAW testbed, and a two-ray ground reflection model is used for the channel model.

Fig. 8. Experimental setup with a fixed node and a Large AERPAW Multicopter (LAM) at AERPAW’s Lake Wheeler testbed site.

95

Fig. 10. UAV zigzag trajectory and corresponding RSRP values in dBm from the LTE validation experiment.

B. Case Study: LTE To validate ACHEM with a full production cellular stack, we use srsRAN LTE [6], [20] in a mobility experiment. srsRAN is widely used in research testbeds [21], [22], [23] and provides end-to-end LTE functionality through srsUE, srsENB, and srsEPC. The portable node is an Intel NUC with a USRP B210 mounted on a hexacopter UAV, with an RF front-end (RX/TX amplifiers and a 3000-4300 MHz bandpass filter). For this experiment, the LTE downlink center frequency is 3410 MHz and the uplink center frequency is 3320 MHz. The Evolved Node B (eNB) and Evolved Packet Core (EPC) run on the fixed node, while the User Equipment (UE) runs on the portable node. The LTE bandwidth is 10 MHz (50 Physical Resource Blocks (PRBs)) and the sampling rate is 11.52 MHz, consistent with LTE specifications [24]. The flight lasts approximately 10 minutes along a rectangular trajectory at 30 m altitude and 5 m/s horizontal speed. The UAV trajectory used in this LTE case study is shown in Figure 10. TCP uplink traffic from UE (client) to eNB (server) is generated with MGEN [25], with observed Uplink (UL) throughput in the 10 Mbps range in both ACHEM and the testbed. Figure 12 shows the corresponding LTE uplink throughput comparison between the over-the-air testbed and ACHEM. The corresponding SNR, RSRP, and carrier frequency offset traces are shown in Figures 11a, 11b, and 13,

ACHEM: A REAL-TIME DIGITAL TWIN FRAMEWORK WITH CHANNEL AND RADIO EMULATION

35

60

30 25

RSRP (dBm)

SNR (dB)

9

20 15 10

DT PT

5 0

100

200

300

Time (s)

400

500

70 80 90

600

DT PT

0

(a) LTE Signal-to-Noise Ratio (SNR) comparison between the testbed and ACHEM.

100

200

300

Time (s)

400

500

600

(b) LTE RSRP comparison between the testbed and ACHEM.

Fig. 11. LTE link-quality traces collected during the same mobility flight.

8 6

SNR (dB)

Throughput (Mbps)

10

4 2

DT PT

0 0

100

200

300

Time (s)

400

500

600

70 60 50 40 30 20 10

DT PT DT HO PT HO

0

50

100

150

Time (s)

200

250

Fig. 12. LTE uplink throughput comparison between the testbed and ACHEM. Fig. 14. SNR comparison during LTE handover on the testbed and ACHEM.

CFO (Hz)

200

DT PT

0 200 400 0

100

200

300

400

Time (s)

500

600

Fig. 13. LTE carrier frequency offset comparison between the testbed and ACHEM.

respectively. The LTE traces show close agreement between ACHEM and the over-the-air testbed, with localized deviations likely caused by site-specific reflections and crop-induced scattering. The non-zero offset in both traces is expected: each stack estimates residual offset from oscillator mismatch (in the over-the-air testbed) and mobility-induced Doppler, and ACHEM emulates these effects. No overflows or underflows were observed in either run.

use Open5GS [26] for this experiment. Both eNBs connect to the same EPC with Physical Cell Identity (PCI) values 1 and 6 for Towers 1 and 2, respectively. The handover behavior is consistent between the testbed and ACHEM. Both handovers are successful and the UL ping traffic continues during the handover process. For the handover experiment, the bandwidth is set to 10 MHz, corresponding to 50 PRBs. The remaining handover configuration is aligned across both environments: A3 offset is set to 6, trigger time is 480 ms, and the corresponding root sequence indices are 204 and 264. Figure 14 shows the corresponding SNR behavior during the handover period. Both traces show similar qualitative behavior: SNR degradation before handover, short transitionregion fluctuations around the trigger point, and recovery after re-attachment to the target cell. This agreement is consistent with ACHEM capturing the link-quality variations that drive mobility decisions under the configured handover parameters. Residual SNR-level gaps are expected from unmodeled platform-specific effects, such as RF front-end characteristics and cable losses. D. Case Study: 5G

C. Case Study: LTE Handover To demonstrate mobility across multiple cells, we add a second LTE base station (Tower 2) and compare the handover process between the testbed and ACHEM. Since srsRAN’s EPC core (srsEPC) lacks S1 handover support, we

To further validate ACHEM with a more complex stack, we also test 5G communication using OpenAirInterface (OAI) [5] Next-Generation Node B (gNB) and UE stacks. The 5G experiment is performed with the same hardware as the LTE experiment but with a shorter trajectory (approximately

ACHEM: A REAL-TIME DIGITAL TWIN FRAMEWORK WITH CHANNEL AND RADIO EMULATION

10000

20 15 10

DT PT

5 0

25

50

75

100

Time (s)

125

150

175

Fig. 15. OpenAirInterface [5] 5G SNR comparison between the testbed and ACHEM.

2 minutes) due to link reliability challenges with the OAI 5G stack. Instead of FDD operation, the 5G experiment is performed in TDD mode with a center frequency of 3410 MHz and a bandwidth of 20 MHz. The sampling rate is set to 23.04 MHz as specified in 5G specifications [27]. The TCP UL traffic from UE to gNB is generated through MGEN [25]. An uplink throughput around 10 Mbps is observed in both ACHEM and the testbed. Figure 15 shows the 5G SNR comparison between the testbed and ACHEM. The 5G traces show residual gaps between ACHEM and the testbed, which are expected from unmodeled hardware platform-specific effects and the more complex 5G stack behavior. This can be further improved by tuning the channel model parameters and incorporating additional impairments, such as phase noise and non-linearities, which are not currently modeled in ACHEM. E. Limitations ACHEM targets real-time I/Q-level baseband emulation and USRP I/O compatibility rather than a full RF frontend replica. We do not explicitly model transmitter poweramplifier non-linearities/compression, receiver AGC dynamics/saturation, oscillator phase noise/long-term drift (as shown in Figure 13), or detailed analog front-end imperfections (e.g., IQ imbalance and filter responses) beyond the selected channel impairments. ACHEM currently requires all V-USRPs to run on the same emulation host to enable time synchronization between V-USRPs. V. P ERFORMANCE E VALUATION To support real-time operation, ACHEM must process I/Q samples within application timing constraints while keeping end-to-end latency low. We use the CHEM and V-USRP benchmark utilities to measure end-to-end latency, per-stage DSP latency, throughput, and drop rate using synthetic I/Q signals. The performance evaluation combines link count scalability sweeps (Figure 17) with 3GPP-realistic single-link frame configurations (Table I). A. Testing Environment ACHEM is evaluated on a server equipped with an AMD EPYC 9534 (64 cores) and 512 GB of RAM, running

Processing latency (µs)

SNR (dB)

25

10

1000

11.52 MHz 23.04 MHz 46.08 MHz

100

0

8

16

24

32

40

48

56

64

Number of sources Fig. 16. V-USRP end-to-end latency as a function of the number of concurrent sources (i.e., transmitters) for a single receiver.

Ubuntu 22.04 with a real-time Linux kernel. To facilitate experimentation and isolation, each node (application software and its corresponding V-USRP instance) is executed inside a Docker container based on the official Ubuntu 22.04 image. B. Evaluation Methodology and Results Since ACHEM consists of two main runtime components, V-USRP and CHEM, we evaluate them separately. The VUSRP benchmark characterizes the endpoint radio reception emulation overhead, specifically superposition, while the CHEM benchmark evaluates the scalability and DSP cost of the channel processing pipeline. 1) V-USRP Benchmark: The V-USRP benchmark isolates radio emulation latency independently of CHEM’s channel impairment workload. In this setup, a single V-USRP receiver is instantiated and configured to receive from N concurrent sources, where N varies from 1 to 64. Sources are implemented as data generators that inject synthetic I/Q signal frames into the receiver’s timed buffer at scheduled times, with sampling rates consistent with LTE/NR specifications. This benchmark captures the overhead of superposition at the receiver side, which is the main source of V-USRP processing overhead; which is expected to increase with the number of concurrent sources. Figure 16 shows the measured V-USRP latency as a function of the number of concurrent sources for a single receiver. As expected, latency increases with the number of active sources because the receiver side V-USRP must accept, order, and superpose more incoming signal frames before releasing them to the application software. Latency remains below 1 ms for up to 16 concurrent sources, which is sufficient for many LTE/NR scenarios, and it remains below 2 ms for up to 64 concurrent sources, which is still acceptable for many applications. 2) CHEM Benchmark: CHEM benchmark evaluates emulator scalability by measuring latency, throughput, and drop rate under increasing load. For each scenario, the benchmark instantiates N transmitters and N receivers connected through CHEM’s channel processing pipeline (up to N × N channels). Synthetic I/Q signal frames are injected into mocked

11

1000

CIR taps CIR=1 CIR=10 CIR=20

Sample rate

11.52MHz-1000us 23.04MHz-1000us 23.04MHz-500us 46.08MHz-500us

100 1 2 3 4 5 6 7 8 9 10

Number of Nodes (N)

(a) CHEM Processing latency versus link count.

Drop rate (\%)

Processing latency ( s)

ACHEM: A REAL-TIME DIGITAL TWIN FRAMEWORK WITH CHANNEL AND RADIO EMULATION

10.0 CIR taps / ref

1.0

CIR=1 CIR=10 CIR=20 10% threshold

Sample rate

0.1 0.0

11.52MHz-1000us 23.04MHz-1000us 23.04MHz-500us 46.08MHz-500us

0

15

30

45

60

75

Emulated links (L = N 2)

90

(b) CHEM Signal Frame drop rate versus link count.

Fig. 17. CHEM Signal Frame drop rate and processing latency as functions of number of nodes. TABLE I L ATENCY STATISTICS FOR 3GPP- REALISTIC SINGLE - LINK CONFIGURATIONS (L = 1). L ATENCY IS REPORTED IN µ S AS MEAN VALUES . 11.52MHz/1ms 23.04MHz/1ms 23.04MHz/0.5ms 46.08MHz/0.5ms End-to-end Queue wait Processing Delivery CIR Path loss Noise Generation & Injection Freq. offset Throughput (signal frames/s) Drop rate (%)

82.09 7.50 77.28 0.04

161.44 8.74 155.55 0.05

84.66 10.82 76.61 0.05

167.21 14.41 155.62 0.05

2.77 0.10 58.49 0.03

5.49 0.17 123.10 0.03

2.77 0.09 58.45 0.03

5.49 0.14 124.33 0.03

948 0.0

953 0.0

1896 0.0

1894 0.0

CHEM-RX queues sequentially. The injection interval controls offered load (frame arrivals), while frame duration controls per-frame sample count. Each injected frame traverses the DSP pipeline, including, as required by the scenario, channel impulse response (CIR) convolution, path-loss attenuation, additive noise generation and injection, antenna pattern effects, and frequency-offset/Doppler, before delivery to the CHEMTX. The benchmark reports end-to-end latency (with perstage breakdown) and drop rate (i.e., signals whose intended transmission time passes the maximum acceptable threshold, default: 5 ms, configurable based on application requirements). A run is considered passing when the drop rate remains below a configurable threshold (default: 10%, which is a common working threshold for LTE/5G systems from our tests). Each measurement phase is preceded by a warm-up of 1,000 signals (each is 1 ms long) to stabilize the caches and thread pools. Table I shows single-link (L = 1) results for four LTE/NR specification-based timing configurations: LTE10MHz (11.52 MHz sampling rate, 1 ms frame period), LTE20MHz (23.04 MHz sampling rate, 1 ms frame period), NR20MHz (23.04 MHz sampling rate, 0.5 ms slot duration), and NR-40MHz (46.08 MHz sampling rate, 0.5 ms slot duration). The table reports measured end-to-end latency together with mean per-stage instrumentation values for Queue wait, Processing, and Delivery, and kernel-level runtimes for the main impairment components within the Processing stage. Because the runtime is pipelined, the per-stage means should be interpreted as component-level costs and do not sum exactly to the measured end-to-end mean. Across the four single-link LTE/NR configurations, mean

end-to-end latency ranges from 82.09 µs (11.52 MHz) to 167.21 µs (46.08 MHz). Drop rate remains at 0 in all cases, while throughput ranges from 948 to 953 signal frames/s for 1 ms LTE profiles and from 1894 to 1896 signal frames/s for 0.5 ms NR profiles, consistent with the shorter NR injection interval. Delivery overhead is negligible relative to Queue wait and Processing, and Noise generation/injection is the dominant processing component, as it involves accessing and shuffling pre-generated noise samples and applying them to the signal frame. Figure 17 extends this analysis to link count scalability, showing that both processing latency and drop rate increase with link count, with steeper degradation under higher load configurations. The 10% reference in Figure 17b marks the practical pass/fail boundary. VI. R ELATED W ORK Various platforms have been developed to support wireless system development and testing, each offering different levels of interoperability, hardware emulation capability, SDR stack support, real-time operation, end-to-end testing support, and dynamic channel control. Table II provides a comparative overview of the most relevant solutions, including OAI’s rfSimulator, srsRAN ZMQ [6], Sionna [29], Aerial DT [13], NS-3 [8], RF-SITL [30], and OWDT [31], alongside the proposed ACHEM framework, while also clarifying the practical scope of each platform. In this section, we analyze how ACHEM differentiates itself from existing tools by providing software emulation, combining SDR software portability, realtime operation, and enabling full end-to-end testing. Network Simulators: Network simulators are commonly used for testing the higher layers of communication stacks. ns-3 [8] is one of the most well-known network simulators available today that provides simulation capabilities for different communication protocols and techniques (5G mmWave [33], Wi-Fi 802.11ax [34], etc.). OMNeT++ [28] is another network simulator that can model wireless channels with raytracing and integration of real-world terrain. A main drawback of these tools is that much of the software in the stack is based on models of the real networking stacks instead of production code, thus inevitably introducing inaccuracies. Furthermore, for the sake of boosting performance, the physical layer

ACHEM: A REAL-TIME DIGITAL TWIN FRAMEWORK WITH CHANNEL AND RADIO EMULATION

12

TABLE II C OMPARISON OF PLATFORMS / TOOLS AND THE ACHEM FRAMEWORK FOR WIRELESS SYSTEM DEVELOPMENT & TESTING . Interoperability

Hardware Emulation

SDR Support

RealTime

End-to-End Testing

Dynamic Channel Control

Packet-level network simulation PHY/link/system simulation NVIDIA 5G/6G digital twin RAN GNU Radio OAI NR srsRAN LTE/NR OAI + Sionna 5G mobility Any RF Stack Any RF Stack Any RF Stack

− − − − − − − ✓ ✓ ✓

− − − † † † † − − −

− − − − ✓ ✓ ✓ ✓ ✓ ✓

− ✓ † † † † ✓ † † ✓

† † ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓

✓ ✓ ✓ † † † ✓ ✓ ✓ ✓

Any UHD-based software

Platform

Scope

NS-3 [8], OMNeT++ [28] Sionna (NVIDIA) [29] Aerial DT (NVIDIA) [13] RF-SITL [30] OAI rfSimulator [5] srsRAN ZMQ [6] OWDT [31] Hardware-in-the-loop (HITL) Emulator [9] PROPSIM (Keysight) [11] Vertex (Spirent) [32] ACHEM

✓ Fully supported; − Not supported; † Partially supported or supported with limitations (e.g., non-real-time execution or support limited to a specific SDR stack).

models tend to be simplified, for example acting at the packet level rather than symbol or sample (I/Q) level of accuracy. Software-in-the-Loop Channel Emulators: RF-SITL [30] is a software-based channel emulation tool built on top of GNU Radio [14]. RF-SITL uses University at Buffalo’s Airborne Networking and Communications (UB-ANC) emulator [35] for emulating mobility. While there are similarities between ACHEM and RF-SITL (e.g., in supporting mobility), RF-SITL only supports GNU Radio-based application software, while ACHEM supports any USRP-based software (including 5G cellular networks based on UHD). Furthermore, RF-SITL uses a pre-generated GNU Radio graph connecting nodes together, thus preventing nodes from dynamically joining and leaving during an experiment. With the involvement of AI in the telecommunications industry, NVIDIA developed wireless system testing tools such as Sionna [29] and Aerial [13]. Sionna is a Python library that uses ray-tracing to simulate wireless channels within the specified 3D environment. Since Sionna is simulation-based, the pipeline is abstracted and production level code cannot be used with this tool. There is a study [31] that leverages Sionna’s ray-tracing capabilities to generate channel taps and applies them to OAI’s internal simulation tool named rfSimulator. However, rfSimulator only works with OAI software and it does not scale with multiple frequencies and other SDRbased applications. On the commercial side, NVIDIA has a digital twin environment called Aerial DT [13], which uses ray-tracing and its own proprietary 5G and 6G stack. Although this is close to what ACHEM offers, it lacks interoperability with other tools and hardware because of the proprietary stack and requires NVIDIA’s GPU hardware for operation. Hardware-in-the-loop (HITL) Channel Emulators: One of the first Hardware-in-the-Loop (HITL) channel-emulator enablers was proposed in an early work [9], which uses Field Programmable Gate Array (FPGA) to emulate wireless channels by applying a Finite Impulse Response (FIR) filter to the received signal. Work in [9] also uses a host PC (emulation controller) to control and emulate the mobility of connected nodes and change the FIR filter taps accordingly on the FPGA. A decade later, Defense Advanced Research Projects Agency

(DARPA) hosted the Spectrum Collaboration Challenge (SC2) [36], which led to the creation of the Colosseum [12] platform, the largest HITL channel emulator supporting up to 256 nodes with X310 USRPs. In a recent research effort [37] carried out by the Colosseum team, specific wireless technologies (Wi-Fi, LTE, 5G) are emulated with and without mobility on Colosseum Massive Channel Emulator (MCHEM). MCHEM emulates the channel through FIR filters, and mobility is provided through pre-calculated coefficients, which are stored in a dedicated FPGA’s memory and applied to the received signals. In the same study, the Colosseum team mentioned the limitations of the system, such as maximum propagation delay (1 km × 1 km), frequency limitations (up to 6 GHz), and only four channel taps being nonzero. There are commercial solutions available for wireless channel emulation, such as PROPSIM [11] from Keysight Technologies, Vertex from Spirent [32], and RFNest [38] from BlueHalo. The main drawbacks of HITL channel emulators are cost, limited node and channel counts, and constrained development flexibility. VII. C ONCLUSION This work presents ACHEM, an open-source real-time digital twin framework for USRP-based wireless systems [1]. By combining V-USRP (radio emulation) and CHEM (I/Q-level channel emulation), ACHEM enables unmodified UHD-based SDR applications to run in a fully software environment while preserving key timing and channel behaviors. We validated the framework end-to-end against over-the-air experiments at the AERPAW Lake Wheeler testbed [19] using LTE, LTE handover, and 5G stacks under the same trajectories and configurations. Across these case studies, ACHEM reproduced observed testbed behavior closely, including successful mobility-driven LTE handover, and benchmark results showed low processing latency with real-time operation. Overall, ACHEM provides a practical path for repeatable development, debugging, and pre-deployment testing of SDR systems without requiring physical radio hardware. To support reproducibility and further research, we have open-sourced the ACHEM framework, including the validation experiments. Additional implementa-

ACHEM: A REAL-TIME DIGITAL TWIN FRAMEWORK WITH CHANNEL AND RADIO EMULATION

tion details, documentation, and updates are available at the ACHEM project website [39].

[14] [15]

ACKNOWLEDGMENT We thank Samuel O’Brien for guidance on UHD software and National Instruments for making UHD open source. R EFERENCES [1]

[2]

[3]

[4]

[5]

[6] [7]

[8]

[9]

[10]

[11]

[12]

[13]

A. Gürses, ACHEM: Aerpaw channel emulator, version 0.1.0, 2025. [Online]. Available: https : / / github . com/anilgurses/achem M. Ettus and M. Braun, “The Universal Software Radio Peripheral (USRP) family of low-cost SDRs,” in Opportunistic Spectrum Sharing and White Space Access. John Wiley & Sons, Ltd, 2015, ch. 1, pp. 3–23. O. R. B. Sayco and A. C. Gordillo, “Design and implementation for a USRP – based visible light communications transceiver,” in 2019 UNSA International Symposium on Communications (UNSA ISCOMM), 2019, pp. 1–5. S. Cass. “Hardware for your software radio. ”[Online]. Available: https://spectrum.ieee.org/hardware-for-yoursoftware-radio N. Nikaein, M. K. Marina, S. Manickam, A. Dawson, R. Knopp, and C. Bonnet, “OpenAirInterface: A flexible platform for 5G research,” SIGCOMM Comput. Commun. Rev., vol. 44, no. 5, pp. 33–38, Oct. 2014. “srsRAN Project. ”[Online]. Available: https : / / www. srslte.com/ C. Qian, X. Liu, C. Ripley, M. Qian, F. Liang, and W. Yu, “Digital twin—cyber replica of physical things: Architecture, applications and future research directions,” Future Internet, vol. 14, no. 2, p. 64, 2022. G. F. Riley and T. R. Henderson, “The ns-3 network simulator,” in Modeling and Tools for Network Simulation. Springer Berlin Heidelberg, 2010, pp. 15–34. G. Judd and P. Steenkiste, “Repeatable and realistic wireless experimentation through physical emulation,” SIGCOMM Comput. Commun. Rev., vol. 34, no. 1, pp. 63–68, Jan. 2004. J. Matai, P. Meng, L. Wu, B. Weals, and R. Kastner, “Designing a hardware in the loop wireless digital channel emulator for software defined radio,” in 2012 International Conference on Field-Programmable Technology, 2012, pp. 206–214. “PropSim Platforms - Channel Emulators for Wireless Communication,” Keysight Technologies. [Online]. Available: https://www.keysight.com/us/en/products/ channel-emulators/propsim-platforms.html T. Melodia et al., “Colosseum, the world’s largest wireless network emulator,” in Proceedings of the 27th Annual International Conference on Mobile Computing and Networking, ser. MobiCom ’21, Association for Computing Machinery, 2021, pp. 860–861. “NVIDIA Aerial Omniverse Digital Twin,” NVIDIA Corporation. [Online]. Available: https : / / developer . nvidia.com/aerial-omniverse-digital-twin

[16]

[17] [18] [19]

[20]

[21]

[22]

[23]

[24]

[25]

[26]

[27]

13

“GNU Radio,” GNU Radio Project. [Online]. Available: https://www.gnuradio.org/ “ArduPilot - Unmanned vehicle autopilot software suite. ”[Online]. Available: https://ardupilot.org/ “PX4 Autopilot.” The open source software for drones and other unmanned vehicles. [Online]. Available: https: //px4.io “MAVLink - Micro air vehicle communication protocol. ”[Online]. Available: https://mavlink.io/en/ “USRP Hardware driver,” Ettus Research. [Online]. Available: https://github.com/EttusResearch/uhd “AERPAW: Aerial Experimentation and Research Platform for Advanced Wireless.” NSF PAWR testbed, AERPAW. [Online]. Available: https://aerpaw.org I. Gomez-Miguelez, A. Garcia-Saavedra, P. D. Sutton, P. Serrano, C. Cano, and D. J. Leith, “srsLTE: An opensource platform for LTE evolution and experimentation,” in Proceedings of the Tenth ACM International Workshop on Wireless Network Testbeds, Experimental Evaluation, and Characterization, ser. WiNTECH ’16, Association for Computing Machinery, 2016, pp. 25– 32. A. Hematian, J. Nguyen, C. Lu, W. Yu, and D. Ku, “Software defined radio testbed setup and experimentation,” in Proceedings of the International Conference on Research in Adaptive and Convergent Systems, ser. RACS ’17, Association for Computing Machinery, 2017, pp. 172–177. P. S. Upadhyaya, A. S. Abdalla, V. Marojevic, J. H. Reed, and V. K. Shah, “Prototyping next-generation O-RAN research testbeds with SDRs,” arXiv preprint arXiv:2205.13178, 2022. DOI: 10 . 48550 / arXiv. 2205 . 13178 [Online]. Available: https://arxiv.org/abs/2205. 13178 J. Breen et al., “POWDER: Platform for open wireless data-driven experimental research,” in Proceedings of the 14th International Workshop on Wireless Network Testbeds, Experimental Evaluation & Characterization, ser. WiNTECH’20, Association for Computing Machinery, 2020, pp. 17–24. ETSI, “Lte; evolved universal terrestrial radio access (eutra); user equipment (ue) radio transmission and reception,” European Telecommunications Standards Institute, Technical Specification ETSI TS 136 101 V9.4.0, 2010. “MGEN: The multi-generator toolset,” Naval Research Laboratory. [Online]. Available: https://www.nrl.navy. mil/itd/ncs/products/mgen “Open Source implementation for 5G Core and EPC, i.e. the core network of LTE/NR network (Release-17),” Open5GS. [Online]. Available: https://open5gs.org/ ETSI, “Nr; user equipment (ue) radio transmission and reception (3gpp ts 38.101 version 16.6.0 release 16),” European Telecommunications Standards Institute, Technical Specification, 2020, 3GPP TS 38.101 version 16.6.0 Release 16.

ACHEM: A REAL-TIME DIGITAL TWIN FRAMEWORK WITH CHANNEL AND RADIO EMULATION

[28]

[29] [30]

[31]

[32]

[33]

[34]

[35]

[36]

[37]

[38]

[39]

A. Varga, “OMNeT++,” in Modeling and Tools for Network Simulation. Springer Berlin Heidelberg, 2010, pp. 35–59. J. Hoydis et al., Sionna, 2022. [Online]. Available: https: //nvlabs.github.io/sionna/ N. Mastronarde et al., “RF-SITL: A software-in-theloop channel emulator for UAV swarm networks,” in 2022 IEEE 23rd International Symposium on a World of Wireless, Mobile and Multimedia Networks (WoWMoM), 2022, pp. 489–494. T. Iye et al., “Open wireless digital twin: End-to-end 5g mobility emulation with openairinterface and ray tracing,” IEEE Access, vol. 13, pp. 175 109–175 122, 2025. DOI: 10 . 1109 / access . 2025 . 3619105 [Online]. Available: http://dx.doi.org/10.1109/ACCESS.2025. 3619105 “Vertex Channel Emulation,” Spirent Communications. [Online]. Available: https://www.spirent.com/products/ vertex-channel-emulation M. Mezzavilla, S. Dutta, M. Zhang, M. R. Akdeniz, and S. Rangan, “5G mmWave module for the ns-3 network simulator,” in Proceedings of the 18th ACM International Conference on Modeling, Analysis and Simulation of Wireless and Mobile Systems, ser. MSWiM ’15, Association for Computing Machinery, 2015, pp. 283– 290. D. Magrin, S. Avallone, S. Roy, and M. Zorzi, “Validation of the ns-3 802.11ax OFDMA implementation,” in Proceedings of the 2021 Workshop on Ns-3, ser. WNS3 ’21, Association for Computing Machinery, 2021, pp. 1–8. J. Modares, N. Mastronarde, and K. Dantu, “Ub-anc emulator: An emulation framework for multi-agent drone networks,” in 2016 IEEE International Conference on Simulation, Modeling, and Programming for Autonomous Robots (SIMPAR), 2016, pp. 252–258. DARPA. “Spectrum Collaboration Challenge (SC2). ”[Online]. Available: https://www.darpa.mil/program/ spectrum-collaboration-challenge L. Bonati et al., “Colosseum: Large-scale wireless experimentation through hardware-in-the-loop network emulation,” in 2021 IEEE International Symposium on Dynamic Spectrum Access Networks (DySPAN), 2021, pp. 105–113. “RFNest - Advanced Radio Frequency (RF) Planning Software,” BlueHalo. [Online]. Available: https : / / bluehalo.com/product/rfnest/ “ACHEM project website. ”[Online]. Available: https: //www.digitaltwin.sh

14

B IOGRAPHIES

Anıl Gürses Anıl Gürses received the B.S. degree in Electrical and Electronics Engineering from İstanbul Medeniyet University. He is currently a PhD student in Electrical Engineering at NC State University. His research focuses on digital twins, wireless channel emulation, and UAV communications. He mainly works on software-defined radios and UAVs.

Mihail L. Sichitiu Mihail L. Sichitiu received the B.E. and M.S. degrees in Electrical Engineering from the Polytechnic University of Bucharest, in 1995 and 1996, respectively, and the Ph.D. degree in Electrical Engineering from the University of Notre Dame, Notre Dame, in 2001. He is currently a Professor with the Department of Electrical and Computer Engineering, NC State University. His research interests include wireless networking, wireless sensor networks, vehicular ad hoc networks, aerial wireless systems, and digital twins.

Record · ID 2509 · SHA-256 c6c6a6655e05b7c4
Conceptio Open Knowledge Archive — every document is proof-bundled with source, license, and retrieval metadata.