Doppler-Peiler-System:

Hans-Jürgen Barthen, DL5DI
Andreas Barthen, DO5PAB



1. Aufbau:

Das System besteht aus mehreren Komponenten:

1. Peiler-Hardware
2. Software, die den Peiler ausliest und die Daten in eine mySQL-Datenbank schreibt
3. Webapplikation, die die Datenbank ausliest und auf Google-Maps darstellt
4. Schnittstellensoftware zur Übernahme von Werten mobiler Peiler
5. Mobilanwendung, die die Funktion von 2. unterwegs übernimmt, dabei noch den eigenen Standort und die Ausrichtung des Peilers übergibt


1.1. Peiler-Hardware



Abb. 1


 

 

Abb.2



Für den ersten Test wird ein Peiler DDF1 nach WA2EBY verwendet, den man bei der Fa. Ramsey als Komplettbausatz erwerben kann.
Die Webseite von Ramsey zeigt Distributoren in Europa.
Ich habe den Bausatz bei LV Kits in Belgien bezogen. Der Preis incl. Belgischer MWSt lag nicht über dem Dollarpreis in USA.

Ein Interface zum Abgreifen der Peilrichtung im DDF1 läßt sich sehr einfach durch Anschluss eines Latch-Bausteins 74HC75 parallel zum 4-zu-16-Dekoder 74HC4515  realisieren, der die LEDs ansteuert.
Dieses Latch speichert dann den Richtungswert zwischen, wie es der 74HC4515 intern auch tut und stellt sie an seinen Ausgängen statisch zur Verfügung.

Der 4-Bit-Wert lässt sich z.B. sehr einfach über ein AVR-Net-IO-Board (Bezugquelle z.B. Fa. Pollin) über RS232 oder per Telnet über Ethernet auslesen.

Hier eine kurze Umbauanleitung:


Den 4-zu-16-Dekoder 74HC4515 findet man auf der  Platine des DDF1 unterhalb der LEDs als U11.
Gebraucht werden die 4 binären Eingänge A0, A1, A2, A3 und das Signal "Latch Enable" (LE).

Die Anschlußbelegung des 74HC4515 (Abb.1) zeigt diese Pins als 2, 3, 21, 22 und 23.

Diese Anschlüsse sind nun gemäß Tab.1 mit den entsprechenden Eingängen des Latches 74HC75 (Abb. 2) zu verbinden. (Bezugsquelle z.B. Fa. Reichelt-Elektronik)
Die Ausgänge des Latches werden dann gem. Tab. 2 auf die Eingänge des AVR-Net-IO gegeben.

Verbindung
74HC4515 - 74HC75

Verbindung
74HC15 - AVR-Net-IO
74HC4515
74HC75
A0 (2)
1D (2)
A1 (3)
2D (3)
A2 (21)
3D (6)
A3 (22)
4D (7)
LE (1)
LE12 (13)
LE34 (4)
Vcc (24)
Vcc (5)
GND (12)
GND (12)
Tab. 1
74HC75 AVR-Net-IO
(DB25)
1Q (16)
Eingang1 (10)
2Q (15)
Eingang2 (11)
3Q (10)
Eingang3 (12)
4Q (9)
Eingang4 (13)
GND (12)
GND (21,23,25)
Tab. 2


Die Schaltung läßt sich sehr leicht auf einem Stückchen Lochrasterplatine unterbringen. Das Gehäuse des DDF1 bietet ausreichend Platz sie noch darin unter zu bringen.
Beim 74HC75 die Pin-Belegung der Versorgungsspannung zu beachten, 5V an Pin 5 und GND an Pin 12!
Alle Angaben ohne Gewähr, also Augen auf, nachkontrollieren und Fehler bitte zurückmelden!

Natürlich läßt sich jeder andere Peiler, der in der Lage ist, die Peilrichtung in Grad auszugeben,  in das System einbinden.


1.2. Software für stationäre Peiler

Wir setzen derzeit ein einfaches Perl-Script ein, was eine TCP/IP-Verbindung zum AVR-Net-IO-Board aufbaut, die 4 Digital-Eingänge einliest, daraus die Richtung berechnet und in eine Tabelle einer  MySQL-Datenbank schreibt.
Die Berechnung der Peilrichtung aus den 4 I/O-Ports ist sehr einfach:

(Eingang1 + 2 * Eingang2 + 4 * Eingang 3 + 8 * Eingang4) * 22.5 = Richtung in Grad

