Forum: Mikrocontroller und Digitale Elektronik FSK demodulation


von Paul B. (Gast)


Lesenswert?

Hallo zusammen,

gibt's ne rel. einfache möglichkeit ne FSK (124kHz für ne 1 und 134kHz 
für ne 0) zu dekodieren ?

Wie macht man sowas in der regel ?
Ich kann keine FFT mache (zu wenig rechenpower). Am liebsten direkt n 
TTL Pegel denn den kann man ja spielend einfach auswerten.

Danke für die hoffentlich folgenden tipps


Viele Grüße

Paul

von Helmut L. (helmi1)


Lesenswert?


von Paul B. (Gast)


Lesenswert?

Danke Helmi,

da werd ich mich jetzt mal durcharbeiten und dann ziemlich sicher die 
Fragen die ich haben werde hier stellen ;-)

Gruß
Paul

von Helmut L. (helmi1)


Lesenswert?

Ok mach das.

von Purzel H. (hacky)


Lesenswert?

Was soll eine FFT ? Wenn man 2 spezielle frequenzen erkennen muss kann 
man gleich mit denen multiplizieren.

von Paul B. (Gast)


Lesenswert?

Naja mit ner FFT seh ich die Peaks der Frequenzen. Da der REst 
rausgefiltert wird sollte der sehr deutlich sein...
Aber wie soll das mit der multiplikation funktionieren ?
Einfach nochmal mit 124kHz multiplizieren ?
Was mach ich dann mit der Phasenlage, oder bin ich bei dem Gedanken auf 
m Holzweg ?


Danke & Gruß

Paul

von chris (Gast)


Lesenswert?

Multiplikation reicht nicht. Multiplikation+Summation geht. Oder anders 
formuliert: den Ausgang des Multiplikators integrieren.

von chris (Gast)


Lesenswert?

>Was mach ich dann mit der Phasenlage, oder bin ich bei dem Gedanken auf
>m Holzweg ?

Upps, Phasenlage vergessen... mit sin und cos multiplizieren, getrennt 
integrieren, dann sqrt(sin²+cos²)

von Harpax (Gast)


Lesenswert?

Hallo Paul B.


kann es sein, das Du einen Tiris-Leser bauen möchtest?
Falls ja, dann schau mal bei Elektor im Archiv nach.

(http://www.elektor.de/jahrgang/2005/oktober/tiris-rfid-leser.63779.lynkx)

Der verwedete µC ist zwar veraltet, aber nach etwas Anpassung gehts auch 
auf einem Tiny2313.



Gruß...Harpax

von Michael H. (michael_h45)


Lesenswert?

Paul B. schrieb:
> Naja mit ner FFT seh ich die Peaks der Frequenzen. Da der REst
Nicht ganz. Da kommt noch die Faltung mit deinen Nutzdaten dazu.

Wenns billig und schnell sein muss, geht auch der "verstimmte 
Schwingkreis" mit nachgeschalteter Amplituden-Demodulation.

Ein LC-Parallelschwingkreis angeregt durch dein Signal wird im 
Resonanzfall Spannungsüberhöhung oder zumindest keine Dämpfung 
aufweisen.
Da die Güte des Kreises von der Frequenz abhängt, kannst du deine 
Symbole an der Amplitude unterscheiden.

Klar, das ist ein reiner Laboraufbau und wohl auch nicht über Tage 
hinweg abgeglichen, aber mehr will der TO in meinen Augen auch nicht.

von Julian H. (einganznormalerheld)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe vor ein FFSK Signal mit einem µC zu demodulieren. Vorhanden ist 
ein ATmega16.

Der Träger ist bereits "entfernt".

Meine Idee war es nun nach Erkennung des Signalbeginns innerhalb einer 
Periode der niedrigeren Frequenz die Nulldurchgänge zu zählen. Ich würde 
die Zeitpunkte zwischen denen gezählt wird kurz nach und vor dem 
Nulldurchgang einer vollen Periode der niedrigeren Frequenz wählen. Ich 
habe das mal im Angang versucht einzuzeichnen.

Kann das so funktionieren oder gibt es einfachere bzw. elegantere 
Methoden?

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Die alten Funkfernschreib-Empfangskonverter hatten zwei Bandpassfilter 
für die beiden Frequenzen, zwei Gleichrichter und einen Komparator. 
Schaltungen mit OP 741 z.B. hier:
http://www.mydarc.de/dk3nh/download/
das findet natürlich im Niederfrequnezbereich statt, außerdem war die 
Datenrate nur 45,45 Baud.

von W.S. (Gast)


Lesenswert?

Hehe,

du meinst wirklich FSK, also Frequenzshift und nicht PSK, als 
Phasenshift?
Dann nimm doch einen simplen FM-Demodulator! also einen SA615 , SA639 
oder so. Dazu ein Bandfilter als Phasenschieber auf 129 kHz abgestimmt.

W.S.

von Jochen F. (jamesy)


Lesenswert?

Die "übliche" Gilbertzelle mit LC-Kreis geht hervorragend!
Ein CA3054 (HFA3054) und die Sache läuft.

von Jobst M. (jobstens-de)


Lesenswert?

Möglichkeit 1:

Das Signal in ein Rechtecksignal mit 50% Tastgrad wandeln und damit im 
ATmega flankengetriggert einen Interupt auslösen.
Dieser IRQ startet den Timer, der nach 3,875us einen weiteren Interupt 
auslöst.
In der dazugehörigen IRQ-Routine wird nachgeschaut, welchen Pegel das 
Signal nun hat. Dieser Pegel wird an einen Ausgangspin geführt.

Wenn Du Störungen erwartest, solltest Du noch eine Filterung einbauen.


Möglichkeit 2:

Man nehme einen Phasenkomperator (z.B. 4046) und einen 129kHz Generator.
An einen Eingang des Phasenkomp. wird das Signal, am anderen die 129kHz 
angelegt. Am Ausgang schaltet man noch einen kleinen Kondensator (100p) 
gegen Masse.



Gruß

Jobst

von LuXXuS 9. (aichn)


Angehängte Dateien:

Lesenswert?

Guten morgen!

Anbei mal eine Schaltung zur FSK-Demodulation. Sie ist nicht auf meinem 
Mist gewachsen - ich habe sie aber schon erfolgreich eingesetzt. Die 
Bauteile müsstest du halt an deine Anforderungen anpassen. Vorne FSK 
rein, hinten Rechteck raus.

Generell besteht die Schaltung aus:

-> Gain mit Begenzung
-> Bandpass Filter für die zwei gewünschten Frequenzen
-> Gleichrichter für neagative und positive Halbwelle
-> Tiefpass
-> Komparator

Ist ein kleiner Bauteilaufwand, immerhin 8 OPVs, aber ist halt 
Demodulation in Hardware und funktioniert zuverlässig.

Gruß

von Der Michel (Gast)


Lesenswert?

Als Hardwaredemodulator eignet sich auch eine PLL mit Komparator, z.B. 
mit XR2211

von Matthias (Gast)


Lesenswert?

Lasse zwei IIR-Filter auf Mark- und Spacefrequenz laufen und vergleiche 
die Amplituden. Durch Unterabtastung kannst du dir dein Signal vorher in 
den NF-Bereich holen.
MfG

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.