1 .. Copyright (c) 2019-2022 Intel
3 .. Licensed under the Apache License, Version 2.0 (the "License");
4 .. you may not use this file except in compliance with the License.
5 .. You may obtain a copy of the License at
7 .. http://www.apache.org/licenses/LICENSE-2.0
9 .. Unless required by applicable law or agreed to in writing, software
10 .. distributed under the License is distributed on an "AS IS" BASIS,
11 .. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 .. See the License for the specific language governing permissions and
13 .. limitations under the License.
23 Figure 26 illustrates a sample xRAN application.
25 .. image:: images/Sample-Application.jpg
27 :alt: Figure 26. Sample Application
29 Figure 26. Sample Application
31 The sample application was created to execute test scenarios with
32 features of the O-RAN library and test external API as well as timing.
33 The sample application is named sample-app, and depending on
34 configuration file settings can act as O-DU or simplified simulation of
35 O-RU. The first O-DU should be run on the machine that acts as O-DU and
36 the second as O-RU. Both machines are connected via ETH. The sample
37 application on both sides executes using a constant configuration
38 according to settings in corresponding config files
39 (./app/usecase/mu0_10mhz/config_file_o_du.dat and
40 ./app/usecase/mu0_10mhz/config_file_o_ru.dat) and uses binary files
41 (ant.bin) with IQ samples as input. Multiple-use cases for different
42 numerologies and different BW are available as examples. Configuration
43 files provide descriptions of each parameter, and in general, those are
44 related to M-plane level settings as per the O-RAN Fronthaul
45 specification, refer to *Table 2*.
47 From the start of the process, the application (O-DU) sends DL packets
48 for the U-plane and C-plane and receives U-plane UL packets.
49 Synchronization of O-DU and O-RU sides is achieved via IEEE 1588.
51 U-plane packets for UL and DL direction are constructed the same way
52 except for the direction field.
54 Examples of default configurations used with the sample application for
55 v20.04 release provided below:
57 1 Cell mmWave 100MHz TDD DDDS:
58 ------------------------------
60 - Numerology 3 (mmWave)
64 - 100 MHz Bandwidth: 792 subcarriers (all 66 RB utilized at all times)
72 - Jumbo Frame for Ethernet (up to 9728 bytes)
74 - Front haul throughput ~11.5 Gbps.
76 12 Cells Sub6 10MHz FDD:
77 ------------------------
79 - Numerology 0 (Sub-6)
83 - 10 MHz Bandwidth: 624 subcarriers (all 52 RB utilized at all times)
89 - 12 Component carrier
91 - Jumbo Frame for Ethernet (up to 9728 bytes)
93 - Front haul throughput ~13.7Gbps.
95 1 Cell Sub6 100 MHz TDD
96 -----------------------
98 - Numerology 1 (Sub-6)
102 - 100 MHz Bandwidth: 3276 subcarriers (all 273 RB utilized at all times)
108 - 1 Component carrier
110 - Jumbo Frame for Ethernet (up to 9728 bytes)
112 - Front haul throughput ~11.7 Gbps.
114 1 Cell Sub6 100 MHz TDD (Category B):
115 -------------------------------------
117 - Numerology 1 (Sub-6)
121 - 100 MHz Bandwidth: 3276 subcarriers (all 273 RB utilized at all times). 8 UEs per TTI per layer
123 - 8DL /4UL MIMO Layers
125 - Digital beamforming with 32T32R
127 - 1 Component carrier
129 - Jumbo Frame for Ethernet (up to 9728 bytes)
131 - Front haul throughput ~23.5 Gbps.
133 3 Cell Sub6 100MHz TDD Massive MIMO (Category B):
134 -------------------------------------------------
136 - Numerology 1 (Sub-6)
140 - 100 Mhz Bandwidth: 3276 subcarriers (all 273 RB utilized at all times). 8 UEs per TTI per layer
142 - 16DL /8UL MIMO Layers
144 - Digital beamforming with 64T64R
146 - 1 Component carrier for each Cell
148 - Jumbo Frame for Ethernet (up to 9728 bytes)
150 - Front haul throughput ~44 Gbps.
152 Other configurations can be constructed by modifying the config files
155 One_way Delay Measurements:
156 ---------------------------
158 There are 4 usecases defined that are based on cat a, numerology 0 and
161 Common to all cases the following parameters are needed in the
162 usecase_xu.cfg files where x=r for ORU and x=d for ODU.
164 oXuOwdmNumSamps=8 # Run 8 samples per port
166 oXuOwdmFltrType=0 # Simple average
168 oXuOwdmRespTimeOut=10000000 # 10 ms expressed in ns (Currently not
171 oXuOwdmMeasState=0 # Measurement state is INIT
173 oXuOwdmMeasId=0 # Measurement Id seed
175 oXuOwdmEnabled=1 # Measurements are enabled
177 oXuOwdmPlLength= n # with 40 <= n <= 1400 bytes
181 oXuOwdmInitEn=0 #O-RU is always the recipient
185 oXuOwdmInitEn=1 #O-DU is always initiator
187 20 Corresponds to the Request/Response usecase with Payload Size 40
190 oXuOwdmMeasMeth=0 # Measurement Method REQUEST
192 21 Corresponds to the Remote Request usecase with Payload Size 512 bytes
194 oXuOwdmMeasMeth=1 # Measurement Method REM_REQ
196 22 Corresponds to the Request with Follow Up usecase with Payload Size
199 oXuOwdmMeasMeth=2 # Measurement Method REQUESTwFUP
201 23 Corresponds to the Remote Request with Follow Up usecase with default
204 oXuOwdmMeasMeth=3 # Measurement Method REM_REQ_WFUP