Commit Graph

264 Commits

Author SHA1 Message Date
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
Kamal Mostafa 3053ea78bc simpleaudio: SA_SAMPLE_FORMAT framework 2012-08-11 21:00:37 -07:00
Kamal Mostafa 39bee9adf1 simpleaudio: get_framesize 2012-08-11 20:40:20 -07:00
Kamal Mostafa 07a8ca158b testcases: test-10-verify-perfect 2012-08-11 18:22:43 -07:00
Kamal Mostafa ae6d387d2d self-test: rename testcases 2012-08-11 16:31:05 -07:00
Kamal Mostafa f3a9337f8d self-test: change arg order 2012-08-11 16:25:51 -07:00
Kamal Mostafa 8d90e839d7 minimodem: --samplerate sets the audio sample rate 2012-08-11 10:24:28 -07:00
Kamal Mostafa 22317f54fc simpleaudio: handle any audio sample rate 2012-08-11 10:07:12 -07:00
Kamal Mostafa 500208ba81 simpleaudio-alsa: do not allow soft_resample 2012-08-11 10:28:20 -07:00
Kamal Mostafa b78828ea11 minimodem: usage message fix 2012-08-08 20:18:52 -07:00
Kamal Mostafa 4b926d58bb minimodem: --alsa selects ALSA at runtime
./configure now enables --with-pulseaudio and --with-alsa by default;
either can be disabled.

minimodem --alsa: uses ALSA at runtime instead of the default PulseAudio.
2012-08-08 20:10:55 -07:00
Kamal Mostafa 445156dfa0 minimodem: man page cleanup 2012-08-08 19:58:05 -07:00
Kamal Mostafa d1f8966ff1 simpleaudio-alsa: correct comments 2012-08-08 18:56:01 -07:00
Kamal Mostafa 7cb56487f8 simpleaudio-alsa: do not fiddle with sw params at all 2012-08-08 18:53:24 -07:00
Kamal Mostafa 2baf78cba6 simpleaudio-alsa: use default latency, not minimum 2012-08-08 18:35:11 -07:00
Kamal Mostafa deed39904d simpleaudio-alsa: loop in the sa_ routine; fix xruns 2012-08-08 16:24:44 -07:00
Kamal Mostafa 95d7a87ce1 minimodem: configure --with-alsa for ALSA instead of Pulseaudio 2012-08-08 14:26:39 -07:00
Kamal Mostafa e01ccb1d71 simpleaudio: alsa back-end 2012-08-08 14:25:53 -07:00
Kamal Mostafa 7d8c62cf5e configure: new opts --without-{pulseaudio,sndfile}
./configure --without-pulseaudio or --without-sndfile (but not both)
to preclude those dependencies.

