RDS-Projekt |
#3 Bittakt-Rückgewinnung |
|
von Dirk Fiedler
Das Eingangssignal, welches sich im Basisband befindet, beinhaltet nicht die Frequenz des Symboltaktes. Um diese
dennoch rekonstruieren zu können, quadriert man das Signal. In diesem nun entstandenen Frequenzspektrum ist der
Symboltakt enthalten. Man legt einen schmalbandigen Bandpass über das Signal um die Frequenz des Symboltaktes
herauszufiltern. Da das Signal sehr verrauscht ist, gleicht man mit Hilfe einer PLL die Phase und Frequenz eines
Referenzsignals an die Phase des gefilterten Symboltaktes an. Nach jeder Periode T des Referenzsignals wird ein
Softwareinterrupt ausgelöst, welcher die Symboldekodierung einleitet (Teilprojekt 4).
Das Referenzsignal (NCC) ist hierbei ein Sägezahn mit ansteigender Amplitude (0 - 1) mit einer Grundperiodendauer
von 1/1187 s. Der NCC - Wert wird bei jedem Codec - Interrupt (16 kHz) um 0.0742 erhöht, so daß im statistischen
Mittel bei einer Frequenz von 1187 Hz ein Überlauf im Register stattfindet. Dabei überschreitet man den
Wertigkeitsbereich der pos. Zahlen (definiert bis 1.0). Bei jedem Übergang auf den neg. Zahlenbereich wird der
Softwareinterrupt ausgelöst.
Der Phasenangleich wir erreicht, indem man von den letzen (256) Abtastwerten des Symboltaktes den Mittelwert
berrechnet, mit dem Faktor k gewichtet und schließlich zu dem NCC - Wert addiert. Dieser gewichtete moving average
bildet somit den Fehlerterm für diese Regelschleife. Alternativ kann auch ein Fehlerterm von der HP-VEE Oberfläche
herangezogen werden.
Schließlich wird noch ein Ringpuffer mit den letzten 100 Abtastwerten des Signals, jeweils zum Zeitpunkt des
Symboltaktes (= Auslösung des Softwareinterrupts), im Speicher angelegt. Da der Bandpaß eine gewisse zeitliche
Verzögerung des Softwareinterrupts verursacht, gleicht man dies durch eine regelbare Delayline aus. Daduch wird
gewährleistet, daß auch wirklich zum Zeitpunkt des Symboltaktes das Signal abgetastet wird.
Eingangssignal der Stufe:
|
Ausgangssignal der Stufe:
|
|