Commit Graph

181 Commits

Author SHA1 Message Date
Kamal Mostafa fd45b5571c minimodem: restrict try_max_nsamples to 75% of a bit-width
... actually 125% of a bit width before acquiring carrier.
2012-09-02 14:27:04 -07:00
Kamal Mostafa 7b0e47ac4e minimodem: --binary-output 2012-09-01 00:09:32 -07:00
Kamal Mostafa a172268117 minimodem: auto get samplerate from audio files 2012-09-02 18:10:59 -07:00
Kamal Mostafa 0f3338a91b minimodem: match sync_byte in the fsk layer 2012-09-02 12:02:06 -07:00
Kamal Mostafa 9187dd60a7 minimodem: --rx same (NOAA SAME protocol) 2012-09-01 13:34:50 -07:00
Kamal Mostafa 04cc215640 minimodem: --sync-byte {0xXX} 2012-09-01 14:54:32 -07:00
Kamal Mostafa 82c72352ab minimodem: --startbits; deprecate -T 2012-09-01 13:33:49 -07:00
Kamal Mostafa e2a51f093a databits: split out the databits implementations
rename framebits to databits
added databits_binary decoder
2012-08-31 21:39:08 -07:00
Kamal Mostafa a7d1602c9d minimodem: calculate frame_bits_{mask,shift} 2012-08-31 20:42:05 -07:00
Kamal Mostafa cbd048aac6 minimodem: bfsk_nstartsbits variable
- FIXME: doesn't actually implement the proper expect_bits string
 - only useful for testing SAME decoder's hardcoded "dddddddd" expect_bits
2012-08-30 16:02:53 -07:00
Kamal Mostafa 7b34e89433 minimodem: --stopbits replaces --txstopbits; better bps metric
RX metrics account for fractional number of stop bits (e.g 1.5);
RX bps metric slightly more accurate (?).
2012-08-30 15:05:33 -07:00
Kamal Mostafa becf16761e minimodem: fsk confidence thresholds: thresh=1.5, limit=2.3
Note: fsk_confidence_thresh can now be reduced to 1.5 due to track_amplitude.
2012-08-26 15:16:49 -07:00
Kamal Mostafa 3447a994b7 minimodem: track_amplitude signal amplitude drop 2012-08-30 00:07:15 -07:00
Kamal Mostafa 1ed3b8465a fsk: confidence algo #6: "SNR * (1-divergence)"
Disabled all the hardcoded noise limiters.
2012-08-24 22:38:41 -07:00
Kamal Mostafa 0c022aca03 minimodem: --rx-one quits after first no-carrier 2012-08-30 10:17:55 -07:00
Kamal Mostafa b480b841da minimodem: --Xrxnoise=factor adds test noise
Injects random noise to input signal (in memory) before analysis.
2012-08-30 00:00:19 -07:00
Kamal Mostafa 6d749c7771 simpleaudio-alsa: enable ALSA soft-resample 2012-08-29 21:26:47 -07:00
Kamal Mostafa dd6040336d minimodem: stats report ampl={amplitude} 2012-08-25 09:17:05 -07:00
Kamal Mostafa f8434f3c94 simple-tone: fix sin() rounding for S16 shorts
- fix sine wave rounding for shorts
 - short epsilon == 1
 - clamp shorts to mag <= 1.0
2012-08-26 12:34:38 -07:00
Kamal Mostafa 762a3ea788 minimodem: --volume sets tx amplitude 2012-08-25 00:32:11 -07:00
Kamal Mostafa 501ee25c7d fsk: expect_bits_string param, no start/stop bits required
fsk_find_frame() takes expect_bits_string  (e.g. "10dddddddd1"), as a
parameter supplied by the caller allowing for encodings which don't use
any start/stop bits (e.g. just "dddddddd").
2012-08-24 13:20:20 -07:00
Kamal Mostafa 6bb683a90b minimodem: fix broken -l switch 2012-08-23 19:23:33 -07:00
Kamal Mostafa e9263c9c9d fsk: fix noise <= EPSILON handling
Handle noise <= EPSILON better; fixes (im)perfect test cases on i386.
2012-08-19 15:58:08 -07:00
Kamal Mostafa 96ec6450bb minimodem: fix size_t %zu warnings on 32-bit platforms 2012-08-19 14:39:14 -07:00
Kamal Mostafa f81f069d95 minimodem: --limit (2.3) sets fsk_confidence_search_limit
Significant performance enhancements from fsk_confidence_search_limit:
runs far fewer FFT's when --limit (default 2.3) is less than INFINITY.
2012-08-18 21:24:01 -07:00
Kamal Mostafa e1b055cf4f fsk: AVOID_TRANSIENTS noise limiter re-enabled
Algo #5 needs this, just as #3 did.
2012-08-18 19:15:33 -07:00
Kamal Mostafa 076343a9c3 fsk: MIN_MAGNITUDE noise limiter 2012-08-18 19:15:07 -07:00
Kamal Mostafa 725355aa43 fsk: performance: do not bzero fftin 2012-08-18 16:52:07 -07:00
Kamal Mostafa bc30de33a4 minimodem: fix carrier_nsamples
All test cases (except 45.45 RTTY) get rate perfect!
2012-08-18 13:43:45 -07:00
Kamal Mostafa 18b1eb7457 minimodem: default confidence = 2.0 for SNR algo #5 2012-08-18 19:19:22 -07:00
Kamal Mostafa cf9ba20ee0 fsk: confidence algo #5 (SNR)
Computes SNR confidence value, where "signal" is the magnitude of the FSK
driven frequency, and "noise" is the magnitude of the non-driven frequency.

(Also includes unused algo #4 code, which may not compile anymore.)
2012-08-14 22:31:30 -07:00
Kamal Mostafa df80c98e22 minimodem: fsk_frame_overscan replaces FSK_SCAN_LAG 2012-08-16 01:03:54 -07:00
Kamal Mostafa 6ee10626c9 simple-tone: use integer mod not fmod 2012-08-15 16:57:39 -07:00
Kamal Mostafa fbc99e54fb simpleaudio: benchmarks cpu id 2012-08-15 12:00:17 -07:00
Kamal Mostafa 1dff8e726f move src/testcases to ./tests 2012-08-15 11:44:26 -07:00
Kamal Mostafa f6c4697cf9 .gitignore files 2012-08-14 13:29:00 -07:00
Kamal Mostafa 8533fd1550 simpleaudio: fix --benchmarks for sizeof(long)==4 platforms 2012-08-14 08:28:36 -07:00
Kamal Mostafa 67eb9821be update copyright dates 2012-08-13 21:51:53 -07:00
Kamal Mostafa 5fb00dd283 self-test: more test cases 2012-08-13 21:19:08 -07:00
Kamal Mostafa d8ed9bef82 self-test: print the test args 2012-08-13 21:17:38 -07:00
Kamal Mostafa a9c2258706 minimodem: use sine lookup table of 1024, or --lut={tx_sin_table_len} 2012-08-13 21:17:03 -07:00
Kamal Mostafa e2225d6098 simple-tone: sin() lookup tables 2012-08-13 21:09:24 -07:00
Kamal Mostafa d273828f80 minimodem: --float-samples: short arg -F deprecated 2012-08-13 15:55:57 -07:00
Kamal Mostafa bd08b9002c minimodem: --benchmarks: runs internal performance tests 2012-08-13 15:51:04 -07:00
Kamal Mostafa 23ecd6f5a7 simpleaudio: benchmark backend 2012-08-13 15:50:04 -07:00
Kamal Mostafa 9948e7c7dd minimodem: --tx uses S16 samples by default, --float-samples overrides 2012-08-12 15:47:59 -07:00
Kamal Mostafa 6671138471 simpleaudio: S16 format handling for backends 2012-08-12 15:39:04 -07:00
Kamal Mostafa a65a20d274 simpleaudio: generalize r/w buf pointer types 2012-08-12 14:39:23 -07:00
Kamal Mostafa 4d326a8c82 simpleaudio: generalized simpleaudio_open_stream 2012-08-12 14:24:55 -07:00
Kamal Mostafa 5dddc1445a simple-tone: generate S16 format samples 2012-08-11 21:19:30 -07:00