Sources use config.h defines USE_PULSEAUDIO and USE_SNDFILE.
2012-08-06 13:14:26 -07:00
Kamal Mostafa 03396e7027 configure: autoreconf update to autoconf 2.6.8
aclocal 1.11.3
autoconf 2.68
automake 1.11.3
2012-08-06 14:11:50 -07:00
Kamal Mostafa 777b57dd3a minimodem: do not do interactive signal handling with --tx --file 2011-07-15 20:37:13 -07:00
Kamal Mostafa e5e620ed95 minimodem-0.8-1 2011-07-15 19:33:50 -07:00
Kamal Mostafa 5c849bfca3 minimodem: man page enhancements 2011-07-15 19:17:31 -07:00
Kamal Mostafa 93405a3751 minimodem: default 1.5 stop bits for rtty only 2011-07-15 19:00:20 -07:00
Kamal Mostafa 2efe4bac19 minimodem: set reasonable default mark/space for high baud rates 2011-07-15 17:56:02 -07:00
Kamal Mostafa 7686acc38e minimodem: transmit interactive zero latency; fix leader/trailer 2011-07-13 20:37:17 -07:00
Kamal Mostafa 836475faa3 simpleaudio: zero pulseaudio playback latency 2011-07-13 20:35:45 -07:00
Kamal Mostafa 79344a03dd simpleaudio: zero pulseaudio capture latency 2011-07-10 12:34:44 -07:00
Kamal Mostafa ccf9459ac2 man: recommend --auto-carrier with rtty 2011-07-08 18:13:24 -07:00
Kamal Mostafa 9a85232c96 minimodem: --quiet 2011-07-08 18:08:52 -07:00
Kamal Mostafa 695c628427 minimodem: --auto-carrier off by default
No longer on by default for <= 300 baud.
2011-07-08 17:42:19 -07:00
Kamal Mostafa 633153916b minimodem: --confidence param 2011-07-08 13:16:06 -07:00
Kamal Mostafa 7a5aea88df minimodem: rate analysis fixes ("rate perfect")
adjust MIN_CONFIDENCE
2011-07-08 13:03:00 -07:00
Kamal Mostafa bca34371e1 fsk: do not consider the stop bit twice 2011-07-08 13:00:50 -07:00
Kamal Mostafa 9efb04cb8c tests: use -T 1 to check for rate perfect 2011-07-08 11:53:50 -07:00
Kamal Mostafa 47ced96ccf minimodem: version message to stdout 2011-07-08 09:48:52 -07:00
Kamal Mostafa da141a008e tests: make case 02 shorter 2011-07-08 09:26:52 -07:00
Kamal Mostafa 726b284afc minimodem: CARRIER_AUTODETECT_THRESHOLD reduced to 0.001 2011-07-08 09:26:25 -07:00
Kamal Mostafa 25e6e41939 fsk: no FSK_MIN_STRENGTH limitation 2011-07-08 09:26:02 -07:00
Kamal Mostafa 1aafe0022b self-test: MINIMODEM env var 2011-07-08 08:53:06 -07:00
Kamal Mostafa 845c3e1be6 fsk: CONFIDENCE_ALGO 3 (worst divergence)
CONFIDENCE_ALGO 3 (worst divergence):
 - single worst diverging bit in the frame
 - amplitude normalized
 - drop AVOID_TRANSIENT
