pdsch_{ue,enodeb}: add -Q switch to enable use of standard LTE rates

this is useful for RF equipment that doesn't support the shorter symbol
size we use by default, e.g. the N310
master
Andre Puschmann 4 years ago
parent 755325fc3e
commit 382f56fbea

@ -76,6 +76,7 @@ static char* rf_dev = "";
static float rf_amp = 0.8, rf_gain = 60.0, rf_freq = 2400000000;
static bool enable_256qam = false;
static float output_file_snr = +INFINITY;
static bool use_standard_lte_rate = false;
static bool null_file_sink = false;
static srslte_filesink_t fsink;
@ -140,6 +141,7 @@ static void usage(char* prog)
printf("\t-v [set srslte_verbose to debug, default none]\n");
printf("\t-s output file SNR [Default %f]\n", output_file_snr);
printf("\t-q Enable/Disable 256QAM modulation (default %s)\n", enable_256qam ? "enabled" : "disabled");
printf("\t-Q Use standard LTE sample rates (default %s)\n", use_standard_lte_rate ? "enabled" : "disabled");
printf("\n");
printf("\t*: See 3GPP 36.212 Table 5.3.3.1.5-4 for more information\n");
}
@ -147,7 +149,7 @@ static void usage(char* prog)
static void parse_args(int argc, char** argv)
{
int opt;
while ((opt = getopt(argc, argv, "IadglfmoncpqvutxbwMsB")) != -1) {
while ((opt = getopt(argc, argv, "IadglfmoncpqvutxbwMsBQ")) != -1) {
switch (opt) {
case 'I':
@ -207,6 +209,9 @@ static void parse_args(int argc, char** argv)
case 'q':
enable_256qam ^= true;
break;
case 'Q':
use_standard_lte_rate ^= true;
break;
default:
usage(argv[0]);
exit(-1);
@ -708,6 +713,8 @@ int main(int argc, char** argv)
parse_args(argc, argv);
srslte_use_standard_symbol_size(use_standard_lte_rate);
uint8_t mch_table[10];
bzero(&mch_table[0], sizeof(uint8_t) * 10);
if (mbsfn_area_id > -1) {

@ -109,6 +109,7 @@ typedef struct {
int sf_config;
int verbose;
bool enable_256qam;
bool use_standard_lte_rate;
} prog_args_t;
void args_default(prog_args_t* args)
@ -195,6 +196,7 @@ void usage(prog_args_t* args, char* prog)
printf("\t-M MBSFN area id [Default %d]\n", args->mbsfn_area_id);
printf("\t-N Non-MBSFN region [Default %d]\n", args->non_mbsfn_region);
printf("\t-q Enable/Disable 256QAM modulation (default %s)\n", args->enable_256qam ? "enabled" : "disabled");
printf("\t-Q Use standard LTE sample rates (default %s)\n", args->use_standard_lte_rate ? "enabled" : "disabled");
printf("\t-v [set srslte_verbose to debug, default none]\n");
}
@ -203,7 +205,7 @@ void parse_args(prog_args_t* args, int argc, char** argv)
int opt;
args_default(args);
while ((opt = getopt(argc, argv, "adAogliIpPcOCtdDFRqnvrfuUsSZyWMNBTG")) != -1) {
while ((opt = getopt(argc, argv, "adAogliIpPcOCtdDFRqnvrfuUsSZyWMNBTGQ")) != -1) {
switch (opt) {
case 'i':
args->input_file_name = argv[optind];
@ -308,6 +310,9 @@ void parse_args(prog_args_t* args, int argc, char** argv)
case 'q':
args->enable_256qam ^= true;
break;
case 'Q':
args->use_standard_lte_rate ^= true;
break;
default:
usage(args, argv[0]);
exit(-1);
@ -396,6 +401,8 @@ int main(int argc, char** argv)
parse_args(&prog_args, argc, argv);
srslte_use_standard_symbol_size(prog_args.use_standard_lte_rate);
#ifdef ENABLE_GUI
if (prog_args.mbsfn_area_id > -1) {
enable_mbsfn_plot = true;

Loading…
Cancel
Save