aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom Tsou <tom.tsou@ettus.com>2016-03-06 22:19:15 -0800
committerTom Tsou <tom.tsou@ettus.com>2016-03-08 17:45:53 -0800
commitaf717b2d3c7fd9197edec715c3c0be70697c591a (patch)
tree99c4ea5a248fafd0fb62fdbf2a5a2934b558318a
parent8ee2f38a87df07462467865cde16ab7e7508bd0e (diff)
EDGE: Add random burst generator filler option
When EDGE is enabled with the '-e' option, the random burst generator switches from GMSK normal bursts to 8-PSK EDGE bursts. $ ./osmo-trx -e -r 7 Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
-rw-r--r--Transceiver52M/Transceiver.cpp11
-rw-r--r--Transceiver52M/Transceiver.h3
-rw-r--r--Transceiver52M/osmo-trx.cpp10
3 files changed, 18 insertions, 6 deletions
diff --git a/Transceiver52M/Transceiver.cpp b/Transceiver52M/Transceiver.cpp
index a9e7035..a1c6f1b 100644
--- a/Transceiver52M/Transceiver.cpp
+++ b/Transceiver52M/Transceiver.cpp
@@ -84,9 +84,12 @@ bool TransceiverState::init(int filler, size_t sps, float scale, size_t rtsc)
case Transceiver::FILLER_DUMMY:
burst = generateDummyBurst(sps, n);
break;
- case Transceiver::FILLER_RAND:
+ case Transceiver::FILLER_NORM_RAND:
burst = genRandNormalBurst(rtsc, sps, n);
break;
+ case Transceiver::FILLER_EDGE_RAND:
+ burst = generateEdgeBurst(rtsc);
+ break;
case Transceiver::FILLER_ZERO:
default:
burst = generateEmptyBurst(sps, n);
@@ -96,8 +99,10 @@ bool TransceiverState::init(int filler, size_t sps, float scale, size_t rtsc)
fillerTable[i][n] = burst;
}
- if (filler == Transceiver::FILLER_RAND)
- chanType[n] = Transceiver::TSC;
+ if ((filler == Transceiver::FILLER_NORM_RAND) ||
+ (filler == Transceiver::FILLER_EDGE_RAND)) {
+ chanType[n] = Transceiver::TSC;
+ }
}
return false;
diff --git a/Transceiver52M/Transceiver.h b/Transceiver52M/Transceiver.h
index fa58053..79b487a 100644
--- a/Transceiver52M/Transceiver.h
+++ b/Transceiver52M/Transceiver.h
@@ -154,7 +154,8 @@ public:
enum FillerType {
FILLER_DUMMY,
FILLER_ZERO,
- FILLER_RAND,
+ FILLER_NORM_RAND,
+ FILLER_EDGE_RAND,
};
private:
diff --git a/Transceiver52M/osmo-trx.cpp b/Transceiver52M/osmo-trx.cpp
index e7b2a16..3026f55 100644
--- a/Transceiver52M/osmo-trx.cpp
+++ b/Transceiver52M/osmo-trx.cpp
@@ -181,9 +181,12 @@ bool trx_setup_config(struct trx_config *config)
case Transceiver::FILLER_ZERO:
fillstr = "Disabled";
break;
- case Transceiver::FILLER_RAND:
+ case Transceiver::FILLER_NORM_RAND:
fillstr = "Normal busrts with random payload";
break;
+ case Transceiver::FILLER_EDGE_RAND:
+ fillstr = "EDGE busrts with random payload";
+ break;
}
std::ostringstream ost("");
@@ -376,7 +379,7 @@ static void handle_options(int argc, char **argv, struct trx_config *config)
break;
case 'r':
config->rtsc = atoi(optarg);
- config->filler = Transceiver::FILLER_RAND;
+ config->filler = Transceiver::FILLER_NORM_RAND;
break;
case 'R':
config->rssi_offset = atof(optarg);
@@ -394,6 +397,9 @@ static void handle_options(int argc, char **argv, struct trx_config *config)
}
}
+ if (config->edge && (config->filler == Transceiver::FILLER_NORM_RAND))
+ config->filler = Transceiver::FILLER_EDGE_RAND;
+
if ((config->tx_sps != 1) && (config->tx_sps != 4)) {
printf("Unsupported samples-per-symbol %i\n\n", config->tx_sps);
print_help();