2011-07-08 08:03:31 -07:00
Kamal Mostafa cb3e81e576 fsk debug 2011-07-08 07:31:54 -07:00
Kamal Mostafa fd0546d80d fsk expect_bits 2011-07-07 13:31:10 -07:00
Kamal Mostafa e02172087c simpleaudio: improve open err msg 2011-07-03 08:59:15 -07:00
Kamal Mostafa 2a5307e698 man page cleanup 2011-07-03 08:48:47 -07:00
Kamal Mostafa 8161a48e10 minimodem: add --version switch 2011-07-02 14:22:06 -04:00
Kamal Mostafa 0e394389e1 minimodem self-test: use .wav
Use .wav instead of .flac in self-test, since libsndfile in Ubuntu
Maverick and earlier writes .flac files that it cannot itself read
(flac length unknown).
2011-06-23 23:47:46 -07:00
Kamal Mostafa 50864fd556 simpleaudio: tx file extension sets audio format 2011-06-23 23:46:18 -07:00
Kamal Mostafa b1a0a0f7c1 cleanup 2011-06-23 23:06:46 -07:00
Kamal Mostafa 2d1310febf reduce FSK_MIN_STRENGTH to 0.005 2011-06-23 23:05:35 -07:00
Kamal Mostafa 702c0be223 minimodem licenced as GPL3+ 2011-06-22 17:10:50 -07:00
Kamal Mostafa 8bfbfad5dd minimodem.1 man page 2011-06-22 16:10:31 -07:00
Kamal Mostafa 57ad1bb021 build: omit -Werror 2011-06-22 13:55:57 -07:00
Kamal Mostafa 6a00252c42 minimodem: default --txstopbits 1.5 for RTTY 2011-06-22 13:43:49 -07:00
Kamal Mostafa 27bc5f5ca7 minimodem --txstopbits M.N variable stop bits 2011-06-22 13:43:24 -07:00
Kamal Mostafa 1b764faa5b simpleaudio_tone: handle any duration 2011-06-22 11:14:01 -07:00
Kamal Mostafa 3a22116159 fsk: new confidence algo 2011-06-22 10:06:19 -07:00
Kamal Mostafa 2b014b50fb fsk_find_frame: search across an entire bit 2011-06-21 22:30:37 -07:00
Kamal Mostafa 65d0232c46 minimodem: make leader tone 2.0 bits long 2011-06-21 20:28:17 -07:00
Kamal Mostafa 243af5da56 fsk: floating point band_width 2011-06-21 20:27:51 -07:00
Kamal Mostafa 8ba07cb81a make check: runs testcases/ 2011-06-21 20:26:00 -07:00
Kamal Mostafa 12565ff39a minimodem: reduce FSK_SCAN_LAG to 0.4 for improved decode 2011-06-21 16:09:44 -07:00
Kamal Mostafa 32141d17d9 make test: run self tests 2011-06-21 16:06:11 -07:00
Kamal Mostafa e1b8082e4c minimodem cleanup 2011-06-21 14:01:16 -07:00
Kamal Mostafa 118722249b minimodem: allow for band_width > bfsk_data_rate 2011-06-21 12:20:11 -07:00
Kamal Mostafa 1ab9d2783c minimodem: rx rate measurement 2011-06-21 12:18:33 -07:00
Kamal Mostafa 9002cf2694 fsk: confidence considers start/stop bits 2011-06-21 12:13:47 -07:00
Kamal Mostafa 15bb83ee9b minimodem: fix segfault on unrecognized option 2011-06-20 19:18:38 -07:00
Kamal Mostafa 8e6c3abc2c remove testdata/ from src dist 2011-06-20 10:34:37 -07:00
Kamal Mostafa 7e01e77d5e minimodem cmdline options reorg 2011-06-20 10:22:11 -07:00
Kamal Mostafa 38fa4c71a4 self-test script 2011-06-19 09:41:19 -07:00
Kamal Mostafa 5c281ad28f simpleaudio-sndfile file write 2011-06-19 09:40:49 -07:00
Kamal Mostafa 2a7f8214df minimodem -T rtty (baudot RTTY transmit) 2011-06-18 21:03:20 -07:00
Kamal Mostafa 286879cfb3 baudot cleanup 2011-06-18 11:55:48 -07:00
Kamal Mostafa e36594ca47 minimodem cleanup 2011-06-18 11:47:58 -07:00
Kamal Mostafa 952962dde3 minimodem -T stdin transmitter 2011-06-18 11:29:48 -07:00
Kamal Mostafa b7338563a7 simpleaudio tone generator 2011-06-18 11:29:00 -07:00
Kamal Mostafa 31eb95afe8 simpleaudio: sa_stream_direction 2011-06-17 14:21:31 -07:00
Kamal Mostafa 775ef649e1 fsk_bits_analyze / fsk_frame_analyze rework
- confidence calc only uses data bits metrics (for good or ill)
2011-06-12 12:42:08 -07:00
Kamal Mostafa 1bfd5ada5b fix nbytes= output label s.b. ndata= 2011-06-12 08:59:27 -07:00
Kamal Mostafa 1739f7bfd6 frame_process virtualized 2011-06-12 08:42:19 -07:00
Kamal Mostafa 67b9fa68c9 switch test .wav files to .flac 2011-06-10 21:17:53 -07:00
Kamal Mostafa 35f03b742e minimodem: rtty and cmdline band_width
* 'rtty' cmdline parm enables 45.45 baud 5-bit Baudot
 * band_width cmdline parm
2011-06-10 18:09:47 -07:00
Kamal Mostafa 8a6847195e minimodem: f.p. decode_rate and more
* floating point decode_rate
 * switch cmdline argument order
 * other misc
