Servus, die meisten billigen DCF77-Module führen ja nur eine AM-Demodulation durch. Die hat ja prinzipiell das Problem, dass sie nur auf ein paar Millisekunden genauer ist. Mein Vorschlag wäre es, das phasenmodulierte Signal auszuwerten. Das könnte eventuell sogar noch billiger möglich sein, da man keinen AGC braucht. Die Idee ist wie folgt. Man baut aus der Spule und einer Kapazität einen abgestimmten Schwingkreis. Gegebenenfalls schickt man das Signal noch durch zusätzliche Bandpassfilter um die Trennschärfe zu erhöhen. Dann schickt man das Signal durch einen Vergleicher der die Nulldurchgänge bestimmt. Das dabei entstehende Rechtecksignal schickt man in einen Mikrocontroller. Im Mikrocontroller sorgt der Impuls dann dafür dass der Timer seinen Wert speichert, und ein Interrupt ausgelöst wird. Bei diesem Interrupt bestimmt man dann den genauen Zeitpunkt des Nulldurchgangs. Daraus bestimmt man die Frequenz und durchschnittliche Phasenlage des DCF77 Signals in Taktzyklen des Mikrocontrollers. Hat man die Durchschnittsphase und die Frequenz bestimmt, so kann man den "Soll"-Zeitpunkt des nächsten Nulldurchganges bestimmen. Durch die Phasenmodulation ist dieser Nulldurchgang um 13?Grad in eine Richtung verschoben. Diese Zeitdifferenz speichert man nun als d[t]. (das kann man sehr effizient machen) Weiter bestimmt man noch das die Summe über alle Zeitdifferenzen d[t-x] x=0..119. Erreicht diese Summe einen Extremwert, so hat man ein Bit des Pseudozufallszahlengenerators. Dieses Bit kann man dann abspeichern. Immer wenn solch ein Bit ankommt, speichert man es in einem Array mit 512 Elementen und korreliert dieses Array mit der veröffentlichten Pseudozufallszahlensequenz. Findet man eine starke positive oder negative Korrelation gefunden, so hat man ein Bit des DCF77 Signales gefunden, und somit auch eine Sekunde. Weiter kann man dann sogar noch zurückrechnen, wann die Sekunde genau begann, und ggf mit dem Timer ein PPS Signal erzeugen.
Wozu der ganze Aufwand? Mit GPS gibt es übrigens auch ein genügend genaues Zeitsignal. mfg mf
a) 99% der billigen GPS Empfänger geben die Zeit nicht preis, die haben keinen PPS Ausgang. Und das was auf der seriellen Schnittstelle raus kommt ist häufig bis zu einer halben Sekunde verzögert. Das bringt also nicht wirklich was. b) GPS funktioniert nur im freien zuverlässig. Langwelle geht auch noch in einer Kiste die 2 Meter im Boden vergraben ist. :) c) Der Aufwand ist relativ klein, eine Spule, ein Kondensator, ein OPV und ein Mikrocontroller.
Christian Berger schrieb: DCF-Empfänger: > c) Der Aufwand ist relativ klein, eine Spule, ein Kondensator, ein OPV > und ein Mikrocontroller. ...wobei das ganze DCF-System nie für Genauigkeiten besser als einige ms konzipiert war. Das scheitert schon daran, das es Verzögerungen auf der Funkstrecke gibt, die auch nicht konstant sind. Die Langzeitstabilität dagegen ist execellent. :-) Gruss Harald PS: Nur heute Nacht gibts einen "Fehler" von einer Stunde. :-)
Naja die PTB spricht da eher von 100 us bei der AM-Demodulation. So groß sind die athmosphärischen Schwankungen auch nicht. Und im Vergleich zu den Fehlern die man bei einem GPS-Empfänger ohne PPS Signal hat ist das nichts. Ebenso nichts im Vergleich zu billigen DCF-77 Empfängern mit bis zu 100 ms Fehler. Ja, der dämliche Fehler heute Nacht wird uns wohl noch lange erhalten bleiben.
Bei einem breitbandigem Empfänger hat man eine Genauigkeit von +-5ms und normalerweise empfängt man das Signal zwischen 10-30%, und das benutzt man, um das Quarz welches normalerweise auf konstanter Temperatur gehalten wird, nachzuregeln. Ist aber dank GPS inzwischen nur eine Backuplösung, da auch jede so billiges Modul einen PPS Ausgang besitzt mit einer Auflösung <1uS. Trotzdem ist ein DCF Signal sinnvoll, da das GPS Signal die UTC Zeit ja nur alle 12.5 Minuten ausgibt, der Rest ist ja GPS Time und stimmt mit der UTC Time nicht überein, und generell bei einem Server, welcher ja mit UTC time läuft, ist es wichtig, wann die Sekunde nr 60 stattgefunden hat, gps kann das nicht liefern, auch wenn es in Wirklichkeit 2 Minuten was liefert, was aber nicht von günstigen Modulen ausgegeben wird.
Sorry, aber da musst du nochmals in deine Quellen nachsehen. Laut ptb hat man mit phasenkorrelation eine Ungenauigkeit von +-5ms bei eintsprechen breiter Bandbreite und steilen Flanken. Bei einem gerigen Abstand zum Sender sind +-2ms gegeben (260km ca). Andernfalls bei reiner AM Demodulation sowie 10Hz Bandbreite, wie sie bei üblichen DCF Modulen verwendet wird, sind es +-0.1 Sek, also +-100mS und nicht uS, und +-100mS bedeuten einen Fehler von 200mS.
Christian Berger schrieb: > Mein Vorschlag wäre es, das phasenmodulierte Signal auszuwerten. Ich finde das ziemlich interessant aber verstehe im Moment zu wenig von deiner Idee. Könntest du das Verfahren nochmal etwas genauer schildern? 900ss
Chris schrieb: > da > auch jede so billiges Modul einen PPS Ausgang besitzt mit einer > Auflösung <1uS. Ähm, das will ich sehen. Natürlich gibt es Module mit PPS Ausgang. Die kosten dann aber gleich ziemlich viel Geld und sind ohne Gehäuse. Die normalen Module, beispielsweise mit RS232 Anschluss sind fast alle ohne PPS. Die Module in UMTS-Modulen haben auch fast nie PPS Ausgänge.
@900ss: Das DCF77 Signal besteht nicht nur aus einer amplitudenmodulierten Komponente, sonder auch aus einer phasenmodulierten Komponente, welche man deutlich genauer auswerten kann. Normalerweise würde man erwarten, dass es deutlich einfacher ist ein amplitudenmoduliertes Signal auszuwerten als ein phasenmoduliertes. Dank Mikrocontrollern ist das aber nicht mehr so. Mann kann die Demodulation auch direkt durchführen. Dadurch kann man relativ einfach mit wenig Hardware und mehr Software die Zeit sehr genau erhalten.
Christian Berger schrieb: > Chris schrieb: >> da >> auch jede so billiges Modul einen PPS Ausgang besitzt mit einer >> Auflösung <1uS. > > Ähm, das will ich sehen. Natürlich gibt es Module mit PPS Ausgang. Die > kosten dann aber gleich ziemlich viel Geld und sind ohne Gehäuse. Die > normalen Module, beispielsweise mit RS232 Anschluss sind fast alle ohne > PPS. > > Die Module in UMTS-Modulen haben auch fast nie PPS Ausgänge. Mal zur Info: die Uhrzeit wird bei NMEA im Klartest ausgegeben. Da braucht man lediglich den String zu extrahieren und sonst nichts....
Auch die Module mit Gehäuse und Rs232 haben einen PPS Ausgang, nur muß man den auch anschließen, es ist klar daß eine GPS Maus diesen nicht herausgeführt hat, er ist aber vorhanden und kann problemlos verwendet werden. Normalerweise kann er sogar mittels Transistor z.B. auf RI gegeben werden.
Hi >Die Idee ist wie folgt. Man baut aus der Spule und einer Kapazität einen >abgestimmten Schwingkreis. Ich lasse mich gern belehren, aber ich bezweifle, das ein einfacher Schwingkreis einer Phasenänderung so einfach folgen kann. MfG Spess
Christian Berger schrieb: > Das DCF77 Signal besteht nicht nur aus einer > amplitudenmodulierten Komponente, sonder auch aus einer > phasenmodulierten Komponente, welche man deutlich genauer auswerten > kann. Das ist mir bekannt. Aber die Beschreibung, wie du das auswerten möchtest ist etwas dünn, jedenfalls verstehe ich das nicht. Darum hatte ich dich gebeten, das genauer darzustellen. Und es wäre nett, wenn du das machst :-) 900ss
GPS schrieb: > Mal zur Info: die Uhrzeit wird bei NMEA im Klartest ausgegeben. Da > braucht man lediglich den String zu extrahieren und sonst nichts.... Ja, mit 4800 Bits pro Sekunde. Das sind 480 Zeichen pro Sekunde. Ein Datensatz hat ungefähr 60 Zeichen, das macht ungefähr einen Fehler von 125 ms, weil man ja nicht weiß, welche Zeit denn genau gemeint ist, die zum Anfang der Zeile oder die zum Ende der Zeile. Wenn mehrere Datensätze hintereinander gesendet werden kann der Fehler sogar noch größer sein, da der GPS-Empfänger die Datensätze ja zwischenbuffert. Das Protokoll war nur zur Positionsbestimmung gedacht. Dass da noch eine Uhrzeit mit kommt ist ein kleiner Nebeneffekt. So weit wie ich weiß stimmt aber die Zeit mit der Positionsangabe überein. Das ist ja auch die Hauptanwendung. Ganz anders ist natürlich die Situation, wenn man einen PPS Ausgang hat, aber den hat nicht jedes Modul. Besonders die billigen aus dem Konsumentensegment nicht.
Da muß ich dir Widersprechen, pps Ausgang habe auch die billigen. Nenn mir ein Modul, welches es laut dir nicht hat. UMTS Module bitte ausgeschlossen, denn die machen nur AGPS, und als solche bekommen die nicht mal eine UTC Zeit vom GPS Message.
900ss D. schrieb: > Darum hatte > ich dich gebeten, das genauer darzustellen. Und es wäre nett, wenn du > das machst :-) Gerne, zunächst verarbeitet man das das analoge Signal so weit, dass das DCF77 Signal mit Abstand das stärkste Signal ist. Zweckmäßigerweise macht man das mit Bandpässen. Man bekommt da dann einen Sinus mit 77,5 kHz, der amplituden- und phasenmoduliert ist. Dieses Signal schicke ich dann durch einen Komparator oder Begrenzerverstärker. Da kommt ein 77,5 kHz Rechtecksignal heraus, welches jedoch auch immer noch die Phasenmodulation drin hat. Sie zeigt sich dadurch, dass die Nulldurchgänge (=Flanken) zeitlich verschoben sind. Ich betrachte hier nur die Nulldurchgänge in eine Richtung, das alles geht aber auch mit beiden Richtungen. Jetzt benutze ich den Mikrocontroller um die Zeitpunkte der Flanken zu bestimmen. Hat man die Zeitpunkte, so kann man den Zeitpunkt bestimmen, an dem das unmodulierte Signal einen Nulldurchgang hätte. Grob gesagt mittelt man einfach über die Zeiten. Jetzt kann man den unmodulierten Zeitpunkt mit dem Istzeitpunkt vergleichen und somit feststellen, wie die Phase verschoben wurde. Die Phasen der Modulation bleibt bei DCF77 für 120 Zyklen gleich. Du musst feststellen können, wenn sie sich ändert. Grob gesagt geht das beispielsweise dadurch, dass man die letzten 120 Phasen"fehler" aufaddiert. Das macht man für jeden Nulldurchgang, eine Summe der Phasenfehler. Ändert sich die Modulation, so bekommt man hier einen Extremwert, sprich der Wert stieg beispielsweise vorher, und sinkt jetzt. Das kann man dazu benutzen um sich hier zu synchronisieren. Worauf man sich hier synchronisiert sind die Ausgangsbits des Pseudozufallszahlengenerators des Senders. Durch die Summen bekommt man den Mittelwert über den Winkel der Phasenmodulation während dieses Bits, sowie die genaue zeitliche Position des Bits. Diese Bits (512 pro Sekunde, die Sekunde wird nicht komplett genutzt) müssen nun mit der Pseudozufallsfolge korreliert werden. Da diese Zufallszahlenfolge nur 0 und 1 (bzw -1 und 1) enthält ist das relativ einfach. Man addiert und subtrahiert die Winkel der Phasenmodulation entsprechend der Pseudozufallsfolge. Dies macht man für jedes eingehende Bit und erhält dann, am Ende der Sequenz, einen starken Peak. Dieser Peak ist dann entweder positiv oder negativ und gibt an, ob das Nutzdatenbit 0 oder 1 ist. Das Datenformat hier ist im Prinzip identisch mit dem normalen AM DCF77 Format. Man bekommt also normalerweise jede Sekunde ein Bit, ich glaube die Minute wird auch durch eine unmodulierte Sekunde dargestellt. Ich hoffe, das sollte zumindest einen groben Überblick gegeben haben, was willst Du denn genau wissen? Hier übrigens mehr Infos zum Signal, und auch grobe Angaben zur Genauigkeit, die aber hier im Forum umstritten sind, und wahrscheinlich auch mit Vorsicht zu genießen sind. http://www.ptb.de/cms/fileadmin/internet/fachabteilungen/abteilung_4/4.4_zeit_und_frequenz/4.42/dcf77.pdf
Chris schrieb: > Da muß ich dir Widersprechen, pps Ausgang habe auch die billigen. > Nenn mir ein Modul, welches es laut dir nicht hat. Meine Noname GPS Maus hat keinen, vielleicht irgendwo unter den verlöteten Blechdeckeln, aber da was heraus zu führen ist mir doch etwas zu gewagt. Zumindest an den normalen Anschlüssen haben die billigen kein PPS Signal. Als Beispiele: http://cgi.ebay.de/Marine-GPS-12-Kanal-Empfanger-Antenne-RS232-/190514043961?pt=Bootsteile_Zubeh%C3%B6r&hash=item2c5b859c39 http://cgi.ebay.de/RS232-DSUB-9-GPS-Maus-Mouse-Sirf-Star-3-Sirf-III-/310239129815?pt=DE_TV_Video_Elektronik_GPS_Zubeh%C3%B6r&hash=item483bb170d7 http://cgi.ebay.de/DB-9-GPS-Maus-RS-232-Mouse-Sirf-Star-3-Sirf-III-/310264823610?pt=DE_TV_Video_Elektronik_GPS_Zubeh%C3%B6r&hash=item483d397f3a http://cgi.ebay.de/RS232-DSUB-9-GPS-Receiver-Mouse-Sirf-Star-3-Sirf-III-/310239129589?pt=DE_TV_Video_Elektronik_GPS_Zubeh%C3%B6r&hash=item483bb16ff5
Christian Berger schrieb: > Man bekommt da dann einen Sinus mit 77,5 > kHz, der amplituden- und phasenmoduliert ist. Hmmm.... da hab ich meine Zweifel. Wenn dem so wäre, dann brauchte man doch die Phasenmodulation nicht, dann konnte man doch auch die AM auswerten. Das Signal was du siehst nach dem Filter wird kaum ein Sinus sein, sondern etwas verrauschtes. OK hängt von der Bandbreite des Filters ab. Aber wenn die zu schmal wird, dann siehst du ja auch die Phasenmodulation nicht mehr (wenn ich das noch alles richtig verstehe). Christian Berger schrieb: > Ich hoffe, das sollte zumindest einen groben Überblick gegeben haben, > was willst Du denn genau wissen? Ich habe es jetzt schon fast gerafft :-) Mir war nicht klar, wo die 120 herkommt, aber jetzt hab ich es. Das resultiert aus der Taktfrequenz des Schieberegisters. Ich muß mir das Verfahren nochmal ganz in Ruhe durch den Kopf gehen lassen. Der analoge Teil und die Nulldurchgangserkennung muß natürlich gut sein, wenn die Phasenverschiebungen nicht verfälscht werden sollen. Ob das so einfach ist? Die Diskussion um GPS oder ob man es so genau haben muß ist mir eigentlich wurscht dabei. Ich finde es reizvoll das Maximum an Genauigkeit aus dem DCF-Signal herauszuholen. Mit GPS hab ich auch schon mal gearbeitet. Wenn man immer denselben Empfänger hat, bekommt man eine brauchbare Genauigkeit hin, wenn man den zeitlichen Fehler zum Ausgabezeitpunkt des NMEA-Strings bestimmt und diesen als feste Konstante zur Fehlerkorrektur benutzt. Dann paßt das recht gut. Mit PPS geht es natürlich besser und einfacher. Wenn du den Verstärker und Filter aufgebaut hast, welche das gewünschte Signal liefern, dann lass das bitte mal sehen hier. Danke für die Erklärung.
Zum PPS, diese beiden Empfängern (Ebay) haben pps Signale welche abgegriffen werden können (ttl). Auch wenn du selbst was baust musst du zum Lötkolben greifen. Zum DCF Hier ein Bild des DCF Signals von irgendwo her im Netz, sind ADC Werte von der Amplithude (rot) und der Phase(grün). Ein Pixel=1ms. Mehrere Sekunden sind übereinander geplottet.
Christian Berger schrieb: > OK, und wo in dem Diagramm beginnt jetzt die Sekunde? Ich würde sagen bei der ersten fallenden Flanke der Amplitude. Mann erkennt sehr gut die "0" und "1" Impulse, die übereinander liegen. Und der Start liegt immer recht "genau" übereinander. Was die Phase dazu sagt verstehe ich nicht. Das DCF-Amplituden Signal sieht gut aus finde ich. Weiß nur nicht, was Chris damit sagen will.
Naja, bei solchen einfachen Dekodern gibt es natürlich eine gewisse Verzögerung zwischen dem Beginn der Sekunde und der fallenden Flanke. Wenn die genau definiert ist und sie konstant ist, dann geht das. Wenn die schwankt, dann nicht. Es kann auch so gut aussehen weil auf die Flanke und nicht auf die wahre Sekunde getriggert wurde.
Wird nicht das Zeitsignal amplitudenmoduliert und die Wetterdaten phasenmoduliert? Mit der Phasendemodulation bekommst du doch nur die Wetterdaten oder nicht? Oder willst nur den exakten "Takt" haben?
Nein, die Wetterdaten werden auch AM-Moduliert. Die Phatendaten dienen einmal dazu, das Signal zu validieren, bzw Fehler zu korrigieren, wenn man einen schlechten Empfang hat. Was drüber versendet wird, ist unklar. Derzeit verwendet der Wetterchip keine Phaseninformationen. Es gibt noch eine weitere Datenübertragung abgesehen vom PNG. Zum Bild, das ist ca 1 Sekunde an Daten, immer am Sekundenanfang. Verwendet wurde eine Breitbandantenne, 10khz-1Mhz mit low-pass Filter auf ADC, welcher dann eine rekursive Bandpassfilterung macht, das Signal runtermischt und dann integriert. Man erkennt sehr schon die 100/200ms für die einzelnen Bits sowie auch as Trägersignal wenn bei ausbleibenden Sekundendaten und auch die 25% Absenkung des Signals, zur Bildung eines Normoszillator.
Tim schrieb: > Wird nicht das Zeitsignal amplitudenmoduliert und die Wetterdaten > phasenmoduliert? Mit der Phasendemodulation bekommst du doch nur die > Wetterdaten oder nicht? M.W. werden die Wetterdaten in den ersten 20 Bits jeder Minute übertragen, die vorher mehr oder weniger unbenutzt waren. Leider gibts da wohl keine dokumentierte Dekodierung. Gruss Harald
Chris schrieb: > Zum Bild, das ist ca 1 Sekunde an Daten, immer am Sekundenanfang. > Verwendet wurde eine Breitbandantenne, 10khz-1Mhz mit low-pass Filter > auf ADC.... Du hast oben zu dem Bild geschrieben: "irgendwo aus dem Netz". Du kennst aber die Stelle noch oder wießt du die Einzelheiten? Zeig mal bitte den Link. Ich finde das auch interessant.
Hallo Christian, ich habe auch schon einmal darüber nachgedacht das phasenmodulierte Signal des DCF77 mit einem kleinen Mikrocontroller auszuwerten. Auf den ersten Blick sieht die Sache recht einfach aus, aber es gilt dann doch einige Klippen zu umschiffen. Nehmen wir zum Beispiel die Messung der Frequenz zur Bestimmung der unmodulierten Phase ("Durchschnittsphase"): Bei 77,5kHz ist die Periodendauer 12,9ys. Der Phasenhub von +/- 13° entspricht demnach rund +/- 466 ns. Angenommen die Messung erfolgt mit einem Zähler der mit 16 MHz inkrementiert, dann hat der Zähler eine Periodendauer von 62,5 ns. (Zwischen negativem und positivem Phasenub liegen also gerade mal sieben bis acht Zählschritte.) Auf Grund der diskreten Messung der Periodendauer liegst Du im schlimmsten Fall um +/- 0,5 Zählertakte neben dem wirklichen Meßwert. Das bedeutet, schon nach ca. 15 Perioden DCF77-Signal ist dein "Norm-Nulldurchgang" um den zu messenden Phasenhub davon gewandert. Mit einem "normalen" Zähler ist das also nicht realisierbar. Meine Idee war intern einen genaueren (Festkomma-)Wert für die Periodendauer zu ermitteln und diese fortlaufend mit dem Zähler abzugleichen. Jedes mal wenn der Fehler zwischen berechenter Periode und Zählerdurchlauf größer 0,5 Takte wird müßte ein "Schalttakt" eingefügt werden. Leider ist das Projekt bei mir nie aus der Planungsphase heraus gekommen. Vielleicht wird es ja diesmal was mit der Realisierung. :-)
Christian Berger schrieb: > die meisten billigen DCF77-Module führen ja nur eine AM-Demodulation > durch. Die hat ja prinzipiell das Problem, dass sie nur auf ein paar > Millisekunden genauer ist. > > Mein Vorschlag wäre es, das phasenmodulierte Signal auszuwerten. Das > könnte eventuell sogar noch billiger möglich sein, da man keinen AGC > braucht. Hi, Christian, ja, mit einem Schwingkreis und Drumrum kannst Du Phasensprünge erkennen. Genauso auch mit einer PLL und Auswertung des Fehlersignals. Noch genauer bist Du, wenn Du die Nulldurchgänge der Trägerfrequenz auswertest. Wenn Du die Trägerfrequenz mit einem Trigger digitalisierst, dann hast Du immer noch Phaenschwankungen drin wegen AGC, Ausbreitung und Störungen. Die sollten minimal sein bei Sekundenpuls in der Zeit vor dem Einsatz der PSK. Bleibt die Frage, welcher Nulldurchgang gehört zur Sekundenmarke? Nun, dazu habe ich zwei RC-Tiefpässe uterschiedlicher Grenzfrequenz verwendet und darauf einen Trigger. Dessen Signal streut auch, läßt sich aber über Minuten und Stunden mitteln. Ciao Wolfgang Horn
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.