diff options
author | Mattias Andrée <maandree@member.fsf.org> | 2015-12-16 19:19:24 +0100 |
---|---|---|
committer | Mattias Andrée <maandree@member.fsf.org> | 2015-12-16 19:19:24 +0100 |
commit | 7ec996a38135119b99324d72c3e4939f07d04c1c (patch) | |
tree | 6fa003908ea91215a5fe2a9cf2a949dd0b129537 /src | |
parent | runtime configurable partity settings + you have to opt in for redundancy freq:s, the sound if harsher with it (diff) | |
download | fodtmf-7ec996a38135119b99324d72c3e4939f07d04c1c.tar.gz fodtmf-7ec996a38135119b99324d72c3e4939f07d04c1c.tar.bz2 fodtmf-7ec996a38135119b99324d72c3e4939f07d04c1c.tar.xz |
you can select redundant freq multiple
Signed-off-by: Mattias Andrée <maandree@member.fsf.org>
Diffstat (limited to 'src')
-rw-r--r-- | src/send.c | 17 |
1 files changed, 12 insertions, 5 deletions
@@ -80,6 +80,11 @@ static int use_extra_parity = 0; static int use_redundant_freq = 0; /** + * Frequencies multiple for the redundant frequencies. + */ +static double redundant_freq_mul = 0; + +/** * Data buffer used for error correcting code support. */ static int* data; @@ -148,12 +153,14 @@ static void init_buffers(void) if (use_redundant_freq) for (i = 0; i < N; i++) - buffer[i] = (GENERATE_TONE(low * 1) + GENERATE_TONE(high * 1) + - GENERATE_TONE(low * 4) + GENERATE_TONE(high * 4)) * + buffer[i] = (GENERATE_TONE(low) + + GENERATE_TONE(high) + + GENERATE_TONE(low * redundant_freq_mul) + + GENERATE_TONE(high * redundant_freq_mul)) * (SMAX / 4) - SMIN; else for (i = 0; i < N; i++) - buffer[i] = (GENERATE_TONE(low * 1) + GENERATE_TONE(high * 1)) * + buffer[i] = (GENERATE_TONE(low) + GENERATE_TONE(high)) * (SMAX / 2) - SMIN; } } @@ -390,10 +397,10 @@ int main(int argc, char* argv[]) argv0 = argc ? argv[0] : ""; for (;;) { - r = getopt (argc, argv, "fpr:"); + r = getopt (argc, argv, "f:pr:"); if (r == -1) break; - else if (r == 'f') use_redundant_freq = 1; + else if (r == 'f') use_redundant_freq = 1, redundant_freq_mul = atof(optarg); else if (r == 'p') use_extra_parity = 1; else if (r == 'r') parity = atoi(optarg); else if (r != '?') |