Forum: Mikrocontroller und Digitale Elektronik FSK - Modulator


von Mathias (Gast)


Angehängte Dateien:

Lesenswert?

Hallo, nach einigen analogen Ansätzen einen FSK Modulator im
Tonfrequenzbereich selbst zu bauen, bin ich jetzt doch wieder soweit,
das ganze digital, sprich per uC zu realisieren!

Hier die Eckdaten meines Systems:

 Frequenz zur Übertragung von 0: 16800 Hz
 Frequenz zur Übertragung von 1: 13200 Hz
 Baudrate zur Datenübertragung : 1200  Hz


Somit Übertrage ich 14 Impulse mit 16800Hz für eine 0 und 11 Impulse
mit 13200Hz für eine 1. Zur besseren Veranschaulichung habe ich einen
Screenshot der Datenübertragung meines Senders (Logicanalyser) im
Anhang hinzugefügt!

Jetzt suche ich nach Ansätzen mir einen Demodulator selbst zu
programmieren. Mein erster Ansatz wäre gewesen zwei Bandpässe
vorzuschalten und anschließend die Impulse zu zählen (und auf die
gültige Frequ. zu überprüfen). Hat da vielleicht schon jemand von euch,
damit was gemacht und könnte mir hierzu ein paar Tipps geben? Gibt es
auch fertige Bausteine, die das können und im Bereich von unter 1€
liegen?

Danke, Mathias

von Carsten S. (carsten)


Lesenswert?

Hallo Mathias,
hab das schon auf 2 Arten realisiert:
1. mit einem DSP und digitalen Filtern
2. mit 2 Bandpässen, danach die Signale gleichgerichtet und dann mit
   einem Komparator verglichen
   --> nichts zu Programmieren

von don hendi (dg3hda) (Gast)


Lesenswert?

Hi,

-> DH6HP RTTY-Konverter ergooglen <-

Der ist ein Decoder für AFSK, im Prinzip die angesprochene
2-Bandpässe-und-Vergleichen-Lösung.
Oder bei gutem Signal-Störabstand: NF-Signal auf TTL-Pegel bringen
(durch übersteuertenVerstärker), und Periodendauer(n) auszählen.

Viel Erfolg !

Hendrik.

von Frank (Gast)


Lesenswert?

NE5080 und NE5081 sind ein Pärchen die genau das hardwaremässig machen.
Also nur noch Jemanden suchen der dir die Dinger zum gewünschten Preis
vermacht.

bye

Frank

von Horst-Otto (Gast)


Lesenswert?


von Christoph Kessler (Gast)


Lesenswert?

NE567 / LM567, PLL-Tondecoder ist relativ billig, decodiert aber nur
eine der beiden Freuqenzen und ist störanfällig. DJ6HP hab ich auch
schon nachgebaut, irgendwo sogar noch ein Platinenlayout dazu. Der ist
aber für 45,45 Baud auf Kurzwelle optimiert, nicht schneller!

Softwaremäßig kann man das richtig nach DSP-Manier demodulieren,
AD-Abtasten mit einem gemeinsamen Vielfachen der beiden Frequenzen, am
besten dem gemeinsamen Vielfachen der vierfachen Frequenzen, dann hat
man alle 90 Grad einen Stützwert. Dann beide gleichrichten und
Amplituden vergelichen, die höhere gewinnt.

von Christoph Kessler (Gast)


Lesenswert?

1200 Baud FSK für Packet-Radio hat man mit dem TCM2105 gemacht, der ist
quarzstabil, Encoder und Decoder in einem IC. Es gibt Nachfolger mit
einem anderen IC, da der TCM nicht mehr produziert wird.

Weiteres Stichwort: "TNC" terminal Node Controller, ein Z80-Rechner
auf Europakarte mit TCM3105 üblicherweise.

http://www.datasheetarchive.com/search.php?search=TCM3105&sType=part

von Christoph Kessler (Gast)


Lesenswert?

2105 war ein Schreibfehler

von Mathias (Gast)


Lesenswert?

und wie schauts aus, wenn ich das ganze mit einem einfachen 8bit uC mit
capture compare modul demoduliere? müsste ja eigentlich auch
funktionieren. nur sind die bandpässe etwas teuer

von Bernhard Gebert (Gast)


Lesenswert?

Hallo Mathias,

den Vorschlag ohne externe Hardware habe ich einmal mit einem PIC18F
probiert.
In der Praxis hat es nur mit einem sehr "guten" Kanal (Kabel)
funktioniert. Ansonsten währe es mit sehr viel Programmieraufwand
vielleicht auch per Funk gegangen, aber den Aufwand wollte ich nicht
treiben.

Viele Grüße,
Bernhard

von Mathias (Gast)


Lesenswert?

naja ohne hardwareaufwand.. an externe bandpässe hätte ich schon
gedacht!

von don hendi (dg3hda) (Gast)


Lesenswert?

Der Chip den Christoph vorschlug, ist aber nicht mehr so zeitgemäss, den
NE567 habe ich als etwas langsam bei Schmalbandigkeit in Erinnerung.
DJ6HP müsste natürlich auf deine Tonfrequenzen dimensioniert werden,
Kernstück sind die aktiven Bandpässe.

1-bit AD-Wandlung per Komparator entspr. Begrenzer und anschließende
Periodendauerberechnung kann ich nur bei sehr guten Kanälen empfehlen,
solchen ohne nennenswerte Störgeräusche.

Bei Texas gibts auch einen UAF42 oder so, universellen Audiofilter.
Du kannst für die Sparsamkeit es mit einem einzelnen Bandpass probieren
der die "1" durchlässt und immer, wenn keine 1 is, eine 0 annehmen.

Hendi.

von Mathias (Gast)


Lesenswert?

So ich werde jetzt mal den Ansatz probieren:

Die zwei Frequenzen mit zwei bandpässen herausfiltern (eventuell sowas
wie den MF10).

Anschließend die Signale mit einem uC auswerten:
Periodentauermessung durch die Captureunit.. Weiters werden die Impulse
 gezählt( bei 16800Hz muss ich bei 1200 Baud ja 14 Impulse empfangen )

Die meisten der von euch genannten IC's sind leider zu teuer. (sollte
ja  zumindest mit den filtern unter 3€ liegen)

Mfg, Mathias

von Unbekannter (Gast)


Lesenswert?

1-Bit-AD-Wandlung und Software-PLL-Demodulation.

von Mathias (Gast)


Lesenswert?

@ unbekannter: kannst du bitte etwas konkreter werden..mit welchem
softwareaufwand ist ein software pll verbunden?

von Mathias (Gast)


Lesenswert?

@ Carsten:

zu deiner 2ten Methode: "mit 2 Bandpässen, danach die Signale
gleichgerichtet und dann mit einem Komparator verglichen"

Konntest du das Signal dann direkt in den UART des uC's schicken? Bei
dieser Methode müssten ja durch den Gleichrichter auch kleine,
gleichfrequente Störspitzen herausgefiltert werden oder?
Welchen Aufwand hast du bei deinen 2 Bandpässen betrieben? Hättest du
eventuell ein Schematic bzw. einen Screenshot von so einem
Demodulator?

Thx, Mathias

von Christoph Kessler (Gast)


Lesenswert?

bei der hohen Baudrate müssen natürlich die Bandpässe auch so breit
sein, daß die Modulations-Seitenbänder noch durchkommen, also etwa so
breit wie die Baudrate. bei 45 Bd war das im DJ6HP-Konverter noch
sinnvoll, bei 1200 ist das nicht mehr sehr effektiv. Die
Trägerfrequenzen liegen ja ziemlich hoch, für 1200Bd hat der TCM3105
auch nur Träger von 1200/2400Hz. So war schon die
Tonkassettenaufzeichnung im alten KIM1-Computer in den 70ern gelöst

