1 #******************************************************************************
3 # Copyright (c) 2019 Intel.
5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at
9 # http://www.apache.org/licenses/LICENSE-2.0
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
17 #******************************************************************************/
20 # This is simple configuration file. Use '#' sign for comments
21 instanceId=0 # 0,1,2,... in case more than 1 application started on the same system
22 appMode=0 # O-DU (0) | RU(1)
23 xranRanTech=1 # 5G NR (0) | LTE (1)
24 xranMode=1 # Category A (0) (precoder in O-DU) | Category B (1) (precoder in O-RU)
25 ccNum=1 # Number of Componnent Carriers (CC) per ETH port with XRAN protocol (default:1 max: 12)
26 antNum=8 # Number of Antennas per CC (default: 4) or number of Digital streams for Category B
27 antNumUL=4 # Cat B: UL Number of Antennas per CC (default: 8) or number of UL Digital streams for Category B
28 antElmTRx=32 #number of Antenna Elements for Cat B default 32T32R
31 muMimoUEs=8 #number of UEs serviced by MU-MIMO system. Number of independent beams within the same Freq/Time resources
32 DlLayersPerUe=1 #number of RX anntennas on DL UE side
33 UlLayersPerUe=1 #number of TX anntennas on UL UE side
35 mu=0 #15Khz Sub Carrier Spacing
36 ttiPeriod=1000 # in us TTI period (15Khz default 1000us)
37 nDLAbsFrePointA=2645460 #nAbsFrePointA - Abs Freq Point A of the Carrier Center Frequency for in KHz Value: 450000->52600000
38 nULAbsFrePointA=2525460 #nAbsFrePointA - Abs Freq Point A of the Carrier Center Frequency for in KHz Value: 450000->52600000
39 nDLBandwidth=20 #Carrier bandwidth for in MHz. Value: 5->400
40 nULBandwidth=20 #Carrier bandwidth for in MHz. Value: 5->400
44 nFrameDuplexType=0 # 0 - FDD 1 - TDD
45 nTddPeriod=0 #TDD priod e.g. DDDS 4
46 nTddPeriod=10 #[0-9] DDDSUUDDDD, for S it's 6:4:4
47 sSlotConfig0=0,0,0,0,0,0,0,0,0,0,0,0,0,0 # (0) - DL (1) - UL (2) - GUARD
48 sSlotConfig1=0,0,0,0,0,0,0,0,0,0,0,0,0,0 # (0) - DL (1) - UL (2) - GUARD
49 sSlotConfig2=0,0,0,0,0,0,0,0,0,0,0,0,0,0 # (0) - DL (1) - UL (2) - GUARD
50 sSlotConfig3=0,0,0,0,0,0,2,2,2,2,1,1,1,1 # (0) - DL (1) - UL (2) - GUARD
51 sSlotConfig4=1,1,1,1,1,1,1,1,1,1,1,1,1,1 # (0) - DL (1) - UL (2) - GUARD
52 sSlotConfig5=1,1,1,1,1,1,1,1,1,1,1,1,1,1 # (0) - DL (1) - UL (2) - GUARD
53 sSlotConfig6=0,0,0,0,0,0,0,0,0,0,0,0,0,0 # (0) - DL (1) - UL (2) - GUARD
54 sSlotConfig7=0,0,0,0,0,0,0,0,0,0,0,0,0,0 # (0) - DL (1) - UL (2) - GUARD
55 sSlotConfig8=0,0,0,0,0,0,0,0,0,0,0,0,0,0 # (0) - DL (1) - UL (2) - GUARD
56 sSlotConfig9=0,0,0,0,0,0,0,0,0,0,0,0,0,0 # (0) - DL (1) - UL (2) - GUARD
58 MTUSize=9600 #maximum transmission unit (MTU) is the size of the largest protocol data unit (PDU) that can be communicated in a single
59 #xRAN network layer transaction. supported 1500 bytes and 9600 bytes (Jumbo Frame)
60 Gps_Alpha=0 #alpha and beta value as in section 9.7.2 of ORAN spec
64 ioWorker=0x2000000 # mask [0- no workers]
68 duMac0=00:11:22:33:44:66 # asigned MAC of O-DU VF
69 ruMac0=00:11:22:33:44:55 # O-RU VF for O-RU app
70 duMac1=00:11:22:33:44:66 # asigned MAC of O-DU VF
71 ruMac1=00:11:22:33:44:55 # O-RU VF for O-RU app
74 duMac2=00:11:22:33:44:77 # asigned MAC of O-DU VF
75 ruMac2=00:11:22:33:44:44 # O-RU VF for O-RU app
76 duMac3=00:11:22:33:44:77 # asigned MAC of O-DU VF
77 ruMac3=00:11:22:33:44:44 # O-RU VF for O-RU app
79 numSlots=10 #number of slots per IQ files
80 antC0=./usecase/lte_b/mu0_20mhz/ant_0.bin #CC0
81 antC1=./usecase/lte_b/mu0_20mhz/ant_1.bin #CC0
82 antC2=./usecase/lte_b/mu0_20mhz/ant_2.bin #CC0
83 antC3=./usecase/lte_b/mu0_20mhz/ant_3.bin #CC0
84 antC4=./usecase/lte_b/mu0_20mhz/ant_4.bin #CC1
85 antC5=./usecase/lte_b/mu0_20mhz/ant_5.bin #CC1
86 antC6=./usecase/lte_b/mu0_20mhz/ant_6.bin #CC1
87 antC7=./usecase/lte_b/mu0_20mhz/ant_7.bin #CC1
88 antC8=./usecase/lte_b/mu0_20mhz/ant_8.bin #CC2
89 antC9=./usecase/lte_b/mu0_20mhz/ant_9.bin #CC2
90 antC10=./usecase/lte_b/mu0_20mhz/ant_10.bin #CC2
91 antC11=./usecase/lte_b/mu0_20mhz/ant_11.bin #CC2
92 antC12=./usecase/lte_b/mu0_20mhz/ant_12.bin #CC3
93 antC13=./usecase/lte_b/mu0_20mhz/ant_13.bin #CC3
94 antC14=./usecase/lte_b/mu0_20mhz/ant_14.bin #CC3
95 antC15=./usecase/lte_b/mu0_20mhz/ant_15.bin #CC3
96 #DL beamforming weights used based on channel to UE [e.g Wzf = H^H(H*H^H)-1 wher H is MxK matrix, M - number of TX elements and K- number of UEs (the same as Layers)]
97 DlBfwUe0=./usecase/lte_b/mu0_20mhz/dl_bfw_ue_0.bin #UE0 weights for TRX antennas [antElmTRx x numRBs x slot points]
98 DlBfwUe1=./usecase/lte_b/mu0_20mhz/dl_bfw_ue_1.bin #UE1 weights for TRX antennas [antElmTRx x numRBs x slot points]
99 DlBfwUe2=./usecase/lte_b/mu0_20mhz/dl_bfw_ue_2.bin #UE2 weights for TRX antennas [antElmTRx x numRBs x slot points]
100 DlBfwUe3=./usecase/lte_b/mu0_20mhz/dl_bfw_ue_3.bin #UE3 weights for TRX antennas [antElmTRx x numRBs x slot points]
101 DlBfwUe4=./usecase/lte_b/mu0_20mhz/dl_bfw_ue_4.bin #UE4 weights for TRX antennas [antElmTRx x numRBs x slot points]
102 DlBfwUe5=./usecase/lte_b/mu0_20mhz/dl_bfw_ue_5.bin #UE5 weights for TRX antennas [antElmTRx x numRBs x slot points]
103 DlBfwUe6=./usecase/lte_b/mu0_20mhz/dl_bfw_ue_6.bin #UE6 weights for TRX antennas [antElmTRx x numRBs x slot points]
104 DlBfwUe7=./usecase/lte_b/mu0_20mhz/dl_bfw_ue_7.bin #UE7 weights for TRX antennas [antElmTRx x numRBs x slot points]
105 DlBfwUe8=./usecase/lte_b/mu0_20mhz/dl_bfw_ue_0.bin #UE0 weights for TRX antennas [antElmTRx x numRBs x slot points]
106 DlBfwUe9=./usecase/lte_b/mu0_20mhz/dl_bfw_ue_1.bin #UE1 weights for TRX antennas [antElmTRx x numRBs x slot points]
107 DlBfwUe10=./usecase/lte_b/mu0_20mhz/dl_bfw_ue_2.bin #UE2 weights for TRX antennas [antElmTRx x numRBs x slot points]
108 DlBfwUe11=./usecase/lte_b/mu0_20mhz/dl_bfw_ue_3.bin #UE3 weights for TRX antennas [antElmTRx x numRBs x slot points]
109 DlBfwUe12=./usecase/lte_b/mu0_20mhz/dl_bfw_ue_4.bin #UE4 weights for TRX antennas [antElmTRx x numRBs x slot points]
110 DlBfwUe13=./usecase/lte_b/mu0_20mhz/dl_bfw_ue_5.bin #UE5 weights for TRX antennas [antElmTRx x numRBs x slot points]
111 DlBfwUe14=./usecase/lte_b/mu0_20mhz/dl_bfw_ue_6.bin #UE6 weights for TRX antennas [antElmTRx x numRBs x slot points]
112 DlBfwUe15=./usecase/lte_b/mu0_20mhz/dl_bfw_ue_7.bin #UE7 weights for TRX antennas [antElmTRx x numRBs x slot points]
114 #UL beamforming weights used based on channel to UE [e.g Wzf = H^H(H*H^H)-1 wher H is MxK matrix, M - number of RX elements and K- number of UEs (the same as Layers)]
115 UlBfwUe0=./usecase/lte_b/mu0_20mhz/ul_bfw_ue_0.bin #UE0 weights for TRX antennas [antElmTRx x numRBs x slot points]
116 UlBfwUe1=./usecase/lte_b/mu0_20mhz/ul_bfw_ue_1.bin #UE1 weights for TRX antennas [antElmTRx x numRBs x slot points]
117 UlBfwUe2=./usecase/lte_b/mu0_20mhz/ul_bfw_ue_2.bin #UE2 weights for TRX antennas [antElmTRx x numRBs x slot points]
118 UlBfwUe3=./usecase/lte_b/mu0_20mhz/ul_bfw_ue_3.bin #UE3 weights for TRX antennas [antElmTRx x numRBs x slot points]
119 UlBfwUe4=./usecase/lte_b/mu0_20mhz/ul_bfw_ue_4.bin #UE4 weights for TRX antennas [antElmTRx x numRBs x slot points]
120 UlBfwUe5=./usecase/lte_b/mu0_20mhz/ul_bfw_ue_5.bin #UE5 weights for TRX antennas [antElmTRx x numRBs x slot points]
121 UlBfwUe6=./usecase/lte_b/mu0_20mhz/ul_bfw_ue_6.bin #UE6 weights for TRX antennas [antElmTRx x numRBs x slot points]
122 UlBfwUe7=./usecase/lte_b/mu0_20mhz/ul_bfw_ue_7.bin #UE7 weights for TRX antennas [antElmTRx x numRBs x slot points]
123 UlBfwUe8=./usecase/lte_b/mu0_20mhz/ul_bfw_ue_0.bin #UE0 weights for TRX antennas [antElmTRx x numRBs x slot points]
124 UlBfwUe9=./usecase/lte_b/mu0_20mhz/ul_bfw_ue_1.bin #UE1 weights for TRX antennas [antElmTRx x numRBs x slot points]
125 UlBfwUe10=./usecase/lte_b/mu0_20mhz/ul_bfw_ue_2.bin #UE2 weights for TRX antennas [antElmTRx x numRBs x slot points]
126 UlBfwUe11=./usecase/lte_b/mu0_20mhz/ul_bfw_ue_3.bin #UE3 weights for TRX antennas [antElmTRx x numRBs x slot points]
127 UlBfwUe12=./usecase/lte_b/mu0_20mhz/ul_bfw_ue_4.bin #UE4 weights for TRX antennas [antElmTRx x numRBs x slot points]
128 UlBfwUe13=./usecase/lte_b/mu0_20mhz/ul_bfw_ue_5.bin #UE5 weights for TRX antennas [antElmTRx x numRBs x slot points]
129 UlBfwUe14=./usecase/lte_b/mu0_20mhz/ul_bfw_ue_6.bin #UE6 weights for TRX antennas [antElmTRx x numRBs x slot points]
130 UlBfwUe15=./usecase/lte_b/mu0_20mhz/ul_bfw_ue_7.bin #UE7 weights for TRX antennas [antElmTRx x numRBs x slot points]
133 ## RACH TODO: update for PRACH
134 rachEanble=0 # Enable (1)| disable (0) PRACH configuration
135 #rachOffset=43 # RB offset for prach detection (see RIU spec)
136 #rachCfgIdx=14 # PRACH config index as per TS36.211 - Table 5.7.1-2 : PRACH Configuration Index
139 srsEanble=0 # Enable (1)| disable (0) SRS
140 srsSym=8192 # (1<<13) symbol used for SRS (def: sym 13)
142 ###########################################################
144 DynamicSectionEna=1 # 1 - enable dynamic section allocation 0 - static sections all RBs are used
147 #nRBStart, nRBSize, nStartSymb, numSymb, nBeamIndex, bf_weight_update, compMethod, iqWidth, BeamFormingType
149 PrbElemDl0=0,50,0,14,1,1,1,9,1
150 PrbElemDl1=50,50,0,14,2,1,1,9,1
152 #nRBStart, nRBSize, nStartSymb, numSymb, nBeamIndex, bf_weight_update, compMethod, iqWidth, BeamFormingType
154 PrbElemUl0=0,50,0,14,1,1,1,9,1
155 PrbElemUl1=50,50,0,14,2,1,1,9,1
156 ###########################################################
158 ## control of IQ byte order
159 iqswap=0 #do swap of IQ before send buffer to eth
160 nebyteorderswap=1 #do swap of byte order for each I and Q from CPU byte order to network byte order
161 compression=1 # (1) compression enabled (0) compression disabled
162 compType=1 # (1) Static Compression with config info sent over the M-Plane (0) Dynamic compression with configuration sent over the C and U Plane
164 debugStop=1 #stop app on 1pps boundary (gps_second % 30)
165 debugStopCount=0 #if this value is >0 then stop app after x transmission packets, otherwise app will stop at 1pps boundary
166 bbdevMode=-1 #bbdev mode, -1 = not use bbdev, 0: use software mode, 1: use hardware mode
168 CPenable=1 #(1) C-Plane is enabled| (0) C-Plane is disabled
171 totalBFWeights=32 # Total number of Beamforming Weights on RU
174 DU_Port_ID_bitwidth=2
175 BandSector_ID_bitwidth=3
177 RU_Port_ID_bitwidth=8
179 # LTE-FDD-FR1-CAT-A-NoBF / LTE-FDD-FR1-CAT-A-DBF
180 # O-RAN.WG4.IOT.0-v02.00
181 # Table A.2.3.2-1: LTE FDD IOT Profile 2 - LTE-FDD-FR1-CAT-A-NoBF
184 ##Transmission Window
188 #Reception Window U-plane
202 ##Transmission Window Fast C-plane UL
206 #Reception Window C-plane UL
207 T2a_max_cp_ul=356 #in us
208 T2a_min_cp_ul=125 #in us
210 ###########################################################
213 #Transmission Window Fast C-plane DL
214 T1a_max_cp_dl=562 #in T1a_max_up + Tcp_adv_dl as per Annex B
215 T1a_min_cp_dl=491 #in T1a_min_up + Tcp_adv_dl as per Annex B
217 #O-RU Reception Window C-plane DL
218 T2a_max_cp_dl=562 #in T2a_max_up + Tcp_adv_dl as per Annex B
219 T2a_min_cp_dl=331 #in T2a_min_up + Tcp_adv_dl as per Annex B
220 ###########################################################