Sdrtst: Unterschied zwischen den Versionen

Aus DXL-Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Zeile 88: Zeile 88:
| a <number>|| Maximale Anzahl an Empfängern um die CPU Last zu begrenzen.
| a <number>|| Maximale Anzahl an Empfängern um die CPU Last zu begrenzen.
|-
|-
| B <samples>|| sound samples sent at once. With UDP take care: double number of bytes with 16bit PCM
| B <samples>|| Gleichzeitig gesendete sound samples. Mit UDP aufgepasst: doppelte Anzahl an Bytes mit 16 bit PCM.
|-
|-
| c <configfilename>|| Lese channel Konfiguration aus einer Datei, z.B. [[sdrcfg.txt]].
| c <configfilename>|| Lese channel Konfiguration aus einer Datei, z.B. [[sdrcfg.txt]].
Zeile 108: Zeile 108:
| m <audiochannels>|| mix up/down all rx channels to 1 or 2 audiochannels (mono/stereo) for 2 channels the rx audios will be arranged from left to right. WAV-Header will be preceded (UDP with header may be lost).
| m <audiochannels>|| mix up/down all rx channels to 1 or 2 audiochannels (mono/stereo) for 2 channels the rx audios will be arranged from left to right. WAV-Header will be preceded (UDP with header may be lost).
|-
|-
| N <x.x.x.x:destport>|| send Noise (Squelch) table in UDP to Scanner Scripts (may be repeatet)
| N <x.x.x.x:destport>|| Sende Rauschtabelle (Squelch) in UDP zu Scanner Scripts (kann wiederholt werden)
|-
|-
| O <Hz>|| Verändert die Mittenfrequenz des SDR um den Wert O Hz um den ADC-DC Störträger zu verschieben. Standard = 10000 Hz = 10 KHz.
| O <Hz>|| Verändert die Mittenfrequenz des SDR um den Wert O Hz um den ADC-DC Störträger zu verschieben. Standard = 10000 Hz = 10 KHz.
Zeile 122: Zeile 122:
| S <soundfilename> or <ip:port>|| Quelle eines 8bit n-Kanal Audiostreams (z.B. Pipe, UDP).
| S <soundfilename> or <ip:port>|| Quelle eines 8bit n-Kanal Audiostreams (z.B. Pipe, UDP).
|-
|-
| T <mhz>|| Tune manual to center of iq-band (for iq-data from file) (0)
| T <mhz>|| Tune manuell zur Mitte des IQ-Bandes (für IQ-Daten aus einer Datei)) (0)
|-
|-
| t <url:port>|| Verbindung zum rtl_tcp Server. Standard = 127.0.0.1:1234.
| t <url:port>|| Verbindung zum rtl_tcp Server. Standard = 127.0.0.1:1234.

Version vom 6. Februar 2021, 18:27 Uhr

!!! Wiki Artikel ist noch in Arbeit !!!

Beschreibung von sdrtst

sdrtst ist ein AM/FM/SSB Empfänger für rtl_tcp. Es können beliebig viele parallele Empfangskanäle erzeugt werden, welche sich innerhalb des Frequenzbereiches (Samplerate) des SDR-Empfängers befinden. Frequenzen, Modulationsarten und weitere Parameter werden in einer Konfigurationsdatei sdrcfg.txt abgelegt, welche jederzeit, also auch im laufenden Betrieb, geändert werden kann. Die Ausgabe erfolgt als Audiostream, entweder in eine lokale Audiopipe (mknod pipename p)oder per UDP-Stream auf einen anderen Rechner. Es kann auch stdout/stdin für den lokalen Transport des Streams benutzt werden, anstatt mit einer Audiopipe.

Übersicht der Parameter

sdrtst -h