(Anmerkung: Man findet bei www.doppler-peiler.de eine Umbauanleitung zum Steigern der Anzeigegenauigkeit des DDF1 auf eine Auflösung von 8Bit/1.4 Grad.)

Ausserdem wird noch die Feldstärke über einen analogen Eingang eingelesen und in die Datenbank übernommen.
Die Umrechung der gemessenen Spannung in Feldstärke-Werte muss in Abhängigkeit vom Empfänger angepasst werden.
Die Datenbank bietet dann die Möglichkeit auf diese Werte jederzeit nochmal zuzugreifen und nachträglich mit anderen Peilungen zu kombinieren.

{Perl-Script folgt später}
{Script zum Anlegen der Datenbankstruktur folgt später}


1.3. Webapplikation

Die Webapplikation ist in php5, XHTML und Javascript geschrieben.
Sie liest die letzten Peilungen aus der Datenbank aus und bietet sie zur Anzeige auf einer Landkarte bzw. einer Satelliten-Ansicht an.
Derzeit können bis zu 15 Peilungen von unterschiedlichen Peilerstandorten zeitgleich angezeigt werden und so Kreuzpeilungen erstellt werden.
Weitere Auswahlkriterien und Sortierungen sind Dank SQL leicht integrierbar.


1.4. Schnittstelle für Mobile Peiler

Diese Schnittstelle soll möglichst flexibel ausgelegt werden:
  • sie soll Peilungen sowohl online übernehmen, als auch gesammelte Daten, die eventell manuell aufgezeichnet wurden, nachträglich akzeptieren.
  • geplant ist die Übernahme von NMEA-Daten per Internet oder auch im APRS-Format über Amateurfunk-Frequenzen (Peilung im Comment-Feld).
  •   (ähnliche Anwendungen laufen bereits beim APRS-Server DB0LJ zum Versenden von Kurzmitteilungen per Packet-Radio-BBS oder EMail)
  • Die Peilrichtung kann wahlweise als eingenordete Peilrichtung oder relativ zur Fahrtrichtung angegeben werden.
  • Die Fahrtrichtung kann als Winkel (z.B. aus elektronischem Kompass oder GPS) geschickt werden oder auch in Form von 2 Standort-Koordinaten (z.B. während der Fahrt Standort zu Beginn und Ende der Peilung).
  • Peilungen können auch direkt über die URL zur Darstellung gebracht werden ohne in die Datenbank geschrieben zu werden.

1.5. Softwarenutzung

Wie bei all meinen anderen Software-Projekten werden wir sie nach dem Motto "Amateurfunk macht Spass und Spass gibt es kostenlos" zur Verfügung stellen.
Neben den Lizenzbestimmungen von Google-Maps gilt für unsere eigenen Komponenten die GNU-Public-Licence.



2. Einige erste Schnittstellenbeschreibungen:

2.1. Schnittstelle zur Ausgabe der Peilungen per URL-Parameter:

Die URL-Zeile hat HTML-bereinigt folgenden Aufbau:

http://db0myk.prgm.org/peiler.php?p1=50.3966230,7.2049890,22.5,10.0,2&p2=50.3088000,7.5698000,315.0,22.5
 

nach den HTML-Regeln werden die Parameter per "?" von der Seitenadresse separiert, untereinander werden sie durch  "&" getrennt.
Damit enthält die obige Zeile 2 Parameter:

p1=50.3966230,7.2049890,22.5,10.0,2
p2=50.3088000,7.5698000,315.0,22.5,1

p1 steht für "Peilung 1", p2 für "Peilung 2" usw..

Derzeit werden Peilungen p1 bis p15 akzeptiert, wobei die Reihenfolge egal ist und auch ob Lücken in der Nummerierung vorhanden sind.
Bei doppelten Kennungen werden die Werte der ersten Angabe durch die der zweiten überschrieben.

Der PHP-Code der Webseite generiert diese Peilungskennungen px mit der ausgewählten Zeilennummern der Datenbanktabelle automatisch.

Jeder p-Wert enthält 4 durch Kommas separierte Elemente:
  • zuerst die geografische Breite des Peilerstandorts in Grad als Dezimalwert,
  • danach die geografische Länge des Peilerstandorts in Grad als Dezimalwert,
  • als 3. Parameter wird der Peilwinkel erwartet, wie üblich von Norden rechtsdrehend in Grad als Dezimalwert (0-360)
  • als 4. Parameter kann optional die Genauigkeit der Peilung angegeben werden (Auflösung des Peilers, Öffnungswinkel der Antenne etc.)
