[0001] Gegenstand des Schutzrechts ist ein Verfahren zur Decodierung von mit einem RDS-Empfänger
empfangenen Datenblöcken gemäß dem Oberbegriff des Anspruchs 1 und eine zur Durchführung
dieses Verfahrens geeignete Schaltungsanordnung gemäß dem Oberbegriff des Anspruchs
3.
[0002] Empfänger für das Radio-Daten-System (RDS) sind in der DIN EN 50 067 definiert. In
der Unterlage dieser Norm ist auf Seite 5 im Bild 2 die Struktur eines an den MPX-Ausgang
eines üblichen Rundfunkempfängers angeschlossenen RDS-Empfängers als Blockschaltbild
gezeigt und auf Seite 34 im Bild B 4 ein Ausführungsbeispiel eines Decoders in dem
Datenprozessor des RDS-Empfängers dargestellt und dessen Arbeitsweise erläutert. Ein
RDS-Empfänger ist auch aus der US 4 821 270 bekannt.
[0003] Von der Arbeitsweise des bekannten auch fehlerkorrigierenden Decoders, die in dem
Oberbegriff des Hauptanspruchs erfaßt ist, unterscheidet sich das erfindungsgemäße
Verfahren durch die im Kennzeichen des Hauptanspruchs genannten Merkmale.
[0004] Das neue Verfahren bietet den Vorteil höherer Sicherheit, da bei der Fehlerkorrektur
auch die Prüfbits erfaßt werden, d. h. erst ein nicht korrigierbarer Fehler - auch
in den Prüfbits - führt zur Verwerfung der Daten.
[0005] Zum besseren Verständnis der Erfindung werden zunächst einige Begriffe aus der DIN
EN 50 067 und die Arbeitsweise des bekannten Decoders erläutert und danach anhand
der Zeichnung der erfindungsgemäße Verfahrensablauf in dem abgewandelten Decoder dargelegt.
In der Zeichnung zeigt
- Fig. 1
- das Blockschaltbild eines neuen Decoders,
- Fig. 2
- das Blockschaltbild einer Takteinheit in der Steuereinheit für diesen Decoder.
[0006] Nach der DIN EN 50 067 wird auf der Senderseite dem im Empfänger an sich interessierenden
Informationswort, das aus sechzehn Bits besteht, ein Prüfwort angehängt, das aus zehn
Bits besteht, und diesem eines von sechs definierten Offsetworten überlagert, das
ebenfalls aus zehn Bits besteht. Auf dem Weg vom Sender zum Empfänger können in den
zu übertragenen Bits Fehler entstehen.
[0007] Im Empfänger muß der bekannte Decoder aus dem empfangenen unendlichen Bitstrom das
Informationswort zurückgewinnen. Er ist dazu derart ausgelegt, daß er das ihm im synchronisierten
Zustand bekannte Offsetwort in einer X-OR-Stufe von dem Prüfwort trennt und das Informationswort
und das Prüfwort einem Syndromregister zur Fehlerprüfung zuführt und die Bits des
Informationswortes derweilen zwischenspeichert. Nach der Fehlerprüfung wird das gegebenenfalls
in einer weiteren X-OR-Stufe korrigierte Informationswort ausgegeben.
[0008] In dem Syndromregister sind die Speicherzellen zur Syndromberechnung derart miteinander
verknüpft, daß bei fehlerfreiem Empfang eines Codewortes das Syndrom am Blockende
zu Null berechnet wird. Danach werden in der dem letzten Bit des jeweiligen Blocks
zugehörigen Periode die sechzehn Informationsbit mit schnellem Takt aus dem Zwischenspeicher
ausgelesen. Zugleich wird der Inhalt des Syndromregisters in diesem zum Umlauf gebracht,
bei dem die Verknüpfungen zwischen den Speicherzellen wirksam bleiben. Werden dabei
in die ersten fünf Zellen des Syndromregisters Nullen eingeschrieben, so wird der
Umlauf des Inhalts im Syndromregister unterbrochen und danach der Inhalt des Syndromregisters
Bit für Bit ausgelesen und zu dem Datenstrom aus dem Zwischenspeicher addiert. Dabei
ergibt sich gegebenenfalls eine Fehlerkorrektur.
[0009] Wird der Inhalt der ersten fünf Zellen nicht Null bevor der Zwischenspeicher ausgelesen
ist, so ist entweder ein nichtkorrigierbarer Fehler aufgetreten oder der Fehler liegt
in den Prüfbits. Mit Beginn des nächsten Blocks wird das Syndromregister wieder auf
Null gesetzt.
[0010] Im Unterschied hierzu werden in dem Verfahren nach der Erfindung die von dem RDS-Empfänger
1 über einen Datenumschalter 2 in dessen Stellung I seriell empfangenen Bits in ein
26-Bit-Schieberegister 3 eingelesen. Am Ende eines Blocks, wenn alle sechsundzwanzig
Bits, die zu einem durch das Offsetwort verschlüsselten Codewort gehören, im Schieberegister
3 gespeichert sind, wird der Inhalt des Schieberegisters 3, gesteuert von Verschiebetakten
V, ausgelesen, nachdem der Datenumschalter 2 in seine Stellung II geschaltet ist,
in welcher der Ausgang des Schieberegisters 3 mit seinem Eingang verbunden ist, so
daß der Inhalt auch im Schieberegister 3 rotiert.
[0011] Zur Erkennung eines Blockendes werden die von dem RDS-Empfänger regenerierten Bittakte
T in einem Bitzähler 4 gezählt, an dessen Überlauf sich nach sechsundzwanzig Bittakten
der Blocktakt B abnehmen läßt. Bei der weiteren Beschreibung des Verfahrens wird von
einem synchronisierten Zustand des Decoders ausgegangen.
[0012] Der Ausgang des Schieberegisters 3 ist mit dem ersten Eingang einer ersten X-OR-Stufe
5 verbunden, deren zweiter Eingang an den Ausgang eines Offsetwortgenerators 6 angeschlossen
ist. Dieser Offsetwortgenerator 6 erzeugt während der Dauer des Auslesens der letzten
zehn Bits des im Schieberegister 3 gespeicherten Blocks die zehn Bits des zu dem Block
gehörenden Offsetwortes.
[0013] Über eine beim ersten Auslesen geöffnete Sperrstufe 7 werden die Bits am Ausgang
der ersten X-OR-Stufe 5 in ein Syndromregister 8 eingelesen, in dem das zu dem Codewort
gehörende Syndrom berechnet wird. Die genaue Beschaltung des Syndromregisters mit
den Elementen einer Verknüpfungsschleife 19 für die Syndromberechnung und für eine
eventuelle Fehlerkorrektur ist in der DIN EN 50 067 ausführlich erläutert und begründet,
so daß sie hier als bekannt vorausgesetzt wird und daher auf ihre nähere Darlegung
verzichtet werden kann.
[0014] Der Ausgang der ersten X-OR-Stufe 5 ist parallel zum Eingang der Sperrstufe 7 mit
dem einen Eingang einer zweiten X-OR-Stufe 9 verbunden, deren zweiter Eingang an den
Ausgang des Syndromregisters 8 angeschlossen ist, in dem eine Torschaltung 10 liegt,
die von einer NOR-Torschaltung 11 freigegeben werden kann. An dem Ausgang der zweiten
X-OR-Stufe 9 lassen sich beim zweiten Auslesen des Schieberegisters 3 die Bits des
fehlerfreien Informationswortes abnehmen.
[0015] Bei dem hier beschriebenen Ausführungsbeispiel des erfindungsgemäßen Verfahrens ersetzt
das 26-Bit-Schieberegister 3 vor der ersten X-OR-Stufe 5 den im bekannten Decoder
hinter der ersten X-OR-Stufe vorgesehenen 16-Bit-Zwischenspeicher für das Informationswort.
[0016] Das zeimalige Auslesen der Bits aus dem Schieberegister 3 und die übrigen Vorgänge,
wie die Sperrung der Sperrstufe 7, wird durch eine Steuereinheit 12 bewirkt, für deren
Takteinheit ein Ausführungsbeispiel in Figur 2 dargestellt ist. Anhand der Fig. 2
wird die Takteinheit näher erläutert.
[0017] Für die Steuerung der Vorgänge werden jeweils zwei Pakete von sechsundzwanzig Takten
innerhalb der letzten Bitperiode eines Blocks benötigt, die erkennbar voneinander
getrennt sind. Dazu ist an den Eingang der Takteinheit ein 114-kHz-Generator 13 angeschlossen.
Seine Impulse takten einen 4-Bit-Zähler 14, dessen Überlauf wiederum einen 2-Bit-Zähler
15 taktet. Beide Zähler werden durch einen am Reset-Eingang angelegten Reset-Impuls
eines 2,37-kHz-Generators 16 gelöscht. Die Takteinheit ist derart aufgebaut, daß der
4-Bit-Zähler 14 abwechselnd bis zehn oder bis sechzehn zählt. Die Steuerung der Zählweise
erfolgte durch den Ausgang einer dritten X-OR-Stufe 17 im Ausgang des 2-Bit-Zählers
15.
[0018] In dem ersten Zustand (0.0) des 2-Bit-Zählers 15 zählt der 4-Bit-Zähler 14 bis zehn.
Sein Überlauf schaltet den 2-Bit-Zähler 15 in dessen zweiten Zustand (1.0). In diesem
Zustand des 2-Bit-Zählers 15 zählt der 4-Bit-Zähler 14 bis sechzehn. Während dieses
Zustands (1.0) und des dritten Zustands (1.1) des 2-Bit-Zählers 15, - in welchem der
4-Bit-Zähler 14 wieder bis zehn zählt - ist eine Torschaltung 18 geöffnet, an der
insgesamt sechsundzwanzig Verschiebetakte V (sechzehn plus zehn) mit einer Frequenz
von 114 kHz auf der Verschiebetaktleitung V erscheinen. Diese Verschiebetakte V steuern
das Auslesen des Schieberegisters 3 und das Syndromregister 8. Die in dem dritten
Zustand (1.1) des 2-Bit-Zählers 15 abgegebenen zehn Verschiebetakte V steuern auch
die Ausgabe des Offsetwortes aus dem Offsetwortgenerator 6.
[0019] Bei dem zwölften Zählimpuls des 4-Bit-Zählers 14 im vierten Zustand (0.1), des 2-Bit-Zählers
15 ist eine 2,37-kHz-Periode abgelaufen. Damit erscheint ein Reset-Impuls aus dem
2,37-kHz-Generator 16 am Reset-Eingang und beide Zähler 14 und 15 werden gelöscht.
Dabei wird ein Impuls auf die Wiederholungsleitung W gegeben. Danach beginnt der zweite
Zyklus der Takteinheit.
[0020] Die Torschaltungen 21 und 22 im Eingang und im Reseteingang der Takteinheit werden
jeweils erst durch den Blocktakt B geöffnet, den der Bitzähler 4 liefert. Sie vermeiden
eine Decodierung vor der letzten Bitperiode eines Blocks.
[0021] Die Steuereinheit 12 ist derart programmiert, daß nach dem Einlesen des letzten Bits
eines Blocks in das Schieberegister 3, wenn der Blocktakt B erscheint, der Eingang
des Schieberegisters 3 von dem RDS-Empfänger 1 getrennt und mit dem Ausgang des Schieberegisters
3 verbunden wird und das Syndrom-Register 8 gelöscht wird; z. B. wenn der 4-Bit-Zähler
14 im ersten Zustand des 2-Bit-Zählers 15 bis vier gezählt hat. Danach wird mit dem
ersten Paket von 26 Verschiebetakten V der Inhalt des Schieberegisters 3 erstmals
ausgelesen. Zugleich rotiert der Inhalt im Schieberegister 3. Während des Auslesevorganges
wird der ausgelesene Block in der ersten X-OR-Stufe 5 mit dem aus dem Offsetwort-Generator
6 taktgleich ausgelesenen Offsetwort verknüpft und dabei das Codewort von dem überlagerten
Offsetwort befreit. Das Codewort wird über die offene Sperrstufe 7 in das zuvor gelöschte
Syndromregister 8 eingelesen. In dem Syndromregister 8 wird das zugehörige Syndrom
durch die Verknüpfung der Zellen in der bekannten Weise errechnet und dabei eine eventuelle
Fehlerkorrektur vorbereitet.
[0022] An den ersten Auslesevorgang schließt sich eine zweiter Auslesevorgang des Schieberegisters
während des zweiten Zyklus der Takteinheit an. Zu Beginn des zweiten Zyklus wird,
beispielsweise wenn der 4-Bit-Zähler 14 im ersten Zustand des 2-Bit-Zählers 15 bis
zwei gezählt hat, die Sperrstufe 7 über die Wiederholungsleitung W gesperrt und die
zweite X-OR-Stufe 9 zur Ausgabe des Codewortes freigegeben. Die Löschung des Syndromregisters
8 und eine Umschaltung des Datenumschalters 2 bei dem vierten Zähltakt wird im zweiten
Zählzyklus unterdrückt. Die Sperrung der Sperrstufe 7 verhindert, daß bei dem zweiten
Paket von sechsundzwanzig Verschiebetakten erneut Bits in das Syndromregister 8 eingelesen
werden. Nur die Verknüpfungsschleife 19 in dem Syndromregister bleibt geschlossen,
so lange das Schleifentor 20 geöffnet ist.
[0023] Sobald in den ersten fünf Zellen des Syndromregisters 8 eine Null steht, wird die
Torschaltung 10 im Ausgang des Syndromregisters 8 über die NOR-Torschaltung 11 freigegeben
und zugleich die Verknüpfungsschleife 19 im Syndromregister durch Sperrung des Schleifentores
20 unterbrochen. Nach der Freigabe des Syndromregisterausganges werden diejenigen
Bits, welche anschließend die erste X-OR-Stufe 5 verlassen, bitweise mit den aus dem
Syndromregister 8 ausgelesenen Bits in der zweiten X-OR-Stufe 9 verknüpft.
[0024] Bei dem fehlerfreien Empfang eines Codewortes ergibt schon die Syndromberechnung
bei dem ersten Auslesen den Wert Null, d. h., daß in allen Zellen des Syndromregisters
eine Null steht und somit auch in deren ersten fünf Zellen. Dann ist die Torschaltung
10 im Ausgang des Syndromregisters bereits zu Beginn des zweiten Pakets von sechsundzwanzig
Taktimpulsen durch die NOR-Torschaltung 11 freigegeben und das Schleifentor 20 gesperrt.
[0025] Bei fehlerhaftem Empfang eines Codewortes ist eine Korrektur immer dann möglich,
wenn spätestens bis zum zweiten Auslesen des fünftletzten Bits aus dem Schieberegister
die Torschaltung 10 freigegeben ist.
[0026] Die hier nur angedeuteten Vorgänge zur Fehlerkorrektur sind an sich aus dem Anhang
der bereits angezogenen DIN-Norm bekannt. Mit dem erfindungsgemäßen Verfahren wird
jedoch im Gegensatz zum Stand der Technik erreicht, daß zur Fehlerkorrektur auch die
Prüfbits im Codewort mit herangezogen werden, was zu der eingangs erwähnten höheren
Sicherheit führt, weil bei korrigierbaren Fehlern in den Prüfbits die Datenbits nicht
verworfen zu werden brauchen.
[0027] Nach der Datenausgabe wird bis zum Beginn des nächsten Blocktakts die Takteinheit
in der Steuereinheit 12 stillgesetzt.
[0028] Das erfindungsgemäße Verfahren ist nicht auf dem Ausführungsbeispiel angegebene Generatorfrequenzen
beschränkt, diese können durchaus auch wesentlich höher gewählt werden, wenn das Programm
des Datenprozessors in dem Decoder dies erfordert.
1. Verfahren zur Decodierung von mit einem RDS-Empfänger empfangenen Datenblöcken, bei
dem die dem Prüfwort im einzelnen Datenblock zugeordneten Bits in einer ersten X-OR-Stufe
mit den Bits des zu dem Datenblock gehörenden Offsetwort verknüpft werden und danach
der fehlerfreie Empfang des Datenblocks in einem Syndromregister geprüft und dabei
gegebenenfalls eine Fehlerkorrektur vorbereitet wird, für welche die dem Informationswort
zugeordneten Bits zur Ausgabe über eine zweite X-OR-Stufe zwischengespeichert werden,
dadurch gekennzeichnet,
daß alle empfangenen Bits des Datenblocks zunächst in einem der ersten X-OR-Stufe (5)
vorgeschalteten Zwischenspeicher (3) eingelesen werden, nach Speicherung eines vollständigen
Datenblocks aus dem Zwischenspeicher (3) während der letzten Bitperiode des Datenblocks
zweimal ausgelesen werden und bei dem ersten Auslesen über die erste X-OR-Stufe (5)
in das Syndromregister (8) eingelesen werden, daß beim zweiten Auslesen der Eingang
des Syndromregisters (8) durch eine Sperrstufe (7) gesperrt ist und daß das in der
ersten X-OR-Stufe (5) vom überlagerten Offsetwort befreite Codewort über die dem Ausgang
der ersten X-OR-Stufe (5) direkt nachgeschaltete zweite X-OR-Stufe (9) ausgegeben
wird.
2. Verfahren nach Anspruch 1,
dadurch gekennzeichnet,
daß die empfangenen Bits nacheinander in einem 26-Bit-Schieberegister (3) zwischengespeichert
werden und beim ersten Auslesen des Schieberegisters (3) auch zum Eingang des Schieberegisters
(3) zurückgeführt werden.
3. Schaltungsanordnung zur Durchführung des Verfahrens nach Anspruch 1 oder 2 mit einer
dem RDS-Empfänger (1) nachgeschalteten ersten X-OR-Stufe (5), die im Eingang eines
Syndromregisters (8) liegt, mit einer zweiten X-OR-Stufe (9), deren zweiter Eingang
über eine Torschaltung (10) mit dem Ausgang des Syndromregisters verbunden ist, und
mit einer Steuereinheit,
gekennzeichnet
durch ein zwischen dem Ausgang des RDS-Empfängers (1) und der ersten X-OR-Stufe (5) eingefügten
26-Bit-Schieberegister (3), durch eine von der Steuereinheit (12) steuerbare Sperrstufe
(7) zwischen dem Ausgang der ersten X-OR-Stufe (5) und dem Eingang des Syndromregisters
(8) und durch eine Verbindungsleitung zwischen dem Ausgang der ersten X-OR-Stufe (5)
und dem ersten Eingang der zweiten X-OR-Stufe (9).
1. Method for decoding data blocks received using an RDS receiver, in which the bits
associated with the check word in the individual data block are logically combined
in a first XOR stage with the bits of the offset word associated with the data block,
and error-free reception of the data block is then checked in a syndrome register
and, in the process, error correction is prepared if appropriate, for which the bits
associated with the information word are buffer-stored for output via a second XOR
stage,
characterized
in that all the received bits of the data block are first read into a buffer memory (3) connected
upstream of the first XOR stage (5), then, once a complete data block has been stored,
are read out of the buffer memory (3) twice during the last bit period of the data
block and on the first reading are read into the syndrome register (8) via the first
XOR stage (5), in that, on the second reading, the input of the syndrome register
(8) is disabled by a disabling stage (7), and in that the code word freed of the superimposed
offset word in the first XOR stage (5) is output via the second XOR stage (9), which
is connected directly downstream of the output of the first XOR stage (5).
2. Method according to Claim 1,
characterized
in that the received bits are successively buffer-stored in a 26-bit shift register (3),
and, when the shift register (3) is first read, are also fed back to the input of
the shift register (3).
3. Circuit arrangement for carrying out the method according to Claim 1 or 2, having
a first XOR stage (5), which is connected downstream of the RDS receiver (1) and is
situated in the input of a syndrome register (8), having a second XOR stage (9), whose
second input is connected to the output of the syndrome register via a gate circuit
(10), and having a control unit,
characterized
by a 26-bit shift register (3) inserted between the output of the RDS receiver (1) and
the first XOR stage (5), by a disabling stage (7), which can be controlled by the
control unit (12), between the output of the first XOR stage (5) and the input of
the syndrome register (8), and by a connecting line between the output of the first
XOR stage (5) and the first input of the second XOR stage (9).
1. Procédé de décodage de blocs de données reçus par un récepteur RDS, selon lequel on
combine les bits associés, dans un bloc de données séparé, au mot de contrôle, dans
un premier étage X-OU, avec les bits du mot de décalage appartenant au bloc de données,
et
on vérifie ensuite la réception non défectueuse du bloc de données dans un registre
de syndromes, et
le cas échéant, on prépare une correction d'erreur selon laquelle on enregistre de
manière intermédiaire les bits associés au mot d'information pour leur émission par
l'intermédiaire d'un second étage X-OU,
caractérisé en ce que
tous les bits du bloc de données, reçus, sont tout d'abord enregistrés dans une mémoire
intermédiaire (3) en amont du premier étage X-OU (5),
après mise en mémoire d'un bloc complet de données de la mémoire intermédiaire (3),
pendant la dernière période de bits du bloc de données, on extrait deux fois et, au
cours de la première extraction, on enregistre par l'intermédiaire du premier étage
X-OU (5) dans le registre de syndromes (8),
et, lors de la seconde lecture, on bloque l'entrée du registre de syndromes (8) par
un étage de blocage (7) et, dans le premier étage X-OU (5), on émet le mot de code
libéré du mot de décalage combiné, par le second étage X-OU (9), directement en aval
de la sortie du premier étage X-OU (5).
2. Procédé selon la revendication 1,
caractérisé en ce qu'
on mémorise de manière intermédiaire les bits reçus, successivement dans un registre
à décalage à 26 bits (3) et, au cours de la première lecture du registre à décalage
(3), on revient également à l'entrée du registre à décalage (3).
3. Circuit pour la mise en oeuvre du procédé selon la revendication 1 ou la revendication
2 comprenant un premier étage X-OU (5) en aval du récepteur RDS (1), qui se trouve
à l'entrée d'un registre de syndromes (8), comprend un second étage X-OU (9) dont
la seconde entrée est reliée par une porte (10) à la sortie du registre de syndromes,
et une unité de commande,
caractérisé par
un registre à décalage à 26 bits (3) inséré entre la sortie du récepteur RDS(1) et
le premier étage X-OU (5),
un étage de blocage (7) commandé par l'unité de commande (12), prévu entre la sortie
du premier étage X-OU (5) et l'entrée du registre de syndromes (8), et
une première ligne de liaison entre la sortie du premier étage X-OU (5) et la première
entrée du second étage X-OU (9).