2011-06-10 18:19:40 -07:00
Kamal Mostafa e7b16118e4 fsk: respect n_data_bits 2011-06-10 16:19:11 -07:00
Kamal Mostafa 9481667c16 test suite restructure 2011-06-10 18:03:52 -07:00
Kamal Mostafa 439b606a97 minimodem 0.2.0 2011-06-08 14:00:22 -07:00
Kamal Mostafa 54f8efde20 minimodem: use fsk.h API 2011-06-08 13:21:12 -07:00
Kamal Mostafa 188b899bb0 simpleaudio: read returns ssize_t to allow for -1 2011-06-07 16:31:26 -07:00
Kamal Mostafa 35121ab63c fsk: move advance to top of loop 2011-06-06 21:36:23 -07:00
Kamal Mostafa 0509066f34 fsk cleanup 2011-06-06 21:33:50 -07:00
Kamal Mostafa 69a4cddd3e run-test cleanup 2011-06-06 21:28:14 -07:00
Kamal Mostafa 336a057233 fsk: carrier autodetect for 300 baud 2011-06-05 12:10:59 -07:00
Kamal Mostafa 2ea1085b45 fsk cleanup 2011-06-05 08:49:06 -07:00
Kamal Mostafa cd6ab7f77d fsk: noconfidence_bits increase to 20
... and probably should be set even higher, to allow for even longer
idle-bit (stop-bit) periods.
2011-06-05 08:44:47 -07:00
Kamal Mostafa 3522182394 fsk new confidence equation 2011-06-04 16:31:26 -07:00
Kamal Mostafa 1e96d42d16 fsk_bit_analyze refactor 2011-06-04 15:55:22 -07:00
Kamal Mostafa 0e888d2bf2 fsk cleanup 2011-06-04 14:41:41 -07:00
Kamal Mostafa 08654e8466 fsk: AVOID_TRANSIENTS allows for miniscule FSK_MIN_CONFIDENCE 2011-06-04 14:15:54 -07:00
Kamal Mostafa 71baa6f916 fsk cleanup 2011-06-04 11:56:26 -07:00
Kamal Mostafa 5f538ed54d run-test 2011-06-04 09:57:42 -07:00
Kamal Mostafa b73f7fb5b8 fsk: cleanup 2011-06-04 09:57:33 -07:00
Kamal Mostafa 80c8a62073 fsk: multibit decoder 2011-06-03 23:26:00 -07:00
Kamal Mostafa c790603bf6 use hypotf 2011-06-03 17:30:08 -07:00
Kamal Mostafa d93537d128 minimodem decode_filter_width = decode_rate
This doesn't really seem to help anything.
2011-05-30 20:23:32 -07:00
Kamal Mostafa e5fb5f4b75 minimodem: NRZI code (not enabled) 2011-05-30 18:57:19 -07:00
Kamal Mostafa e43deedd44 minimodem cd tweaks: perfect 300, perfect 1200 2011-05-30 18:55:05 -07:00
Kamal Mostafa 09083fc035 minimodem 300 baud band_width=50 2011-05-30 18:54:02 -07:00
Kamal Mostafa 5a29fbf1a6 simpleaudio fix pulse read return 2011-05-30 15:24:34 -07:00
Kamal Mostafa f750e47e5e minimodem run 2% fast 2011-05-30 15:23:01 -07:00
Kamal Mostafa d74cb0eea0 minimodem CD tweaks 2011-05-30 10:42:49 -07:00
Kamal Mostafa fe52354af9 minimodem fix bugged shift calcs 2011-05-30 10:21:16 -07:00
Kamal Mostafa 0a47a37a06 minimodem: use simpleaudio 2011-05-29 22:22:20 -07:00
Kamal Mostafa fe4b47af20 simpleaudio: pulseaudio and libsndfile backends 2011-05-29 22:20:28 -07:00
Kamal Mostafa bc9c6234c7 minimodem cleanup 2011-05-29 12:57:15 -07:00
Kamal Mostafa 1ba9f7aa6f minimodem catch-up shift just 1 frame 2011-05-29 12:52:23 -07:00
Kamal Mostafa d1ce25db02 minimodem auto-set tones per baud-rate 2011-05-29 12:44:10 -07:00
Kamal Mostafa f9085e84cb minimodem cosmetics 2011-05-29 12:41:36 -07:00