
ADIF (Amateur Data Interchange Format) – Umfassender Leitfaden
Inhaltsverzeichnis
- 1 Einführung
- 2 Technische Spezifikation
- 3 Pflichtfelder
- 4 Häufig verwendete Felder
- 5 Best Practices
- 6 Software und Tools
- 7 Anwendungsfälle
- 8 Zukunft von ADIF
- 9 Wichtigste Felder
- 10 Fazit
- 11 Weitere Links
- 12 Wichtige Links und Ressourcen
- 13 Logbuch-Software mit ADIF-Unterstützung
- 14 Online-Logbücher und Dienste
- 15 Entwickler-Ressourcen
- 16 Organisationen
- 17 Contest-Ressourcen mit ADIF-Support
- 18 Support-Communities
- 19 Hinweise
Einführung
ADIF ist ein standardisiertes Dateiformat, das speziell für den Amateurfunk entwickelt wurde. Es dient dem Austausch von Logbuch-Daten zwischen verschiedenen Amateurfunk-Programmen und -Plattformen. Das Format wurde 1996 eingeführt und hat sich seitdem zum De-facto-Standard für den Datenaustausch im Amateurfunk entwickelt.
Technische Spezifikation
Grundstruktur
Ein ADIF-File besteht aus zwei Hauptteilen:
- Header (optional)
- Datensätze (Records)
Dateiformat
- Dateierweiterung: .adi oder .adif
- Zeichenkodierung: ASCII oder UTF-8
- Zeilenende: CR, LF oder CR+LF (plattformunabhängig)
Header-Format
Der Header enthält Metainformationen über die Datei und wird durch <EOH> (End Of Header) abgeschlossen. Beispiel:
ADIF Export from [Programm] <ADIF_VER:5>3.1.0 <PROGRAMID:7>WSJT-X <PROGRAMVERSION:5>2.5.4 <EOH>
Feldformat
Jedes Feld folgt diesem Format: <Feldname:Länge:Typ>Daten
- Feldname: Name des Feldes in Großbuchstaben
- Länge: Länge der Daten in Bytes
- Typ: Datentyp (optional)
- Daten: Die eigentlichen Daten
Wichtige Datentypen
- N: Nummer
- S: String
- D: Datum (YYYYMMDD)
- T: Zeit (HHMMSS)
- B: Boolean
- M: Mehrzeiliger String
- E: Aufzählung
Pflichtfelder
Jeder ADIF-Record muss mindestens diese Felder enthalten:
- CALL: Rufzeichen der Gegenstation
- QSO_DATE: Datum der Verbindung
- TIME_ON: Startzeit der Verbindung
- BAND oder FREQ: Frequenzband oder genaue Frequenz
- MODE: Betriebsart
Beispiel eines vollständigen QSO-Eintrags
<CALL:5>DL1AB <QSO_DATE:8>20240215 <TIME_ON:6>143000 <BAND:3>20m <MODE:3>SSB <RST_SENT:3>599 <RST_RCVD:3>579 <COMMENT:20>Gute Signalqualität <EOR>
Beispiel mit erweiterten Infos:
<band:3>20m <call:4>KK9A <cnty:12>NC, Cabarrus <cont:2>NA <contest_id:10>CQ-WPX-SSB <country:13>United States <dxcc:3>291 <freq:6>14.282 <gridsquare:6>EM95re <lotw_qsl_rcvd:1>Y <lotw_qsl_sent:1>Y <lotw_qslrdate:8>20200402 <lotw_qslsdate:8>20200406 <mode:3>SSB <my_city:11>Westminster <my_cnty:13>CO, Jefferson <my_country:13>United States <my_gridsquare:6>DM79lv <my_name:20>Christopher C Keller <my_state:2>CO <name:12>JOHN P BAYNE <qrzcom_qso_upload_date:8>20200329 <qrzcom_qso_upload_status:1>Y <qsl_via:6>WD9DZV <qso_date:8>20200329 <qso_date_off:8>20200329 <qth:7>MIDLAND <rst_rcvd:2>59 <rst_sent:2>59 <srx:4>1592 <state:2>NC <station_callsign:5>K0SWE <stx:1>1 <time_off:4>0034 <time_on:4>0034 <tx_pwr:3>100 <eor>
Häufig verwendete Felder
- OPERATOR: Rufzeichen des Operators
- MY_GRIDSQUARE: eigener Gridlocator
- GRIDSQUARE: Gridlocator der Gegenstation
- FREQ: Frequenz in MHz
- TX_PWR: Sendeleistung in Watt
- COMMENT: Kommentare zum QSO
- QSL_SENT: QSL-Status gesendet
- QSL_RCVD: QSL-Status empfangen
Best Practices
Dateneingabe
- Verwende standardisierte Formate für:
- Datum (YYYYMMDD)
- Zeit (HHMMSS)
- Frequenzen (MHz mit Dezimalpunkt)
- Rufzeichen (ohne zusätzliche Spaces)
- Achte auf korrekte Feldlängen:
- Die Längenangabe muss exakt der Byte-Länge der Daten entsprechen
- Bei UTF-8-Zeichen die korrekte Byte-Länge beachten
Datenvalidierung
- Überprüfe Pflichtfelder
- Validiere Datumsformate
- Stelle sicher, dass Aufzählungsfelder gültige Werte enthalten
- Prüfe die Konsistenz von zusammenhängenden Feldern
Software und Tools
Logbuch-Programme mit ADIF-Unterstützung
- Log4OM
- N1MM+ Logger
- DXKeeper
- HAM Radio Deluxe
- WSJT-X
- ACLog
- Logger32
ADIF-Validierungswerkzeuge
- ADIF Validator (online)
- ADIFmaster
- ADIF Parser Libraries für verschiedene Programmiersprachen
Anwendungsfälle
QSO-Datenaustausch
- Import/Export zwischen verschiedenen Logbuch-Programmen
- Upload zu Online-Logbüchern (LoTW, eQSL, ClubLog)
- Backup von Logbuch-Daten
- Zusammenführen von Logs verschiedener Operator
Wettbewerbe und Diplome
- Export von Contest-Logs
- Einreichung von Diplom-Anträgen
- Auswertung von Wettbewerbsergebnissen
- Validierung von QSOs für Auszeichnungen
Zukunft von ADIF
Aktuelle Entwicklungen
- Integration von digitalen Betriebsarten
- Erweiterung für neue Technologien
- Verbesserung der Datensicherheit
- Standardisierung von Contest-spezifischen Feldern
Geplante Verbesserungen
- Bessere UTF-8-Unterstützung
- Neue Felder für moderne Betriebsarten
- Erweiterte Metadaten-Unterstützung
- Verbesserte Validierungsmöglichkeiten
Wichtigste Felder
TQSL | Info as contained in ADIF 3.1.2 spec | ||||
Field | Req/Opt | Field Name | Data Type | Enumeration | Description |
CALL | Req | CALL | String | N/A | the contacted station’s Callsign |
BAND | Opt1 | BAND | Enumeration | Band | QSO Band |
MODE | Req | MODE | Enumeration | Mode | QSO Mode |
SUBMODE | Opt | SUBMODE | String | Submode | QSO Submode – use enumeration values for interoperability |
QSO_DATE | Req | QSO_DATE | Date | N/A | date on which QSO started |
TIME_ON | Req | TIME_ON | Time | N/A | HHMM or HHMMSS in UTC |
FREQ | Opt1 | FREQ | Number | N/A 7 | QSO frequency in Megahertz |
FREQ_RX | Opt | FREQ_RX | Number | N/A 7 | in a split frequency QSO, the logging station’s receiving frequency in Megahertz |
BAND_RX | Opt | BAND_RX | Enumeration | Band | |
SAT_NAME | Opt | SAT_NAME | String | name of satellite | |
PROP_MODE | Opt2 | PROP_MODE | Enumeration | Propagation Mode | QSO propagation mode |
MY_CNTY | Opt | MY_CNTY | Enumeration | (Secondary Administrative Subdivision, function of MY_DXCC field’s value) | the logging station’s Secondary Administrative Subdivision (e.g. US county, JA Gun), in the specified format |
MY_COUNTRY | Opt | MY_COUNTRY | String | Country | the logging station’s DXCC entity name |
MY_CQ_ZONE | Opt | MY_CQ_ZONE | PositiveInteger | the logging station’s CQ Zone in the range 1 to 40 (inclusive) | |
MY_DXCC | Opt | MY_DXCC | Enumeration | DXCC Entity Code | the logging station’s DXCC Entity Code 3 |
MY_GRIDSQUARE | Opt | MY_GRIDSQUARE | GridSquare | the logging station’s 2-character, 4-character, 6-character, or 8-character Maidenhead Grid Square | |
MY_IOTA | Opt | MY_IOTA | IOTARefNo | N/A | |
MY_ITU_ZONE | Opt | MY_ITU_ZONE | PositiveInteger | N/A | the logging station’s ITU zone in the range 1 to 90 (inclusive) |
MY_STATE | Opt | MY_STATE | Enumeration | (Primary Administrative Subdivision, function of MY_DXCC field’s value) | the code for the logging station’s Primary Administrative Subdivision (e.g. US State, JA Island, VE Province) |
MY_VUCC_GRIDS | Opt | MY_VUCC_GRIDS | GridSquareList | N/A | two or four adjacent Maidenhead grid locators, each four characters long, representing the logging station’s grid squares that the contacted station may claim for the ARRL VUCC award program. E.g. EN98,FM08,EM97,FM07 |
OPERATOR | Opt | OPERATOR | String | N/A | the logging operator’s callsign 4 |
STATION_CALLSIGN | Opt | STATION_CALLSIGN | String | N/A | the logging station’s callsign (the callsign used over the air) 5 |
OWNER_CALLSIGN | Opt | OWNER_CALLSIGN | String | N/A | the callsign of the owner of the station used to log the contact (the callsign of the OPERATOR’s host) |
Bemerkung:
1 Entweder Band oder Freq müssen bereitgestellt werden. Wenn nur FREQ bereitgestellt wird, wird die Band abgeleitet. Wenn beide bereitgestellt werden, wird die Band verwendet.
2 Wenn SAT_NAME bereitgestellt wird, muss Prop_Mode auf SAT gesetzt werden.
3 0 bedeutet, dass die Protokollierungsstation bekannt ist, dass sie sich nicht innerhalb einer DXCC -Entität befindet.
4 Wenn nicht in Owner_callsign vorhanden ist, wird station_callsign als sowohl als Rufzeichen der Protokollierungsstation als auch als Rufzeichen des Eigentümers der Station behandelt
5 Wenn station_callsign vorhanden ist, wird der Betreiber sowohl als Rufzeichen der Protokollierungsstation als auch als Rufzeichen des Protokollierungsbetreibers behandelt
6 Wenn nicht in Owner_callsign vorhanden ist, wird station_callsign als sowohl als Rufzeichen der Protokollierungsstation als auch als Rufzeichen des Eigentümers der Station behandelt
7 Die Frequenz muss mit einem Eintrag in die Bandaufzählung übereinstimmen.
Alle Definitionen der Felder der Version 3.15 findest du hier: https://adif.org/315/ADIF_315.htm
Fazit
ADIF hat sich als robuster und flexibler Standard für den Austausch von Amateurfunk-Logbuchdaten etabliert. Die kontinuierliche Weiterentwicklung und breite Unterstützung in der Software-Landschaft machen es zum unverzichtbaren Werkzeug für moderne Funkamateure. Die klare Struktur und gute Dokumentation ermöglichen sowohl eine einfache manuelle Bearbeitung als auch eine programmatische Verarbeitung der Daten.
Weitere Links
http://analyzer.adventureradio.de/
Wichtige Links und Ressourcen
Offizielle Dokumentation und Standards
- ADIF Offizielle Website: https://www.adif.org
- ADIF Spezifikation 3.1.4: https://adif.org/314/ADIF_314.htm
- ADIF-Schema Repository: https://github.com/k0swe/adif-json-protobuf
- ADIF Spezifikation (ARRL): https://www.arrl.org/adif
- ADIF Support bei DARC: https://www.darc.de/der-club/referate/conteste/
Logbuch-Software mit ADIF-Unterstützung
Kostenlose Software
- WSJT-X: https://physics.princeton.edu/pulsar/k1jt/wsjtx.html
- N1MM+ Logger: https://n1mm.hamdocs.com
- Log4OM Version 2: https://www.log4om.com
- CloudLog: https://www.cloudlog.co.uk
- JLog: https://www.g0hwc.com/jlog.html
Kommerzielle Software
- Ham Radio Deluxe: https://www.hamradiodeluxe.com
- Win-Test: https://www.win-test.com
- DXKeeper: https://www.dxlabsuite.com/dxkeeper
- Logger32: https://www.logger32.net
Online-Logbücher und Dienste
- Logbook of The World (LoTW): https://lotw.arrl.org
- QRZ.com Logbuch: https://www.qrz.com/logbook
- ClubLog: https://clublog.org
- eQSL: https://www.eqsl.cc
- HRDLog: https://www.hrdlog.net
Entwickler-Ressourcen
- ADIF Python Parser (GitHub): https://github.com/flwyd/adif-multitool
- ADIF Java Parser (GitHub): https://github.com/jakebarnwell/adif-parser
- HamUtils ADIF Tools: https://github.com/ham-utils/adif-tools
Organisationen
- ARRL (American Radio Relay League): https://www.arrl.org
- DARC (Deutscher Amateur Radio Club): https://www.darc.de
- IARU (International Amateur Radio Union): https://www.iaru.org
- RSGB (Radio Society of Great Britain): https://rsgb.org
Contest-Ressourcen mit ADIF-Support
- WA7BNM Contest Calendar: https://www.contestcalendar.com
- DARC Contest Portal: https://www.darc.de/der-club/referate/conteste/
Support-Communities
- Reddit r/amateurradio: https://www.reddit.com/r/amateurradio/
- QRZ Forums: https://forums.qrz.com/
- DARC Forum: https://forum.darc.de/
Hinweise
Einige Ressourcen können eine Registrierung oder Lizenzierung erfordern
Alle Links wurden im Februar 2024 auf Funktionalität überprüft
Die Software-Links führen zu den offiziellen Webseiten der jeweiligen Anbieter
Bei kommerzieller Software sind aktuelle Preise auf den jeweiligen Webseiten zu finden