Benutzer-Werkzeuge

Webseiten-Werkzeuge


projekte:utrak:aprs

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Letzte ÜberarbeitungBeide Seiten der Revision
projekte:utrak:aprs [2014/11/09 19:39] thastiprojekte:utrak:aprs [2015/07/24 08:22] – [AFSK-FM] thasti
Zeile 18: Zeile 18:
 ===== Implementierung ===== ===== Implementierung =====
 ==== AFSK-FM ==== ==== AFSK-FM ====
 +=== Methode 1 (alt): Digitale Modulation im Si4060-FSK-Offset-Register ===
 Im MSP430 wird ein NCO implementiert, der mit möglichst geringem Fehler die nötigen Frequenzen erzeugt. Die Samplerate wird dabei aus dem vorhandenen Grundtakt so gewählt, dass der Fehler für Baudrate, Mark- und Spacefrequenz möglichst klein ist. Um dieses Optimum zu finden, wurde ein Matlab-Skript geschrieben, was nach Brute-Force-Methode den prozentualen Fehler für alle Einstellungen herausfindet ({{projekte:picoflights:msp_fm.m|}}).  Im MSP430 wird ein NCO implementiert, der mit möglichst geringem Fehler die nötigen Frequenzen erzeugt. Die Samplerate wird dabei aus dem vorhandenen Grundtakt so gewählt, dass der Fehler für Baudrate, Mark- und Spacefrequenz möglichst klein ist. Um dieses Optimum zu finden, wurde ein Matlab-Skript geschrieben, was nach Brute-Force-Methode den prozentualen Fehler für alle Einstellungen herausfindet ({{projekte:picoflights:msp_fm.m|}}). 
 Ein Timer stellt die Zeitbasis für den NCO zur Verfügung, dessen Samplerate so gewählt werden sollte, dass ein üblicher FM-Demodulator die Samplefrequenz schon nicht mehr in den NF-Zweig durchlässt. Ein Wert um die 10kHz sollte dafür ausreichen. Ein Timer stellt die Zeitbasis für den NCO zur Verfügung, dessen Samplerate so gewählt werden sollte, dass ein üblicher FM-Demodulator die Samplefrequenz schon nicht mehr in den NF-Zweig durchlässt. Ein Wert um die 10kHz sollte dafür ausreichen.
Zeile 32: Zeile 33:
  
 {{projekte:picoflights:fm-1200hz-pre-demod.png?800|}} {{projekte:picoflights:fm-1200hz-pre-demod.png?800|}}
 +
 +=== Methode 2 (neu): Nutzung des FIR-Filters im Si4060, Modulation mit Rechteck ===
 +Der Si4060 enthält für GFSK-Modulation ein FIR-Filter 16ter Ordnung mit symmetrischen Koeffizienten, die frei programmierbar sind. Der Ansatz war nun, die Modulation am DATA-Pin als Rechteck durchzuführen, und das FIR-Filter zur Tiefpassfilterung zu benutzen, sodass ein möglichst sauberer Sinus am Ausgang entsteht. Vorteil ist die höhere erreichbare Samplerate: Das interne Filter arbeitet durch Oversampling mit der zehnfachen Frequenz des Dateneingangs. Um sowohl 1200 Hz als auch 2200 Hz sauber abtasten zu können, wurde 4400 Hz als Datenrate gewählt, das Filter läuft also intern bei 44 kHz. Es ist möglich, ein noch annehmbares Tiefpassfilter für diese Gegebenheiten zu entwerfen: 1200 Hz und 2200 Hz sollten kaum beeinflusst werden, 3,6kHz (3. Harmonische von 1200 Hz) sollte möglichst gut gedämpft werden. 
 +
 +Zusätzlich kann (mit Abstrichen im Stopband des Filters) die notwendige Preemphase mit in das Filter integriert werden. Es muss hier allerdings ein Trade-Off zwischen Stopbanddämpfung und Preemphase-Güte gemacht werden. Mit dem aktuellen Filter wird eine Dämpfung von 14dB bei 3,6kHz gegenüber dem 1,2kHz-Ton erreicht, alle anderen Oberwellen sind >30dB unterdrückt.
 +
 +Erreichte Verbesserung: TNC2S dekodiert jetzt alle Pakete sauber (keine Rejected Packets mehr), MixW und QTMM dekodieren ebenfalls sauber.
 +
 +
  
 ==== Bit-Stream ==== ==== Bit-Stream ====
projekte/utrak/aprs.txt · Zuletzt geändert: 2015/07/24 08:28 von thasti

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki