- SDR - Software Defined Radio
- RRU - Remote Radio Unit
- BS - Basestation (Up to 64 antennas)
- UE - User equipment (Up to 16 users)
- Hardware support - Iris (skylark wireless), UHD
- Simulation mode
- agora - Basestation control / scheduling (architecture)
- user - User equipment control / scheduling program
- chsim - Channel simulator
- data generator - Generates raw data that is used by both user, sender, and agora software.
- sender - Emulates receive timing and generation for a basestation for all pilots / ul symbols. For each radio in the configuration file, sender will generate rx samples / symbols (per frame configuration) and deliver them to Agora.
- receiver - Emulates the RRU transmitter. Receives tx symbols (B / D) from agora.
- simulator - Includes both a ‘sender’ and ‘receiver’ to emulate the complete RRU operation.
- macuser -
- macbs -
¶ Compile and Build Guide
The simplest runtime example for Agora consists of running Agora in simulated RRU mode on the same machine.
NOTE: After a user is familiar with the software package. We recommend running Agora and the emulated RRU on two different machines
If you are running them on the same machine, make sure Agora and the emulated RRU are using different set of cores, otherwise there will be performance slow down.
- Simple test between agora and simulated radio rx data flow
- Simple end to end test between the base station and user code over a simulated channel
¶ Hardware Mode (Faros basestation and iris sdr support)
Agora supports a 64-antenna Faros base station as RRU and Iris UE devices. Both are commercially available from Skylark Wireless and are used in the POWER-RENEW PAWR testbed.
Both Faros and Iris have their roots in the Argos massive MIMO base station, especially ArgosV3. Agora also also supports USRP-based RRU and UEs.
We recommend using 2 servers that are directly connected to the hardware over a high speed Ethernet connection.
- Server 1 - Controlling the RRU and running Agora,
- Server 2 - Controlling the UEs and running the UE code.
Agora supports both uplink and downlink with real RRU and UEs.
For downlink, a reference node outside the array (and synchronized) is required for reciprocity calibration.
Note: Faros RRU and Iris UEs can be discovered using the pyfaros tool. You can use this tool to find the topology of the hardware connected to the server.