diff options
author | Tom Tsou <tom.tsou@ettus.com> | 2016-03-06 22:19:15 -0800 |
---|---|---|
committer | Tom Tsou <tom.tsou@ettus.com> | 2016-03-08 17:45:53 -0800 |
commit | af717b2d3c7fd9197edec715c3c0be70697c591a (patch) | |
tree | 99c4ea5a248fafd0fb62fdbf2a5a2934b558318a | |
parent | 8ee2f38a87df07462467865cde16ab7e7508bd0e (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.cpp | 11 | ||||
-rw-r--r-- | Transceiver52M/Transceiver.h | 3 | ||||
-rw-r--r-- | Transceiver52M/osmo-trx.cpp | 10 |
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(); |