diff --git a/libmobile/sender.c b/libmobile/sender.c index fe2951f..31d1dd0 100644 --- a/libmobile/sender.c +++ b/libmobile/sender.c @@ -281,15 +281,16 @@ void sender_destroy(sender_t *sender) jitter_destroy(&sender->dejitter); } -void sender_set_fm(sender_t *sender, double max_deviation, double max_modulation, double dBm0_deviation, double max_display) +/* set frequency modulation and parameters */ +void sender_set_fm(sender_t *sender, double max_deviation, double max_modulation, double speech_deviation, double max_display) { sender->max_deviation = max_deviation; sender->max_modulation = max_modulation; - sender->dBm0_deviation = dBm0_deviation; + sender->speech_deviation = speech_deviation; sender->max_display = max_display; PDEBUG_CHAN(DSENDER, DEBUG_DEBUG, "Maxium deviation: %.1f kHz, Maximum modulation: %.1f kHz\n", max_deviation / 1000.0, max_modulation / 1000.0); - PDEBUG_CHAN(DSENDER, DEBUG_DEBUG, "Deviation at dBm0 (audio level): %.1f kHz\n", dBm0_deviation / 1000.0); + PDEBUG_CHAN(DSENDER, DEBUG_DEBUG, "Deviation at speech level: %.1f kHz\n", speech_deviation / 1000.0); } static void gain_samples(sample_t *samples, int length, double gain) @@ -361,8 +362,8 @@ cant_recover: /* do pre emphasis towards radio */ if (inst->pre_emphasis) pre_emphasis(&inst->estate, samples[i], count); - /* normal level to frequency deviation of dBm0 */ - gain_samples(samples[i], count, inst->dBm0_deviation); + /* normal level to frequency deviation of speech level */ + gain_samples(samples[i], count, inst->speech_deviation); /* set paging signal */ paging_signal[i] = inst->paging_signal; on[i] = inst->paging_on; @@ -417,8 +418,8 @@ cant_recover: /* loop through all channels */ for (i = 0, inst = sender; inst; i++, inst = inst->slave) { - /* frequency deviation of dBm0 to normal level */ - gain_samples(samples[i], count, 1.0 / inst->dBm0_deviation); + /* frequency deviation of speech level to normal level */ + gain_samples(samples[i], count, 1.0 / inst->speech_deviation); /* rx gain */ if (inst->rx_gain != 1.0) gain_samples(samples[i], count, inst->rx_gain); diff --git a/libmobile/sender.h b/libmobile/sender.h index 746a1d0..a2721f1 100644 --- a/libmobile/sender.h +++ b/libmobile/sender.h @@ -36,7 +36,7 @@ typedef struct sender { /* fm levels */ double max_deviation; /* max frequency deviation */ double max_modulation; /* max frequency modulated */ - double dBm0_deviation; /* deviation of 1000 Hz reference tone at dBm0 */ + double speech_deviation; /* deviation of 1000 Hz reference tone at speech level */ double max_display; /* level of displaying wave form */ /* audio */ @@ -92,7 +92,7 @@ extern int cant_recover; int sender_create(sender_t *sender, const char *kanal, double sendefrequenz, double empfangsfrequenz, const char *audiodev, int use_sdr, int samplerate, double rx_gain, int pre_emphasis, int de_emphasis, const char *write_rx_wave, const char *write_tx_wave, const char *read_rx_wave, const char *read_tx_wave, int loopback, enum paging_signal paging_signal); void sender_destroy(sender_t *sender); -void sender_set_fm(sender_t *sender, double max_deviation, double max_modulation, double dBm0_deviation, double max_display); +void sender_set_fm(sender_t *sender, double max_deviation, double max_modulation, double speech_deviation, double max_display); int sender_open_audio(int latspl); int sender_start_audio(void); void process_sender_audio(sender_t *sender, int *quit, int latspl); diff --git a/libsendevolumenregler/sendevolumenregler.c b/libsendevolumenregler/sendevolumenregler.c index 30b3285..6cc2196 100644 --- a/libsendevolumenregler/sendevolumenregler.c +++ b/libsendevolumenregler/sendevolumenregler.c @@ -38,22 +38,22 @@ /* * Init function * - * abwaerts_dbs = how many dB per second to lower the amplification, if input signal is above dBm0 - * aufwaerts_dbs = how many dB per second to raise the amplification, if input signal is below dBm0 - * maximum_db = limit of the output level above dBm0 + * abwaerts_dbs = how many dB per second to lower the amplification, if input signal is above db0 + * aufwaerts_dbs = how many dB per second to raise the amplification, if input signal is below db0 + * maximum_db = limit of the output level above db0 * minimum_db = below this input level, the amplification is not raised, so it stays constant. - * dbm0_level = target level to be treated as 0 dB + * db0_level = target level to be treated as 0 dB * * Hopefully this is correct * */ -void init_sendevolumenregler(sendevolumenregler_t *state, double samplerate, double abwaerts_dbs, double aufwaerts_dbs, double maximum_db, double minimum_db, double dbm0_level) +void init_sendevolumenregler(sendevolumenregler_t *state, double samplerate, double abwaerts_dbs, double aufwaerts_dbs, double maximum_db, double minimum_db, double db0_level) { memset(state, 0, sizeof(*state)); state->peak = 1.0; state->envelope = 1.0; - state->dbm0_level = dbm0_level; + state->db0_level = db0_level; state->step_down = pow(db2level(abwaerts_dbs), 1.0 / samplerate); state->step_up = pow(db2level(aufwaerts_dbs), 1.0 / samplerate); state->maximum_level = db2level(maximum_db); @@ -72,10 +72,10 @@ void init_sendevolumenregler(sendevolumenregler_t *state, double samplerate, dou */ void sendevolumenregler(sendevolumenregler_t *state, sample_t *samples, int num) { - double value, peak, envelope, step_up, step_down, maximum_level, minimum_level, dbm0_level; + double value, peak, envelope, step_up, step_down, maximum_level, minimum_level, db0_level; int i; - dbm0_level = state->dbm0_level; + db0_level = state->db0_level; step_up = state->step_up; step_down = state->step_down; maximum_level = state->maximum_level; @@ -84,8 +84,8 @@ void sendevolumenregler(sendevolumenregler_t *state, sample_t *samples, int num) envelope = state->envelope; for (i = 0; i < num; i++) { - /* normalize sample value to dbm0_level level */ - value = *samples / dbm0_level; + /* normalize sample value to db0_level level */ + value = *samples / db0_level; /* 'peak' is the level that raises directly with the value * level, but falls as specified by step_up. */ @@ -106,7 +106,7 @@ void sendevolumenregler(sendevolumenregler_t *state, sample_t *samples, int num) if (peak / envelope > maximum_level) envelope = peak / maximum_level; - *samples++ = value / envelope * dbm0_level; + *samples++ = value / envelope * db0_level; } state->envelope = envelope; diff --git a/libsendevolumenregler/sendevolumenregler.h b/libsendevolumenregler/sendevolumenregler.h index 2bc916b..5d21049 100644 --- a/libsendevolumenregler/sendevolumenregler.h +++ b/libsendevolumenregler/sendevolumenregler.h @@ -6,9 +6,9 @@ typedef struct sendevolumenregler { double step_down; double minimum_level; double maximum_level; - double dbm0_level; + double db0_level; } sendevolumenregler_t; -void init_sendevolumenregler(sendevolumenregler_t *state, double samplerate, double abwaerts_dbs, double aufwaerts_dbs, double maximum_db, double minimum_db, double dbm0_level); +void init_sendevolumenregler(sendevolumenregler_t *state, double samplerate, double abwaerts_dbs, double aufwaerts_dbs, double maximum_db, double minimum_db, double db0_level); void sendevolumenregler(sendevolumenregler_t *state, sample_t *samples, int num);