From ce0f48d2b2cc54d4e68afa6cd7049645632e2fa9 Mon Sep 17 00:00:00 2001 From: luis_pereira87 Date: Fri, 7 Jun 2024 15:12:59 +0100 Subject: [PATCH] Add support for MIMO 2x2 with USRP B210 at 20 MHz BW and 3/4 sampling rate Tested with B210 and Quectel RM500Q-GL --- openair1/PHY/NR_TRANSPORT/nr_prach.c | 6 ++++++ openair1/PHY/NR_UE_TRANSPORT/nr_prach.c | 8 +++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/openair1/PHY/NR_TRANSPORT/nr_prach.c b/openair1/PHY/NR_TRANSPORT/nr_prach.c index 4bf70acaa8..c9f645333b 100644 --- a/openair1/PHY/NR_TRANSPORT/nr_prach.c +++ b/openair1/PHY/NR_TRANSPORT/nr_prach.c @@ -316,6 +316,12 @@ void rx_nr_prach_ru(RU_t *ru, dftlen >>= 1; break; + case 23040: + // 20 MHz @ 23.04 Ms/s + Ncp = (Ncp * 3) / 4; + dftlen = (dftlen * 3) / 4; + break; + case 30720: // 20, 25, 30 MHz @ 30.72 Ms/s break; diff --git a/openair1/PHY/NR_UE_TRANSPORT/nr_prach.c b/openair1/PHY/NR_UE_TRANSPORT/nr_prach.c index ea24f0a45c..471b2aee38 100644 --- a/openair1/PHY/NR_UE_TRANSPORT/nr_prach.c +++ b/openair1/PHY/NR_UE_TRANSPORT/nr_prach.c @@ -65,7 +65,7 @@ int32_t generate_nr_prach(PHY_VARS_NR_UE *ue, uint8_t gNB_id, int frame, uint8_t c16_t prach[(4688 + 4 * 24576) * 2] __attribute__((aligned(32))) = {0}; int16_t prachF_tmp[(4688+4*24576)*4*2] __attribute__((aligned(32))) = {0}; - int16_t Ncp = 0; + int Ncp = 0; int prach_start, prach_sequence_length, i, prach_len, dftlen, mu, kbar, K, n_ra_prb, k, prachStartSymbol, sample_offset_slot; fd_occasion = 0; @@ -332,6 +332,12 @@ int32_t generate_nr_prach(PHY_VARS_NR_UE *ue, uint8_t gNB_id, int frame, uint8_t dftlen >>= 1; break; + case 23040: + // 20 MHz @ 23.04 Ms/s + Ncp = (Ncp * 3) / 4; + dftlen = (dftlen * 3) / 4; + break; + case 30720: // 20, 25, 30 MHz @ 30.72 Ms/s break;