Bereits im Jahre 2013
hatte ich mich schon einmal mit WSPR-Baken auf Arduino-Basis
beschäftigt [1]. Damals ging es allerdings nur um eine Version,
die
Tonsignale
lieferte und dabei in Verbindung mit SSB-Sendern zu betreiben war.
Heute soll es dagegen um eine eigenständig arbeitende sog.
"Stand-Alone-Version" gehen.
Grundsätzliches zu WSPR
vorab noch einmal kurz zusammengefasst
"WSPR" (engl. ausgesprochen
"whisper") steht für “Weak Signal Propagation Reporter”. Dabei
handelt es sich um eine von dem Nobelpreisträger Joe Taylor, K1JT
entwickelte PC-Software zur Erkennung möglicher
Funk-Ausbreitungsbedingungen und Übertragungswege unter Nutzung
kleiner Sendeleistungen. Neben der Steuerung von Bakenaussendungen
erlaubt diese Software auch eine Auswertung der von
anderen Stationen in bestimmten Bandsegmenten empfangenen Daten. Wenn
gewünscht, lassen sich diese dann auch Online an einen zentralen
WSPR-Server
weiterleiten und stehen von dort aus auch allen anderen
Netzteilnehmern zum Abruf bereit [5]. Natürlich auch abhängig
von der Menge eingehender Empfangsberichte, ergeben
sich somit üblicherweise sehr gute Möglichkeiten zur
Beurteilung der
Leistungsfähigkeit der eigenen Antennenanlage und auch der
jeweils aktuellen Ausbreitungssituationen. Kartendarstellungen erlauben
dabei eine Übersicht über alle vom System in den letzten
Stunden in einem bestimmten Amateurband registrierten Funkkontake.
Dabei sind sie bis
zu 2 Wochen auch rückwirkend verfügbar. Alle von
bestimmten Rufzeichen erfassten Empfangsberichte sind
darüberhinaus auch in tabellarischer Form abrufbar.
So ist es nicht verwunderlich, dass sich "WSPR" in
Funkamateurkreisen schon seit vielen Jahren grosser Beliebtheit
erfreut. Ursprüngllch als eigenständiges PC-Programm zum
Betrieb in Verbindung mit SSB-Transceivern bereitgestellt, ist diese
Betriebsart inzwischen Bestandteil der Multifunktionsprogrammsammlung
"WSJT-X"
[3],[4] und dort neben anderen digitalen Betriebsarten,
wie z.B. auch "FT8" aufrufbar.
Im Folgenden soll es nun
aber um
eine autonom operierende und dabei weder einen externen PC noch einen
separaten SSB-Sender
benötigende WSPR-Sendebake gehen. Internetverbindungen werden
später lediglich zur Abfrage von Empfangsberichten benötigt,
so diese nach erfolgten eigenen
Aussendungen ( hoffentlich ) eingetroffen sind.
Das Bakenkonzept
In der Grundausstattung setzt
sich die Bake aus einem ARDUINO-Board des Typs "UNO" und einem
aufsteckbaren sog. Shield mit darauf befindlichem
Si5351A-Oszillatorbaustein zusammen. Über eine I2C-Busverbindung
steuert ein auf dem UNO-Board befindlicher Mikrocontroller "ATMEL328P"
dabei
den Oszillatorbaustein und sorgt auch für dessen Modulation zur
Übertragung gewünschter Nachrichteninhalte. Im Normalfall
beschrängt sich diese allerdings auf Absender-Rufzeichen,
( vierstelligen ) Locator und
Feldstärkewert.
Grundsätzlich erlauben die Si5351A ein Generieren von ( ggf. auch
mehreren ) Ausgangssignalen
beginnend bei wenigen Kilohertz bis zu 160 MHz und mehr. Dabei sind
Ausgangsleistungen bis max. etwa 10mW ( +10dBm ) möglich.
Das von
mir zur Steuerung verwendete ARDUINO-Programm stammt im Ursprung von
Jason Milldrum,
NT7S [14], [15], [16]. Von ihm kommt auch die dabei verwendete Library
[17]. Neben anderen Schwierigkeiten, auf die noch einzugehen sein
wird, erwies sich diese allerdings als nur für Ausgangsfrequenzen
bis etwa 30 MHz
nutzbar. Damit konnte neben Lang- und Längstwellen aber zumindest
auch der gesamte Kurzwellenbereich abgedeckt werden. Auf
bestehende Möglichkeiten zur Erweiterung der Bake auch
für den Betrieb auf VHF-/UHF-Frequenzen, wird weiter unten noch
einzugehen sein.
Abb.1 Vereinfachtes
Blockschaltbild der Bakenanordnung
Abb.1 zeigt ein vereinfachtes Schaltbild der realisierten Bakenversion.
12-14V-Energieversorgung erfolgt über das UNO-Board ( welches aber
auch eine 5V-Direktversorgung zulässt ). Zum
Aufstecken gibt es frei bestückbare sog. Prototypen-Shields. Auf
ihnen lassen sich
die in Abb.1 gezeigten zusätzlichen Bauteile, wie z.B.
Si5351A-Baustein [6], Start-Taster und Sende-LED unterbringen.
Ein an dieser
Stelle ebenfalls verwendbares spezielles Si5351-Shield ist in
Abb.2 zu erkennen und hier [11] erhältlich.
Im Schaltbild sind zusätzlich auch noch ein nachgeschalteter
HF-Leistungsverstärker ( PA ) und ein Tiefpassfilter ( LPF )
angedeutet. An dieser Stelle infragekommende Verstärker stellen
üblicherweise Ausgangsleistungen im
Bereich von bis zu einigen Watt bereit. Mögliche Versionen sind
z.B.
via EBAY aus Fernost erhältlich ( Abb.3 ). Ggf. nutzbar sind aber
auch
die in
[10] und [13] zu findenden Versionen. In jedem Fall ist eine
Anpassung der Si5351-Ausgangssignalpegel an den
für die jeweils benutzten Verstärker angegebenen
Eingangspegelbereich vorzunehmen. Unbedingt erforderlich ist auch
das Nachschalten eines Tiefpassfilters, welches dabei abhängig von
der benutzten
Frequenz zu dimensionieren ist. Derartige Filter sind z.B. hier [7] als
Bausatz
erhältlich. Wer Selbstbau vorzieht, der findet z.B. in [8],
[9] die benötigten Dimensionierungsangaben.
Abb.2 Bakenversion mit speziellem Si5351-Shield-Board,
Si5351-Baustein, Tiefpassfilter ( alle von QRP-LABS ),
sowie zusätzlich bestückter Starttaste und Sende-LED
Abb.3
Breitband-Leistungsverstärker mit 2-3W-Ausgangsleistung ( Pin=0dbm
) aus China
Der Bakenbetrieb
WSPR-Bakenbertrieb ist einfach
durchführbar, erfordert allerdings sekundengenau einzuhaltende
Sendestarts an ( geraden ) Minutenzeitpunkten. Eine
Möglichkeit hierzu besteht durch Zuhilfenahme einer beigestellten
Funkuhr ( z.B. auf DCF77-Basis ) und Betätigung der Starttaste im
richtigen Moment. Diese Methode ist durchaus praktikabel, erweist sich
aber auf Dauer als doch wenig komfortabel. Einfacher ist es daher,
sich die
Startpulse z.B. von dem in [2] beschriebenen GPS-Timer liefern und an
den Prozessorport #9 führen zu lassen.
Entsprechend vorheriger Festlegung im Programmcode des Timers, werden
die für den WSPR-Betrieb gewünschten Startsignale fortan
sekundengenau bereitgestellt ( z.B.
alle 10 Minuten mit Beginn in Minute 0, 10, 20, 30, 40 und 50 ).
Solange zumindest minimaler GPS-Satellitenempfang besteht, wird ein
zeitgenaues Starten der einzelnen WSPR-Aussendungen von nun an
völlig selbständig erfolgen können. Während der
Sendezeiten (
Länge jeweils
ca. 110 Sekunden ) werden dabei sowohl eine auf dem UNO-Board
befindliche, als auch eine ggf. an
den Portausgang #13 anschliessbare LED zur Kontrolle
dauerleuchten.
HINWEIS:
Die
Übertragung der WSPR-Nachrichteninhalte erfolgt in Form von
Frequenzumtastungen, wobei die verwendeten Hubwerte sehr gering sind
und bei nur knapp 1.5
Hz [!] liegen. Beim Abhören der WSPR-Signale mit einem separaten
Empfänger wird somit während der langen,
jeweils etwa 110 Sekunden dauernden Sendesequenzen im
Wesentlichen nur ein Trägersignal feststellbar sein. In
WSJT-X-Wasserfalldiagrammen ( Abb.3a ) sieht man dagegen durchaus auch
die modulationsbedingten Frequenzverschiebungen.
Abb.3a Wasserfalldiagramm eines
WSPR-Signals
Die Bakensoftware
Zumindest bei Verwendung neuerer
IDE- und aktueller Si5351A-Libraryversionen [17] brachten alle
Kompilierungsversuche mit der Original-Bakensoftware von NT7S nur viele
Fehlermeldungen. Ursache hierfür waren offenbar die inzwischen
erfolgten Änderungen am Libraryformat. Aus
diesem Grunde
musste einige der den Oszillatorchip steuernden Quellcodebefehle
zuerst noch modifiziert werden.
Ein Vorteil der neuen Libraryversion besteht aber darin, dass jetzt auf
einfache Weise auch Si5351-Betrieb mit solchen Steuerquarzen
möglich ist, die eine andere, als die in der Originalversion
mit ihren ADAFRUIT-Bausteinen verwendete 25 MHz-Frequenz nutzen. Eine
Anpassung der Programmsoftware an 27 MHz-Quarze, so wie
sie bei den Si5351-Bausteinen von QRP-LABS [6] ( Abb.4 ) zum Einsatz
kommen, war jetzt auf einfache Weise machbar. Die gleiche
Befehlszeile beinhaltet jetzt auch mögliche
Korrekturwerte zum Ausgleich exemplarspezifischer
Frequenzungenauigkeiten. Ohne zusätzliche Korrektur
können Frequenzabweichungen, so wie
sie hier auftreten, durchaus in einer
Größenordnung von 10 Khz (!) und darüber liegen.
Nachdem die
einzelnen WSPR-Bänder aber jeweils nur 200 Hz-Segmente umfassen,
ergeben sich an dieser Stelle nicht
unerhebliche Anforderungen in Hinblick auf Frequenzgenauigkeit und
natürlich auch Stabilität. Ohne zusätzliche
Korrekturmassnahmen wird man somit kaum auskommen. Wie aber schon
erwähnt,
lassen sich
die dazu
erforderlichen Werte in einer entsprechenden Programmzeile ablegen.
Aber wie können wir die benötigten Korrekturwerte ermitteln?
Abb.4 aufsteckbarer
Si5351a-Baustein von QRP-LABS [6]
Die einfachste Lösung dürfte darin bestehen, sich mit
verschiedenen Korrekturwerten an die gewünschte Sollfrequenz
heranzutasten und die Ergebnisse dann jeweils mit einem möglichst
genauen
Frequenzzähler zu messen. Eine andere einfache Möglichkeit
zur Frequenzmessung ergibt sich bei Benutzung eines
RTL-SDR-Sticks und PC-Software, wie z.B. SDRSharp. Auch hiermit war
es mir möglich, die zum Wechsel auf die gewünschte
Frequenz einzusetzenden Korrekturwerte zu ermitteln ( Zur
Frequenzverschiebung um mehrere
Khz kann dieser Wert durchaus auch einmal in einer
Größenordnung von 200000 und darüber liegen ).
Die vom mir modifizierte Version
des passenden Arduino-Sketches ist HIER
herunterladbar.
WICHTIG:
Zu beachten ist noch, dass im Quellcode keine der WSPR-Frequenzen
einzugeben ist, so wie sie üblicherweise zur Verwendung in
Verbindung mit SSB-Sendern ( USB-Mode ) angegeben werden, sondern
stattdessen eine im Bereich 1400-1600 Hz darüber
liegende tatsächliche Arbeitsfrequenz zu wählen ist.
WSPR-Bakenbetrieb auf
VHF-Frequenzen
Weiter oben hatte ich schon
einmal angedeutet, dass die verwendete Si5351A-Library [17] offenbar
nur
für Frequenzen bis etwa 30 MHz verwendbar ist. Nachdem die
Variable "freq" im Sketch der Bake von UNSIGNED LONG auf FLOAT
geändert wurde, liessen sich Bakensignale zwar auch
auf höheren Frequenzen erzeugen, aber das dabei erzeugte
WSPR-Modulationsformat liess sich zumindest bei mir nicht mehr
dekodieren.
Erfolgreiche Tests gelangen dagegen durch Nachschalten von
Transvertern, so wie sie z.B. hier [12] preiswert angeboten werden (
Abb.5 ). Auf einfache Weise erlaubten sie das Umsetzen von
WSPR-Signalen aus dem 28-MHz-Band auch in höherfrequente
Bereiche. Erfolgreich getestet wurde dabei z.B. eine Umsetzung in das
6m-Band. Bei Umsetzung auf weitere VHF/UHF-Bänder könnten
dann allerdings Zusatzmassnahmen zur Verbesserung der
Frequenzstabiliät
des Umsetzoszillators notwendig werden.
Abb.5 Transverterbaustein aus
der Ukraine [12];
Versionen von 28 MHz auf 50, 70, 144, 432 MHz verfügbar ( hier
28<>50MHz )