Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-RAN
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lizhongxiao
OpenXG-RAN
Commits
2a24f809
Commit
2a24f809
authored
Nov 22, 2023
by
111
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add cap period
parent
3fcf6433
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
698 additions
and
10 deletions
+698
-10
openair1/PHY/NR_TRANSPORT/srs_rx.c
openair1/PHY/NR_TRANSPORT/srs_rx.c
+3
-3
openair1/PHY/NR_UE_TRANSPORT/nr_ulsch_coding.c
openair1/PHY/NR_UE_TRANSPORT/nr_ulsch_coding.c
+17
-6
openair1/SCHED_NR/phy_procedures_nr_gNB.c
openair1/SCHED_NR/phy_procedures_nr_gNB.c
+27
-1
openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
+2
-0
openair2/RRC/NR/nr_rrc_config.c
openair2/RRC/NR/nr_rrc_config.c
+1
-0
targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.273PRB.1x2.36192.oxgrf.conf
...NR-5GC/CONF/gnb.sa.band78.fr1.273PRB.1x2.36192.oxgrf.conf
+324
-0
targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.273PRB.1x4.3349380.oxgrf.conf
...-5GC/CONF/gnb.sa.band78.fr1.273PRB.1x4.3349380.oxgrf.conf
+324
-0
No files found.
openair1/PHY/NR_TRANSPORT/srs_rx.c
View file @
2a24f809
...
...
@@ -265,7 +265,7 @@ int nr_cap_srs_signal(PHY_VARS_gNB *gNB,
ric_send_buf
=
ns_srs_cap
->
dmrsData
;
ric_send_len
=
273
*
12
*
ant_num
*
N_symb_SRS
*
4
;
//for test
sem_post
(
&
ric_send_sem
);
LOG_I
(
PHY
,
"sem_post(&ric_send_sem)
buf %p, size %d, port %d, ant %d
\n\n\n
"
,
ric_send_buf
,
ric_send_len
,
ns_srs_cap
->
num_ant_ports
,
ant_num
);
LOG_I
(
PHY
,
"sem_post(&ric_send_sem)
frame %d %d, buf%p, size %d, port %d, ant %d config %d
\n\n\n
"
,
ric_send_buf
,
ric_send_len
,
ns_srs_cap
->
num_ant_ports
,
ant_num
,
ns_srs_cap
->
config_index
);
g_dmrs_cnt
++
;
#else
...
...
@@ -276,7 +276,7 @@ int nr_cap_srs_signal(PHY_VARS_gNB *gNB,
}
if
(
output_fd
)
{
LOG_I
(
PHY
,
"log srs data, ant %d, symbs %d, port %d, size %d
\n
"
,
frame_parms
->
nb_antennas_rx
,
N_symb_SRS
,
N_ap
,
sizeof
(
nr_srs_cap_t
)
/
2
);
LOG_I
(
PHY
,
"log srs data, ant %d, symbs %d, port %d, size %d
, config %d
\n
"
,
frame_parms
->
nb_antennas_rx
,
N_symb_SRS
,
N_ap
,
sizeof
(
nr_srs_cap_t
)
/
2
,
ns_srs_cap
->
config_index
);
fwrite
(
&
(
ns_srs_cap
->
num_ant_ports
),
sizeof
(
int16_t
),
38
+
273
*
12
*
frame_parms
->
nb_antennas_rx
*
N_symb_SRS
*
2
,
output_fd
);
fclose
(
output_fd
);
}
...
...
@@ -284,4 +284,4 @@ int nr_cap_srs_signal(PHY_VARS_gNB *gNB,
g_dmrs_caps_idx
=
(
g_dmrs_caps_idx
+
1
)
%
2
;
}
\ No newline at end of file
}
openair1/PHY/NR_UE_TRANSPORT/nr_ulsch_coding.c
View file @
2a24f809
...
...
@@ -104,9 +104,14 @@ int nr_ulsch_encoding(PHY_VARS_NR_UE *ue,
//printf("a0 %d a1 %d a2 %d\n", a[A>>3], a[1+(A>>3)], a[2+(A>>3)]);
harq_process
->
B
=
A
+
24
;
AssertFatal
((
A
/
8
)
+
4
<=
max_payload_bytes
,
"A %d is too big (A/8+4 = %d > %d)
\n
"
,
A
,(
A
/
8
)
+
4
,
max_payload_bytes
);
if
((
A
/
8
)
+
4
<=
max_payload_bytes
)
{
LOG_I
(
PHY
,
"A %d is too big (A/8+4 = %d > %d)
\n
"
,
A
,(
A
/
8
)
+
4
,
max_payload_bytes
);
return
-
1
;
}
//AssertFatal((A/8)+4 <= max_payload_bytes,"A %d is too big (A/8+4 = %d > %d)\n",A,(A/8)+4,max_payload_bytes);
memcpy
(
harq_process
->
b
,
harq_process
->
a
,(
A
/
8
)
+
4
);
}
else
{
...
...
@@ -119,8 +124,13 @@ int nr_ulsch_encoding(PHY_VARS_NR_UE *ue,
harq_process
->
B
=
A
+
16
;
AssertFatal
((
A
/
8
)
+
3
<=
max_payload_bytes
,
"A %d is too big (A/8+3 = %d > %d)
\n
"
,
A
,(
A
/
8
)
+
3
,
max_payload_bytes
);
//AssertFatal((A/8)+3 <= max_payload_bytes,"A %d is too big (A/8+3 = %d > %d)\n",A,(A/8)+3,max_payload_bytes);
if
((
A
/
8
)
+
3
<=
max_payload_bytes
)
{
LOG_I
(
PHY
,
"A %d is too big (A/8+3 = %d > %d)
\n
"
,
A
,(
A
/
8
)
+
3
,
max_payload_bytes
);
return
-
1
;
}
memcpy
(
harq_process
->
b
,
harq_process
->
a
,(
A
/
8
)
+
3
);
// using 3 bytes to mimic the case of 24 bit crc
}
///////////
...
...
@@ -245,7 +255,8 @@ int nr_ulsch_encoding(PHY_VARS_NR_UE *ue,
//start_meas(rm_stats);
///////////////////////// d---->| Rate matching bit selection |---->e /////////////////////////
///////////
if
(
ulsch
->
pusch_pdu
.
nrOfLayers
<=
0
)
return
-
1
;
uint32_t
E
=
nr_get_E
(
G
,
harq_process
->
C
,
mod_order
,
ulsch
->
pusch_pdu
.
nrOfLayers
,
r
);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_NR_RATE_MATCHING_LDPC
,
VCD_FUNCTION_IN
);
...
...
openair1/SCHED_NR/phy_procedures_nr_gNB.c
View file @
2a24f809
...
...
@@ -881,8 +881,34 @@ int phy_procedures_gNB_uespec_RX(PHY_VARS_gNB *gNB, int frame_rx, int slot_rx) {
generate_srs_nr
(
srs_pdu
,
frame_parms
,
gNB
->
nr_srs_info
[
i
]
->
srs_generated_signal
,
0
,
gNB
->
nr_srs_info
[
i
],
AMP
,
frame_rx
,
slot_rx
);
int
srs_est
=
nr_get_srs_signal
(
gNB
,
frame_rx
,
slot_rx
,
srs_pdu
,
gNB
->
nr_srs_info
[
i
],
srs_received_signal
);
static
int
log_first
=
0
;
static
int
srs_period
=
10
;
//if ((log_first == 0) && ((1<<srs_pdu->num_ant_ports)== 2))
if
((
log_first
%
20
==
0
)
&&
((
1
<<
srs_pdu
->
num_ant_ports
)
<=
2
))
if
(
log_first
==
0
)
{
FILE
*
input_fd
=
NULL
;
int
readlen
;
input_fd
=
fopen
(
"output_period.txt"
,
"r"
);
if
(
input_fd
==
NULL
)
{
LOG_I
(
PHY
,
"Error opening0
\n
"
);
}
else
{
char
c
;
c
=
fgetc
(
input_fd
);
srs_period
=
(
c
-
'0'
)
*
2
;
if
(
srs_period
==
0
)
srs_period
=
1
;
LOG_I
(
PHY
,
"srs_period %d
\n
"
,
srs_period
);
fclose
(
input_fd
);
}
}
if
(((
log_first
%
srs_period
)
==
0
)
&&
((
1
<<
srs_pdu
->
num_ant_ports
)
<=
2
))
{
nr_cap_srs_signal
(
gNB
,
frame_rx
,
slot_rx
,
srs_pdu
,
gNB
->
nr_srs_info
[
i
]);
...
...
openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
View file @
2a24f809
...
...
@@ -775,6 +775,8 @@ bool nr_ue_dlsch_procedures(PHY_VARS_NR_UE *ue,
if
(
is_cw0_active
!=
ACTIVE
&&
is_cw1_active
!=
ACTIVE
)
return
false
;
if
(
dlsch
[
0
].
Nl
<=
0
)
return
false
;
// start ldpc decode for CW 0
dl_harq0
->
G
=
nr_get_G
(
dlsch
[
0
].
dlsch_config
.
number_rbs
,
nb_symb_sch
,
...
...
openair2/RRC/NR/nr_rrc_config.c
View file @
2a24f809
...
...
@@ -599,6 +599,7 @@ void config_srs(const NR_ServingCellConfigCommon_t *scc,
srs_res0
->
freqHopping
.
b_SRS
=
0
;
srs_res0
->
freqHopping
.
b_hop
=
0
;
srs_res0
->
freqHopping
.
c_SRS
=
rrc_get_max_nr_csrs
(
curr_bwp
,
srs_res0
->
freqHopping
.
b_SRS
);
//srs_res0->freqHopping.c_SRS = 9;
srs_res0
->
groupOrSequenceHopping
=
NR_SRS_Resource__groupOrSequenceHopping_neither
;
if
(
do_srs
)
{
srs_res0
->
resourceType
.
present
=
NR_SRS_Resource__resourceType_PR_periodic
;
...
...
targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.273PRB.1x2.36192.oxgrf.conf
0 → 100644
View file @
2a24f809
Active_gNBs
= (
"gNB-OAI"
);
# Asn1_verbosity, choice in: none, info, annoying
Asn1_verbosity
=
"none"
;
gNBs
=
(
{
//////////
Identification
parameters
:
gNB_ID
=
0
xe00
;
gNB_name
=
"gNB-OAI"
;
//
Tracking
area
code
,
0
x0000
and
0
xfffe
are
reserved
values
tracking_area_code
=
100
;
plmn_list
= ({
mcc
=
466
;
mnc
=
92
;
mnc_length
=
2
;
snssaiList
= (
{
sst
=
1
;
}
);
});
nr_cellid
=
12345678
L
;
//////////
Physical
parameters
:
sib1_tda
=
15
;
min_rxtxtime
=
6
;
pdsch_AntennaPorts_XP
=
1
;
pusch_AntennaPorts
=
2
;
#do_CSIRS = 1;
do_SRS
=
1
;
ul_prbblacklist
=
"135,136,137,138"
pdcch_ConfigSIB1
= (
{
controlResourceSetZero
=
12
;
searchSpaceZero
=
10
;
}
);
servingCellConfigCommon
= (
{
#spCellConfigCommon
physCellId
=
0
;
# downlinkConfigCommon
#frequencyInfoDL
# this is 3300.24 + 134*12*30e3 = 3348.48 MHz (5G NR GSCN: 7741)
absoluteFrequencySSB
=
644544
;
#623232; #652608;
dl_frequencyBand
=
78
;
# this is 3300.24 MHz
dl_absoluteFrequencyPointA
=
641280
;
#620016; #651280;
#scs-SpecificCarrierList
dl_offstToCarrier
=
0
;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
dl_subcarrierSpacing
=
1
;
dl_carrierBandwidth
=
273
;
#initialDownlinkBWP
#genericParameters
# this is RBstart=0,L=162 (275*(275-L+1))+(274-RBstart))
initialDLBWPlocationAndBandwidth
=
1099
;
#
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialDLBWPsubcarrierSpacing
=
1
;
#pdcch-ConfigCommon
initialDLBWPcontrolResourceSetZero
=
12
;
initialDLBWPsearchSpaceZero
=
10
;
#uplinkConfigCommon
#frequencyInfoUL
ul_frequencyBand
=
78
;
#scs-SpecificCarrierList
ul_offstToCarrier
=
0
;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
ul_subcarrierSpacing
=
1
;
ul_carrierBandwidth
=
273
;
pMax
=
20
;
#initialUplinkBWP
#genericParameters
initialULBWPlocationAndBandwidth
=
1099
;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialULBWPsubcarrierSpacing
=
1
;
#rach-ConfigCommon
#rach-ConfigGeneric
prach_ConfigurationIndex
=
98
;
#prach_msg1_FDM
#0 = one, 1=two, 2=four, 3=eight
prach_msg1_FDM
=
0
;
prach_msg1_FrequencyStart
=
0
;
zeroCorrelationZoneConfig
=
12
;
preambleReceivedTargetPower
= -
80
;
#preamblTransMax (0...10) = (3,4,5,6,7,8,10,20,50,100,200)
preambleTransMax
=
6
;
#powerRampingStep
# 0=dB0,1=dB2,2=dB4,3=dB6
powerRampingStep
=
1
;
#ra_ReponseWindow
#1,2,4,8,10,20,40,80
ra_ResponseWindow
=
4
;
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
=
3
;
#oneHalf (0..15) 4,8,12,16,...60,64
ssb_perRACH_OccasionAndCB_PreamblesPerSSB
=
15
;
#ra_ContentionResolutionTimer
#(0..7) 8,16,24,32,40,48,56,64
ra_ContentionResolutionTimer
=
7
;
rsrp_ThresholdSSB
=
19
;
#prach-RootSequenceIndex_PR
#1 = 839, 2 = 139
prach_RootSequenceIndex_PR
=
2
;
prach_RootSequenceIndex
=
1
;
# SCS for msg1, can only be 15 for 30 kHz < 6 GHz, takes precendence over the one derived from prach-ConfigIndex
#
msg1_SubcarrierSpacing
=
1
,
# restrictedSetConfig
# 0=unrestricted, 1=restricted type A, 2=restricted type B
restrictedSetConfig
=
0
,
msg3_DeltaPreamble
=
1
;
p0_NominalWithGrant
=-
80
;
# pucch-ConfigCommon setup :
# pucchGroupHopping
# 0 = neither, 1= group hopping, 2=sequence hopping
pucchGroupHopping
=
0
;
hoppingId
=
40
;
p0_nominal
= -
80
;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR
=
2
;
ssb_PositionsInBurst_Bitmap
=
1
;
# ssb_periodicityServingCell
# 0 = ms5, 1=ms10, 2=ms20, 3=ms40, 4=ms80, 5=ms160, 6=spare2, 7=spare1
ssb_periodicityServingCell
=
2
;
# dmrs_TypeA_position
# 0 = pos2, 1 = pos3
dmrs_TypeA_Position
=
0
;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
subcarrierSpacing
=
1
;
#tdd-UL-DL-ConfigurationCommon
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
referenceSubcarrierSpacing
=
1
;
# pattern1
# dl_UL_TransmissionPeriodicity
# 0=ms0p5, 1=ms0p625, 2=ms1, 3=ms1p25, 4=ms2, 5=ms2p5, 6=ms5, 7=ms10
dl_UL_TransmissionPeriodicity
=
6
;
nrofDownlinkSlots
=
7
;
nrofDownlinkSymbols
=
6
;
nrofUplinkSlots
=
2
;
nrofUplinkSymbols
=
4
;
ssPBCH_BlockPower
= -
25
;
}
);
# Dedicated Serving Cell Configuration
servingCellConfigDedicated
= ({
# BWP-Downlink
# BWP 1 Configuration
dl_bwp
-
Id_1
=
1
;
dl_bwp1_locationAndBandwidth
=
1099
; //
RBstart
=
0
,
L
=
273
(
100
MHz
BW
)
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
dl_bwp1_subcarrierSpacing
=
1
;
firstActiveDownlinkBWP
-
Id
=
1
;
#BWP-Id
defaultDownlinkBWP
-
Id
=
1
;
#BWP-Id
# bwp-InactivityTimer ENUMERATED {ms2, ms3, ms4, ms5, ms6, ms8, ms10, ms20, ms30,
# ms40,ms50, ms60, ms80,ms100, ms200,ms300, ms500,
# ms750, ms1280, ms1920, ms2560, spare10, spare9, spare8,
# spare7, spare6, spare5, spare4, spare3, spare2, spare1 }
# UplinkConfig
# BWP-Uplink
# BWP 1 Configuration
ul_bwp
-
Id_1
=
1
;
ul_bwp1_locationAndBandwidth
=
1099
; //
RBstart
=
0
,
L
=
273
(
100
MHz
BW
)
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
ul_bwp1_subcarrierSpacing
=
1
;
firstActiveUplinkBWP
-
Id
=
1
;
#BWP-Id
}
);
# ------- SCTP definitions
SCTP
:
{
# Number of streams to use in input/output
SCTP_INSTREAMS
=
2
;
SCTP_OUTSTREAMS
=
2
;
};
//////////
AMF
parameters
:
amf_ip_address
= ( {
ipv4
=
"172.11.200.14"
;
ipv6
=
"192:168:30::17"
;
active
=
"yes"
;
preference
=
"ipv4"
;
}
);
NETWORK_INTERFACES
:
{
GNB_INTERFACE_NAME_FOR_NG_AMF
=
"docker-openxg"
;
GNB_IPV4_ADDRESS_FOR_NG_AMF
=
"172.11.200.1"
;
GNB_INTERFACE_NAME_FOR_NGU
=
"docker-openxg"
;
GNB_IPV4_ADDRESS_FOR_NGU
=
"172.11.200.1"
;
GNB_PORT_FOR_S1U
=
2152
;
# Spec 2152
};
}
);
MACRLCs
= (
{
num_cc
=
1
;
tr_s_preference
=
"local_L1"
;
tr_n_preference
=
"local_RRC"
;
pusch_TargetSNRx10
=
300
;
pucch_TargetSNRx10
=
250
;
pusch_FailureThres
=
1000
;
ulsch_max_frame_inactivity
=
0
;
}
);
L1s
= (
{
num_cc
=
1
;
tr_n_preference
=
"local_mac"
;
prach_dtx_threshold
=
120
;
pucch0_dtx_threshold
=
80
;
}
);
RUs
= (
{
local_rf
=
"yes"
nb_tx
=
1
;
nb_rx
=
2
;
att_tx
=
89
;
att_rx
=
0
;
bands
= [
78
];
num_tp_cores
=
8
;
max_pdschReferenceSignalPower
= -
27
;
max_rxgain
=
55
;
eNB_instances
= [
0
];
##beamforming 1x2 matrix: 1 layer x 2 antennas
#bf_weights = [0x00007fff, 0x0000];
bf_weights
= [
0
x00007fff
,
0
x0000
,
0
x0000
,
0
x0000
];
sdr_addrs
=
"dev=pciex:0,auxdac1=1660"
;
clock_src
=
"internal"
;
}
);
THREAD_STRUCT
= (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config
=
"PARALLEL_RU_L1_TRX_SPLIT"
;
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config
=
"WORKER_ENABLE"
;
}
);
rfsimulator
:
{
serveraddr
=
"server"
;
serverport
=
"4043"
;
options
= ();
#("saviq"); or/and "chanmod"
modelname
=
"AWGN"
;
IQfile
=
"/tmp/rfsimulator.iqs"
;
};
security
= {
# preferred ciphering algorithms
# the first one of the list that an UE supports in chosen
# valid values: nea0, nea1, nea2, nea3
ciphering_algorithms
= (
"nea0"
);
# preferred integrity algorithms
# the first one of the list that an UE supports in chosen
# valid values: nia0, nia1, nia2, nia3
integrity_algorithms
= (
"nia2"
,
"nia0"
);
# setting 'drb_ciphering' to "no" disables ciphering for DRBs, no matter
# what 'ciphering_algorithms' configures; same thing for 'drb_integrity'
drb_ciphering
=
"yes"
;
drb_integrity
=
"no"
;
};
log_config
:
{
global_log_level
=
"info"
;
hw_log_level
=
"info"
;
phy_log_level
=
"info"
;
mac_log_level
=
"info"
;
rlc_log_level
=
"info"
;
pdcp_log_level
=
"info"
;
rrc_log_level
=
"info"
;
ngap_log_level
=
"debug"
;
f1ap_log_level
=
"debug"
;
};
targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.273PRB.1x4.3349380.oxgrf.conf
0 → 100644
View file @
2a24f809
Active_gNBs
= (
"gNB-OAI"
);
# Asn1_verbosity, choice in: none, info, annoying
Asn1_verbosity
=
"none"
;
gNBs
=
(
{
//////////
Identification
parameters
:
gNB_ID
=
0
xe00
;
gNB_name
=
"gNB-OAI"
;
//
Tracking
area
code
,
0
x0000
and
0
xfffe
are
reserved
values
tracking_area_code
=
100
;
plmn_list
= ({
mcc
=
466
;
mnc
=
92
;
mnc_length
=
2
;
snssaiList
= (
{
sst
=
1
;
}
);
});
nr_cellid
=
12345678
L
;
//////////
Physical
parameters
:
sib1_tda
=
15
;
min_rxtxtime
=
6
;
pdsch_AntennaPorts_XP
=
1
;
pusch_AntennaPorts
=
2
;
#do_CSIRS = 1;
do_SRS
=
1
;
ul_prbblacklist
=
"135,136,137,138"
pdcch_ConfigSIB1
= (
{
controlResourceSetZero
=
12
;
searchSpaceZero
=
10
;
}
);
servingCellConfigCommon
= (
{
#spCellConfigCommon
physCellId
=
0
;
# downlinkConfigCommon
#frequencyInfoDL
# this is 3300.24 + 134*12*30e3 = 3348.48 MHz (5G NR GSCN: 7741)
absoluteFrequencySSB
=
623232
;
#623232; #652608;
dl_frequencyBand
=
78
;
# this is 3300.24 MHz
dl_absoluteFrequencyPointA
=
620016
;
#620016; #651280;
#scs-SpecificCarrierList
dl_offstToCarrier
=
0
;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
dl_subcarrierSpacing
=
1
;
dl_carrierBandwidth
=
273
;
#initialDownlinkBWP
#genericParameters
# this is RBstart=0,L=162 (275*(275-L+1))+(274-RBstart))
initialDLBWPlocationAndBandwidth
=
1099
;
#
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialDLBWPsubcarrierSpacing
=
1
;
#pdcch-ConfigCommon
initialDLBWPcontrolResourceSetZero
=
12
;
initialDLBWPsearchSpaceZero
=
10
;
#uplinkConfigCommon
#frequencyInfoUL
ul_frequencyBand
=
78
;
#scs-SpecificCarrierList
ul_offstToCarrier
=
0
;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
ul_subcarrierSpacing
=
1
;
ul_carrierBandwidth
=
273
;
pMax
=
20
;
#initialUplinkBWP
#genericParameters
initialULBWPlocationAndBandwidth
=
1099
;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialULBWPsubcarrierSpacing
=
1
;
#rach-ConfigCommon
#rach-ConfigGeneric
prach_ConfigurationIndex
=
98
;
#prach_msg1_FDM
#0 = one, 1=two, 2=four, 3=eight
prach_msg1_FDM
=
0
;
prach_msg1_FrequencyStart
=
0
;
zeroCorrelationZoneConfig
=
12
;
preambleReceivedTargetPower
= -
80
;
#preamblTransMax (0...10) = (3,4,5,6,7,8,10,20,50,100,200)
preambleTransMax
=
6
;
#powerRampingStep
# 0=dB0,1=dB2,2=dB4,3=dB6
powerRampingStep
=
1
;
#ra_ReponseWindow
#1,2,4,8,10,20,40,80
ra_ResponseWindow
=
4
;
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
=
3
;
#oneHalf (0..15) 4,8,12,16,...60,64
ssb_perRACH_OccasionAndCB_PreamblesPerSSB
=
15
;
#ra_ContentionResolutionTimer
#(0..7) 8,16,24,32,40,48,56,64
ra_ContentionResolutionTimer
=
7
;
rsrp_ThresholdSSB
=
19
;
#prach-RootSequenceIndex_PR
#1 = 839, 2 = 139
prach_RootSequenceIndex_PR
=
2
;
prach_RootSequenceIndex
=
1
;
# SCS for msg1, can only be 15 for 30 kHz < 6 GHz, takes precendence over the one derived from prach-ConfigIndex
#
msg1_SubcarrierSpacing
=
1
,
# restrictedSetConfig
# 0=unrestricted, 1=restricted type A, 2=restricted type B
restrictedSetConfig
=
0
,
msg3_DeltaPreamble
=
1
;
p0_NominalWithGrant
=-
80
;
# pucch-ConfigCommon setup :
# pucchGroupHopping
# 0 = neither, 1= group hopping, 2=sequence hopping
pucchGroupHopping
=
0
;
hoppingId
=
40
;
p0_nominal
= -
80
;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR
=
2
;
ssb_PositionsInBurst_Bitmap
=
1
;
# ssb_periodicityServingCell
# 0 = ms5, 1=ms10, 2=ms20, 3=ms40, 4=ms80, 5=ms160, 6=spare2, 7=spare1
ssb_periodicityServingCell
=
2
;
# dmrs_TypeA_position
# 0 = pos2, 1 = pos3
dmrs_TypeA_Position
=
0
;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
subcarrierSpacing
=
1
;
#tdd-UL-DL-ConfigurationCommon
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
referenceSubcarrierSpacing
=
1
;
# pattern1
# dl_UL_TransmissionPeriodicity
# 0=ms0p5, 1=ms0p625, 2=ms1, 3=ms1p25, 4=ms2, 5=ms2p5, 6=ms5, 7=ms10
dl_UL_TransmissionPeriodicity
=
6
;
nrofDownlinkSlots
=
7
;
nrofDownlinkSymbols
=
6
;
nrofUplinkSlots
=
2
;
nrofUplinkSymbols
=
4
;
ssPBCH_BlockPower
= -
25
;
}
);
# Dedicated Serving Cell Configuration
servingCellConfigDedicated
= ({
# BWP-Downlink
# BWP 1 Configuration
dl_bwp
-
Id_1
=
1
;
dl_bwp1_locationAndBandwidth
=
1099
; //
RBstart
=
0
,
L
=
273
(
100
MHz
BW
)
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
dl_bwp1_subcarrierSpacing
=
1
;
firstActiveDownlinkBWP
-
Id
=
1
;
#BWP-Id
defaultDownlinkBWP
-
Id
=
1
;
#BWP-Id
# bwp-InactivityTimer ENUMERATED {ms2, ms3, ms4, ms5, ms6, ms8, ms10, ms20, ms30,
# ms40,ms50, ms60, ms80,ms100, ms200,ms300, ms500,
# ms750, ms1280, ms1920, ms2560, spare10, spare9, spare8,
# spare7, spare6, spare5, spare4, spare3, spare2, spare1 }
# UplinkConfig
# BWP-Uplink
# BWP 1 Configuration
ul_bwp
-
Id_1
=
1
;
ul_bwp1_locationAndBandwidth
=
1099
; //
RBstart
=
0
,
L
=
273
(
100
MHz
BW
)
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
ul_bwp1_subcarrierSpacing
=
1
;
firstActiveUplinkBWP
-
Id
=
1
;
#BWP-Id
}
);
# ------- SCTP definitions
SCTP
:
{
# Number of streams to use in input/output
SCTP_INSTREAMS
=
2
;
SCTP_OUTSTREAMS
=
2
;
};
//////////
AMF
parameters
:
amf_ip_address
= ( {
ipv4
=
"172.11.200.14"
;
ipv6
=
"192:168:30::17"
;
active
=
"yes"
;
preference
=
"ipv4"
;
}
);
NETWORK_INTERFACES
:
{
GNB_INTERFACE_NAME_FOR_NG_AMF
=
"docker-openxg"
;
GNB_IPV4_ADDRESS_FOR_NG_AMF
=
"172.11.200.1"
;
GNB_INTERFACE_NAME_FOR_NGU
=
"docker-openxg"
;
GNB_IPV4_ADDRESS_FOR_NGU
=
"172.11.200.1"
;
GNB_PORT_FOR_S1U
=
2152
;
# Spec 2152
};
}
);
MACRLCs
= (
{
num_cc
=
1
;
tr_s_preference
=
"local_L1"
;
tr_n_preference
=
"local_RRC"
;
pusch_TargetSNRx10
=
300
;
pucch_TargetSNRx10
=
250
;
pusch_FailureThres
=
1000
;
ulsch_max_frame_inactivity
=
0
;
}
);
L1s
= (
{
num_cc
=
1
;
tr_n_preference
=
"local_mac"
;
prach_dtx_threshold
=
120
;
pucch0_dtx_threshold
=
80
;
}
);
RUs
= (
{
local_rf
=
"yes"
nb_tx
=
1
;
nb_rx
=
4
;
att_tx
=
89
;
att_rx
=
0
;
bands
= [
78
];
num_tp_cores
=
8
;
max_pdschReferenceSignalPower
= -
27
;
max_rxgain
=
55
;
eNB_instances
= [
0
];
##beamforming 1x2 matrix: 1 layer x 2 antennas
#bf_weights = [0x00007fff, 0x0000];
bf_weights
= [
0
x00007fff
,
0
x0000
,
0
x0000
,
0
x0000
];
sdr_addrs
=
"dev=pciex:0,auxdac1=1660"
;
clock_src
=
"internal"
;
}
);
THREAD_STRUCT
= (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config
=
"PARALLEL_RU_L1_TRX_SPLIT"
;
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config
=
"WORKER_ENABLE"
;
}
);
rfsimulator
:
{
serveraddr
=
"server"
;
serverport
=
"4043"
;
options
= ();
#("saviq"); or/and "chanmod"
modelname
=
"AWGN"
;
IQfile
=
"/tmp/rfsimulator.iqs"
;
};
security
= {
# preferred ciphering algorithms
# the first one of the list that an UE supports in chosen
# valid values: nea0, nea1, nea2, nea3
ciphering_algorithms
= (
"nea0"
);
# preferred integrity algorithms
# the first one of the list that an UE supports in chosen
# valid values: nia0, nia1, nia2, nia3
integrity_algorithms
= (
"nia2"
,
"nia0"
);
# setting 'drb_ciphering' to "no" disables ciphering for DRBs, no matter
# what 'ciphering_algorithms' configures; same thing for 'drb_integrity'
drb_ciphering
=
"yes"
;
drb_integrity
=
"no"
;
};
log_config
:
{
global_log_level
=
"info"
;
hw_log_level
=
"info"
;
phy_log_level
=
"info"
;
mac_log_level
=
"info"
;
rlc_log_level
=
"info"
;
pdcp_log_level
=
"info"
;
rrc_log_level
=
"info"
;
ngap_log_level
=
"debug"
;
f1ap_log_level
=
"debug"
;
};
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment