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
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
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.
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
Warum so umständlich? http://www.edn.com/article/CA170224.html Kompletter Modem: http://tams-www.informatik.uni-hamburg.de/applets/hades/webdemos/45-misc/40-modem/fsk-modem.html
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.
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
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
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
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.
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
@ unbekannter: kannst du bitte etwas konkreter werden..mit welchem softwareaufwand ist ein software pll verbunden?
@ 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
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
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.
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!
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
XR2211? Habe ich einen Link: http://www.klm-tech.com/technicothica/xr.html Einmal RTTY und auch 300/1200 baud. Gruss Jadeclaw
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.
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.