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
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
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
OpenXG
OpenXG-RAN
Commits
044d2519
Commit
044d2519
authored
Mar 27, 2023
by
rakesh mundlamuri
Committed by
Makarand kulkarni
Jun 12, 2023
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
enabling 100MHz on usrp x310
parent
8ae342a1
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
295 additions
and
1 deletion
+295
-1
openair1/PHY/NR_TRANSPORT/nr_prach.c
openair1/PHY/NR_TRANSPORT/nr_prach.c
+6
-0
openair1/PHY/NR_UE_ESTIMATION/nr_dl_channel_estimation.c
openair1/PHY/NR_UE_ESTIMATION/nr_dl_channel_estimation.c
+10
-1
openair1/PHY/NR_UE_TRANSPORT/nr_prach.c
openair1/PHY/NR_UE_TRANSPORT/nr_prach.c
+6
-0
radio/USRP/USERSPACE/LIB/usrp_lib.cpp
radio/USRP/USERSPACE/LIB/usrp_lib.cpp
+2
-0
targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band77.fr1.273PRB.usrpx300.conf
...ENERIC-NR-5GC/CONF/gnb.sa.band77.fr1.273PRB.usrpx300.conf
+271
-0
No files found.
openair1/PHY/NR_TRANSPORT/nr_prach.c
View file @
044d2519
...
...
@@ -344,6 +344,12 @@ void rx_nr_prach_ru(RU_t *ru,
dftlen
<<=
2
;
break
;
case
184320
:
// 100 MHz @ 184.32 Ms/s
Ncp
=
Ncp
*
6
;
dftlen
=
dftlen
*
6
;
break
;
default:
AssertFatal
(
1
==
0
,
"sample rate %f MHz not supported for numerology %d
\n
"
,
fp
->
samples_per_subframe
/
1000
.
0
,
mu
);
}
...
...
openair1/PHY/NR_UE_ESTIMATION/nr_dl_channel_estimation.c
View file @
044d2519
...
...
@@ -483,6 +483,11 @@ int nr_prs_channel_estimation(uint8_t rsc_id,
case
4096
:
idftsizeidx
=
IDFT_4096
;
break
;
case
6144
:
idftsizeidx
=
IDFT_6144
;
break
;
// 16x IDFT oversampling
case
8192
:
idftsizeidx
=
IDFT_8192
;
...
...
@@ -834,6 +839,10 @@ int nr_pbch_channel_estimation(PHY_VARS_NR_UE *ue,
idftsizeidx
=
IDFT_4096
;
break
;
case
6144
:
idftsizeidx
=
IDFT_6144
;
break
;
default:
printf
(
"unsupported ofdm symbol size
\n
"
);
assert
(
0
);
...
...
openair1/PHY/NR_UE_TRANSPORT/nr_prach.c
View file @
044d2519
...
...
@@ -362,6 +362,12 @@ int32_t generate_nr_prach(PHY_VARS_NR_UE *ue, uint8_t gNB_id, int frame, uint8_t
dftlen
<<=
2
;
break
;
case
184320
:
// 100 MHz @ 184.32 Ms/s
Ncp
=
Ncp
*
6
;
dftlen
=
dftlen
*
6
;
break
;
default:
AssertFatal
(
1
==
0
,
"sample rate %f MHz not supported for numerology %d
\n
"
,
fp
->
samples_per_subframe
/
1000
.
0
,
mu
);
}
...
...
radio/USRP/USERSPACE/LIB/usrp_lib.cpp
View file @
044d2519
...
...
@@ -1228,6 +1228,8 @@ extern "C" {
// from usrp_time_offset
//openair0_cfg[0].samples_per_packet = 2048;
openair0_cfg
[
0
].
tx_sample_advance
=
15
;
//to be checked
openair0_cfg
[
0
].
tx_bw
=
100e6
;
openair0_cfg
[
0
].
rx_bw
=
100e6
;
break
;
case
122880000
:
...
...
targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band77.fr1.273PRB.usrpx300.conf
0 → 100644
View file @
044d2519
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
=
1
;
plmn_list
= ({
mcc
=
505
;
mnc
=
01
;
mnc_length
=
2
;
snssaiList
= ({
sst
=
1
; }); });
nr_cellid
=
12345678
L
;
//////////
Physical
parameters
:
pdsch_AntennaPorts_XP
=
1
;
pusch_AntennaPorts
=
1
;
do_CSIRS
=
1
;
do_SRS
=
1
;
ul_prbblacklist
=
"135,136,137,138"
servingCellConfigCommon
= (
{
# spCellConfigCommon
physCellId
=
0
;
# downlinkConfigCommon
# frequencyInfoDL
# this is 3900.60 MHz + (134 PRBs + 4 SCs)@30kHz SCS (GSCN: 8158)
absoluteFrequencySSB
=
663264
;
dl_frequencyBand
=
77
;
# this is 3900.60 MHz
dl_absoluteFrequencyPointA
=
660040
;
# scs-SpecificCarrierList
dl_offstToCarrier
=
0
;
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
dl_subcarrierSpacing
=
1
;
dl_carrierBandwidth
=
273
;
# initialDownlinkBWP
# genericParameters
initialDLBWPlocationAndBandwidth
=
1099
;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialDLBWPsubcarrierSpacing
=
1
;
# pdcch-ConfigCommon
initialDLBWPcontrolResourceSetZero
=
12
;
initialDLBWPsearchSpaceZero
=
0
;
# uplinkConfigCommon
# frequencyInfoUL
ul_frequencyBand
=
77
;
# 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
= -
90
;
# 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
=-
90
;
# pucch-ConfigCommon
# pucchGroupHopping
# 0 = neither, 1= group hopping, 2=sequence hopping
pucchGroupHopping
=
0
;
hoppingId
=
40
;
p0_nominal
= -
70
;
# dmrs_TypeA_position
# 0 = pos2, 1 = pos3
dmrs_TypeA_Position
=
0
;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
subcarrierSpacing
=
1
;
# 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
;
#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
;
}
);
# ------- SCTP definitions
SCTP
:
{
# Number of streams to use in input/output
SCTP_INSTREAMS
=
2
;
SCTP_OUTSTREAMS
=
2
;
};
//////////
AMF
parameters
:
amf_ip_address
= (
{
ipv4
=
"192.168.80.132"
;
ipv6
=
"192:168:30::17"
;
active
=
"yes"
;
preference
=
"ipv4"
;
}
);
NETWORK_INTERFACES
:
{
GNB_INTERFACE_NAME_FOR_NG_AMF
=
"demo-oai"
;
GNB_IPV4_ADDRESS_FOR_NG_AMF
=
"192.168.80.129/24"
;
GNB_INTERFACE_NAME_FOR_NGU
=
"demo-oai"
;
GNB_IPV4_ADDRESS_FOR_NGU
=
"192.168.80.129/24"
;
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
=
200
;
pusch_FailureThres
=
1000
;
ulsch_max_frame_inactivity
=
0
;
ul_max_mcs
=
28
;
}
);
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
=
1
;
att_tx
=
0
;
att_rx
=
0
;
bands
= [
77
];
max_pdschReferenceSignalPower
= -
27
;
max_rxgain
=
75
;
eNB_instances
= [
0
];
##beamforming 1x2 matrix: 1 layer x 2 antennas
bf_weights
= [
0
x00007fff
,
0
x0000
];
#clock_src = "internal";
sdr_addrs
=
"addr=192.168.30.2,second_addr=192.168.40.2,clock_source=internal,time_source=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_SINGLE_THREAD"
;
#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