Afskmodem: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Dl1nux (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Dl1nux (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
| Zeile 1: | Zeile 1: | ||
== Über afskmodem == | |||
afskmodem ist ein leistungsfähiger Zweiwege Multichannel und Multibaud Dekoder/Enkoder für AFSK/FSK AX.25 paketbasierte Datenübertragung (Packet Radio, APRS). | |||
* Die Kommunikation mit einem Digi bzw. iGate erfolgt im AXUDP Format | |||
* Audioquelle bzw- ziel können jedes OSS Soundsystem, aber auch Dateien sein (auch Audiopipes). | |||
* Für reine RX-Systeme kann afskmodem zusammen mit rtl_tcp und [[sdrtst]] auch mit gewöhnlichen USB RTL SDR-Sticks verwendet werden (z.B. RX only iGate) | |||
== Kurzübersicht der Parameter == | |||
<nowiki> | <nowiki> | ||
afskmodem -h | afskmodem -h | ||
| Zeile 68: | Zeile 76: | ||
-z <num> fsk rx baseband dc regeneration clamp speed (996) (0=off, 1=fast, 999=slow) | -z <num> fsk rx baseband dc regeneration clamp speed (996) (0=off, 1=fast, 999=slow) | ||
example: ./afskmodem -f 22050 -c 2 -C 0 -p /dev/ttyS0 0 -M 0 -c 0 -b 1200 -M 1 -c 1 -b 9600 -a -g -U 127.0.0.1:6001:1093 | example: ./afskmodem -f 22050 -c 2 -C 0 -p /dev/ttyS0 0 -M 0 -c 0 -b 1200 -M 1 -c 1 -b 9600 -a -g -U 127.0.0.1:6001:1093 | ||
</nowiki> | </nowiki> | ||
== Ausführliche Beschreibung der Parameter == | |||
== Konfigurationsbeispiele == | |||
=== SDR mit Einkanalempfang === | |||
=== SDR mit Zweikanalempfang === | |||
Version vom 20. September 2020, 19:03 Uhr
Über afskmodem
afskmodem ist ein leistungsfähiger Zweiwege Multichannel und Multibaud Dekoder/Enkoder für AFSK/FSK AX.25 paketbasierte Datenübertragung (Packet Radio, APRS).
- Die Kommunikation mit einem Digi bzw. iGate erfolgt im AXUDP Format
- Audioquelle bzw- ziel können jedes OSS Soundsystem, aber auch Dateien sein (auch Audiopipes).
- Für reine RX-Systeme kann afskmodem zusammen mit rtl_tcp und sdrtst auch mit gewöhnlichen USB RTL SDR-Sticks verwendet werden (z.B. RX only iGate)
Kurzübersicht der Parameter
afskmodem -h
first for all modems
-a abort on sounddevice error else retry to open
-b <num> tx dacbuffers (10) (more to avoid underruns)
-B bad sound driver repair, sending continuous quietness to avoid receive
sample loss on start/stop of sound output. Use for stereo or fullduplex)
-c <num> maxchannels (1) (1=mono, 2=stereo)
-D <filename> (debug) write raw soundcard input data to file or pipe
-D <filename>.txt (debug) write demodulated bits as "01.." to file or pipe
-e <num> additional ptt hold time (if soundsystem has delay) unit=adcbuffers (1)
-f <num> adcrate (16000) (8000..96000)
-h help
-i <filename> kiss pipename (/dev/kiss/soundmodem)
-k <num> tx kiss bufs (60)
-l <num> adcbuffer length (256) more: lower system load but slower reaction
-m [<mixername>:]<channel>:<left>:<right> (0..255) ossmixer (/dev/mixer)
-o <filename> oss devicename (/dev/dsp)
-o <infilename,outfilename> /dev/stdin,outpipe (mknod outpipe p)
for play/rec with sox use -B as sox/alsa can only continuous sound
play -r 16000 -t raw -e signed-integer -c 1 -b 16 --buffer 1000 -q
rec -r 16000 -t raw -c 1 -b 16 -q - | afskmodem -B -f 16000 -o /dev/stdin,outpipe ...
make PTT with VOX as io-bits are not synchrone to sound with variable delay
-s <num> fragment size in 2^n (9)
repeat for each channel -C ... :
-C <num> (0..1) channel parameters follow (repeat for each channel)
-p <devname> <pttbit> pttport and bit to switch
* /dev/ttyXX for serial
* /dev/parport0 for parallel
* gpio for kernel gpio-interface
choose value for <pttbit>:
* tty: 0=RTS, 1=DTR
* parport: 0...7 / -0...-7 (inverted)
-u close ptt-tty file between switch actions, may not work on USB tty
-f <num> (0) (0=halfduplex, 1=master fullduplex, 2=all fullduplex,
3=simplex 'stereo never both tx same time')
-g <ms> GM900 audio quiet time after ptt on (0)
-r <num> max random wait time after dcd before start tx (ms) (800)
repeat for each modem -M ... :
-M <num> (0..7) modem parameters follow (repeat for each modem)
-a afsk off, fsk on (on)
-b <num> baud (1200) (1..32000)
-B <kbyte> send BERT, (negative bytes receive only)
-c <num> use stereo channel 0=left (or mono), 1=right
-d <num> dcdlevel, 0 no dcd (56) (0..100)
-e <num> demod equalizer (0) 100=6db/oct highpass (-999..999)
-f <num> afsk mid frequency, tx and rx (hz) (1700)
-g g3ruh scrambler on (off)
-H <num> afsk tx highpass (0) (0..100)
-i ignore modem parameters from kiss (off)
-k <num> received data send to this kiss port (0) (0..7)
-m <num> monitor (2) (0=off, 1=header, 2=all, 3=passall)
-n <num> nyquist filter baseband -6db point in % of baudrate (65) (0..100)
-P same as -U but use AXUDP v2, send dcd and txbuffer empty messages
-p <num> receive clock pll aquisition speed (16) (num/256 of bit time)
-q <num> quiet adc level to save cpu or avoid reciption of channel crosstalk (0)
-s <num> afsk shift tx (for rx bandfilter width) (1000) (hz)
-t <num> txdelay (300) (ms)
-T <seconds> timeout for tx buffered frame (60) (s)
-U <[x.x.x.x]:destport:listenport> use axudp instead of kiss /listenport check ip
-L same as -U but use AXUDP v2 (no dcd and txbuffer empty messages)
-v <num> tx loudness (100)
-w <num> txdelay pattern before 1 flag (126) (0..255)
-x <num> txtail (20) (ms), ptt hold for fullduplex
-z <num> fsk rx baseband dc regeneration clamp speed (996) (0=off, 1=fast, 999=slow)
example: ./afskmodem -f 22050 -c 2 -C 0 -p /dev/ttyS0 0 -M 0 -c 0 -b 1200 -M 1 -c 1 -b 9600 -a -g -U 127.0.0.1:6001:1093