PSK31 mit Linux


Dipl.-Ing. Kai Altenfelder, DL3LBA



Im vorerst letzten Artikel der Linuxreihe werde ich einen Blick auf PSK31 werfen, natürlich insbesondere unter dem Gesichtspunkt, wie sich diese Fernschreiber-Betriebsart unter Linux nutzen läßt.


Vor etwas mehr als einem Jahr kündigte Peter Martinez, G3PLX, in einem Nachrichtenforum des Internets an, daß er eine Software für das 31Baud BPSK Modulationsverfahren von Pawel, SP9VRC, geschrieben hätte. Diese Software benötige nur den PC und seine Soundkarte sowie einem SSB-Transceiver. Das unter Microsofts Windows Betriebssystem ablaufende Programm stellte Peter dabei kostenlos auf seiner Webseite [3] zur Verfügung. Wie auch bei Linux geschehen, war das Echo auf diese »freie« Software groß. Innerhalb nur eines Jahres setzte sich PSK31 als schmalbandige, ressourcensparende und effiziente Fernschreibebetriebsart durch und fand viele Anhänger rund um den Erdball. Selbst auf den Technikseiten großer deutscher Tageszeitungen wurde darüber berichtet [1] und in der diesjährigen Maiausgabe der amerikanischen QST blickte Steve Ford , WB1IMY, auf ein Jahr des Experimentierens mit PSK31 zurück [2].


Schon relativ früh begannen auch die Linuxanhänger mit der neuen Betriebsart zu experimentieren an. Die ersten nutzbaren Ergebnisse lieferte Hansi Reiser, DL9RDZ (nicht zu verwechseln mit dem Entwickler des gleichnamigen Dateisystems für Linux), bereits 1998 mit seinem psk31lx [4]. Hansi schrieb die C++ Klassen, mit denen PSK31 erstmals auf der alphanumerischen Konsole unter Linux nutzbar war.


Um den Betrieb angenehmer und nutzerfreundlicher zu gestalten, schrieb Ted Williams, WA0EIR, die motifbasierte grafische Benutzeroberfläche twpsk [5] für das X11 Window System. Dabei basiert twpsk komplett auf Hansis Klassen und baut darauf auf.


Gleiches gilt für gpsk31 [6] von Luc Langehegermann, LX2GT, das im Unterschied zu twpsk mit dem GTK+ Toolkit erstellt wurde und damit etwas moderner aussieht. In bezug auf die Funktionalität steht gpsk31 aber hinter Teds Programm zurück, twpsk ist deutlich weiter entwickelt.







Der Vollständigkeit halber soll noch phaseshift [7] von Edson Pereira, N1TV, erwähnt werden, welcher ebenfalls aufbauend auf Hansis Klassen eine Oberfläche mit dem Qt Toolkit geschrieben hat.





Da Hansi und Ted seit der jüngsten Version 0.10 von twpsk zusammen weiterarbeiten, ist dieses Programm mehr oder minder als Standard anzusehen, da es den anderen Projekten immer einen Schritt voraus sein wird. Im folgenden beschränke ich mich daher auf die Beschreibung von twpsk. Wie auch in den vorangegangenen Artikeln gehe ich davon aus, daß das Programm bereits fertig übersetzt und installiert ist. Das Kompilieren des Quellcodes von twpsk stellt den versierten Anwender vor keine größeren Hürden. Wer sich trotzdem vor dieser Aufgabe scheut, ist mit den fertig vorbereiteten Binärpaketen im .deb oder .rpm Format bestens bedient, die sich auf den bereits genannten FTP Servern [8] befinden. Ebenfalls vorausgesetzt ist eine von Linux unterstützte und richtig konfigurierte Soundkarte. Letzte Voraussetzung ist das Vorhandensein von entsprechenden Kabelsätzen, die die Soundkarte bzw. die serielle Schnittstelle des Rechners (für die PTT-Steuerung) mit dem Transceiver verbinden. Schaltungsbeispiele dazu sind in der Vergangenheit hinreichend oft veröffentlicht worden [9]. Wenn all das vorliegt, kann es losgehen:



Nach dem ersten Starten von twpsk erscheint das folgende Fenster auf dem Bildschirm, in dem unter der zentralen Empfangsbox eine etwas kleinere für den zu sendenden Text liegt. Im unteren Teil des Fensters liegen Bedienelemente zum Abgleich von RX/TX Audiofrequenzen, umschaltbarer Spek-trumanalyser bzw. Wasserfall sowie ein rundes Phasenscope.

