Forum: Projekte & Code DCF Digital Empfangsmodul - Korrelation - (Assembler)ATmega8


von Bernhard (Gast)


Angehängte Dateien:

Lesenswert?

Mit wenigen Bauelementen soll das DCF77 Signal empfangen und ausgewertet
werden.

Mischt man das 77.500 Hz DCF-Signal mit einem 78.125 Hz Signal
entsteht eine neue 625 Hz Mischfrequenz.

D.h., immer wenn der DCF-Träger empfangen wird,
erkennt man 625 Hz am NF-Ausgang des Empfängers.

Jetzt wissen wir zwar, wie das Signal am NF-Ausgang aussehen muss,
aber wir wissen nicht, wann es auftritt bzw. wann es fehlt.

Gut, man könnte jetzt den NF-Pegel messen, und ihn auswerten, aber es
gibt noch eine Weitere Möglichkeit:

Das Korrelations-Verfahren.

Die Suche eines bekannten Signals in einem unbekannten.

Ich hoffe, dass ich dieses mathematische Verfahren ausreichend im
beiligendem Assembler-Code dokumentiert habe.

Noch ein paar Worte zum Code:

Leider geht die DCF-Uhr ca. 0,1s nach, da der DCF-Träger erst berechnet
werden muss. Einen ATmega8 übertakte ich mit 20 MHz.
Da ich selber noch ein µC-Neu-Einsteiger bin, arbeitet der
Assembler-Code noch nicht hoch-effektiv.

Bitte lasst Gnade vor Recht walten.

Im Display sieht man in der oberen Zeile die Balken für die DCF
Impulse, immer wenn bei eine 10-tel Sekunde eine Trägerabschwächung
erkannt wurde, wächst der entsprechende Balken.
Bei vielen Störungen sind alle Balken so ziemlich gleich groß und dem
µC fällt es schwer, die gesendete DCF-Trägerabschwächung von einer
Störung zu unterscheiden.

Die eigentliche Auswertung der DCF-Informaton habe ich nur angedeutet,
denn im Vordergrund soll das Korrelationsverfahren behandelt werden.

Ach noch was:

In dem jpg-File habe ich mal das Ergebnis einer Simulation dieses
Korrelations-Verfahrens dargestellt (Frequenz/Dämpfung).

Interessant ist, dass immer die Oberwellen des eigentlich gesuchten
Signals sehr gut unterdrückt werden.

Noch ein Tipp:
Das 78.125 Hz Signal muss nicht exakt sein,
+/- 50Hz ist problemlos vertretbar,
erstaunlicher Weise haben meine Versuche gezeigt,
dass es egal ist, ob man mit einem Sinus,
oder mit einem Rechteck-Signal mischt.

Hauptsache man mischt nicht zu viel,
deshalb habe ich die Spannungswerte mit angegeben.

Für Hinweise und Kritiken bin ich sehr dankbar.

Bernhard

von Willi (Gast)


Lesenswert?

Hallo,
Eine interessanter Versuch, gefällt mir sehr !

Ich überlege mir die Schaltung auf meinen Steckbrett
nachzubauen, um auch damit zu experimentieren.

Gibt es besondere Anforderungen für die Transistoren,
besonders für den ersten, in der "HF"-Stufe,
oder tun es normale Standard Typen wie BC 107 oder so ?

Spricht etwas dagegen, das 78,125 Hz-Signal direkt
durch den Atmega erzeugen zu lassen ?

Kann man das analoge Mischen nicht weglassen, und
auch per Software simulieren, oder die Korrelation
direkt mit dem 77Khz Signal durchführen ?

Mfg Willi

von BoB (Gast)


Lesenswert?

Hallo, vielleicht könntest du für die die nicht HF-Begabt sind erklären
wie man den schwingkreis abstimmt (BITTEBITTEBITTE)

von stromi (Gast)


Lesenswert?

:-) Der Laboraufbau ist geil. :-)
Nur ein Genie beherrscht das Chaos, und meine Kollegen lächeln immer
über meinen Arbeitsplatz....
Aber very intressing Idea.
Was ist das für ein OSziprogramm, scheint auf Softbasis zu sein?

von Bernhard S. (bernhard)


Lesenswert?

@Willi

>Gibt es besondere Anforderungen für die Transistoren,
>besonders für den ersten, in der "HF"-Stufe,
>oder tun es normale Standard Typen wie BC 107 oder so ?

Da wir es nur mit 77 kHz zu tun haben, kann man eigentlich noch nicht
von HF sprechen, normale BC-Transistoren tun es problemlos.
Sie sollten eine hohe Stromverstärkung aufweisen.

>Spricht etwas dagegen, das 78,125 Hz-Signal direkt
>durch den Atmega erzeugen zu lassen ?

Habe auch schon darüber nachgedacht,
er müsste bei 20MHZ alle 256 Takte das 78125 Hz Signal generieren.
Und alle 208 Takte die ADC-Messung durchführen.
Dh. Interupts müssen unter Umständen gleichzeitig ausgeführt werden.
Kann sein, dass dann die 78125 Hz zu "unsauber" anliegen.
Ich werde es mal ausprobieren, danke für den Tipp.

>Kann man das analoge Mischen nicht weglassen, und
>auch per Software simulieren, oder die Korrelation
>direkt mit dem 77Khz Signal durchführen ?

Leider nicht, da der die Atmega zu langsam sampelt,
max im 100 kHz Bereich, da hätte man nur wenige Daten-Punkte für die
Analyse und die würden nicht ausreichen.

Das Mischen hat den Vorteil, dass Störfrequemzen (5. Oberwelle
Fernsehr) sehr stark unterdrückt werden.

Hatte mich anfangs auch nicht an das Verfahren herangetraut,
aber es hat sehr viele Vorteile, als der "Geradeausempfang".

Mein Fernsehr steht gerade mal ein Meter von meinem Schreibtisch
entfernt, ist er eingeschaltet, stört er den DCF-Empfang nicht.

Hinweis: Beim ZDF-Sender, kann man sogar seine 78125 Hz eichen, da
dieser Sender seinen Zeilenrücklauf (15625 Hz)sehr genau sendet - ist
mit einer Atomuhrt gekoppelt)

Gruß Bernhard

von Bernhard S. (bernhard)


Angehängte Dateien:

Lesenswert?

@BOB

> wie man den schwingkreis abstimmt

Ganz einfach, Du brauchst z.B. nur einen Frequenz-Generator.

Baust Dir einen Spannungsteiler auf und misst, wenn Du die Frequenz des
Generaturs änderst, die Spannung über dem Schwingkreis.

Ist die Spannung am höchsten, dann hast Du die Resonanzfrequenz des
Schwingkreises ermittelt.

D.h. liegst Du weit neben der Resonanzfrequenz, misst Du kaum eine
Spannung.

von Bernhard S. (bernhard)


Angehängte Dateien:

Lesenswert?

@STROMI

>   :-) Der Laboraufbau ist geil. :-)

Ja, ich muss auch immer wieder schmunzeln  :)


>Was ist das für ein OSziprogramm, scheint auf Softbasis zu sein?

Schau' doch mal nach unter:
http://www.mikrocontroller.net/forum/read-4-220659.html


Das Digital-Oszi, welches ich hier vorgestellt habe, war eigentlich nur
ein "Neben-Produkt" dieses DCF77 Projektes.

Ja, und so könnte das gemessene NF-Signal aussehen,
welches anschließend durch den µC berechnet werden muss.

von peter dannegger (Gast)


Lesenswert?

Wie sieht denn so die Empfangsqualität im Vergleich zu einem normalen
DCF77-Wecker oder Conrad-Modul aus (bezüglich Fernseher, Gewitter,
Staubsauger, Stahlbeton) ?

Warum müssen es gerade 625Hz sein, d.h. was wäre, wenn die ZF größer
(1200Hz) oder kleiner (300Hz) ist ?


Peter

von Bernhard S. (bernhard)


Lesenswert?

@Peter

>Wie sieht denn so die Empfangsqualität im Vergleich zu einem normalen
>DCF77-Wecker oder Conrad-Modul aus (bezüglich Fernseher, Gewitter,
>Staubsauger, Stahlbeton) ?

Da der HF-Verstärker sehr "einfach" aufgebaut ist,
stören Störsignale um die 77500 (+/- 300 kHz) sehr.
Sie werden nicht herausgefiltert.

Da kann dieses Prinzip einem analogen DCF-Modul nicht Parole
bieten.

Ein Fernseher stört unwesentlich. Solange nicht die HF-Stufe und der
Mischer "zugedrückt" wird.

Natürlich kann die Schaltung durch einen 77500kHz Quarz, oder durch
LC- Schwingkreise selektiver gestaltet werden, aber dann kann man auch
auf die umständliche Korrelationsberechnung verzichten,
und den NF-Pegel auswerten.

>Warum müssen es gerade 625Hz sein, d.h. was wäre, wenn die ZF größer
>(1200Hz) oder kleiner (300Hz) ist ?

Es müssen nicht 625 Hz sein.
Nur die 625 Hz ergeben sich aus dem größten Störfaktor (dem Fernseher)
da seine 5. Oberwelle auf 78125 hz liegt.
Somit wird von vornherein dieses extrem starke Störsignal
"weggemischt"

Denkbar wären auch 312 Hz, da der "Filter" die doppelten Frequenzen
sehr gut herausrechnet.

In den nächsten Tagen werde ich mal Versuche fahren mit
325 Hz.

Danke für den Denkanstoß

Bernhard

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Das ist ein interessantes Projekt, und eigentlich zu schade um hier im
Forum unterzugehen. Wie wär's wenn du daraus einen kurzen Artikel
für's Wiki machen würdest
(http://www.mikrocontroller.net/articles/Hauptseite)?

von Bernhard S. (bernhard)


Lesenswert?

@Andreas

>wenn du daraus einen kurzen Artikel für's Wiki machen würdest

Gute Idee, ich möchte nur noch etwas warten, bis alle Tipps, die ich
bekam, testen konnte.

von Pattex (Gast)


Lesenswert?

Hat es schon jemand geschafft, den Takt mit dem Atmel zu erzeugen?

von Bernhard S. (bernhard)


Lesenswert?

@Pattex

> den Takt mit dem Atmel zu erzeugen?

Du meinst sicherlich die Mischfrequenz (78.125Hz).
Ich arbeite noch daran, bitte noch etwas Geduld.

Ist aber sicherlich nicht so komplziert, denn man bräuchte nur die
20MHz durch 128 Teilen (z.B. per Interrupt und 8 Bit Timer) und einen
freien Pin ansteuern.
Sicherlich werden teilweise mehrere Interrupts gleichzeitig ausgelöst
(ADC und dieser Timer).
Bin auch sehr gespannt, wie das Ergebnis dann aussieht.

von Benedikt (Gast)


Lesenswert?

@Bernhard
Um eine Frequenz zu erzeugen braucht man keinen Interrupt. Es gibt
sowas nettes wie CTC und Pin Toggle:
Man stellt den Compare Wert auf 127 ein, die 20MHz werden durch 127+1
also 128 geteilt und man hat 156,25kHz. Jedesmal wird der Pin dann
automatisch getoggled -> es liegen 78,125kHz an, ohne Interrupts und
mit 0% CPU Auslastung.

von Bernhard S. (bernhard)


Lesenswert?

@benedikt
> braucht man keinen Interrupt. Es gibt
> sowas nettes wie CTC und Pin Toggle

Benedikt, Danke für den sehr wichtigen Hinweis. Wusste garnicht, dass
es so eine Möglichkeit gibt. Damit hast Du mir ein ganzes Stück weiter
geholfen.
Habe gerade mal im Datenblatt nachgeschaut - da muss ich mich erst noch
durchkämpfen.
Vielleicht finde ich hier noch hilfreiche Beiträge im Forum.
Danke nochmals

von commtel (Gast)


Lesenswert?

gibts schon was neues zu diesem thema????
irgend ei update ??

von Bernhard S. (bernhard)


Lesenswert?

@commtel

Ein neues update ist in Arbeit mit folgenden verbesserten Funktionen:

- die Mischfrequenz wird durch den µC generiert
- Das gesamte DCF Protokoll wird ausgewertet und dargestellt

Bitte noch etwas Geduld.

Bernhard

von commtel (Gast)


Lesenswert?

1000 Dank für die Antwort
Ich bin schon fett gespannt

von Bri (Gast)


Lesenswert?

Könnte bitte jemand mir armen nicht-Nachrichtentechniker erklären, warum
man die 77500Hz mit 78125Hz mischen kann? Da kommt doch dann eine
Zwischenfrequenz von -625Hz raus, oder? Aber was bedeutet in dem Fall
eine negative Frequenz?

PS: ich finds immer wieder erstaunlich, was für gute Ideen in diesem
Forum diskutiert werden. Da kann man richtig was lernen :-)