von Axel R. (Gast)


Lesenswert?

Hi, bin auch gerade auf der Suche nach einer Implementation der FSK
Geschichte. bin nach längerem Suchen auch auf eine Umsetzung mit einem
Atmel gestossen. Die anderen FSK Ansätze liefen alle mit einem PIC
(Tiny Track).
Wenn jemand interesse hat, kann er ja mal hier schmökern:
http://www.knology.net/%7Egdion/whereavr.html


Viele Grüße
AxelR.

von Sam (Gast)


Lesenswert?

Die Demodulation der beiden Töne 1200 und 2200 Hz geschieht bei WhereAVR
über die Messung der Zeit zwischen zwei Null-Durchgängen.
Das ist sicher eine legitime Lösung für dieses Problem und hier auch
noch elegant gelöst, da er nicht mal einen Analog-Port braucht.

Sicher ist das aber nicht die Lösung wenn zusätzlich noch andere
Signale übertragen werden oder das Signal verrauscht ist.

Ich habe mich vor langer Zeit mit DTMF-Dekodierung mittels
Sinus-Cosinus-Korrelation in der Theorie (mit Mittlerer-Reife
Mathe-Kenntnis) beschäftigt.
Vielleicht wäre das auch eine Lösung für "gestörte" Signale.

Eventuell hat hier ja schon etwas Erfahrung damit, oder zumindest mehr
Ahnung von dieser Theorie.

Ich wäre für jede Hilfe dankbar!

von Mathias (Gast)


Lesenswert?

Hi,

ich spiele mich jetzt ein wenig mit dem xr2211 von exar.. mal schauen
was der kann, wäre ja mit etwas über 1€ recht günstig..

http://www.exar.com/product.php?ProdNumber=XR2211

mfg, Mathias

von Jadeclaw D. (jadeclaw)


Lesenswert?

XR2211? Habe ich einen Link:
http://www.klm-tech.com/technicothica/xr.html
Einmal RTTY und auch 300/1200 baud.

Gruss
Jadeclaw

von Mathias (Gast)


Lesenswert?

hi jadeclaw? hast du sonst auch noch erfahrung mit dem ic?

von Jadeclaw D. (jadeclaw)


Lesenswert?

Nein, leider nicht.
Habe zwar hier ein paar davon herumliegen, muß mich selbst noch
einarbeiten. Fand die Seite beim Herumsuchen nach RTTY-Modems.

Gruss
Jadeclaw.

von Christoph Kessler (Gast)


Lesenswert?

en XR2211 PLL-Decoder gibts schon seit den 70ern. In Packet-Radio-Modems
(1200 Baud) wurde er als "digitale Rauschsperre" benutzt, also um
festzustellen, ob ein gültiges Signal anwesend ist, die eigentliche
Modemfunktion machte der oben erwähnte TCM3105

von Tim O. (Gast)


Lesenswert?

Moin.

Also, mit XR2211/XR2206 aufgebaute Modems liefen schon
am C64 stabil, selbst wenn man sie nur auf Lochraster
aufgebaut hat. Der TCM3105 war natürlich auch schön,
wird aber leider schon ewig nicht mehr produzier und
nur zu horrenden Preisen verkauft. (2 Stück hab ich
noch, aber wer weiss, ob die 6 Jahre Bastelkiste überlebt
haben?!) ..

Als weitere Anregung:
Der CMX469 ist nen FSK-Modem-IC, das bei rs-components erhältlich,
aber auch recht teuer ist (18 EUR waren es glaub ich), arbeitet
mit 1200 und 1800 Hz, kann bis 4800 Baud.. das passende Quarz
gibt's auch bei rs-c .. selbst verwendet habe ich dieses IC für
ein FMS-Modem, funktionierte auf Anhieb.. man kann es direkt an
eine UART anschliessen..

Gruss,
 Tim

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.