xCHEM: SDR-Based Multi-Link Channel Emulator for Real-Time Hardware-in-the-Loop Digital-Twin
This paper presents xCHEM, a radio-frequency channel emulator that inserts programmable channels between physical radios using a single NI USRP X4xx software-defined radio. External channel models stream impulse responses to its field-programmable gate array without firmware changes or interruption of signal processing. A streaming datapath implements six independently configurable directional channels across four radio interfaces. Each channel uses a sparse finite impulse response filter whose memory-backed delays decouple delay span from multiplier resources. The real and complex variants support 32 and 16 nonzero taps, respectively, with a maximum delay of 16666.62 ns and 4.069 ns resolution. Coefficient scaling and arithmetic right shifts control attenuation. Hardware measurements show root-mean-square errors of 9.5 ps in delay over the full span and 0.11 dB in attenuation. Multipath delays are recovered within one sample. An FPGA coefficient engine produces tested Doppler shifts from +/-1 Hz to +/-1 MHz with mean frequency errors below 0.032 Hz relative to quantized commands after carrier-offset calibration; at 200 Hz, it reduces the measured near-carrier spur by 53.3 dB compared with 1 kHz host updates.