von Christoph Kessler (Gast)


Lesenswert?

Hallo
Die Schaltung mit 78,125 kHz gabs vor Jahren auch mal in der elrad,
auch da wurde auf den Vorteil der 5.Harmonischen der TV-Zeilenfrequenz
hingewiesen, ich meine statt 3m Abstand zum nächsten TV waren 1 m
möglich. Die Platine habe ich damals nachgebaut, und den DCF77 gut
empfangen können. Korrelation hat schon Herwig Feichtinger um 1980 mit
einem 6504-Prozessor als Tondecoder benutzt, da gab es zwei
Möglichkeiten, Korrelation mit einem Mustersignal wie hier oder die
Autokorrelation, da wird das empfangene Signal mit sich selbst
zeitverschoben verglichen. Nachzulesen falls noch vorhanden in "Das
EMUF-Sonderheft" vom Franzis-Verlag
73
Christoph

von Jadeclaw (Gast)


Lesenswert?

@bri: Es gibt natürlich keine negativen Frequenzen.
Technisch wird hier immer die niedrigere Frequenz von der höheren
abgezogen. Das Ergebnis ist dann immer die Differenz.
Genaugenommen kann man rechnen:
Fe=Fosc-Fzf
und:
Fe=Fosc+Fzf
Setzen wir Fosc=78125Hz und Fzf=625Hz, dann bekommen wir:
78125Hz-625Hz=77500Hz, )Erwünscht)
sowie:
78125Hz+625Hz=78750Hz. Das wäre dann die Spiegelfrequenz,
auf der so gut wie nichts los ist und die Ferritantenne
bei sauberem Abgleich schon merklich dämpft.

@Christoph Kessler:
An meiner DCF-Uhr hängt ein Auerswald ACEM dran, der Empfänger nutzt
ebenfalls das Prinzip mit der 78125Hz-Mischung.
Das geht hier auf dem Computertisch einwandfrei. Trotz laufendem
Fernseher und PC-Monitor und diversem Digitalkram und innert eines
Stahlbetonbaus. Abstand < 1m von diesen Geräten.
Ein Conrad-Empfänger (Geradeaus System U4224) funktioniert hier
überhaupt nicht, und mäßig brauchbar am Fenster 5m weg von allen
elektrischen Geräten.
(Standort MG, Nähe holl. Grenze.)

Gruss
Jadeclaw.

von Christoph Kessler (Gast)


Lesenswert?

Die Elrad-Schaltung wurde später noch verbessert wieder veröffentlicht,
mit einem "Gyrator"-Bandpassfilter für die 625Hz. Das müßte ja jetzt
alles wieder nachlesbar sein, seit es die alten Elräder auf DVD gibt.

von The Daz (Gast)


Lesenswert?

