mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik FSK - Modulator


Autor: Mathias (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: Carsten St. (carsten)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: don hendi (dg3hda) (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Horst-Otto (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Christoph Kessler (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Christoph Kessler (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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=...

Autor: Christoph Kessler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
2105 war ein Schreibfehler

Autor: Mathias (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Bernhard Gebert (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Mathias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
naja ohne hardwareaufwand.. an externe bandpässe hätte ich schon
gedacht!

Autor: don hendi (dg3hda) (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Mathias (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Unbekannter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
1-Bit-AD-Wandlung und Software-PLL-Demodulation.

Autor: Mathias (Gast)
Datum:

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

Autor: Mathias (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Christoph Kessler (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Axel R. (axelr) Flattr this
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Sam (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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!

Autor: Mathias (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Jadeclaw Dinosaur (jadeclaw)
Datum:

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

Gruss
Jadeclaw

Autor: Mathias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi jadeclaw? hast du sonst auch noch erfahrung mit dem ic?

Autor: Jadeclaw Dinosaur (jadeclaw)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Christoph Kessler (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Tim O. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.