Fix multiple SSB support for PUSCH
This commit is contained in:
@@ -146,7 +146,7 @@ int main(int argc, char **argv) {
|
|||||||
//char input_val_str[50],input_val_str2[50];
|
//char input_val_str[50],input_val_str2[50];
|
||||||
//uint16_t NB_RB=25;
|
//uint16_t NB_RB=25;
|
||||||
SCM_t channel_model = AWGN; //Rayleigh1_anticorr;
|
SCM_t channel_model = AWGN; //Rayleigh1_anticorr;
|
||||||
uint8_t N_RB_DL = 106, N_RB_UL = 106, mu = 1;
|
uint16_t N_RB_DL = 106, N_RB_UL = 106, mu = 1;
|
||||||
unsigned char frame_type = 0;
|
unsigned char frame_type = 0;
|
||||||
unsigned char pbch_phase = 0;
|
unsigned char pbch_phase = 0;
|
||||||
int frame = 0, subframe = 0;
|
int frame = 0, subframe = 0;
|
||||||
@@ -162,7 +162,7 @@ int main(int argc, char **argv) {
|
|||||||
//int run_initial_sync=0;
|
//int run_initial_sync=0;
|
||||||
int loglvl = OAILOG_WARNING;
|
int loglvl = OAILOG_WARNING;
|
||||||
float target_error_rate = 0.01;
|
float target_error_rate = 0.01;
|
||||||
|
uint64_t SSB_positions=0x01;
|
||||||
uint16_t nb_symb_sch = 12;
|
uint16_t nb_symb_sch = 12;
|
||||||
uint16_t nb_rb = 50;
|
uint16_t nb_rb = 50;
|
||||||
uint8_t Imcs = 9;
|
uint8_t Imcs = 9;
|
||||||
@@ -176,7 +176,7 @@ int main(int argc, char **argv) {
|
|||||||
//logInit();
|
//logInit();
|
||||||
randominit(0);
|
randominit(0);
|
||||||
|
|
||||||
while ((c = getopt(argc, argv, "df:hpg:i:j:n:l:m:r:s:S:y:z:N:F:R:P:")) != -1) {
|
while ((c = getopt(argc, argv, "df:hpg:i:j:n:l:m:r:s:S:y:z:M:N:F:R:P:")) != -1) {
|
||||||
switch (c) {
|
switch (c) {
|
||||||
case 'f':
|
case 'f':
|
||||||
write_output_file = 1;
|
write_output_file = 1;
|
||||||
@@ -287,6 +287,10 @@ int main(int argc, char **argv) {
|
|||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 'M':
|
||||||
|
SSB_positions = atoi(optarg);
|
||||||
|
break;
|
||||||
|
|
||||||
case 'N':
|
case 'N':
|
||||||
Nid_cell = atoi(optarg);
|
Nid_cell = atoi(optarg);
|
||||||
break;
|
break;
|
||||||
@@ -346,6 +350,7 @@ int main(int argc, char **argv) {
|
|||||||
printf("-z Number of RX antennas used in UE\n");
|
printf("-z Number of RX antennas used in UE\n");
|
||||||
printf("-i Relative strength of first intefering eNB (in dB) - cell_id mod 3 = 1\n");
|
printf("-i Relative strength of first intefering eNB (in dB) - cell_id mod 3 = 1\n");
|
||||||
printf("-j Relative strength of second intefering eNB (in dB) - cell_id mod 3 = 2\n");
|
printf("-j Relative strength of second intefering eNB (in dB) - cell_id mod 3 = 2\n");
|
||||||
|
printf("-M Multiple SSB positions in burst\n");
|
||||||
printf("-N Nid_cell\n");
|
printf("-N Nid_cell\n");
|
||||||
printf("-R N_RB_DL\n");
|
printf("-R N_RB_DL\n");
|
||||||
printf("-O oversampling factor (1,2,4,8,16)\n");
|
printf("-O oversampling factor (1,2,4,8,16)\n");
|
||||||
@@ -365,7 +370,8 @@ int main(int argc, char **argv) {
|
|||||||
if (snr1set == 0)
|
if (snr1set == 0)
|
||||||
snr1 = snr0 + 10;
|
snr1 = snr0 + 10;
|
||||||
|
|
||||||
gNB2UE = new_channel_desc_scm(n_tx, n_rx, channel_model, 61.44e6, //N_RB2sampling_rate(N_RB_DL),
|
gNB2UE = new_channel_desc_scm(n_tx, n_rx, channel_model,
|
||||||
|
61.44e6, //N_RB2sampling_rate(N_RB_DL),
|
||||||
40e6, //N_RB2channel_bandwidth(N_RB_DL),
|
40e6, //N_RB2channel_bandwidth(N_RB_DL),
|
||||||
0, 0, 0);
|
0, 0, 0);
|
||||||
|
|
||||||
@@ -389,7 +395,7 @@ int main(int argc, char **argv) {
|
|||||||
|
|
||||||
crcTableInit();
|
crcTableInit();
|
||||||
|
|
||||||
nr_phy_config_request_sim(gNB, N_RB_DL, N_RB_DL, mu, Nid_cell);
|
nr_phy_config_request_sim(gNB, N_RB_DL, N_RB_DL, mu, Nid_cell, SSB_positions);
|
||||||
|
|
||||||
phy_init_nr_gNB(gNB, 0, 0);
|
phy_init_nr_gNB(gNB, 0, 0);
|
||||||
//init_eNB_afterRU();
|
//init_eNB_afterRU();
|
||||||
@@ -649,8 +655,10 @@ int main(int argc, char **argv) {
|
|||||||
(float) n_false_positive / (float) n_trials);
|
(float) n_false_positive / (float) n_trials);
|
||||||
printf("*****************************************\n");
|
printf("*****************************************\n");
|
||||||
|
|
||||||
if ((float) n_errors / (float) n_trials < target_error_rate)
|
if ((float) n_errors / (float) n_trials < target_error_rate) {
|
||||||
|
printf("PUSCH test OK\n");
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*LOG_M("txsigF0.m","txsF0", gNB->common_vars.txdataF[0],frame_length_complex_samples_no_prefix,1,1);
|
/*LOG_M("txsigF0.m","txsF0", gNB->common_vars.txdataF[0],frame_length_complex_samples_no_prefix,1,1);
|
||||||
|
|||||||
Reference in New Issue
Block a user