"Ein Conrad-Empfänger (Geradeaus System U4224) funktioniert hier
überhaupt nicht, und mäßig brauchbar am Fenster 5m weg von allen
elektrischen Geräten."

Kann ich so nicht bestaetigen. Der Conrad-Empfaenger funzt, solange
mein CRT synchronisiert und das obwohl er nur ca. 40cm entfernt ist.
Mein groesstes Problem ist eher das 62,5 kHz PWM Signal fuer die
Spannungspumpe um ein LCD am selben uC zu betreiben.

von Christoph Kessler (Gast)


Lesenswert?

Der U4224 hat immerhin zwei Quarzfilter, das dürfte die Störung 625 Hz
daneben schon ordentlich unterdrücken. Datenblatt unter:
http://www2.produktinfo.conrad.de/datenblaetter/125000-149999/142409-da-01-en-U4224B.pdf

von Jadeclaw (Gast)


Lesenswert?

Wenn dann der Chinesenlöter auch 2 Quarze verbaut.
Im Conrad-Teil ist einer drin, der zweite ist ein Kerko.
Die Eingangsempfindlichkeit ist auch entscheidend,
und ehrlicherweise muss man dabeisagen, dass die Ferritantenne im
Auerswald auch doppelt so lang ist.

Gruss
Jadeclaw.

von Manfred Schäfer (Gast)


Lesenswert?

Hallo gibt es etwas Neues.

Gruß

Manfred

von Bernhard S. (bernhard)


Lesenswert?

@Manfred

>Hallo gibt es etwas Neues.

Momentan leider aus zeitlichen Gründen noch nicht.

Geplant ist aber folgendes:
 - Generierung des Mischsignals durch den µC
 - vereinfachte Berechnung des empfangenen Signals,
   damit die Berechnung schneller erfolgen kann.

Gruß

Bernhard

von Manfred (Gast)


Lesenswert?

@Bernhard

Mir gefällt das konzept sehr gut und um die Schaltung besser zu
verstehen habe ich diese in PSpice simuliert. Die Probleme, die ich in
der Simulation habe, ist die Einkopplung des 78125Hz-Signales. Es ist
ein Rechtecksignal mit einer Amplitude von 1V. Damit sieht das
Ausgangssignal gut aus, aber wenn ich die Aplitude auf 5V erhöhe und
mit Spannungsteiler arbeite funktioniert es nicht mehr richtig und das
Ausgangssignal ist Schrott. Ich verstehe die Auswirkung nicht.

Gruß

Manfred

von Manfred (Gast)


Angehängte Dateien:

Lesenswert?

@Bernhard

Habe meinen Schaltplan angehängt. V2 ist da Antennensignal. V4 ist das
78125Hz-Signal. Ausgekoppelt wird an C14-.

Gruß

Manfred

von Manfred (Gast)


Angehängte Dateien:

Lesenswert?

@Bernhard

Als Anhang das Ausgangssignal, ich hoffe das es etwa so aussehen soll.

Gruß

Manfred

von Manfred (Gast)


Angehängte Dateien:

Lesenswert?

@Bernhard

Hier noch das zweite Ausgangssignal mit R22 = 51k und V4 mit 5V
Amplitude.

Gruß

Manfred

von Bernhard S. (bernhard)


Lesenswert?

@Manfred

Erstmal ein ganz großes Lob an Dich, Du hast Dir eine sehr große Mühe
mit der HF-Schaltung und Mischung gemacht, sogar mit zusätzlichen
Tiefpässen, verringert die Schwingneigung des Verstärkers :)


>Die Probleme, die ich in der Simulation habe, ist die Einkopplung >des
78125Hz-Signales. Es ist ein Rechtecksignal mit einer Amplitude >von 1V.
Damit sieht das Ausgangssignal gut aus, aber wenn ich die >Aplitude auf
5V erhöhe und mit Spannungsteiler arbeite funktioniert >es nicht mehr
richtig und das Ausgangssignal ist Schrott. Ich >erstehe die Auswirkung
nicht.

