Sample Application¶
Figure 26 illustrates a sample xRAN application.
Figure 26. Sample Application
The sample application was created to execute test scenarios with features of the O-RAN library and test external API as well as timing. The sample application is named sample-app, and depending on configuration file settings can act as O-DU or simplified simulation of O-RU. The first O-DU should be run on the machine that acts as O-DU and the second as O-RU. Both machines are connected via ETH. The sample application on both sides executes using a constant configuration according to settings in corresponding config files (./app/usecase/mu0_10mhz/config_file_o_du.dat and ./app/usecase/mu0_10mhz/config_file_o_ru.dat) and uses binary files (ant.bin) with IQ samples as input. Multiple-use cases for different numerologies and different BW are available as examples. Configuration files provide descriptions of each parameter, and in general, those are related to M-plane level settings as per the O-RAN Fronthaul specification, refer to Table 2.
From the start of the process, the application (O-DU) sends DL packets for the U-plane and C-plane and receives U-plane UL packets. Synchronization of O-DU and O-RU sides is achieved via IEEE 1588.
U-plane packets for UL and DL direction are constructed the same way except for the direction field.
Examples of default configurations used with the sample application for v20.04 release provided below:
1 Cell mmWave 100MHz TDD DDDS:¶
Numerology 3 (mmWave)
TTI period 125 µs
100 MHz Bandwidth: 792 subcarriers (all 66 RB utilized at all times)
4x4 MIMO
No beamforming
1 Component carrier
Jumbo Frame for Ethernet (up to 9728 bytes)
Front haul throughput ~11.5 Gbps.
12 Cells Sub6 10MHz FDD:¶
Numerology 0 (Sub-6)
TTI period 1000 µs
10 MHz Bandwidth: 624 subcarriers (all 52 RB utilized at all times)
4x4 MIMO
No beamforming
12 Component carrier
Jumbo Frame for Ethernet (up to 9728 bytes)
Front haul throughput ~13.7Gbps.
1 Cell Sub6 100 MHz TDD¶
Numerology 1 (Sub-6)
TTI period 500 µs
100 MHz Bandwidth: 3276 subcarriers (all 273 RB utilized at all times)
4x4 MIMO
No beamforming
1 Component carrier
Jumbo Frame for Ethernet (up to 9728 bytes)
Front haul throughput ~11.7 Gbps.
1 Cell Sub6 100 MHz TDD (Category B):¶
Numerology 1 (Sub-6)
TTI period 500 µs
100 MHz Bandwidth: 3276 subcarriers (all 273 RB utilized at all times). 8 UEs per TTI per layer
8DL /4UL MIMO Layers
Digital beamforming with 32T32R
1 Component carrier
Jumbo Frame for Ethernet (up to 9728 bytes)
Front haul throughput ~23.5 Gbps.
3 Cell Sub6 100MHz TDD Massive MIMO (Category B):¶
Numerology 1 (Sub-6)
TTI period 500 µs
100 Mhz Bandwidth: 3276 subcarriers (all 273 RB utilized at all times). 8 UEs per TTI per layer
16DL /8UL MIMO Layers
Digital beamforming with 64T64R
1 Component carrier for each Cell
Jumbo Frame for Ethernet (up to 9728 bytes)
Front haul throughput ~44 Gbps.
Other configurations can be constructed by modifying the config files (see app/usecase/)
One_way Delay Measurements:¶
There are 4 usecases defined that are based on cat a, numerology 0 and 20 MHz Bw:
Common to all cases the following parameters are needed in the usecase_xu.cfg files where x=r for ORU and x=d for ODU.
oXuOwdmNumSamps=8 # Run 8 samples per port
oXuOwdmFltrType=0 # Simple average
oXuOwdmRespTimeOut=10000000 # 10 ms expressed in ns (Currently not enforced)
oXuOwdmMeasState=0 # Measurement state is INIT
oXuOwdmMeasId=0 # Measurement Id seed
oXuOwdmEnabled=1 # Measurements are enabled
oXuOwdmPlLength= n # with 40 <= n <= 1400 bytes
For the ORU
oXuOwdmInitEn=0 #O-RU is always the recipient
For the ODU
oXuOwdmInitEn=1 #O-DU is always initiator
20 Corresponds to the Request/Response usecase with Payload Size 40 bytes
oXuOwdmMeasMeth=0 # Measurement Method REQUEST
21 Corresponds to the Remote Request usecase with Payload Size 512 bytes
oXuOwdmMeasMeth=1 # Measurement Method REM_REQ
22 Corresponds to the Request with Follow Up usecase with Payload Size 1024 bytes
oXuOwdmMeasMeth=2 # Measurement Method REQUESTwFUP
23 Corresponds to the Remote Request with Follow Up usecase with default Payload Size
oXuOwdmMeasMeth=3 # Measurement Method REM_REQ_WFUP