aboutsummaryrefslogtreecommitdiff
path: root/src/ofdm_mode.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ofdm_mode.c')
-rw-r--r--src/ofdm_mode.c26
1 files changed, 20 insertions, 6 deletions
diff --git a/src/ofdm_mode.c b/src/ofdm_mode.c
index f92d288..0c616de 100644
--- a/src/ofdm_mode.c
+++ b/src/ofdm_mode.c
@@ -42,6 +42,7 @@ void ofdm_init_mode(char mode[], struct OFDM_CONFIG *config) {
config->state_machine = "voice1";
config->data_mode = "";
config->codename = "HRA_112_112";
+ config->EsNodB = 3.0;
config->clip_gain1 = 2.5;
config->clip_gain2 = 0.8;
config->clip_en = true;
@@ -92,23 +93,36 @@ void ofdm_init_mode(char mode[], struct OFDM_CONFIG *config) {
config->state_machine = "voice2";
config->ftwindowwidth = 64;
config->foff_limiter = true;
- } else if (strcmp(mode, "qam16") == 0) {
- /* not in use yet */
+ } else if (strcmp(mode, "qam16c2") == 0) {
config->ns = 5;
- config->np = 5;
+ config->np = 31;
config->tcp = 0.004;
config->ts = 0.016;
config->nc = 33;
config->bps = 4;
config->txtbits = 0;
- config->nuwbits = 15 * 4;
- config->bad_uw_errors = 5;
- config->ftwindowwidth = 32;
+ config->nuwbits = 42 * 4;
+ assert(config->nuwbits <= MAX_UW_BITS);
+ config->bad_uw_errors = 15;
+ config->ftwindowwidth = 80;
config->state_machine = "data";
config->amp_est_mode = 1;
config->tx_bpf_en = false;
config->clip_en = false;
config->data_mode = "streaming";
+ config->amp_scale = 135E3;
+ config->clip_en = false;
+ config->tx_bpf_en = false;
+ config->rx_bpf_en = false;
+
+ uint8_t uw[] = {1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1,
+ 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0};
+ memset(config->tx_uw, 0, config->nuwbits);
+ memcpy(config->tx_uw, uw, sizeof(uw));
+ memcpy(&config->tx_uw[config->nuwbits - sizeof(uw)], uw, sizeof(uw));
+
+ config->EsNodB = 10;
+ config->codename = "H_16200_9720";
} else if (strcmp(mode, "datac0") == 0) {
config->ns = 5;
config->np = 4;