diff --git a/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp b/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp
index 9b1755954ae84655a75cbe25ba0570291d01097f..f77996b2e81bb605e078ad8aeb77788a374b1f0a 100644
--- a/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp
+++ b/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp
@@ -1016,6 +1016,30 @@ extern "C" {
             LOG_I(PHY,"%s() sample_rate:%u\n", __FUNCTION__, (int)openair0_cfg[0].sample_rate);
 
             switch ((int)openair0_cfg[0].sample_rate) {
+	    case 122880000:
+                // 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                 = 80e6;
+                openair0_cfg[0].rx_bw                 = 80e6;
+                break;
+	    case 92160000:
+ 	        openair0_cfg[0].tx_sample_advance     = 15; //to be checked
+                openair0_cfg[0].tx_bw                 = 80e6;
+                openair0_cfg[0].rx_bw                 = 80e6;
+		break;
+            case 61440000:
+                // from usrp_time_offset
+                //openair0_cfg[0].samples_per_packet    = 2048;
+                openair0_cfg[0].tx_sample_advance     = 15;
+                openair0_cfg[0].tx_bw                 = 40e6;
+                openair0_cfg[0].rx_bw                 = 40e6;
+                break;
+	    case 46080000:
+                openair0_cfg[0].tx_sample_advance     = 15;
+                openair0_cfg[0].tx_bw                 = 40e6;
+                openair0_cfg[0].rx_bw                 = 40e6;
+                break;
             case 30720000:
                 // from usrp_time_offset
                 //openair0_cfg[0].samples_per_packet    = 2048;
@@ -1023,6 +1047,11 @@ extern "C" {
                 openair0_cfg[0].tx_bw                 = 20e6;
                 openair0_cfg[0].rx_bw                 = 20e6;
                 break;
+	    case 23040000:
+                openair0_cfg[0].tx_sample_advance     = 15;
+                openair0_cfg[0].tx_bw                 = 20e6;
+                openair0_cfg[0].rx_bw                 = 20e6;
+                break;
             case 15360000:
                 //openair0_cfg[0].samples_per_packet    = 2048;
                 openair0_cfg[0].tx_sample_advance     = 45;
diff --git a/targets/RT/USER/lte-softmodem.c b/targets/RT/USER/lte-softmodem.c
index 59775a2c0d5eec07fb5b2d3cf7fd1b911cd9774d..39f532f222ce54b2a8714cdb8c1bcf0193e43f7f 100644
--- a/targets/RT/USER/lte-softmodem.c
+++ b/targets/RT/USER/lte-softmodem.c
@@ -627,7 +627,7 @@ void set_default_frame_parms(LTE_DL_FRAME_PARMS *frame_parms[MAX_NUM_CCs]) {
 
 }
 
-
+/*
 void init_openair0(void) {
 
   int card;
@@ -710,9 +710,9 @@ void init_openair0(void) {
 	     openair0_cfg[card].tx_freq[i],
 	     openair0_cfg[card].rx_freq[i]);
     }
-  } /* for loop on cards */
+  } // for loop on cards
 }
-
+*/
 
 void wait_RUs(void) {
 
diff --git a/targets/RT/USER/nr-ru.c b/targets/RT/USER/nr-ru.c
index 80f924b3c9eb77179fd3c2cfe787420b670b1a79..61e69bf359d039a9b2393481257c0e3885d03674 100644
--- a/targets/RT/USER/nr-ru.c
+++ b/targets/RT/USER/nr-ru.c
@@ -1168,38 +1168,66 @@ void fill_rf_config(RU_t *ru, char *rf_config_file) {
   nfapi_config_request_t *gNB_config = ru->gNB_list[0]->gNB_config; //tmp index
   openair0_config_t *cfg   = &ru->openair0_cfg;
   int N_RB = gNB_config->rf_config.dl_channel_bandwidth.value;
-
-  if(N_RB == 100) {
-    if (fp->threequarter_fs) {
-      cfg->sample_rate=23.04e6;
-      cfg->samples_per_frame = 230400; 
-      cfg->tx_bw = 10e6;
-      cfg->rx_bw = 10e6;
-    }
-    else {
-      cfg->sample_rate=30.72e6;
-      cfg->samples_per_frame = 307200; 
-      cfg->tx_bw = 10e6;
-      cfg->rx_bw = 10e6;
-    }
-  } else if(N_RB == 50) {
-    cfg->sample_rate=15.36e6;
-    cfg->samples_per_frame = 153600;
-    cfg->tx_bw = 5e6;
-    cfg->rx_bw = 5e6;
-  } else if (N_RB == 25) {
-    cfg->sample_rate=7.68e6;
-    cfg->samples_per_frame = 76800;
-    cfg->tx_bw = 2.5e6;
-    cfg->rx_bw = 2.5e6;
-  } else if (N_RB == 6) {
-    cfg->sample_rate=1.92e6;
-    cfg->samples_per_frame = 19200;
-    cfg->tx_bw = 1.5e6;
-    cfg->rx_bw = 1.5e6;
+  int mu = gNB_config->subframe_config.numerology_index_mu.value;
+
+  if (mu == NR_MU_0) { //or if LTE
+     if(N_RB == 100) {
+       if (fp->threequarter_fs) {
+	 cfg->sample_rate=23.04e6;
+	 cfg->samples_per_frame = 230400; 
+	 cfg->tx_bw = 10e6;
+	 cfg->rx_bw = 10e6;
+       }
+       else {
+	 cfg->sample_rate=30.72e6;
+	 cfg->samples_per_frame = 307200; 
+	 cfg->tx_bw = 10e6;
+	 cfg->rx_bw = 10e6;
+       }
+     } else if(N_RB == 50) {
+       cfg->sample_rate=15.36e6;
+       cfg->samples_per_frame = 153600;
+       cfg->tx_bw = 5e6;
+       cfg->rx_bw = 5e6;
+     } else if (N_RB == 25) {
+       cfg->sample_rate=7.68e6;
+       cfg->samples_per_frame = 76800;
+       cfg->tx_bw = 2.5e6;
+       cfg->rx_bw = 2.5e6;
+     } else if (N_RB == 6) {
+       cfg->sample_rate=1.92e6;
+       cfg->samples_per_frame = 19200;
+       cfg->tx_bw = 1.5e6;
+       cfg->rx_bw = 1.5e6;
+     }
+     else AssertFatal(1==0,"Unknown N_RB %d\n",N_RB);
   }
-  else AssertFatal(1==0,"Unknown N_RB %d\n",N_RB);
-
+  else if (mu == NR_MU_1) {
+    if(N_RB == 217) {
+      if (fp->threequarter_fs) {
+	cfg->sample_rate=92.16e6;
+	cfg->samples_per_frame = 921600; 
+	cfg->tx_bw = 40e6;
+	cfg->rx_bw = 40e6;
+      }
+      else {
+	cfg->sample_rate=122.88e6;
+	cfg->samples_per_frame = 1228800; 
+	cfg->tx_bw = 40e6;
+	cfg->rx_bw = 40e6;
+      }
+    } else if(N_RB == 106) {
+      cfg->sample_rate=61.44e6;
+      cfg->samples_per_frame = 614400;
+      cfg->tx_bw = 20e6;
+      cfg->rx_bw = 20e6;
+    } else {
+      AssertFatal(0==1,"N_RB %d not yet supported for numerology %d\n",N_RB,mu);
+    }          
+  } else {
+    AssertFatal(0 == 1,"Numerology %d not supported for the moment\n",mu);
+  }
+  
   if (gNB_config->subframe_config.duplex_mode.value==TDD)
     cfg->duplex_mode = duplex_mode_TDD;
   else //FDD
diff --git a/targets/RT/USER/nr-softmodem.c b/targets/RT/USER/nr-softmodem.c
index 8d4ede633c88b4311286a2a6c9952a1619344b63..facbdfcb760950cb5669d49f572b2af1b74654af 100644
--- a/targets/RT/USER/nr-softmodem.c
+++ b/targets/RT/USER/nr-softmodem.c
@@ -642,7 +642,7 @@ void set_default_frame_parms(nfapi_config_request_t *config[MAX_NUM_CCs], NR_DL_
 
 }
 
-
+/*
 void init_openair0(void) {
 
   int card;
@@ -725,9 +725,9 @@ void init_openair0(void) {
 	     openair0_cfg[card].tx_freq[i],
 	     openair0_cfg[card].rx_freq[i]);
     }
-  } /* for loop on cards */
+  } // for loop on cards 
 }
-
+*/
 
 void wait_RUs(void) {