Wenn das 78.125Hz -Signal mit einer zu großen Amplitude eingemischt
wird, dann wird die Misch-Stufe "zugedrückt" und das wesentlich
niedrige HF-Signal hat keine Chance auf eine additive Mischung.

Warum Deine Simulation bei einer Amplituden-Erhöhung und einem
zusätzlichen Spannungsteiler nicht richtig funktioniert kann in der
Dimensionierung des Spannungsteilers begründet sein.


Gruß

Bernhard

von Bernhard S. (bernhard)


Lesenswert?

@Manfred

...hab's gerade gesehen R22 ist bei der 5V Variante vielleicht doch
etwas zu hochohmig (51K), denn R11 ist ja nur 30 Ohm ?

Gruß

Bernhard

von Dennis S. (hertzschueler)


Lesenswert?

Ich will dieses Projekt auch nachbauen, allerdings auf einem ATMega16
und mit einem LED Display für die Zeit und einen
Vakuum-Fluoreszens-Display für das Datum (und die Sekunden).
Außerdem habe ich keinen 20 MHz Quarz hier um den Mega 16 uch 20 MHz zu
übertakten. Ich hätte 16 Mhz Quarz da, weis aber nicht wie es da
aussieht mit dem ADC und dem Korrelationsverfahren (da ich mich in
diesem Bereich leider noch nicht auskenne).
Dann wüsste ich noch gerne wie der im Schaltplan obere Schwinkreis zu
wählen ist (ich vermute 77.500 Hz) und das da drunter weis ich auch
nicht wie ich da die Wicklungen vornehmen muss.