Für Koordinaten gelten die üblichen Spezifikationen der Google-Maps-API.

Ein optionaler 5. Parameter wird nur intern verwendet wenn Werte aus der Datenbanktabelle zur Anzeige ausgewählt werden.

Der Aufbau der Parameter-Zeile hätte also z.B. die Form:

[p0=lat0,lon0,azi0[,dev0];]p5=lat5,lon5,azi5[,dev5];p10=lat10,lon10,azi10[,dev10]
p1=Länge1,Breite1,Winkel1,G1;p5=Länge5,Breite5,Winkel5,G5;p10=Länge10,Breite10,Winkel10,G10


Die Peilung wird als roter Strich, die Grenzen des Öffnungswinkels als oranger Strich angezeigt.
Wird keine Genauigkeit angegeben wird ein Öffnungswinkel von 22.5 Grad eingestellt (4-Bit-DDF1-Anzeigegenauigkeit).
Die "Reichweite der Strahlen" ist auf 80km konfiguriert.

(wie bereits oben angemerkt: Man findet bei www.doppler-peiler.de eine Umbauanleitung zum Steigern der Anzeigegenauigkeit des DDF1 auf eine Auflösung von 8Bit/1.4 Grad.)


Eine besondere Rolle spielt der optionale Parameter p0.
Dieser Parameter beinhaltet, falls er angegeben wird, die Koordinaten des Mittelpunkts der Google-Maps-Karte und den Zoom (Länge, Breite, Zoom).

Werden außer p0 weitere Parameter pn gesendet, kann mit einem 4. Wert festgelegt werden, ob am Kartenmittelpunkt p0 ein Icon angezeigt wird.
Auf diese Weise lässt sich die Karte auf einen Punkt zentrieren wo sich keine Station befindet.
Eine "1" setzt ein Icon, jeder andere Wert oder das Weglassen bringen kein Icon.

Wird p0 nicht angegeben steht der vordefinierte Standort unseres stationären Peilers bei DB0MYK im Mittelpunkt der Karte und ein fest eingestellter Zoom von 10.
Der Wertebereich für den Zoom ist von Google-Maps vorgegeben (1-17, örtlich ggf. eingeschränkt).

In der Datenbanktabelle wird p0 durch Auswahl des Peilerstandorts per Radio-Button ermöglicht.

Zur Anzeige eines Standorts ohne Peilung wird nur p0 angegeben. In dem Fall wird immer ein Icon am Standort der Station angezeigt.

Beispiele:

http://db0myk.prgm.org/peiler.php?p0=50.3088000,7.5698000,13
http://db0myk.prgm.org/peiler.php?p0=50.3966230,7.2049890,10

p0 kann aber auch mit weiteren Peilwerten kombiniert angegeben werden und legt dann Kartenmittelpunkt und Zoom abweichend von den Defaultwerten fest.
Beispiel:

http://db0myk.prgm.org/peiler.php?p1=50.3966230,7.2049890,22.5,10.0,2&p2=50.3088000,7.5698000,315.0,22.5,1&p0=50.3088000,7.5698000,22.5,0

Beim Herauszoomen erkennt man, dass die gleichen Peilungen wie vorher von einem anderen Punkt aus gesehen dargestellt werden.

Eine Peilung mit separat definiertem Kartenmittelpunkt,

mit Icon am Kartenmittelpunkt:

http://db0myk.prgm.org/peiler.php?p1=50.3966230,7.2049890,22.5,10.0,2&p0=50.3088000,7.5698000,10,1

ohne Icon:

http://db0myk.prgm.org/peiler.php?p1=50.3966230,7.2049890,22.5,10.0,2&p0=50.3088000,7.5698000,10,0

 

2.2. APRS-Interface

Der Peil-Server liest Daten per APRS-Interface und erlaubt so den Anschluss von Peilern, die keinen Internet-Zugang haben.
Das können fest installierte Peiler sein oder auch Mobilstationen.

Das Interface ist so ausgelegt, dass es von APRS-Software bedient werden kann, aber auch von Funkgeräten mit eingebautem APRS, wie z.B. Kenwood THD-7, TMD700/710 über die DTMF-Tastatur bzw. umständliche Ziffern/Buchstabeneingaben über das Menü.

