-
Die
Erfindung betrifft ein Verfahren zur Ermittlung einer Datumsangabe
aus einem Zeitsignal. Bei dem bekannten Radio-Daten-System (RDS)
wird von einem Sender in vorgegebenen Zeitabständen ein 17 Bit breites RDS-Signal
ausgesendet, das ein Zeitsignal darstellt und nach dem Prinzip des
Modified Julian Date (MJD) einen Wert repräsentiert, der den aktuellen
Tag angibt.
-
Es
ist bereits bekannt, als dem Wert des RDS-Signals mit Hilfe von
Algorithmen entsprechend der Norm EN 50067:1990E den aktuellen Tag
gemäß dem Gregorianischen
Kalender zu berechnen. Dazu sind jedoch umfangreiche Berechnungen
notwendig, die einen großen
Bedarf an Speicherplatz und eine erhebliche Rechenkapazität beanspruchen.
-
Die
Aufgabe der Erfindung beruht darin, das Berechnungsverfahren für eine Datumsangabe
zu vereinfachen. Besonders vorteilhaft ist es, die Datumsangabe
durch eine fortgesetzte Addition bzw. Subtraktion zu ermitteln,
so daß weder
eine Multiplikation, noch eine Division zur Berechnung der Datumsangabe
durchgeführt
werden muß.
-
Die
Aufgabe der Erfindung wird durch die Merkmale der unabhängigen Ansprüche 1 und
2 gelöst.
-
Eine
besondere Vereinfachung des Berechnungsverfahrens für die Zeitangabe,
insbesondere den Tag, wird dadurch erreicht, daß eine erste Tabelle verwendet
wird, die Vergleichswerte beinhaltet, wobei zwei aufeinander folgende
Vergleichswerte eine vorgegebene Anzahl von Jahren kennzeichnen, die
vorzugsweise zwei aufeinander folgende Schaltjahre darstellen.
-
Weitere
vorteilhafte Ausbildungen und Verbesserungen der Erfindung sind
in den Unteransprüchen
angegeben.
-
Die
Erfindung wird anhand der Figuren näher erläutert; es zeigen:
-
1:
Eine Vorrichtung zur Auswertung des RDS-Signals und
-
2:
Einen schematischen Programmablauf zur Ermittlung einer Datumsangabe
aus dem RDS-Signal.
-
1 zeigt
einen Teil eines Radios in einem Kraftfahrzeug mit einer Antenne 1,
die an einen Empfänger 2 angeschlossen
ist, der mit einer Recheneinheit 3 in Verbindung steht.
Die Recheneinheit 3 ist über eine Datenleitung mit einem
Speicher 5 und zudem über
eine Ansteuerleitung mit einer Anzeige 4 verbunden. Im
Speicher 5 ist eine erste Tabelle 6 abgelegt,
die Vergleichswerte in Form von Zahlenwerten aufweist, wobei aufeinander
folgende Vergleichswerte ein Zeitintervall festlegen. Vorzugsweise
legen zwei aufeinander folgende Vergleichswerte der ersten Tabelle 6 das
Zeitintervall zwischen dem 01.03 eines Schaltjahres bis zum 01.03
des darauf folgenden Schaltjahres fest. Zudem ist eine zweite Tabelle
abgelegt, die die Anzahl der Tage für jeden Monat eines Jahres
aufweist.
-
Die
Funktionsweise der 1 wird im folgenden anhand des
schematischen Programmablaufes der 2 näher erläutert:
Beim
Einschalten des Radioempfängers
bei Programmpunkt 10 wird vom Radioempfänger das RDS-Signal über die
Antenne 1 und den Empfänger 2 empfangen,
das modulierte RDS-Signal demoduliert und das demodulierte RDS-Signal
der Recheneinheit 3 zugeführt. Die Recheneinheit 3 ermittelt
aus dem demodulierten RDS-Signal den Zahlenwert, den das RDS-Signal überträgt.
-
Anschließend vergleicht
die Recheneinheit 3 bei Programmpunkt 11 den ermittelten
Zahlenwert mit dem ersten Vergleichswert der ersten Tabelle 6. Die
erste Tabelle 6 beinhaltet Vergleichswerte, die nach dem
Prinzip des Modified Julian Date jeweils einen Zahlenwert darstellen,
der einen Zeitpunkt, insbesondere einen Tag, kennzeichnet. Zwei
aufeinanderfolgende Vergleichswerte weisen einen vorgegebenen Zeitabstand,
insbesondere eine vorgegebene Anzahl von Jahren auf. Der Zeitabstand
kann jedoch auch Tage oder Monate betragen.
-
Besonders
vorteilhaft ist es, wenn ein Vergleichswert den 1.3. eines Schaltjahres
kennzeichnet und zwei in der ersten Tabelle 6 aufeinander
folgende Vergleichswerte jeweils den 01.03 von zwei aufeinander
folgenden Schaltjahren bezeichnen.
-
In
dem vorliegenden Ausführungsbeispiel enthält die erste
Tabelle 6 in aufsteigender Reihenfolge als Vergleichswerte
jeweils den 1.3. der Schaltjahre 1992, 1996, 2000 usw. bis zum Jahr
2037. Jeder Vergleichswert ist in Form des Modified Julian Date als
Zahlenwert abgelegt. Dabei entspricht der 1.3.1992 dem Wert 48682,
der 1.3.1996 dem Wert 48682 + 1461 = 50143. Der 1.3.2000 entspricht
somit dem Wert 50143 + 1461 = 51604, usw..
-
In
dem beschriebenen Beispiel ermittelt die Recheneinheit 3 aus
dem RDS-Signal den Zahlenwert des RDS-Signals mit 50134, der als
Tag den 21.2.1996 festlegt. Die Recheneinheit 3 vergleicht nun
den ermittelten Zahlenwert (50134) mit dem ersten Vergleichswert
(48682) der ersten Tabelle 6, der den aktuellen Vergleichswert
darstellt.
-
Anschließend erfolgt
bei Programmpunkt 12 von der Recheneinheit 3 die
Abfrage, ob der Zahlenwert größer als
der aktuelle Vergleichswert ist. Ist dies der Fall, so wird nach
Programmpunkt 13 verzweigt, bei dem ein Zeiger auf den
nächsten
aktuellen Vergleichswert, in diesem Fall den zweiten Vergleichswert,
gesetzt wird. Nach Programmpunkt 13 wird zu Programmpunkt 11 zurückverzweigt.
-
Bei
Programmpunkt 11 vergleicht die Recheneinheit 3 den
Zahlenwert mit dem aktuellen Vergleichswert, auf den der Zeiger
gesetzt ist. In diesem Fall ist der Zeiger auf den zweiten Vergleichswert
gesetzt, der den 1.3.96 bezeichnet und den Wert 50143 aufweist.
-
Anschließend erfolgt
bei Programmpunkt 12 die Abfrage, ob der Zahlenwert (50134)
größer als der
aktuelle Vergleichswert (50143) ist. Dies ist jedoch nicht der Fall,
so daß nach
Programmpunkt 14 verzweigt wird.
-
Bei
Programmpunkt 14 erkennt die Recheneinheit 3,
daß der
Zahlenwert kleiner als der aktuelle Vergleichswert ist und größer als
der dem aktuellen Vergleichswert vorausgehende Vergleichswert ist.
In diesem Ausführungsbeispiel
liegt das RDS-Signal in dem Schaltjahrintervall zwischen dem 1.3.1992
und dem 1.3.1996. Als Aufsatzpunkt für die weitere Berechnung verwendet
die Recheneinheit 3 das Modified Julian Date vom 1.3.1992
mit dem Wert 48682, der den größten Vergleichswert
angibt, der kleiner ist als der Zahlenwert.
-
Für den Aufsatzpunkt
könnte
auch der Vergleichswert gewählt
werden, der gerade größer als der
Zahlenwert ist. Dementsprechend anders müßte die weitere Berechnung
erfolgen.
-
Beim
folgenden Programmpunkt 15 addiert die Recheneinheit 3 zum
Aufsetzpunkt (48682) den Wert 365, der im Modified Julian Date einem
Jahr entspricht, so daß als
erste Vergleichszahl der Wert 49047 erhalten wird, die dem 01.03.1993
entspricht. Zudem wird ein Jahreszähler i, der zu Beginn des Programms
auf den Wert 0 gesetzt wird, um den Wert 1 erhöht, so daß nach Porgrammpunkt 15 der
Jahreszähler
i den Wert 1 aufweist.
-
Anschließend erfolgt
bei Programmpunkt 16 von der Recheneinheit 3 die
Abfrage, ob der Zahlenwert (50134) größer als die erste Vergleichszahl (49047)
ist und der Wert des Jahreszähler
i kleiner als der Wert 3 ist. Ist dies der Fall, so wird nach Programmpunkt 15 zurückverzweigt.
-
Bei
Programmpunkt 15 addiert die Recheneinheit 3 zur
ersten Vergleichszahl wieder den Wert 365 und ermittelt somit eine zweite
Vergleichszahl mit dem Wert 49412, die dem 01.03.1994 entspricht. Ebenso
wird der Zähler
i um den Wert 1 erhöht,
so daß i=2
festgelegt wird. Anschließend
erfolgt bei Programmpunkt 16 die Abfrage, ob der ermittelte
Zahlenwert (50134) größer als
die zweite Vergleichszahl (49412) ist und der Wert des Jahreszähler i kleiner als
der Wert 3 ist.
-
Ist
dies der Fall, so wird nach Programmpunkt 15 zurückverzweigt
und zur zweiten Vergleichszahl wieder der Wert 365 addiert und somit eine
dritte Vergleichszahl mit dem Wert 49777 erhalten, die dem 1.3.1995
entspricht. Zudem wird zum Jahreszähler i der Wert 1 addiert,
so daß der
Jahreszähler
i den Wert 3 aufweist.
-
Anschließend erfolgt
bei Programmpunkt 16 die Abfrage, ob der ermittelte Zahlenwert
(50134) größer als
die dritte Vergleichszahl (49777) ist und der Jahreszähler i kleiner
als der Wert 3 ist. Bei dieser Abfrage ist der Jahreszähler i nicht
kleiner als der Wert 3, so daß zu
Programmpunkt 17 verzweigt wird. Es wird auch zu Programmpunkt 17 verzweigt,
wenn der ermittelte Zahlenwert kleiner als die aktuelle Vergleichszahl
ist.
-
Bei
Programmpunkt 17 überprüft die Recheneinheit 3,
welche der Bedingungen von Programmpunkt 16 nicht erfüllt wurden.
War der ermittelte Zahlenwert nicht größer als die aktuelle Vergleichszahl,
so ist bekannt, daß der
ermittelte Zahlenwert zwischen der aktuellen Vergleichszahl und
der letzten Vergleichszahl liegt, wobei die aktuelle Vergleichszahl
beinhaltet ist.
-
In
diesem Ausführungsbeispiel
war jedoch der Jahreszähler
i nicht kleiner als 3, so daß die
Recheneinheit erkennt, daß der
Zahlenwert zwischen der aktuellen Vergleichszahl und der nächst größeren Vergleichszahl
liegt, da nur vier mögliche
Jahresintervalle zur Verfügung
stehen und bereits drei Jahresintervalle überprüft wurden.
-
Die
Recheneinheit 3 erkennt somit, daß das RDS-Signal im Jahresintervall
zwischen dem 1.3.1995 und dem 1.3.1996 liegt. Als zweiter Aufsetzpunkt
für die
weitere Berechnung wird das Datum des 1.3.1995 mit dem Wert 49777
nach dem Modified Julien Date verwendet.
-
Beim
folgenden Programmpunkt 18 addiert die Recheneinheit 3 zum
zweiten Aufsetzpunkt des 1.3.1995 die Anzahl der Tage, des Monats
März, so daß als Vergleichswert
der Wert 49777 + 31 = 49808 erhalten wird. Zudem wird ein Monatszähler j,
der zu Beginn des Programms mit dem Wert 0 initialisiert wurde,
um den Wert 1 erhöht,
so daß der
Monatszähler
den Wert j = 1 aufweist.
-
Anschließend überprüft die Recheneinheit 3 bei
Programmpunkt 19, ob der Zahlenwert (50134) größer als
der aktuelle Vergleichswert (49808) ist und der Monatszähler kleiner
als der Wert 11 ist. Ist dies der Fall, so wird nach Programmpunkt 18 zurückverzweigt.
-
Bei
Programmpunkt 18 wird nun zum aktuellen Vergleichswert
(49808) die Anzahl der Tage des Monats April hinzuaddiert
und so ein neuer, aktueller Vergleichswert mit dem Wert: 48808 +
30 = 49838 erhalten. Zudem wird der Wert des Monatszählers j
um den Wert 1 erhöht,
so daß j=2
ist.
-
Anschließend vergleicht
die Recheneinheit 3, ob der aktuelle Zahlenwert (50134)
größer als
der aktuelle Vergleichswert (49838) ist und der Monatszähler kleiner
als 11 ist. Dies ist der Fall, so daß nach Programmpunkt 18 zurückverzweigt
wird und die Recheneinheit 3 die Anzahl der Tage des Monats
Mai zum bisherigen Vergleichswert addiert und so ein neuer, aktueller
Vergleichswert mit dem Wert 49838 + 31 = 49869 erhalten wird. Zudem
wird der Wert des Monatszähler
j um den Wert 1 auf den Wert 3 erhöht.
-
Die
Programmpunkte 18 und 19 werden für den Monat
Juni mit 30 Tagen, für
den Monat Juli mit 31 Tagen, für
den Monat August mit 31 Tagen, für
den Monat September mit 30 Tagen, für den Monat Oktober mit 31
Tagen, für
den Monat November mit 30 Tagen, für den Monat Dezember mit 31
Tagen und für den
Monat Januar mit 31 Tagen durchgeführt. Ebenso wird der Monatszähler entsprechend
bis auf den Wert 11 erhöht.
-
Bei
dem Ausführungsbeispiel
mit dem Zahlenwert 50134 wird die Abfrage bei Programmpunkt 19 erst
nach dem Monat Januar des Jahres 1996 mit „ja" beantwortet, da der Wert des Monatszählers j nach
dem Monat Januar 1996 den Wert 11 aufweist und deshalb die Recheneinheit 3 den
Schluß zieht, daß der Zahlenwert
(50134) größer als
der 01.02.1996 und kleiner als der 01.03.1996 sein muß, da bereits
festgestellt wurde, daß der Zahlenwert kleiner
als der 01.03.1996 ist und nur noch der Bereich zwischen dem 01.02
und dem 01.03.1996 verbleibt.
-
Da
die Abfrage bei Programmpunkt 19 mit ja beantwortet wird,
wird nach Programmpunkt 20 verzweigt. Die Recheneinheit 3 erkennt
als Monat den Februar des Jahres 1996, in den das RDS-Signal fällt, aufgrund
des Wertes des Monatszählers
j. Wird aufgrund des Vergleichsergebnisses zwischen dem Zahlenwert
und dem Vergleichswert nach Programmpunkt 20 verzweigt,
so erkennt die Recheneinheit 3 aufgrund der Größe des Zahlenwertes,
in welchen Monat das RDS-Signal fällt.
-
Anschließend subtrahiert
die Recheneinheit 3 vom Zahlenwert ZW (50134) den Wert
des dritten Aufsetzpunktes A3, der den größten Aufsetzpunkt darstellt,
der kleiner als der Zahlenwert (50134) ist, und der dem Modified
Julien Date des 1.2.1996 mit dem Wert von 50114 entspricht. Zu dem
Ergebnis der Subtraktion wird der Wert 1 addiert und so der aktuelle
Tag ermittelt: ZW – A3
+1 = 50134 – 50114
+1 = 21. Damit ermittelt die Recheneinheit 3 das aktuelle Datum
des RDS-Signals
mit dem Wert 50134 als den 21.2.1996.
-
Abschließend gibt
die Recheneinheit 3 bei Programmpunkt 22 den 21.2.1996
auf der Anzeige 4, vorzugsweise in einem Kraftfahrzeug,
aus.
-
In
dem beschriebenen Ausführungsbeispiel wurden
als Vergleichswerte der 1.3. aufeinanderfolgender Schaltjahre verwendet.
Der Fachmann kan jedoch beliebige Zeitintervalle in der ersten Tabelle 6 vorsehen,
die mit zwei Werten begrenzt werden. Es kann z. B. jeder Tag eines
Schaltjahres als Vergleichswert verwendet werden.
-
Als
Vergleichswerte können
auch beliebige Tage verwendet werden, da die Aufgabe der Vergleichswerte
darin besteht, durch einen einfachen Größenvergleich einen Zeitbereich
festzulegen, in den das RDS-Signal fällt. Die Zeitabstände, die
zwischen zwei aufeinanderfolgenden Vergleichswerten liegen, können beispielsweise
10 Jahre, 2 Jahre, 1 Jahr oder nur Monate betragen. Als Zeitangabe
wird vorzugsweise auch der Monat oder das Jahr ermittelt.
-
In
dem beschriebenen Beispiel wird ausgehend von dem kleinsten Vergleichswert
der ersten Tabelle 6 der Tag berechnet. Es ist jedoch ebenso möglich, ausgehend
von dem größten Vergleichswert in
der ersten Tabelle 6 die Zeitangabe nach analogen Programmschritten
zu berechnen.