Die 78.125 Hz werde ich mir auch aus dem Mega 16 nehmen, da es weniger
schaltungsaufwand bedeutet und dann nur ein Schwingkreis abgestimmt
werden muss (ich habe hier nämlich keinen Fequenzgenerator oder Oszi um
da irgenwas vernünfig zu machen, die 77.500 Hz würde ich mir auch per µC
selbst erzeugen und dann wie oben beschrieben einstellen.

Dann möchte ich nur noch bescheiden fragen, ob es in diesem Projekt in
zwischen Fortschritte gibt?

Hertzschüler

von Bernhard S. (bernhard)


Lesenswert?

Hallo Dennis,

Du beschreibst eine ganz Menge Probleme, welche Du Step by Step lösen
musst.

Mein Tipp, beginne mit der HF/NF Seite.

- organisiere Dir einen Ferit-Stab (älteres Radio) ca. 100 Wdg und eine
Kapazität von ca. 15nF, mit etwas Glück liegst Du in der Nähe von 77500
Hz

- ein µC von 20MHz kann Dir Durch ein Teilungsverhältnis von 256 die
78125 Hz erzeugen (Hier kommt es nicht auf den exakten Wert an)

- anschließend müssen beide Signale gemischt werden. Das Resultat der
Mischung kannst Du Dir per Lautsprecher o.ä. anhören, durch verändern
der Kapazität bzw. der Induktivität am Ferrit-Stab verbesserst oder
verschlechterst Du die Empfangseigenschaften der Schaltung.
Nachts ist meistens der DCF77 Sender am stärksten zu empfangen.


Momentan habe ich die Software des µC aus zeitlichen Gründen noch nicht
weiter entwickelt, werde es aber nochmal in den nächsten Monaten in
Angriff nehmen.

Bernhard

von Mike (Gast)


Lesenswert?

Mich würde der Algorithmus der Korrelation näher interessieren. Bin 
jedoch in Assembler nicht mehr so fit. Kann jemand diesen Teil mal näher 
erläutern, vielleicht ein kleines Blockschaltbild zur besseren Anicht 
erstellen oder die Funktion in C schreiben?

von Christian B. (casandro)


Lesenswert?

Sehr schöne Arbeit, wahrscheinlich deutlich besser als alles was sonst 
auf dem Markt ist.

Ich würde das etwas anders machen.

Ich würde den Mikrocontroller über einen VCO betreiben. Er sollte 
nominell 10MHz haben. Der VCO sollte vom Mikrocontroller selbst 
gesteuert werden können.
Der Mikrocontroller wird nun so programmiert, dass er eine Impulsfolge 
ABCD mit 77,5 kHz erzeugt, wenn seine Eingangsfrequenz 10MHz ist.

Zu jedem dieser Impulse wird nun das Signal mit je einem Abtast- und 
Halteglied abgetastet.

Schauen wir und mal den eingeschwungenen Zustand an:
    __
   A  B
--/----\-----/-
        C__D/

Im eingeschwundenen Zustand sind die Werte A und B gleich groß. 
Eventuell kann man hier auch die Differenzen A-C und B-D vergleichen.

Sind wir jetzt mit unserem 10MHz Takt zu langsam, so wird A(-C) größer, 
da die Abtastzeitpunkte näher an die Maxima heranlaufen, wir müssen die 
Frequenz des VCOs erhöhen. Das Gegenteil machen wir, wenn B(-D) größer 
wird.
Dadurch wird der VCO phasenstarr an das DCF77 Signal gekoppelt. Das 
entstehende 10MHz-Signal kann man in vielen Haushaltsgeräten (Radios, 
Synchrongeneratoren, Frequenzzähler) weiterverwenden.

Gleichzeitig hat man aber mit (A-C)*(A-C)+(B-D)*(B-D) das Quadrat der 
Amplitude des Signales. Eventuell ist (A-C) oder (B-D) sogar mit weniger 
Rauschen behaftet. Beides kann man nun Tiefpassfiltern und man muss sich 
um Störer keine Rolle mehr machen.

Im eingeschwungenen Zustand ändern sich die Werte von A, B, C und D nur 
sehr langsam. Man kann also hinter den Abtastgliedern einfache 
Tiefpassfilter anbringen.

Ein Problem ist das Einschwingen. Da würde ich vorschlagen, einfach 
langsam den VCO durchzustimmen, bis die Werte von A, B, C und D sich nur 
noch langsam verändern (und nicht gleich sind), dann stimmt man das 
genauer ab, und versucht das DCF77-Signal zu dekodieren. Gelingt dies 
nicht, so stimmt man den VCO weiter ab. (man ist dann wahrscheinlich auf 
einer Störung)

Ist man einmal auf der richtigen Frequenz, so stellt sich der VCO immer 
weiter nach. Wichtig ist hier auch, dass man nicht zu schnell 
nachstimmt, weil sonst das System zu schwingen beginnt.

Als kleines Extra könnte man die Temperatur am VCO messen, und eine 
Tabelle schreiben, welche für jede Temperatur die optimale 
Korrekturspannung angibt. So kann das System schneller einschwingen, da 
man den Träger vielleicht schon beim ersten Versuch trifft.

von Ralf Brandt (Gast)


Lesenswert?

Ich habe grade das Forum bemerkt, und zwei weitere interessante
links gefunden.

http://www.uni-stuttgart.de/wechselwirkungen/ww2000/mohr.pdf

und

http://tams-www.informatik.uni-hamburg.de/publications/1998/DA_Wierich/mwdiplom.ps.gz

Am ersten finde ich sehr interessant, das die Unterabtastung verwenden, 
und sich dem Mischer komplett sparen. Wenn man eine schnellen S&H vor 
den AD schalltet könnte man sogar mit einem Bruchteil der Frequenz 
sampeln.

Im zweiten wird recht ausführlich beschrieben, wie sich die Periodizität 
der digitalen Informationen nutzen läst, um auch bei schlechtem Empfang 
noch an die Daten zu kommen. Also eine Korrelationsauswertung über das 
digitale Telegramm.

von Commtel (Gast)


Lesenswert?

mich läst das Thema auch nicht los
hab ein paar grundlagen gefunden unter

http://www.navtec.de/personen/acf/dd/

die datei

[   ] dd.pdf                  17-Dec-2004 15:25   2.3M

ist dabei sehr interesant.
Ich hoffe es geht weiter mit diesem projekt

von Thomas (Gast)


Lesenswert?

Ralf schrieb:

"(...) Unterabtastung verwenden, und sich dem Mischer komplett sparen. 
Wenn man eine schnellen S&H vor den AD schalltet könnte man sogar mit 
einem Bruchteil der Frequenz sampeln."

Eine separate S&H vor dem ATmega ist gar nicht nötig! Im Rahmen eines 
anderen Projektes lese ich den AD-Wandler eines ATmega16 in einem 16kHz- 
Timerinterrupt ein, um durch Unterabtastung ein Signal von ca. 125kHz 
einzulesen. Funktioniert perfekt, geht sogar bis ca. 450 kHz 
Eingangsfrequenz, wobei die Empfindlichkeit des AD-Wandlers dann 
allerdings schon deutlich nachlässt.

Der Timerinterrupt darf natürlich durch keinen anderen Interrupt gestört 
werden - es darf also ausschließlich dieser Interrupt aktiv sein. 
Weiterhin muss das Anstoßen des AD-Wandlers im Timerinterrupt immer als 
erste Aktion passieren, damit das Empfangssignal nicht durch Jitter 
(Phasenmodulation) verfälscht wird.

Gruß
Thomas

von Commtel (Gast)


Lesenswert?

@  Thomas

wo finde ich denn dein projekt?
link?

von Thomas (Gast)


Lesenswert?

Hallo Commtel,

das erwähnte Projekt ist nicht veröffentlicht, aber die hier relevanten 
Punkte zur Unterabtastung eines Signals mit dem ATmega16 habe ich 
auszugsweise im Anhang zusammengefasst.

Gruß
Thomas

von Thomas (Gast)


Angehängte Dateien:

Lesenswert?

Und hier ist auch der Anhang (hoffe ich jedenfalls)...

von doffer (Gast)


Lesenswert?

HALLO!
Ich spreche kein Deutsch, sorry!
what mr.Bernhard Schulz did is to implement a band-pass filter
in digital*.it relies on sinus-kreuzkorrelation.but:
http://remco.tk/handig/DCFp.pdf (deutch author,but in english!)
dcf77 is aditionally modulated and with kreuzkorrelation principles
some one can:
-derive the second "tick" with far-greater precision
-extract from under-neath noise ,still, the "tick"**
*-the narrower the bandpass filter,the greater the jitter?
**dcf77 was received in australia?
the big question is:who can do thid crosscorellatioon in digital?
in:http://remco.tk/handig/DCFp.pdf is exposed a clasical solution in 
analogic-with PLL.THIS IS WHAT THE 2 GUYS DID IN :
http://www.uni-stuttgart.de/wechselwirkungen/ww2000/mohr.pdf

von karsten (Gast)


Lesenswert?

Hallo Bernhard,

nach einer halben Ewigkeit möchte ich dieses Thema nochmal aufgreifen. 
Ich benötigte auch einen störfesten DCF-Empfänger. Das scheint mir die 
Korrelation das mittel der Wahl zu sein.
Mein Controller ist ATxmega32A4U.


klingt in jedem Fall interessant, obwohl ich von der Materie nicht 
wirklich viel verstehe. Kannst Du das Verfahren vielleicht noch kurz 
erläutern, z.B. mit Blockdiagrammen.

1) Gibt es den Quellcode auch in c? In Assembler Programmierung bin ich 
nicht bewandert.

2) Hast Du schon die Erzeugung der Mischfrequenz in den uC integrieren 
können?

5) Wie ändert sich der Schaltplan?

3) Ist das Projekt überhaupt von Dir weiter geführt worden?

4) Hattest Du einen Artikel in 
http://www.mikrocontroller.net/articles/Hauptseite verfasst? Ich konnte 
dort nichts finden.


Gruß

Karsten

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
Noch kein Account? Hier anmelden.