Merge branch 'nr_prs_merge' of https://gitlab.eurecom.fr/oai/openairinterface5g into nr_prs_merge
This commit is contained in:
+1
-1
@@ -712,7 +712,7 @@ void tx_rf(RU_t *ru,int frame,int slot, uint64_t timestamp) {
|
|||||||
unsigned int txs;
|
unsigned int txs;
|
||||||
int i;
|
int i;
|
||||||
T(T_ENB_PHY_OUTPUT_SIGNAL, T_INT(0), T_INT(0), T_INT(frame), T_INT(slot),
|
T(T_ENB_PHY_OUTPUT_SIGNAL, T_INT(0), T_INT(0), T_INT(frame), T_INT(slot),
|
||||||
T_INT(0), T_BUFFER(&ru->common.txdata[0][fp->get_samples_slot_timestamp(slot,fp,0)], fp->samples_per_subframe * 4));
|
T_INT(0), T_BUFFER(&ru->common.txdata[0][fp->get_samples_slot_timestamp(slot,fp,0)], fp->get_samples_per_slot(slot,fp) * 4));
|
||||||
int sf_extension = 0;
|
int sf_extension = 0;
|
||||||
int siglen=fp->get_samples_per_slot(slot,fp);
|
int siglen=fp->get_samples_per_slot(slot,fp);
|
||||||
int flags = 0;
|
int flags = 0;
|
||||||
|
|||||||
+1
-1
@@ -666,7 +666,7 @@ void processSlotRX(void *arg) {
|
|||||||
|
|
||||||
if (rx_slot_type == NR_DOWNLINK_SLOT || rx_slot_type == NR_MIXED_SLOT){
|
if (rx_slot_type == NR_DOWNLINK_SLOT || rx_slot_type == NR_MIXED_SLOT){
|
||||||
|
|
||||||
if(UE->if_inst != NULL && UE->if_inst->dl_indication != NULL) {
|
if(UE->if_inst != NULL && UE->if_inst->dl_indication != NULL && get_softmodem_params()->phy_test == 0) {
|
||||||
nr_downlink_indication_t dl_indication;
|
nr_downlink_indication_t dl_indication;
|
||||||
nr_fill_dl_indication(&dl_indication, NULL, NULL, proc, UE, gNB_id, &phy_pdcch_config);
|
nr_fill_dl_indication(&dl_indication, NULL, NULL, proc, UE, gNB_id, &phy_pdcch_config);
|
||||||
UE->if_inst->dl_indication(&dl_indication, NULL);
|
UE->if_inst->dl_indication(&dl_indication, NULL);
|
||||||
|
|||||||
@@ -686,9 +686,9 @@ int32_t nr_rx_pdcch(PHY_VARS_NR_UE *ue,
|
|||||||
|
|
||||||
// Pointers to extracted PDCCH symbols in frequency-domain.
|
// Pointers to extracted PDCCH symbols in frequency-domain.
|
||||||
int32_t rx_size = 4*273*12;
|
int32_t rx_size = 4*273*12;
|
||||||
int32_t rxdataF_ext[4*frame_parms->nb_antennas_rx][rx_size];
|
__attribute__ ((aligned(32))) int32_t rxdataF_ext[4*frame_parms->nb_antennas_rx][rx_size];
|
||||||
int32_t rxdataF_comp[4*frame_parms->nb_antennas_rx][rx_size];
|
__attribute__ ((aligned(32))) int32_t rxdataF_comp[4*frame_parms->nb_antennas_rx][rx_size];
|
||||||
int32_t pdcch_dl_ch_estimates_ext[4*frame_parms->nb_antennas_rx][rx_size];
|
__attribute__ ((aligned(32))) int32_t pdcch_dl_ch_estimates_ext[4*frame_parms->nb_antennas_rx][rx_size];
|
||||||
|
|
||||||
// Pointer to llrs, 4-bit resolution.
|
// Pointer to llrs, 4-bit resolution.
|
||||||
int32_t llr_size = 2*4*100*12;
|
int32_t llr_size = 2*4*100*12;
|
||||||
|
|||||||
@@ -430,8 +430,8 @@ int nr_rx_pbch( PHY_VARS_NR_UE *ue,
|
|||||||
|
|
||||||
for (symbol=1; symbol<4; symbol++) {
|
for (symbol=1; symbol<4; symbol++) {
|
||||||
const uint16_t nb_re=symbol == 2 ? 72 : 180;
|
const uint16_t nb_re=symbol == 2 ? 72 : 180;
|
||||||
struct complex16 rxdataF_ext[frame_parms->nb_antennas_rx][PBCH_MAX_RE_PER_SYMBOL];
|
__attribute__ ((aligned(32))) struct complex16 rxdataF_ext[frame_parms->nb_antennas_rx][PBCH_MAX_RE_PER_SYMBOL];
|
||||||
struct complex16 dl_ch_estimates_ext[frame_parms->nb_antennas_rx][PBCH_MAX_RE_PER_SYMBOL];
|
__attribute__ ((aligned(32))) struct complex16 dl_ch_estimates_ext[frame_parms->nb_antennas_rx][PBCH_MAX_RE_PER_SYMBOL];
|
||||||
memset(dl_ch_estimates_ext,0, sizeof dl_ch_estimates_ext);
|
memset(dl_ch_estimates_ext,0, sizeof dl_ch_estimates_ext);
|
||||||
nr_pbch_extract(nr_ue_common_vars->common_vars_rx_data_per_thread[proc->thread_id].rxdataF,
|
nr_pbch_extract(nr_ue_common_vars->common_vars_rx_data_per_thread[proc->thread_id].rxdataF,
|
||||||
estimateSz,
|
estimateSz,
|
||||||
@@ -456,7 +456,7 @@ int nr_rx_pbch( PHY_VARS_NR_UE *ue,
|
|||||||
#ifdef DEBUG_PBCH
|
#ifdef DEBUG_PBCH
|
||||||
LOG_I(PHY,"[PHY] PBCH log2_maxh = %d (%d)\n",nr_ue_pbch_vars->log2_maxh,max_h);
|
LOG_I(PHY,"[PHY] PBCH log2_maxh = %d (%d)\n",nr_ue_pbch_vars->log2_maxh,max_h);
|
||||||
#endif
|
#endif
|
||||||
struct complex16 rxdataF_comp[frame_parms->nb_antennas_rx][PBCH_MAX_RE_PER_SYMBOL];
|
__attribute__ ((aligned(32))) struct complex16 rxdataF_comp[frame_parms->nb_antennas_rx][PBCH_MAX_RE_PER_SYMBOL];
|
||||||
nr_pbch_channel_compensation(rxdataF_ext,
|
nr_pbch_channel_compensation(rxdataF_ext,
|
||||||
dl_ch_estimates_ext,
|
dl_ch_estimates_ext,
|
||||||
nb_re,
|
nb_re,
|
||||||
|
|||||||
@@ -201,16 +201,6 @@ static int sync_to_gps(openair0_device *device) {
|
|||||||
LOG_W(HW,"WARNING: GPS not locked - time will not be accurate until locked\n");
|
LOG_W(HW,"WARNING: GPS not locked - time will not be accurate until locked\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
//wait for next pps
|
|
||||||
uhd::time_spec_t last = s->usrp->get_time_last_pps();
|
|
||||||
uhd::time_spec_t next = s->usrp->get_time_last_pps();
|
|
||||||
while(next == last) {
|
|
||||||
boost::this_thread::sleep(boost::posix_time::milliseconds(50));
|
|
||||||
last = next;
|
|
||||||
next = s->usrp->get_time_last_pps();
|
|
||||||
}
|
|
||||||
boost::this_thread::sleep(boost::posix_time::milliseconds(200));
|
|
||||||
|
|
||||||
//Set to GPS time
|
//Set to GPS time
|
||||||
uhd::time_spec_t gps_time = uhd::time_spec_t(time_t(s->usrp->get_mboard_sensor("gps_time", mboard).to_int()));
|
uhd::time_spec_t gps_time = uhd::time_spec_t(time_t(s->usrp->get_mboard_sensor("gps_time", mboard).to_int()));
|
||||||
s->usrp->set_time_next_pps(gps_time+1.0, mboard);
|
s->usrp->set_time_next_pps(gps_time+1.0, mboard);
|
||||||
@@ -306,11 +296,18 @@ static int trx_usrp_start(openair0_device *device) {
|
|||||||
//s->first_rx = 1;
|
//s->first_rx = 1;
|
||||||
s->rx_timestamp = 0;
|
s->rx_timestamp = 0;
|
||||||
|
|
||||||
uhd::time_spec_t time_last_pps = s->usrp->get_time_last_pps();
|
//wait for next pps
|
||||||
LOG_I(HW,"last pps at %f, starting streaming at %f\n",time_last_pps.get_real_secs(),time_last_pps.get_real_secs()+1.0);
|
uhd::time_spec_t last_pps = s->usrp->get_time_last_pps();
|
||||||
|
uhd::time_spec_t current_pps = s->usrp->get_time_last_pps();
|
||||||
|
while(current_pps == last_pps) {
|
||||||
|
boost::this_thread::sleep(boost::posix_time::milliseconds(1));
|
||||||
|
current_pps = s->usrp->get_time_last_pps();
|
||||||
|
}
|
||||||
|
|
||||||
|
LOG_I(HW,"current pps at %f, starting streaming at %f\n",current_pps.get_real_secs(),current_pps.get_real_secs()+1.0);
|
||||||
|
|
||||||
uhd::stream_cmd_t cmd(uhd::stream_cmd_t::STREAM_MODE_START_CONTINUOUS);
|
uhd::stream_cmd_t cmd(uhd::stream_cmd_t::STREAM_MODE_START_CONTINUOUS);
|
||||||
cmd.time_spec = uhd::time_spec_t(time_last_pps+1.0);
|
cmd.time_spec = uhd::time_spec_t(current_pps+1.0);
|
||||||
cmd.stream_now = false; // start at constant delay
|
cmd.stream_now = false; // start at constant delay
|
||||||
s->rx_stream->issue_stream_cmd(cmd);
|
s->rx_stream->issue_stream_cmd(cmd);
|
||||||
|
|
||||||
|
|||||||
@@ -218,9 +218,9 @@ MACRLCs = (
|
|||||||
prs_config = (
|
prs_config = (
|
||||||
{
|
{
|
||||||
NumPRSResources = 1;
|
NumPRSResources = 1;
|
||||||
PRSResourceSetPeriod = [40, 0];
|
PRSResourceSetPeriod = [20, 2];
|
||||||
SymbolStart = [7];
|
SymbolStart = [7];
|
||||||
NumPRSSymbols = [7];
|
NumPRSSymbols = [6];
|
||||||
NumRB = 106;
|
NumRB = 106;
|
||||||
RBOffset = 0;
|
RBOffset = 0;
|
||||||
CombSize = 4;
|
CombSize = 4;
|
||||||
@@ -261,7 +261,7 @@ RUs = (
|
|||||||
#beamforming 1x4 matrix:
|
#beamforming 1x4 matrix:
|
||||||
bf_weights = [0x00007fff, 0x0000, 0x0000, 0x0000];
|
bf_weights = [0x00007fff, 0x0000, 0x0000, 0x0000];
|
||||||
#clock_src = "internal";
|
#clock_src = "internal";
|
||||||
sdr_addrs = "addr=192.168.10.2,second_addr=192.168.20.2,clock_source=internal,time_source=internal"
|
sdr_addrs = "addr=192.168.10.2,clock_source=gpsdo,time_source=gpsdo"
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,322 @@
|
|||||||
|
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 = 208;
|
||||||
|
mnc = 99;
|
||||||
|
mnc_length = 2;
|
||||||
|
snssaiList = (
|
||||||
|
{
|
||||||
|
sst = 1;
|
||||||
|
sd = 0x1; // 0 false, else true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
sst = 1;
|
||||||
|
sd = 0x112233; // 0 false, else true
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
nr_cellid = 12345678L;
|
||||||
|
|
||||||
|
////////// Physical parameters:
|
||||||
|
|
||||||
|
ssb_SubcarrierOffset = 0;
|
||||||
|
pdsch_AntennaPorts = 1;
|
||||||
|
pusch_AntennaPorts = 1;
|
||||||
|
sib1_tda = 0;
|
||||||
|
|
||||||
|
pdcch_ConfigSIB1 = (
|
||||||
|
{
|
||||||
|
controlResourceSetZero = 12;
|
||||||
|
searchSpaceZero = 0;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
servingCellConfigCommon = (
|
||||||
|
{
|
||||||
|
#spCellConfigCommon
|
||||||
|
|
||||||
|
physCellId = 0;
|
||||||
|
|
||||||
|
# downlinkConfigCommon
|
||||||
|
#frequencyInfoDL
|
||||||
|
# this is 3600 MHz + 43 PRBs@30kHz SCS (same as initial BWP)
|
||||||
|
absoluteFrequencySSB = 650000;
|
||||||
|
dl_frequencyBand = 78;
|
||||||
|
# this is 3600 MHz
|
||||||
|
dl_absoluteFrequencyPointA = 648728;
|
||||||
|
#scs-SpecificCarrierList
|
||||||
|
dl_offstToCarrier = 0;
|
||||||
|
# subcarrierSpacing
|
||||||
|
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
||||||
|
dl_subcarrierSpacing = 1;
|
||||||
|
dl_carrierBandwidth = 106;
|
||||||
|
#initialDownlinkBWP
|
||||||
|
#genericParameters
|
||||||
|
# this is RBstart=27,L=48 (275*(L-1))+RBstart
|
||||||
|
initialDLBWPlocationAndBandwidth = 28875; # 6366 12925 12956 28875 12952
|
||||||
|
# subcarrierSpacing
|
||||||
|
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
||||||
|
initialDLBWPsubcarrierSpacing = 1;
|
||||||
|
#pdcch-ConfigCommon
|
||||||
|
initialDLBWPcontrolResourceSetZero = 12;
|
||||||
|
initialDLBWPsearchSpaceZero = 0;
|
||||||
|
|
||||||
|
#uplinkConfigCommon
|
||||||
|
#frequencyInfoUL
|
||||||
|
ul_frequencyBand = 78;
|
||||||
|
#scs-SpecificCarrierList
|
||||||
|
ul_offstToCarrier = 0;
|
||||||
|
# subcarrierSpacing
|
||||||
|
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
||||||
|
ul_subcarrierSpacing = 1;
|
||||||
|
ul_carrierBandwidth = 106;
|
||||||
|
pMax = 20;
|
||||||
|
#initialUplinkBWP
|
||||||
|
#genericParameters
|
||||||
|
initialULBWPlocationAndBandwidth = 28875;
|
||||||
|
# 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 = 13;
|
||||||
|
preambleReceivedTargetPower = -96;
|
||||||
|
#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 = 4;
|
||||||
|
#oneHalf (0..15) 4,8,12,16,...60,64
|
||||||
|
ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 14;
|
||||||
|
#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 setup :
|
||||||
|
# pucchGroupHopping
|
||||||
|
# 0 = neither, 1= group hopping, 2=sequence hopping
|
||||||
|
pucchGroupHopping = 0;
|
||||||
|
hoppingId = 40;
|
||||||
|
p0_nominal = -90;
|
||||||
|
# ssb_PositionsInBurs_BitmapPR
|
||||||
|
# 1=short, 2=medium, 3=long
|
||||||
|
ssb_PositionsInBurst_PR = 2;
|
||||||
|
ssb_PositionsInBurst_Bitmap = 2;
|
||||||
|
|
||||||
|
# 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;
|
||||||
|
}
|
||||||
|
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
# ------- 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.70.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.70.129/24";
|
||||||
|
GNB_INTERFACE_NAME_FOR_NGU = "demo-oai";
|
||||||
|
GNB_IPV4_ADDRESS_FOR_NGU = "192.168.70.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 = 150;
|
||||||
|
pucch_TargetSNRx10 = 200;
|
||||||
|
ulsch_max_frame_inactivity = 1;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
prs_config = (
|
||||||
|
{
|
||||||
|
NumPRSResources = 1;
|
||||||
|
PRSResourceSetPeriod = [20, 2];
|
||||||
|
SymbolStart = [7];
|
||||||
|
NumPRSSymbols = [6];
|
||||||
|
NumRB = 106;
|
||||||
|
RBOffset = 0;
|
||||||
|
CombSize = 4;
|
||||||
|
REOffset = [0];
|
||||||
|
PRSResourceOffset = [1];
|
||||||
|
PRSResourceRepetition = 1;
|
||||||
|
PRSResourceTimeGap = 1;
|
||||||
|
NPRS_ID = [0];
|
||||||
|
MutingPattern1 = [];
|
||||||
|
MutingPattern2 = [];
|
||||||
|
MutingBitRepetition = 1;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
L1s = (
|
||||||
|
{
|
||||||
|
num_cc = 1;
|
||||||
|
tr_n_preference = "local_mac";
|
||||||
|
pusch_proc_threads = 8;
|
||||||
|
prach_dtx_threshold = 120;
|
||||||
|
pucch0_dtx_threshold = 150;
|
||||||
|
ofdm_offset_divisor = 8; #set this to UINT_MAX for offset 0
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
RUs = (
|
||||||
|
{
|
||||||
|
local_rf = "yes"
|
||||||
|
nb_tx = 1
|
||||||
|
nb_rx = 1
|
||||||
|
att_tx = 0
|
||||||
|
att_rx = 0;
|
||||||
|
bands = [78];
|
||||||
|
max_pdschReferenceSignalPower = -27;
|
||||||
|
max_rxgain = 114;
|
||||||
|
sf_extension = 0;
|
||||||
|
eNB_instances = [0];
|
||||||
|
#beamforming 1x4 matrix:
|
||||||
|
bf_weights = [0x00007fff, 0x0000, 0x0000, 0x0000];
|
||||||
|
#clock_src = "internal";
|
||||||
|
sdr_addrs = "addr=192.168.20.2,clock_source=gpsdo,time_source=gpsdo"
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
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";
|
||||||
|
global_log_verbosity ="medium";
|
||||||
|
hw_log_level ="info";
|
||||||
|
hw_log_verbosity ="medium";
|
||||||
|
phy_log_level ="info";
|
||||||
|
phy_log_verbosity ="medium";
|
||||||
|
mac_log_level ="info";
|
||||||
|
mac_log_verbosity ="high";
|
||||||
|
rlc_log_level ="info";
|
||||||
|
rlc_log_verbosity ="medium";
|
||||||
|
pdcp_log_level ="info";
|
||||||
|
pdcp_log_verbosity ="medium";
|
||||||
|
rrc_log_level ="info";
|
||||||
|
rrc_log_verbosity ="medium";
|
||||||
|
ngap_log_level ="debug";
|
||||||
|
ngap_log_verbosity ="medium";
|
||||||
|
};
|
||||||
|
|
||||||
Reference in New Issue
Block a user