-
Hintergrund der Erfindung
-
Die
Erfindung bezieht sich allgemein auf die Regenerierung eines Taktsignals
für eine
digitale Datenübertragung
und speziell auf die Regenerierung eines Taktsignals, ohne dass
ein Datenempfänger zum Übernehmen
einer Abtastfrequenz (und damit einer Prozessortaktfrequenz) als
ganzzahliges Vielfaches der Datentaktfrequenz erforderlich ist.
-
Bei
Erzeugung digitaler Informationen in Form von binären Signalen
wird jedes binäre
Bit einem jeweiligen Zeitschlitz zugeordnet. Die Zeitschlitze sind
normalerweise von gleicher Dauer, da sie durch ein Taktsignal mit
einer der Sollbitrate des binären
Signals entsprechenden Frequenz festgelegt werden. Zur Unterstützung der Übertragung
des Digitalsignals (z. B. bei drahtloser Nachrichtenübermittlung)
kann ein Modulationsschema zur Darstellung eines binären Eins-
oder Null-Werts verwendet werden. Wenn ein solches Signal empfangen
wird, hängt die
Erfassung oder Demodulation des ursprünglichen binären Signals
von den verfügbaren
Zeitinformationen zur Identifizierung des richtigen Zeitschlitzes
ab. Es ist normalerweise ungünstig,
das ursprüngliche Taktsignal
mit dem binären
Datensignal zu übertragen.
Deshalb ist es normalerweise wünschenswert, die
Taktung aus dem übertragenen
Datensignal selbst zu regenerieren.
-
Das
Rundfunkdatensystem (RDS) in Europa und das Rundfunkübertragungsdatensystem
(RBDS) in Nordamerika sind Beispiele von Systemen, die das drahtlose
Senden von Digitalsignalen anwenden. In diesen Systemen wird ein
digitaler Datenstrom, der eine analoge (z. B. UKW-)Rundfunkübertragung
ergänzt,
auf einen Zwischenträger
unter Verwendung von binär
modulierten Signalen gesendet. Durch zweckmäßige Demodulation der kodierten
Daten ermöglicht
der digitale Datenstrom die Bereitstellung erweiterter Merkmale
am Empfänger,
wie z. B. Textanzeige von Programm- oder Formattypenbezeichnung,
Anzeige von Senderbezeichnung, Anzeige von Liedinfornationen (z.
B. Liedtitel und Künstler)
und Bereitstellung alternativer Frequenzen zwecks automatischen
Nachstimmens eines Radioempfängers auf
einen anderen Sender in einem gemeinsamen Netz, wenn zum Beispiel
das Signal des momentan empfangenen Senders schwach wird.
-
Die
RDS-/RBDS-Daten werden einem gleichzeitig gesendeten UKW-Rundfunksignal
mithilfe von Zweiseitenbandmodulation mit unterdrücktem Träger bei
einer Frequenz von 57 kHz hinzugefügt. Die digitalen Daten sind
bei einer Datenrate von 1187,5 Bits pro Sekunde (bps) zweiphasenkodiert. Jedes
binäre
Bit (d. h. entweder eine Eins oder eine Null) wird durch ein Symbol
dargestellt, wobei die Übergangsrichtung
des zeitlich veränderlichen
Signals am Mittelpunkt eines Bitzeitschlitzes den Bitwert erkennen
lässt.
Zur Dekodierung des richtigen Bitwerts muss ein richtiges Taktungssignal
regeneriert werden, so dass die relative Phase jedes Bitsymbols unterschieden
werden kann.
-
In
dem Stand der Technik entsprechenden RDS-/RBDS-Empfängern ist
die Abtastfrequenz, mit der die zweiphasenkodierten Daten abgetastet
werden, als ganzzahliges Vielfaches der Datentaktfrequenz Rb gewählt
worden, so dass ein gleicher Betrag von ganzzahligen Abtastungen
während
eines Zeitschlitzes des digitalen Signals auftritt. Im Ergebnis
wird es einfach, ein der Frequenz der Bitrate entsprechendes Taktsignal
zu erzeugen (z. B. durch Zählung
bei der Abtastrate zwecks Erzeugung eines alternierenden Taktsignals).
Die Phase des Taktsignals muss außerdem am Ursprungsbittaktsignal
ausgerichtet sein. Die Phasenausrichtung kann durch Bezugnahme auf
die Daten selbst erreicht werden.
-
Das
Erfordernis der Abtastfrequenz als ganzzahliges Vielfaches der Datentaktfrequenz
kann eine unerwünschte
Einschränkung
auf die Auslegung eines bestimmten Empfängers (sowie eine Einschränkung auf
die Wahl der Abtastfrequenz und damit der Prozessortaktfrequenz)
darstellen. Außerdem sind
dem Stand der Technik entsprechende Taktregenerierungsimplementierungen
den Kundenwünschen
für jeden
bestimmten Empfänger
anzupassen und nicht auf andere Empfängerarten übertragbar. Mit jedem neuen
Modell eines Empfängers
muss eine neue, einmalige Taktregenerierungseinrichtung in Übereinstimmung
mit anderen Einzelheiten der Empfängerart (z. B. Abtastfrequenz
und Datenbitrate) gesondert entworfen werden. Das Bemühen um eine
kundengerechte Auslegung führt
zum Anstieg von Kosten und Entwicklungszeit.
-
Zusammenfassung der Erfindung
-
Die
Erfindung hat den Vorteil, jede beliebige Wahl einer Abtastrate
im Verhältnis
zur Datentaktfrequenz bei Aufrechterhaltung eines regenerierten
Taktungssignals mit ausreichender Genauigkeit für eine zuverlässige Dekodierung
der digitalen Daten zu ermöglichen.
Außerdem
stellt die Erfindung ein Verfahren und einen Apparat zur Taktungssignalregenerierung
mit einfacher Anpassung an verschiedene Abtastfrequenzen und Datentaktfrequenzen
bereit, wodurch bei Anwendung der Erfindung ein wiederverwendbares
Digitalsignalprozessor-(DSP-)Modul bereitgestellt wird sowie Entwicklungszeit
und -kosten von Empfängern
verringert werden.
-
In
einer Ausgestaltung der Erfindung wird ein Verfahren zur Regenerierung
eines Taktungssignals aus einem kodierten Digitalsignal mit einer
Datentaktfrequenz Rb in einem Empfänger unter
Verwendung einer festgelegten Abtastrate Fs bereitgestellt, wobei
die Datentaktperiode 1/Rb kein ganzzahliges Vielfaches
der festgelegten Abtastperiodel/Fs ist.
Das Verfahren umfasst das Erzeugen eines Eingangsimpulssignals in
Reaktion auf das kodierte Digitalsignal. Jedes der Eingangsimpulssignale
wird in einem festgelegten Verzögerungselement
akkumuliert, das einen akkumulierten Wert speichert, wobei sich
das festgelegte Verzögerungselement
in einer Verzögerungsschleife
befindet, die N Verzögerungselemente enthält, wovon
jedes einen jeweiligen akkumulierten Wert hat. Die akkumulierten
Werte werden innerhalb der Verzögerungsschleife
durch Verschiebung bei jeder der einer festgelegten Verschiebungssequenz entsprechenden
Abtastperioden in Umlauf gebracht, wobei die festgelegte Verschiebungssequenz
eine Vielzahl von Einzelverschiebungen und mindestens eine andere
Verschiebungsgröße zwecks
Bereitstellung einer Anzahl von Verschiebungen N + δ während eines
Zyklus von N Abtastperioden umfasst. Als Reaktion auf die akkumulierten
Werte und einen festgelegten Schwellenwert wird ein Synchronisationsimpuls
erzeugt. Zur Ausgabe eines Taktungssignals in Reaktion auf die festgelegte
Abtastrate Fs wird ein Zähler betrieben, wobei der Zähler eine
variable Zählperiode
entsprechend einer festgelegten Zählsequenz aufweist. Die variable
Zählperiode
hat einen Mittelwert über
der Zeit entsprechend der Datentaktperiode 1/Rb.
Der Zähler
wird in Reaktion auf den Synchronisationsimpuls (falls ein Synchronisationsimpuls
notwendig wird) zurückgesetzt.
-
Kurzbeschreibung der Zeichnungen
-
Die 1(a) bis 1(d) zeigen Kurvenformen verschiedener
Signale zur Erklärung
des Betriebs der Erfindung.
-
2 ist ein Blockdiagramm
einer Vorzugsausgestaltung eines Taktungsregenerierungsapparats
der Erfindung.
-
3 ist ein Blockdiagramm
einer detaillierter dargestellten bevorzugten Hardware-Implementierung
der Erfindung.
-
Ausführliche Beschreibung der Vorzugsausgestaltungen
-
1(a) zeigt einen vorrangig
zur Ubertragung mithilfe von Zweiphasenkodierung erzeugten RDS-Datenstrom,
wobei ein „1"-Bit als ein einzelner Zyklus
mit einer ersten Phase (z. B. ein negativ gerichteter Übergang
am Mittelpunkt der Bitperiode) und ein „0"-Bit
als ein einzelner Zyklus mit einer zur ersten Phase umgekehrten
zweiten Phase (z. B. ein positiv gerichteter Übergang am Mittelpunkt) dargestellt
ist. Wenn aufeinander folgende Bits denselben Wert haben, tritt
am Beginn, in der Mitte und am Ende einer Bitperiode ein Nulldurchgang
oder eine Kante auf. Wenn die binären Signale von einem zum anderen
Bitwert wechseln, gibt es weder einen Nulldurchgang noch eine Flanke
am Anfang der entsprechenden Bitperiode.
-
1(b) zeigt ein ideales Taktungssignal, das
der zur Erzeugung des zweiphasenkodierten Datenstroms verwendeten
Taktung entspricht und einen idealen Bitzeitschlitz oder eine ideale
Bitperiode Pi besitzt. Es ist erwünscht, ein
auf einem empfangenen Datensignal wie in 1(a) basierendes Taktungssignal zu regenerieren,
das eine große
Annäherung
an das ideale Taktungssignal von 1(b) aufweist.
-
1(c) zeigt eine dem Stand
der Technik entsprechende Abtastfrequenz, die als ein ganzzahliges
Vielfaches der idealen Bitrate oder Bitfrequenz gewählt wird,
so dass eine Gesamtzahl von Abtastfrequenztaktungsimpulsen für jeden
Zyklus des idealen Bittaktungssignals erzeugt wird. Als Beispiel
wird eine Abtastfrequenz mit einem 8 fachen der Bitrate gezeigt
(d. h. in jeder Bitperiode treten 8 Abtastimpulse auf). Vorausgesetzt,
dass zur Spezifizierung alle zur Erzeugung des ursprünglichen
binären
Signals und der Abtastfrequenz verwendeten Taktungsreferenzen ausreichend
genau sind, kann ein bei einer Abtastfrequenz betriebener freilaufender
Zähler
die Frequenz des ursprünglichen
Taktungssignals im Wesentlichen treffen. Im Fachgebiet sind einige
unterschiedliche Verfahren zur Synchronisierung der Phase des regenerierten
Taktsignals einschließlich Musteranpassung
(z. B. Finden von Abtastfenstern mit gleicher Anzahl von positiven
und negativen Datenabtastwerten) und Nulldurchgangserfassung (z. B.
Finden der Abtastposition innerhalb des Tastzyklus, der die meisten
Nulldurchgänge
enthält)
bekannt.
-
Durch
die Erfindung soll das dem Stand der Technik entsprechende Erfordernis,
dass die in den Empfängern
verwendete Abtastrate ein ganzzahliges Vielfaches der Prozessortaktfrequenz
ist, eliminiert werden. Eine Datentaktfrequenz Rb eines
RDS- oder RBDS-Signals
beträgt
zum Beispiel 1187,5 Hz. Dem Stand der Technik entsprechende Empfänger verwenden
typischerweise eine Abtastfrequenz von 9,5 kHz, so dass 8 Abtastwerte
pro RDS-Bit ausgezählt werden.
Da die Abtastfrequenz ein ganzzahliges Vielfaches der Prozessortaktfrequenz
sein muss, könnten
nur bestimmte Frequenzen für
die Prozessortaktfrequenz verwendet werden. Aufgrund anderer Betrachtungen über die
Auslegung eines Empfängers
kann es erwünscht
sein, eine andere Abtastfrequenz (oder eine Basistaktfrequenz) als
das Vielfache von 1187,5 Hz zu verwenden. In einer möglichen Empfängerauslegung
könnte
eine Abtastfrequenz Fs von 10,546874 kHz
verwendet werden, was zu einem Verhältnis Fs zu
Rb von 8,8815789 führt. Wie in 1(d) dargestellt, treten in einer idealen
Bitperiode 8,8815789 Abtastimpulse auf. Da jedoch ein Taktzähler nur
ganzzahlig zählen
kann, ist es nicht möglich,
eine exakte Periode des Datensignals zu zählen. Wenn das Taktsignal durch
Zählung
annähernd
9 Abtastperioden ergibt, wächst
der Fehler zwischen tatsächlicher
und angenäherter
Taktung schnell auf einen Punkt, an dem Daten nicht mehr zuverlässig erfasst
werden.
-
Wie
in der ebenfalls anstehenden und hier in ihrer Gesamtheit durch
Verweis darauf enthaltenen US-Patentanmeldung 10/284,231, eingereicht
am 30. Oktober 2002 unter dem Titel „Taktungsregenerierung mithilfe
einer willkürlichen
Abtastfrequenz", beschrieben,
kann durch Modulieren der Taktzahl S zwischen verschiedenen ganzen
Zahlen eine variable Taktperiode erzeugt werden, so dass die mittlere Taktperiode
(über eine
Vielzahl von Taktperioden) im Wesentlichen gleich der Datentaktfrequenz
Rb ist und der unmittelbare Fehler zwischen
der Taktperiode und dem idealen Taktsignal klein gehalten wird.
Die Anzahl der während
jeder variablen Taktperiode ausgezählten Abtastungen wechselt
entsprechend einer festgelegten Zählsequenz zum Beispiel zwischen
einem Wert von 9 Abtastungen und einem Wert von 8 Abtastungen. Die
variable Taktperiode hat eine mittlere Dauer, die im Wesentlichen
gleich der Datenbitperiode ist (d. h. der Mittelwert von S nähert sich
dem Verhältnis
Fs/Rb). Der resultierende
Fehler zwischen dem regenerierten Taktungssignal und dem idealen Taktsignal
ist stets kleiner als eine Abtastperiode. Vorausgesetzt, dass das
regenerierte Taktungssignal richtig gephast (d. h. synchronisiert)
ist, kann es zur Dekodierung des digitalen Datensignals zufrieden stellend
verwendet werden.
-
Die
Erfindung synchronisiert das regenerierte Taktsignal trotz erforderlicher
minimaler Verarbeitungsressourcen mit hoher Genauigkeit. 2 zeigt eine Taktungsregenerierungsschleife
für das
Erzeugen von Synchronisationsimpulsen mithilfe einer modifizierten/modulierten
Schleifenlänge
für das
Hinzufügen
von Eingangsimpulsen zu verzögerten
Eingangsimpulsen. Ein Pulsgenerator 10 empfängt das Eingangsdatensignal
und erzeugt durch das Eingangsdatensignal beaufschlagte Eingangsimpulse. In
einer Vorzugsausgestaltung sind die Eingangsimpulse eine Abtastperiode
lang und haben einen binären
Wert zum Anzeigen jedes Übergangs
(z. B. Nulldurchgang) des Eingangsdatensignals. Die Eingangsimpulse
werden einem der Eingänge
eines Summators 11 bereitgestellt. Der Ausgang des Summators 11 ist
mit einem Eingang einer Verschiebungslogikschaltung 19 verbunden.
Die Eingänge
einer Vielzahl von Verzögerungselementen 12 bis 18 sind
mit den jeweiligen Ausgängen
der Verschiebungslogikschaltung 19 verbunden und ihre Ausgänge mit
den jeweiligen Eingängen
der Verschiebungslogikschaltung 19. Ein Ausgang der Verschiebungslogikschaltung
ist mit dem anderen Eingang des Summators 11 verbunden.
Der Summator, die Ver schiebungslogikschaltung und die Verzögerungselemente
wirken bei digitalen Mehrbitwerten. Diese Werte werden zwischen den
Verzögerungselementen
in Umlauf gebracht, um eine Verzögerungsschleife
durch Verschiebung der Werte von einem Verzögerungselement zum nächsten bereitzustellen.
Das umfasst die Verschiebung eines akkumulierten Werts, der durch
Hinzufügen
jedes neuen Eingangsimpulses vom Pulsgenerator 10 zu einem
Wert in einem der Verzögerungselemente gebildet
wird. Der im Summator 11 zu inkrementierende Wert stammt
stets vom selben Verzögerungselement
(z. B. Verzögerungselement 12).
Normalerweise werden die Werte in der Verzögerungsschleife um ein Element
verschoben (z. B. von Element 12 zu Element 13,
Element 13 zu Element 14 usw.), können jedoch
auch, wie nachfolgend beschrieben, um eine andere Elementeanzahl
entlang der Kette verschoben werden.
-
Die
Verschiebungslogikschaltung 19 kann aus einer Multiplexmatrix
bestehen, die für
das Verbinden jedes Verzögerungselementausgangs
mit einem entsprechenden Verzögerungselementeingang zum
Erreichen einzelner Verschiebungen, doppelter oder anderer Verschiebungen
wählbar
konfiguriert ist. Eine Taktungssteuerung 24 ist für die Bereitstellung
eines Verschiebungstaktungssignals mit jedem Verzögerungselement
und zur Steuerung des Verschiebungsbetrags in jeder Abtastperiode
mit der Verschiebungslogikschaltung 19 verbunden.
-
Durch
Anpassen der Verzögerungsschleifenlänge auf
die Nennperiode des idealen Taktsignals wird ein durch die Schleife
zirkulierender Eingangsimpuls durch nachfolgende Eingangsimpulse
verstärkt.
Ein Impulstaktungskalkulator 20 enthält einen an die Outputs einer
aufeinander folgenden Untermenge der Verzögerungselemente (z. B. Elemente 12, 13, 14)
gekoppelten Summenwichtungsblock 21, wobei eine gewichtete
Summe gebildet wird, die zum zentralen Verzögerungselement (d. h. Element 13) hin
stärker
gewichtet ist. Die gewichtete Summe wird in einem Schwellenwertvergleichsblock 22 mit
einem Schwellenwert verglichen. Wenn die gewichtete Summe den Schwellenwert
erreicht oder übersteigt, wird
ein Synchronisationssignal an einen zurückgesetzten Input eines Zählers 23 gekoppelt,
der mit einer Abtastrate Fs zur Erzeugung
des regenerierten Taktungssignals getaktet ist. Deshalb wird der
Zähler 23 erneut
mit dem ankommenden Datensignal in Phase synchronisiert. Die Inhalte
der Verzögerungselemente
werden in Reaktion auf das Synchronisationssignal gelöscht, so
dass eine neue Taktungsbestimmung gestartet werden kann. Die Taktungssteuerung 24 ist
für die
Bereitstellung der festgelegten Zählsequenz mit dem Zähler 23 verbunden.
Die Steuerung 24 ist außerdem mit der Verschiebungslogikschaltung 19 verbunden,
um die Verschiebung der Werte zwischen den Verzögerungselementen zu steuern.
-
Dem
Stand der Technik entsprechende Empfänger verwenden eine Abtastrate
Fs, die ein ganzzahliges Vielfaches der
Datentaktfrequenz oder Datenbitrate Rb ist.
Es wird eine Verzögerungsschleifenlänge verwendet,
die dem ganzzahligen Vielfachen entspricht, so dass der richtige
akkumulierte Wert am Schleifeneingangspunkt vorhanden ist, wenn
nachfolgende Eingangsimpulse ankommen. Wenn in einem ankommenden
Datensignal Drift oder ein Synchronisationsfehler vorhanden ist,
werden die Eingangsimpulse fehlerhaft abgeglichen (d. h. zwischen benachbarten
Impulsen verschmiert). Die Verwendung einer gewichteten Summe erlaubt
die beste Bestimmung der zu erkennenden richtigen Impulslage. Bei
Auftreten eines großen
Synchronisationsfehlers oder Rauschens könnte über eine lange Zeit kein Synchronisationssignal
erzeugt werden.
-
Da
der Taktungsregenerierungszähler
im dem Stand der Technik entsprechenden System eine der Datentaktperiode
1/Rb gleiche Periode bereitstellt, enthält sie wahrscheinlich
eine ganzzahlige Anzahl von Abtastperioden. Zwischen Synchronisationsimpulsen
zählt der
wie ein „Schwungrad" wirkende Zähler die
ganzzahlige Anzahl der Abtastperioden wiederholt aus.
-
Für einen
optimalen Betrieb der Taktungsregenerierungsschleife muss der Gesamtbetrag
der Verzögerung
in der Schleife der erwarteten Zeit zwischen Eingangsimpulsen so
nahe wie möglich
kommen. Für
den Stand der Technik ist die Verzögerung der Schleife gleich
der mit der Anzahl der Verzögerungselemente
multiplizierten Abtastperiode. Falls eine Abtastperiode gewählt wird,
die kein ganzzahliger Divisor der erwarteten Zeit zwischen Eingangsimpulsen
ist, könnte
es sein, dass die Schleifenverzögerung
nicht mit ausreichender Genauigkeit an die Eingangsimpulstaktung
angepasst werden kann. In der Erfindung wird eine Verschiebungssequenz
verwendet, die von einer Eins-zu-eins-Übereinstimmung zwischen Abtastperioden
und Verschiebungen abweicht, wodurch eine von N abweichende effektive Schleifenlänge erzielt
wird (wobei N die Anzahl der Verzögerungselemente in der Verzögerungsschleife ist).
-
In
einer Vorzugsausgestaltung wählt
die Steuerung 24 zwischen dem Verschieben eines der Verzögerungselemente
für die
meisten Abtastperioden und einer anderen Verschiebungsgröße (z. B. null
oder zwei der Verzögerungselemente)
für andere Abtastperioden
auf eine solche Weise aus, dass die mittlere Schleifenlänge (d.
h. über
eine Vielzahl von Schleifenzyklen) im Wesentlichen gleich der idealen Taktperiode
1/Rb ist. Deshalb ist die Gesamtzahl der Verschiebungen über N Abtastperioden
gleich N + δ, wobei δ die Differenz
zwischen jeder anderen Verschiebungsgröße im Zyklus und einer Verschiebung von
Eins ist. Bei einer Doppelverschiebung ist δ = 1 (d. h. zwei Verschiebungen
minus eine Verschiebung) und bei einer Nullverschiebung ist δ = –1. Werden
in einem Zyklus zwei Doppelverschiebungen verwendet, ist δ gleich 2.
-
Die
Verzögerungsschleife
kann aus Hardware-Registern für
die eigentliche Verschiebung akkumulierter Werte bestehen, wie in 2 dargestellt, oder kann
ein Speicherpuffer und ein Zeiger für das zyklische Verweisen auf
unterschiedliche Positionen im Puffer sein. Als eine Alternative
zur Verschiebungslogikschaltung könnten die Hardware-Register in Reihe
geschaltet werden, und anschließend
kann eine Doppelverschiebung durch Hinzufügen eines zusätzlichen
Verschiebungssignals während
einer Abtastperiode oder durch Verwendung von Eingangsmultiplexern
erzielt werden, die entweder das vorige oder das vorvorige Register
in der Schleife auswählen
können.
Eine Doppelverschiebung kann bei Verwendung eines Speicherpuffers
durch Vorrücken
des Pufferzeigers um zwei Adressen erzielt werden. Eine Nullverschiebung
kann durch Deaktivierung entweder der Registerverschiebung oder
des Vorrückens
des Pufferzeigers für
eine der Abtastperioden erzielt werden.
-
Wenn
eine einzige Verschiebung für
N – 1 Abtastperioden
verwendet wird und anschließend eine
Doppelverschiebung für
die N-te Abtastperiode, ist die Gesamtzahl der Verschiebungen während eines
Zyklus von N Abtastperioden gleich N + 1. Die mittlere Verschiebung
pro Abtastperiode ist (N + 1)/N Verzögerungselemente. Ein in der
Schleife zirkulierender akkumulierter Wert bewegt sich bei eingefügter Doppelverschiebung
etwas schneller (im Mittel) durch die Schleife, wodurch die effektive
Schleifenlänge
verkürzt
wird. Durch eine zwischen zwei aufeinander folgenden Zyklen verwendete
Modulation der Anzahl der Verschiebungen kann eine aus einer Teilzahl
von Abtastperioden bestehende mittlere Schleifenlänge erzielt
werden.
-
Wenn
zum Beispiel das Verhältnis
der Datenperiode zur Abtastperiode 12,5 wäre, könnte eine passende mittlere
Schleifenlänge
unter Verwendung von 13 konkreten Verzögerungselementen und durch Kippen
der effektiven Schleifenlänge
zwischen 12 und 13 Abtastperioden für wechselnde Zyklen (d. h. Verwendung
einer Doppelverschiebung in einem Zyklus bei einer Schleifenlänge von
12 und anschließend
sämtlich
Einzelverschiebungen im nächsten Zyklus
bei einer Schleifenlänge
von 13) erzielt werden. In einer anderen Alternative könnten zur
Erzeugung einer effektiven Schleifenlänge von 13 (und eines Gesamtmittelwerts
von 12,5) 12 konkrete Verzögerungselemente
zusammen mit einer Nullverschiebung (d. h. keine Verschiebung) in
wechselnden Zyklen verwendet werden. Die Position der Doppelverschiebung
(oder Nullverschiebung) innerhalb des Zyklus wird vorzugsweise geändert (z.
B. wird bei jedem einzelnen Zyklus zufällig gewählt), um den unmittelbaren
Fehler zu minimieren.
-
Eine
festgelegte Verschiebungssequenz enthält vorzugsweise mehrere Zyklen
(d. h. komplette Schleifen) in einer Rahmenstruktur, innerhalb der
die mittlere Schleifenlänge
pro Zyklus im Wesentlichen gleich der gewünschten Datenbitperiode oder
idealen Taktperiode ist. Die festgelegte Verschiebungssequenz wird
anschließend
für die
nachfolgenden Rahmen wiederverwendet. Es sei P eine ganzzahlige
Anzahl von Abtastperioden in einem Rahmen und Q eine ganzzahlige
Anzahl von Schleifenzyklen in einem Rahmen. Dann ist die mittlere
Schleifenlänge
innerhalb des Rahmens (auch auf die effektive Schleifenlänge Leff bezogen) gleich P/Q. Deshalb werden P und
Q so gewählt,
dass sie gleich dem Verhältnis
von Abtastrate Fs zu Datentaktfrequenz Rb sind, und N wird als ganzzahliger Faktor
von Q gewählt.
-
In
einem anderen Beispiel ist in einem wie voranstehend erwähnten RDS-Empfänger das
digitale Signal zweiphasenkodiert bei einer Datenrate von 1187,5
Bits pro Sekunde. Es wird eine Abtastfrequenz Fs von
10,546874 kHz verwendet, die ein Verhältnis von Fs zu
Rb von 8,8815789 ergibt. Deshalb wäre eine
mittlere effektive Schleifenlänge
von etwa 8,8815789 wünschenswert.
Das kann mithilfe einer Verzögerungsschleife
der tatsächlichen
Länge 9
und der Modulation der effektiven Länge einzelner Schleifen zwischen
8 und 9 durch Verwendung von Doppelverschiebungen in festgelegten
Zyklen innerhalb eines Rahmens zum Erzeugen einer festgelegten Verschiebungssequenz
erreicht werden. Sämtliche
Einzelverschiebungen werden zum Beispiel für 7 Zyklen (effektive Länge von
9) verwendet, anschließend
erfolgen Einzelverschiebungen und eine Doppelverschiebung in einem
Zyklus (effektive Länge
von 8), dann sämtliche
Einzelverschiebungen für
8 Zyklen und schließlich
Einzelverschiebungen und eine Doppelverschiebung in einem letzen
Zyklus des Rahmens. Die gesamte effektive Länge innerhalb dieses Rahmens
beträgt
8,8823529, was für
die Aufrechterhaltung einer richtigen Synchronisation genügend nahe
bei 8,8815789 liegt.
-
Innerhalb
derselben Rahmenstruktur ist die festgelegte Zählsequenz so eingerichtet,
dass der Zähler
dieselben mittleren Perioden über
dem Rahmen wiederholt. Eine andere Beispielsequenz ist wie folgt:
Beginnend beim Start des Rahmens wird eine Perioden- oder Zykluszählung von
S für die
ersten V Perioden verwendet, wobei S normalerweise gleich N und
V ganzzahlig ist. Danach wird eine einzelne Periode eingefügt, die
eine Zykluszählung
S – 1
verwendet. Anschließend
verwenden die nächsten
W Perioden die Zykluszählung
S, gefolgt von einer anderen einzelnen Periode, die S – 1 verwendet.
Weitere Perioden, die die Zykluszählungen S oder S – 1 verwenden,
werden in den Rahmen eingefügt,
um die mittlere Zählerperiode
innerhalb des Rahmens gleich der Schleifenperiode (und gleich oder
annähernd gleich
der Datentaktperiode) zu machen. Es sei G die Anzahl von Malen,
die V verwendet wird, H die Anzahl von Malen, die W verwendet wird,
und J die Anzahl von S – 1
Perioden im Rahmen. Die Gesamtzahl der Zyklen Q im Rahmen ist G
+ H + J. Die Gesamtzahl der Abtastperioden P im Rahmen ist (G × V × S) + (H × W × S) + (J × (S – 1)). Damit
ergibt sich die mittlere Zählerperiode
aus [(G × V × S) + (H × W × S) + (J × (S – 1))]/(G
+ H + J) Abtastperioden.
-
Die
Zählerperioden,
die die Zykluszählung
S – 1
verwenden, werden vorzugsweise zur gleichen Zeit wie die Zyklen
der Verzögerungsschleife
gestartet, die eine Doppelverschiebung verwenden. Durch diese gleichzeitige
Generierung wird in der Mikrosteuerung Verarbeitungszeit gespart.
-
Ein
bevorzugter Apparat für
die Implementierung der Erfindung mithilfe von Digitalsignalprozessor-(DSP-)Komponenten
ist in 3 dargestellt.
Ein Empfängereingang 30 stellt
ein kodiertes Digitalsignal mit einer Bitrate Rb bereit.
Der Eingang 30 könnte zum
Beispiel einen Radiotuner und -demodulator für das Empfangen eines RDS-Rundfunks
umfassen. Das kodierte digitale Datensignal wird an einen Nulldurchgangsdetektor 31 und
an einen Dekodierer 35 geliefert. Eingangsimpulse vom Nulldurchgangsdetektor 31 werden
an einen Synchronisator 32 geliefert. Basierend auf einer
festgelegten Verschiebungssequenz und einem im Synchronisator 32 enthaltenen
Schwellenwert wird ein Synchronisationssignal an einen Taktzähler 33 geliefert.
-
Ein
programmierbarer Speicher 34 enthält die festgelegte Zählsequenz,
die vom Taktzähler 33 zur
Erzeugung einer regenerierten Taktungsfrequenz, basierend auf einer
Abtastfrequenz Fs, verwendet wird. Der Taktzähler 33 regeneriert
mithilfe der Abtastfrequenz als Zählbezug das Taktungssignal,
das dem Dekodierer 35 zur Regenerierung des ursprünglichen
binären
Datenstroms bereitgestellt wird.