projekte:rtty-demodulator:start
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungNächste ÜberarbeitungBeide Seiten der Revision | ||
projekte:rtty-demodulator:start [2014/02/20 13:53] – [Abstimmanzeige] thasti | projekte:rtty-demodulator:start [2014/02/20 14:04] – [Arbeitspakete und Milestones] thasti | ||
---|---|---|---|
Zeile 71: | Zeile 71: | ||
Im AtMega wird dieser Algorithmus als kleine State Machine umgesetzt. | Im AtMega wird dieser Algorithmus als kleine State Machine umgesetzt. | ||
- | |||
- | ==== Abstimmanzeige ==== | ||
- | |||
- | ** fällt weg ** | ||
- | |||
- | Zur Anzeige der (ungefähren) korrekten Abstimmung werden ein/zwei einfache IIR-Resonator-Filter benutzt. Diese werden in Matlab als IIR Biquad Filter realisiert. | ||
- | |||
- | < | ||
- | |||
- | Die Parameter der Funktion sind die Peak-Frequenz und die gewünschte Bandbreite. | ||
- | Der Koeffizient a0 ist immer 1, b1 ist immer 0, und wenn die Mittenfrequenz zu 0.5 (FS/4) gewählt wird, wird a1 zu Null und der Filter kann weiter Optimiert werden. Dies ist leider ungünstig, daher wird auf diese Möglichkeit der Optimierung verzichtet. | ||
- | |||
- | FIXME Möglichkeit untersuchen, | ||
- | |||
- | Durch die sehr guten Ergebnisse der Regelung kann die Abstimmanzeige eigentlich wegfallen - das System regelt selbstständig auf das vorhandene Signal irgendwo in der Empfangsbandbreite. | ||
- | |||
Zeile 119: | Zeile 103: | ||
* UART (RxD: PD0, TxD: PD1) | * UART (RxD: PD0, TxD: PD1) | ||
* 16MHz XTAL (PB6, PB7) | * 16MHz XTAL (PB6, PB7) | ||
- | * ADC (PC0..5), Filterung | + | * 2xADC (PC0..5), Filterung |
- | * DAC (PD5, PD6), Filterung 4. Ordnung @ 3kHz | + | * 2x DAC (PD5, PD6), Filterung 4. Ordnung @ 3kHz (PWM@61 kHz, DAC@6kHz) |
* LED | * LED | ||
* ISP | * ISP | ||
Zeile 126: | Zeile 110: | ||
===== Arbeitspakete und Milestones ===== | ===== Arbeitspakete und Milestones ===== | ||
Es sind folgende, grundlegende Arbeitspakete zu bewältigen | Es sind folgende, grundlegende Arbeitspakete zu bewältigen | ||
- | * UART Inbetriebnahme | + | * UART Inbetriebnahme |
* Loopback-Test | * Loopback-Test | ||
* Einbindung in Matlab | * Einbindung in Matlab | ||
Zeile 133: | Zeile 117: | ||
* ADC Inbetriebnahme - **ok** | * ADC Inbetriebnahme - **ok** | ||
* Loopback @ 12kHz | * Loopback @ 12kHz | ||
- | * Mathematikoperationen | + | * Mathematikoperationen |
* saturierende Addition | * saturierende Addition | ||
* saturierende Subtraktion | * saturierende Subtraktion | ||
Zeile 139: | Zeile 123: | ||
* Fraction Division | * Fraction Division | ||
* per Matlab testen (Eingabe: 2 Operanden, Ausgabe: 1 Ergebnis) | * per Matlab testen (Eingabe: 2 Operanden, Ausgabe: 1 Ergebnis) | ||
- | * Sinus/ | + | * Sinus/ |
* per UART und Matlab testen | * per UART und Matlab testen | ||
* Eingabe: phi, Ausgabe: sin(phi), cos(phi) | * Eingabe: phi, Ausgabe: sin(phi), cos(phi) | ||
- | * Arkustangens (LUT mit Interpolation) | + | * Arkustangens (LUT mit Interpolation) |
* per UART und Matlab testen | * per UART und Matlab testen | ||
* Eingabe: x, Ausgabe: atan(x) | * Eingabe: x, Ausgabe: atan(x) | ||
- | * NCO (Oszillator für IQ-Mischung) | + | * NCO (Oszillator für IQ-Mischung) |
* Phasenakkumulator per UART validieren (Eingabe: step, Ausgabe: Wert --> Sinus in Matlab) | * Phasenakkumulator per UART validieren (Eingabe: step, Ausgabe: Wert --> Sinus in Matlab) | ||
* Phasenakkumulator am DSO validieren (FCW -> Ausgangsfrequenz) | * Phasenakkumulator am DSO validieren (FCW -> Ausgangsfrequenz) | ||
* Phasenakkumulator mit Sinus und Kosinus am DSO validieren (FCW -> Ausgangsfrequenz) | * Phasenakkumulator mit Sinus und Kosinus am DSO validieren (FCW -> Ausgangsfrequenz) | ||
* Phasenverschiebung des komplexen NCO bestimmen (frequenzunabhängig 90°) | * Phasenverschiebung des komplexen NCO bestimmen (frequenzunabhängig 90°) | ||
- | * CORDIC (Phasenwinkelbestimmung) / Division | + | * CORDIC (Phasenwinkelbestimmung) / Division |
* per Matlab testen (Eingabe: I, Q, Ausgabe: phi) | * per Matlab testen (Eingabe: I, Q, Ausgabe: phi) | ||
- | * BiQuad-Filter (für I/ | + | * BiQuad-Filter (für I/ |
* passenden Koeffizientensatz berechnen | * passenden Koeffizientensatz berechnen | ||
* per DSO und Sig-Generator testen | * per DSO und Sig-Generator testen | ||
- | * RC-Filter (für Fehlersignal) | + | * RC-Filter (für Fehlersignal) |
* per DSO und Sig-Generator testen | * per DSO und Sig-Generator testen | ||
- | * Baudot-Code Dekodierung (2x LUT) | + | * Baudot-Code Dekodierung (2x LUT) **todo** |
* per UART testen (Eingabe: Baudot, Ausgabe: ASCII) | * per UART testen (Eingabe: Baudot, Ausgabe: ASCII) | ||
===== Interna ===== | ===== Interna ===== |
projekte/rtty-demodulator/start.txt · Zuletzt geändert: 2015/11/17 09:26 von thasti