In der Menüleiste am oberen Fensterrand finden sich die Einträge »File«, »Controls«, »Setup« und »Help«. Unter »File« lassen sich benutzerdefiniert Dateien auflisten, deren Inhalt über dieses Menü oder per Tastenkombination in das Sendefenster kopiert werden können. »Controls« listet die Hotkey-Tastenkombinationen, mit deren Hilfe sich viele Einstellungen wie Filterbreitenauswahl und die Umschaltung zwischen Wasserfall und Spektrumanalyser abkürzen lassen.


Bevor der Betrieb nun losgehen kann, müssen eine Reihe von Einstellungen vorgenommen werden. In der üblichen Installation wird es eine Datei mit systemweit gültigen Einstellungen geben, die mit benutzerspezifischen Dateien »übergangen« werden kann. In unserem Fall liegt die systemweite Ressourcendatei Twpsk im Pfad /usr/X11R6/lib/X11/app-defaults/Twpsk. Bei der Installation eines Binärpaketes sind die meisten der darin vorhandenen Einstellungen bereits mit sinnvollen Werten vorbelegt und müssen vermutlich nicht verändert werden. Auf jeden Fall müssen die Einstellungen für das eigene Rufzeichen angepaßt werden und ob/welche serielle Schnittstelle zur Ansteuerung der PTT verwendet werden soll. Bei mir steht dann folgendes (gekürzter Ausschnitt) in der Ressourcendatei:


! Set the next value to your call for CW ID

twpsk.call: DK0TUX K

! Set next value to 1 for PTT. Set the following

! line to the serial device used to key the PTT.

twpsk.ptt: 1

twpsk.serDev: /dev/ttyS1

! Your call on the next line for the label on top

! use \330 for a zero with slash

twpsk*label1.labelString: DK\330TUX

Die Ausrufezeichen am Zeilenanfang kennzeichnen den Beginn einer Kommentarzeile, die vom Programm nicht ausgewertet werden. Variablen stehen direkt am Zeilenanfang und beginnen alle mit »twpsk«. Diese Werte ändert man mit einem einfachen Texteditor seiner Wahl und startet das Programm neu, damit die Einstellungen aktiv werden.


Wenn man jetzt auf den »Xmit« Knopf klickt, sollte man bereits das typische Geräusch (»singende Sägen« [1]) von PSK31 aus dem Lautsprecher vernehmen. Gleichzeitig wird dann der Sender über die serielle Steuerung getastet. Wenn letzteres nicht passiert, liegt vermutlich ein Berechtigungs-problem für die serielle Schnittstelle vor. Da Linux ein Mehrbenutzersystem ist, ist der Zugriff auf solche Systemressourcen über die Vergabe von Berechtigungen geregelt. Um also mit twpsk auf die serielle Schnittstelle zugreifen zu dürfen, muß man einer bestimmten Nutzergruppe angehören, der dieses Zugriffsrecht erteilt wurde. Bei SuSE Linux sind dies die Gruppen dialout und uucp, denen der angehende PSK31-Nutzer angehören muß (andere Linux Distributionen können anderslautende Gruppen oder andere Methoden der Rechtevergabe verwenden, bitte schauen Sie in Ihrer Dokumentation nach). Nachdem die Berechtigungsfrage geklärt ist, sollte der Sender auch wie gewünscht getastet werden.


Solange der Knopf gedrückt ist, bleibt der Transceiver auf Sendung und der in der Sendebox eingegebene Text wird aufmoduliert. Ein erneuter Klick auf »Recv« schaltet wieder auf Empfang um und je nach eingeschaltetem Display wird ein Spektrum oder ein Wasserfall des empfangenen Signals angezeigt. Wenn man den Empfänger über einen Frequenzbereich hinwegdreht, in dem PSK31-Aktivität herrscht (z.B. 14070,150 kHz oder 21080,150 kHz), erkennt man im Spektrum den spitzen Peak bzw. im Wasserfall das Band des Signals. Durch Anklicken in die Mitte des Signales stimmt man die Empfangsfrequenz auf diesen Peak ab, nachzustimmen funktioniert einfach mit den Up- und Down-Reglern neben der Frequenzanzeige. Eine weitere Hilfe beim Abstimmen sind die Knöpfe für die Bandbreite des Displays: »W«, »M« und »N«. Sie entsprechen 1 kHz, 500 Hz und 250 Hz Displaybreite. Mit diesen wenigen Bedienelementen sind im Prinzip schon die wichtigsten Funktionen von twpsk wiedergegeben. Die Reihe der vier am rechten Rand des Fensters untereinander angebrachten Knöpfe lauten »DCD«, »QPSK«, »LSB« und »CW ID«.

Mit dem ersten läßt sich die DCD ein- oder ausschalten, der zweite wechselt die Betriebsart auf QPSK (Quarternary PSK). Der dritte schaltet für QPSK wahlweise auf das untere Seitenband um und der letzte aktiviert die CW-Kennung, die an eine Aussendung angehängt werden kann.


QPSK bietet zusätzlich zu den 180° Phasenumschaltungen ein weiteres BPSK-Paar von 90° und 270° an. Damit läßt sich bei gleichbleibender Bandbreite und Übertragungsgeschwindigkeit die Fehler-Rate deutlich absenken, jedoch nur wenn ein ausreichend starkes Nutzsignal mit genügend großem Rauschabstand vorliegt.


Wer nach dieser kurzen Einführung in die Bedienung von twpsk tiefer in die Materie einsteigen möchte, wird sich am besten die theoretische Einführung in PSK31 von Peter, G3PLX, durchlesen [3]. Nach einer gewissen Routine im Umgang mit dem Programm kommt schnell der Wunsch auf, sich Textmakros erzeugen zu wollen, die die häufig genutzen Textbausteine enthalten. Diese legt man in einzelnen Dateien in dem Verzeichnis ab, auf das in der Ressourcendatei mit der Variable twpsk.twpskDir verwiesen wird. Bei mir sieht der Eintrag wie von der Installation vorgesehen so aus:


twpsk.twpskDir: /usr/share/psk31


Die Dateien werden dann in einer durch Komma getrennten Liste aufgeführt:


twpsk.buttonNames: LongCQ,ShortCQ,Brag,Name,QTH,Rig


und erscheinen nach dem Speichern der Datei und anschließendem Neustart von twpsk als Menüeinträge unter »Files«.


Hansis Tip, die Anpassung der Soundkarte an die Transceiverpegel stets gewissenhaft vorzunehmen soll noch unbedingt erwähnt werden, da sonst das Ausgangssignal verzerrt und das Band damit zugesplattert wird.


Ein Ausblick in die Zukunft der Entwicklung von twpsk ruft Vorfreude hervor. Hansi und Ted arbeiten daran, ein oder mehrere weitere QSOs innerhalb der RX-Audiobandbreite decodieren zu können. Außerdem ist eine Transceiversteuerung geplant, die es erlaubt, vom Programm aus zwischen schmalen und breiten RX Filtern umzuschalten und idealerweise die Frequenz des Transceivers so einzustellen, daß das PSK31 Signal in der Mitte des Filters liegt.


Man darf also gespannt sein auf den Jugendfieldday von DA0YFD (18.-21.08.2000, QTH Marloffstein bei Erlangen), auf dem Hansi diese neuen Entwicklungen zum ersten Mal zeigen will.




Kai Altenfelder, DL3LBA

Literatur:


[1] Nils Schiffhauer, »Im Ton von singenden Sägen«, FAZ Nr.101, 02.05.2000, Seite T2

[2] Steve Ford, WB8IMY, »PSK31 2000«, QST Nr. 5, Vol. 84, Seiten 42-45


Links im Web:


[3] Webseite von Peter Martinez / PSK31

http://aintel.bi.ehu.es/psk31.html

der Mirror davon ist inzwischen die »Offizielle« PSK31 Homepage

http://www.kender.es/~edu/psk31.html


[4] Webseite von Hans Reiser, DL9RDZ, neuerdings gleichzeitig Bezugsquelle für twpsk

http://wwwcip.informatik.uni-erlangen.de/~hsreiser/hamradio/


[5] FTP-Archiv von Metalab, Mirror für twpsk

http://metalab.unc.edu/pub/Linux/apps/ham/


[6] Webseite / FTP-Archiv von gpsk

http://www.1409.org/projects/gpsk31/index.html

ftp://1409.org/pub/gpsk31/


[7] Webseite / FTP-Archiv von phaseshift

http://hul.harvard.edu/~edson/phaseshift.html

ftp://sunsite.unc.edu/pub/Linux/apps/ham/


[8] FTP Archive radio.linux.org.au und filewatcher.org

http://radio.linux.org.au

http://filewatcher.org


[9] Webseiten von Thomas Sailer, HB9JNX

http://www.ife.ee.ethz.ch/~sailer/ham/ham.html





Ranking-Hits