AM/FM/SSB Multirx from rtl_tcp (8 bit IQ via tcpip or file) to audio channel(s) 8/16 bit PCM by oe5dxl
 -A <soundfilename> or <ip:port> ALAW (G.711) n-channel sound stream/pipe/UDP
 -a <number>         maximum active rx to limit cpu load, if number is reached,
                       no more inactive rx will listen to become active
 -B <samples>        sound samples sent at once. With UDP take care: double number of bytes with 16bit PCM
 -c <configfilename> read channels config from file (sdrcfg.txt)
 -c <ip:port>        read channels config from UDP, if ip=0.0.0.0 accept any ip
 -d <Hz>             downsample output to Hz
 -e                  enable sending SDR Data hidden in audio channels (tune/afc/rssi..)
 -h                  help
 -i <Hz>             input sampelrate Hz 1024000 or 2048000..2500000 (2048000)
                       if >2048000, AM/FM-IF-width will increase proportional
 -k                  keep connection, reconnect lost connection to rtl_tcp server
 -L <x.x.x.x:destport> send Level table in UDP to Waterfall Viewers (may be repeatet)
 -m <audiochannels>  mix up/down all rx channels to 1 or 2 audiochannels (mono/stereo)
                      for 2 channels the rx audios will be arranged from left to right
                      WAV-Header will be preceded (UDP with header may be lost
 -N <x.x.x.x:destport> send Noise (Squelch) table in UDP to Scanner Scripts (may be repeatet)
 -O <Hz>             moves center freq. away from used band to avoid ADC-DC-offset noise (10000)
 -o <mhz>            offset for entered frequencies if Converters are used
 -p <cmd> <value>    send rtl_tcp parameter, ppm, tunergain ...
 -r <Hz>             output sampelrate Hz for all channels 8000..192000 (16000)
                       for FM min. 25% more than rx IF-width
 -s <soundfilename> or <ip:port> 16bit signed n-channel sound stream/pipe/UDP
 -S <soundfilename> or <ip:port> 8bit unsigned n-channel sound stream/pipe/UDP
 -T <mhz>            Tune manual to center of iq-band (for iq-data from file) (0)
 -t <url:port>       connect rtl_tcp server (127.0.0.1:1234)
 -t <filename:0>     read iq-data from file
 -v                  show rssi (dB) and afc (khz)
 -w <ms>             max stay awake (use CPU) time after squelch close (2000)
 -z <ms>             sleep time (no cpu) for inactive rx if squelch closed (-z 100)
 -Z <ms>             same but fast open with no audio quieting for sending
                      to decoders and not human ears
example: ./sdrtst -k -s /dev/stdout -t 127.0.0.1:1234 -c up.txt -i 2048000 -r 16000 -m 2 -v | aplay
           will mix up/down any channels to stereo and play on alsa
         ./sdrtst -k -s /dev/stdout -t 127.0.0.1:1234 -c up.txt -i 2048000 -r 16000 -v | ./afskmodem -o /dev/stdin -s 16000 -c 2 -M 0 -c 0 -M 1 -c 1
           with 2 frequencies in up.txt will listen to PR/APRS on 2 channels
         nc -l -u -p 7000 | sox -t wav - -t alsa
         ./sdrtst -k -A 127.0.0.1:7000 -m 1 -d 8000 -t 127.0.0.1:1234 -c 0.0.0.0:7001 -i 2048000 -r 16000 -v
         echo -e "f 438.55 5 80 80\nf 439.3 5 80 80" | nc -u 127.0.0.1 7001
           for A-LAW compressed sound via UDP and remote control via UDP

config file: (re-read every some seconds and may be modified any time)
  # comment
  p <cmd> <value>  rtl_tcp parameter like 'p 5 50' ppm, 'p 8 1' autogain on
  f <mhz> <AFC-range> <squelch%> <lowpass%>  <IF-width>  FM Demodulator
  a <mhz>  0          <squelch%> <lowpass%>  <IF-width>  AM Demodulator
  u <mhz> <IF-shift>   0         <agc speed> <IF-width>  USB Demodulator
  l same for LSB
    AFC-range in +-kHz, Squelch 0 off, 100 open, 70 may do
    audio lowpass in % Nyquist frequ. of output sampelrate, 0 is off
    IF-width 3000 6000 12000 24000 48000 96000 192000Hz for low CPU usage
    (192000 only with >=2048khz iq-rate), (4th order IIR)
    (SSB 8th order IF-IIR), OTHER values with MORE CPU-load (12000 default)

  example:
    p 5 50
    p 8 1
    f 438.825   5   75 70         (afc, quelch, audio lowpass, 12khz IF)
    f 439.275   0   0  80 20000   (20khz IF, uses more CPU)
    u 439.5001 -700 0  0  600     (USB with 600Hz CW-Filter at 800Hz

  will generate 3 channel 16bit PCM stream (up to 64 channels with -z or -Z)
  use max. 95% of -i span. rtl-stick will be tuned to center of the span
  rx in center of band will be +-10khz relocated to avoid ADC-DC offset pseudo
  carriers, SSB-only will be relocated 10..210khz to avoid inexact tuning steps

    f 100.1 0 0 15 96000          (WFM with "-r 192000 -d 44100" for 1 channnel 44100hz

Ausführliche Beschreibung der Parameter

Parameter Beschreibung
A <soundfilename> or <ip:port> Quelle eines n-Kanal Audiostreams (z.B. Pipe, UDP) im Format ALAW (G.711).
a <number> Maximale Anzahl an Empfängern um die CPU Last zu begrenzen.
B <samples> Gleichzeitig gesendete sound samples. Mit UDP aufgepasst: doppelte Anzahl an Bytes mit 16 bit PCM.
c <configfilename> Lese channel Konfiguration aus einer Datei, z.B. sdrcfg.txt.
c <ip:port> Lese Channel Konfiguration per UDP. Wenn ip=0.0.0.0 werden Informationen von jeder Quell-IP zugelassen.
d <Hz> Downsampling des Outputs auf d Hz.
e Aktiviere das versteckte Senden von SDR Informationen im Audiostream (Freuqenz/AFC/Feldstärke etc.)
h Hilfetext
i <Hz> Abtastfrequenz (samplerate) des Inputs in Hz. Standard = 2048000
1024000 oder 2048000..2500000
Wenn i > 2048000, erhöht sich die AM/FM-ZF-Bandbreite proportional.
k Verbindung halten. Wenn die Verbindung zum rtl_tcp Server abbricht, wird eine Wiederverbindung versucht.
L <x.x.x.x:destport> send Level table in UDP to Waterfall Viewers (may be repeatet)
m <audiochannels> mix up/down all rx channels to 1 or 2 audiochannels (mono/stereo) for 2 channels the rx audios will be arranged from left to right. WAV-Header will be preceded (UDP with header may be lost).
N <x.x.x.x:destport> Sende Rauschtabelle (Squelch) in UDP zu Scanner Scripts (kann wiederholt werden)
O <Hz> Verändert die Mittenfrequenz des SDR um den Wert O Hz um den ADC-DC Störträger zu verschieben. Standard = 10000 Hz = 10 KHz.
o <mhz> Frequenzoffset für die angegebene Frequenzen. Dies wird bei der Nutzung von Konvertern benötigt.
p <cmd> <value> Sende Parameter an rtl_tcp, z.B. ppm, tunergain ...
r <Hz> Ausgangs-Abtastfrequenz (Sampelrate) in Hz für alle Kanäle. Mögliche Werte 8000..192000. Standard = 16000. Für FM muss die Abtastrate mindestens 25% höher sein als die in der sdrcfg.txt angegebene ZF-Bandbreite des Kanals.
s <soundfilename> or <ip:port> Quelle eines 16bit n-Kanal Audiostreams (z.B. Pipe, UDP).
S <soundfilename> or <ip:port> Quelle eines 8bit n-Kanal Audiostreams (z.B. Pipe, UDP).
T <mhz> Tune manuell zur Mitte des IQ-Bandes (für IQ-Daten aus einer Datei)) (0)
t <url:port> Verbindung zum rtl_tcp Server. Standard = 127.0.0.1:1234.
t <filename:0> Lese den digitalen Datenstrom aus einer Datei.
v Zeige Feldstärke in dB (rssi) und Frequenzabweichung in kHz (AFC).
w <ms> max stay awake (use CPU) time after squelch close (2000)
z <ms> sleep time (no cpu) for inactive rx if squelch closed (-z 100)
Z <ms> same but fast open with no audio quieting for sending to decoders and not human ears

Beispiele