enabling 100MHz on usrp x310
This commit is contained in:
@@ -344,6 +344,12 @@ void rx_nr_prach_ru(RU_t *ru,
|
|||||||
dftlen <<= 2;
|
dftlen <<= 2;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 184320:
|
||||||
|
// 100 MHz @ 184.32 Ms/s
|
||||||
|
Ncp = Ncp*6;
|
||||||
|
dftlen = dftlen*6;
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
AssertFatal(1==0,"sample rate %f MHz not supported for numerology %d\n", fp->samples_per_subframe / 1000.0, mu);
|
AssertFatal(1==0,"sample rate %f MHz not supported for numerology %d\n", fp->samples_per_subframe / 1000.0, mu);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -483,6 +483,11 @@ int nr_prs_channel_estimation(uint8_t rsc_id,
|
|||||||
case 4096:
|
case 4096:
|
||||||
idftsizeidx = IDFT_4096;
|
idftsizeidx = IDFT_4096;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 6144:
|
||||||
|
idftsizeidx = IDFT_6144;
|
||||||
|
break;
|
||||||
|
|
||||||
// 16x IDFT oversampling
|
// 16x IDFT oversampling
|
||||||
case 8192:
|
case 8192:
|
||||||
idftsizeidx = IDFT_8192;
|
idftsizeidx = IDFT_8192;
|
||||||
@@ -833,7 +838,11 @@ int nr_pbch_channel_estimation(PHY_VARS_NR_UE *ue,
|
|||||||
case 4096:
|
case 4096:
|
||||||
idftsizeidx = IDFT_4096;
|
idftsizeidx = IDFT_4096;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 6144:
|
||||||
|
idftsizeidx = IDFT_6144;
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
printf("unsupported ofdm symbol size \n");
|
printf("unsupported ofdm symbol size \n");
|
||||||
assert(0);
|
assert(0);
|
||||||
|
|||||||
@@ -362,6 +362,12 @@ int32_t generate_nr_prach(PHY_VARS_NR_UE *ue, uint8_t gNB_id, int frame, uint8_t
|
|||||||
dftlen <<= 2;
|
dftlen <<= 2;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 184320:
|
||||||
|
// 100 MHz @ 184.32 Ms/s
|
||||||
|
Ncp = Ncp*6;
|
||||||
|
dftlen = dftlen*6;
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
AssertFatal(1==0,"sample rate %f MHz not supported for numerology %d\n", fp->samples_per_subframe / 1000.0, mu);
|
AssertFatal(1==0,"sample rate %f MHz not supported for numerology %d\n", fp->samples_per_subframe / 1000.0, mu);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1224,6 +1224,8 @@ extern "C" {
|
|||||||
// from usrp_time_offset
|
// from usrp_time_offset
|
||||||
//openair0_cfg[0].samples_per_packet = 2048;
|
//openair0_cfg[0].samples_per_packet = 2048;
|
||||||
openair0_cfg[0].tx_sample_advance = 15; //to be checked
|
openair0_cfg[0].tx_sample_advance = 15; //to be checked
|
||||||
|
openair0_cfg[0].tx_bw = 100e6;
|
||||||
|
openair0_cfg[0].rx_bw = 100e6;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 122880000:
|
case 122880000:
|
||||||
|
|||||||
@@ -0,0 +1,271 @@
|
|||||||
|
Active_gNBs = ( "gNB-OAI");
|
||||||
|
# Asn1_verbosity, choice in: none, info, annoying
|
||||||
|
Asn1_verbosity = "none";
|
||||||
|
|
||||||
|
gNBs = (
|
||||||
|
{
|
||||||
|
////////// Identification parameters:
|
||||||
|
gNB_ID = 0xe00;
|
||||||
|
gNB_name = "gNB-OAI";
|
||||||
|
|
||||||
|
// Tracking area code, 0x0000 and 0xfffe are reserved values
|
||||||
|
tracking_area_code = 1;
|
||||||
|
plmn_list = ({ mcc = 505; mnc = 01; mnc_length = 2; snssaiList = ({ sst = 1; }); });
|
||||||
|
|
||||||
|
nr_cellid = 12345678L;
|
||||||
|
|
||||||
|
////////// 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 = [0x00007fff, 0x0000];
|
||||||
|
#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";
|
||||||
|
};
|
||||||
Reference in New Issue
Block a user