Die vorläufige Spezifikation sieht wie folgt aus:

Das Interface wertet APRS-Nachrichten aus, die an das Call DB0LJ-2 adressiert sind.
Im Textfeld steht entweder nur der Peilwinkel in Grad von Norden aus gerechnet oder bis zu 3 Felder, die durch "/" getrennt sind und Werte mit Kennbuchstaben in beliebiger Reihenfolge enthalten:

Parameter Bedeutung
n### auf Norden bezogener Peilwinkel (0-360)
c###  auf die Fahrtrichtung bezogener Peilwinkel (Course).  (0-360)
Die Fahrtrichtung muss das Gerät in dem Fall gemäß den APRS-Spezifikationen von sich aus senden (Course/Speed)
w### Genauigkeit/Öffnungswinkel (Defaultwert 22.5 Grad = Anzeigegenauigkeit DDF1)
s### Feldstärke als Text (S-Wert)

   Beispiele:

Parameter Bedeutung
n250/w10/s9 Peilung 250 Grad (auf Norden bezogen), Öffnungswinkel 10 Grad, Feldstärke S9
s8/n130 Peilung 130 Grad (auf Norden bezogen), Feldstärke S8
c120 Peilung 120 Grad (auf den Kurs bezogen)
250 Peilung 250 Grad (auf Norden bezogen)

Die eigene APRS-Position muss dem Server vorliegen und darf max. 30 Minuten alt sein (macht bei sich bewegenden Mobilstationen natürlich absolut keinen Sinn).

Das APRS-Protokoll lässt es zu, Positionsmeldungen im Nachrichtenpaket unterzubringen.
Nach meinen Tests macht das keine Software oder Hardware.
Einige Programme senden vor einer Nachricht die eigene Position in einem separaten Paket, andere wie z.B. UIView32 senden die Position außerhalb der konfigurierten regelmäßigen Intervalle gar nicht.
Man sollte deshalb unmittelbar vor der Übertragung der Peilung eine Positionssendung manuell auslösen (bei UIView32 mit <F9>).

Der Server quittiert die Peilungsmeldung und meldet Fehler, was aber nur dann beim Absender eintrifft, wenn er im Pfadbereich von DB0LJ/DB0MYK liegt oder am Internet angeschlossen ist.

Momentan werden eingegangene Positionsmeldungen zum Test direkt auf der Webseite angezeigt, in Zukunft werden sie um 60 Minuten verzögert bzw. müssen freigegeben werden.
Man will ja keinen Störer vorwarnen.



3. In Planung:


3.1. Software:
  • Datenbank-Filterung/Sortierung nach QRG, Peiler-Standort
  • Blättermöglichkeit in der Datenbank
  • Unterdrückung mehrfach auftretender Peilungen (Peilerstandort und Richtung stimmen überein)
  • Anzeige von GPS-Koordinaten und Peilung bei D-Star-Stationen.
  • Auswertung von Abweichungen GPS-Standort/Peilung und ggf. automatische Kalibrierung ????
  • Automatische Aktivierung der vorhandenen Signal-Aufzeichnung bei bestimmten Kreuzpeilungen
  • mehr Infos in der Karte zu Peilerstandorten und Peilungen
  • Dateneinspielung per APRS/DPRS
... wenn möglich später:
  • Beibehaltung von geänderten Zoom- und Darstellungs-Einstellungen bei neuer Auswahl
  • Filterung der Datenbankausgabe auf überlappendes Zielgebiet
  • automatischer Zoom auf den Überlappungsbereich bei Kreuzpeilungen

3.2. Hardware:
  • Aufbau einer Sturm- und Eis-festen Peilantenne
  • Anbindung/Integration des Peilers an/in FM- und DStar-Relais (Feldstärke, Squelch etc.).
  • Peilung wird automatisch durch Öffnen der Rauschsperre ausgelöst (Modifikation an AVR-Firmware)
  • Automatische Umschaltung der Empfangs-Frequenz des Peilers auf den D-Star-Kanal wenn das FM-Relais unbelegt ist.

Fragen, Anregungen etc. bitte gerne im Diskussionsforum rund um DB0MYK  des Amateurfunkforum Mittelrhein oder per EMail!

73 de

Hans-J. Barthen, DL5DI

Email: