Forum: Digitale Signalverarbeitung / DSP / Machine Learning FSK demodulieren


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Detlef _. (detlef_a)


Lesenswert?

Hallo,

ich demoduliere ein FSK signal, Abtastfrequenz ist 46kHz, Frequenzen 
3600 und 4800hz, Baudrate is 1200 Bit/s. Alles gut, kein Problem.

--- bis auf den üblen Jammer: jedes 221te sample is kaputt, kurze 
Impulsstörungen. Das Spektrum des Jammers liegt auch im Nutzspektrum, 
mit Filtern ist da nix zu machen.

Das macht die Demodulation nicht komplett kaputt aber die Biterrorrate 
geht hoch.

Zu diesem setup was spezielles Heilendes bekannt?

Cheers
Detlef

von J. S. (engineer) Benutzerseite


Lesenswert?

Gibt es zu diesem "kaputt" mehr Informationen? Oszi-Screen-shot?

von Detlef _. (detlef_a)


Angehängte Dateien:

Lesenswert?

Ja klar.

Ich multipliziere das FSK Signal mit (3600+4800)/2=4200Hz und filtere 
mit einem Tiefpass die hochfrequenten Mischprodukte raus. Die Phase des 
resultierenden 600Hz Signal dreht linksrum oder rechtsrum, je nach Bit. 
Das angehängte Bild zeigt in blau die Winkeländerung über eine 
Symbolbreite, schön zu sehen wie sich die blauen Sterne oben und unten 
ballen. Die Nulldurchgänge der blauen Kurve sind mit magenta Sternen 
gekennzeichnet und bestimmen die Symbolgrenzen für den Bitslicer. Die 
Abtastzeitpunkte für die Bits werden bezeichnet durch die schwarzen 
Sterne, das Ergebnis der Abtastung sind die roten Sterne. Für die 
hinteren 4/5 des Signals liegen die immer schön oben oder unten. Vorn im 
Signal sieht man die Bitfehler, die roten Sterne im blauen Bereich. Das 
ist das Ergebnis der Impulsstörer. Macht man einen Bandpass zunehmend 
schmaler wanden die roten Sterne hinten in den blauen Bereich ein und 
die roten Sterne vorn bleiben da wo sie sind. Die Impulse sind ungefähr 
8 Abtastwerte breit. Mit einem 17er Medianfilter sind die roten Sterne 
überall irgendwo.

So ist das, leider.
Cheers
Detlef

von Christoph M. (mchris)


Lesenswert?

Wenn der Effekt immer am Anfang der Signalaufnahme eintritt würde ich 
auf das zeitliche Einlaufen eines Filters tippen. Es wäre die Frage, wie 
groß die Zeitkonstante deines Tiefpassfilter ist und mit welchem Wert er 
anfängt.

von Andreas U. (Gast)


Lesenswert?

Detlef _. schrieb:
> ich demoduliere ein FSK signal, Abtastfrequenz ist 46kHz, Frequenzen
> 3600 und 4800hz, Baudrate is 1200 Bit/s. Alles gut, kein Problem.

Müssen es 46kHz sein? Das scheint mir eine sehr unpassende Frequenz für 
die 3600 und 4800. Wären 72k oder 36k nicht besser?

von Detlef _. (detlef_a)


Lesenswert?

46ks/s war gegeben. Alles günstig was von 3600 und 4800 ganzzahlig 
geteilt wird, Minimum ist 14400. FSK ist spektral effizient, die 
deepspace Sonden funken das.

Mit meinem FSK transceiver 
Beitrag "MSK Minimum Shift keying transceiver in C" und zwei PMR 
Funkgeräten kann man eine wunderbare long range RS232 basteln.

Cheers
Detlef

von Ob S. (Firma: 1984now) (observer)


Lesenswert?

Detlef _. schrieb:

> ich demoduliere ein FSK signal, Abtastfrequenz ist 46kHz, Frequenzen
> 3600 und 4800hz, Baudrate is 1200 Bit/s. Alles gut, kein Problem.
>
> --- bis auf den üblen Jammer: jedes 221te sample is kaputt, kurze
> Impulsstörungen. Das Spektrum des Jammers liegt auch im Nutzspektrum,
> mit Filtern ist da nix zu machen.

Warum demodulierst du FSK überhaupt auf diese Art? Weil's dir dein Prof 
im Studium so beigebracht hat (ohne zu erwähnen, dass es durchaus noch 
andere Möglichkeiten dafür gibt)?

Die Demodulation, die ich meine, benötigt überhaupt keine 
Abtastfrequenz. Und auch viel, viel weniger Rechenaufwand. Mein Gott, 
sowas wurde (mit gutem Erfolg) schon vor 50 Jahren auf Maschinen 
verwendet, die für diesen akademischen Quatsch bei weitem nicht genügend 
Rechenpower gehabt hätten.

Siehe die "Cassetten-Interfaces" der Kisten aus der damaligen Zeit. Da 
war auch das Verfahren oft FSK, der Demodalator wurde aber sinnvoll 
umgesetzt und nicht rein akademisch...

Aber klar: das Ergebnis passt dann rein formal nicht mehr in dieses 
Subforum. Aber dafür funktionierte es und zwar sehr effizent...

von Detlef _. (detlef_a)


Lesenswert?

Hallo,

zur Demodulation von FSK gibt es aufwendige und weniger aufwendige 
Verfahren. Die sind mehr oder weniger 'gut', d.h. sie kommen der Shannon 
Grenze mehr oder weniger nahe. Mit 'benötige keine Abtastfrequenz' 
meinst Du wahrscheinlich, dass Du nicht synchron demodulierst. Das muss 
man auch nicht, kostet aber Leistung. Ich muss keinem Prof. mehr etwas 
beweisen, den Demodulator habe ich geschrieben weil ichs' kann. Er 
leistet das was ich entworfen hatte.

Cheers
Detlef

: Bearbeitet durch User
von Lars (rezyy)


Lesenswert?

Was genau demodulierst du denn? Ich lese raus, dass du komplex und 
synchron demodulieren willst.

Gibt es eine Synchronisationssequenz vom Sender? Wenn du kohärent und 
digital demodulieren willst, sollte die Abtastfrequenz doch auch auf die 
Symbole synchronisiert sein.

Entweder kurzfristig und hinreichend gut, indem man die 
Synchronisationssequenz nutzt, wenn es eine gibt und nicht stets 
gesendet wird, oder die grundlegende Abtastfrequenz muss synchronisiert 
werden.

Du hast halt immer 46000/1200=38.333 samples pro Symbol, sofern denn 
alles exakt wäre. Schwanken die 46 kHz in Relation zum Sender minimal, 
schwanken auch deine samples pro Symbol. Wie stellst du sicher, dass du 
immer zum richtigen Zeitpunkt deine Phase resettest, bzw. dass deine 
Symbolfenster den echten 1200 baud entsprechen? Bei kleiner Variation 
würde ich eben schon deshalb stetig auftretende Bitfehler erwarten.

von Ob S. (Firma: 1984now) (observer)


Lesenswert?

Detlef _. schrieb:

> Mit 'benötige keine Abtastfrequenz'
> meinst Du wahrscheinlich, dass Du nicht synchron demodulierst.

Eher das Gegenteil, es wird bei dem damals üblichen Verfahren eigentlich 
sogar "hochsynchron" demoduliert. Jedes beschissen Wackeln des Signals 
wird nahezu in Echtzeit verfolgt. Es gibt eben nur keine feste 
Abtastfrequenz. Damit ist es dann keine Signalverarbeitung im üblichen 
akademischen Sinne mehr.

> Das muss
> man auch nicht, kostet aber Leistung.

Das Gegenteil ist der Fall.

> den Demodulator habe ich geschrieben weil ichs' kann. Er
> leistet das was ich entworfen hatte.

Wir erklärst du dann dein Posting hier? Das sagt das ja wohl aus, dass 
es halt wohl doch nicht das leistet, was du wolltest.

von Detlef _. (detlef_a)


Lesenswert?

Ob S. schrieb:
>> den Demodulator habe ich geschrieben weil ichs' kann. Er
>> leistet das was ich entworfen hatte.
>
> Wir erklärst du dann dein Posting hier? Das sagt das ja wohl aus, dass
> es halt wohl doch nicht das leistet, was du wolltest.

Mal richtig lesen. Die Frage bezieht sich auf einen FSK 
46kHz/3600Hz/4800Hz, der Zitierte ist für 14.4k/1200Hz/2400Hz.

Jungs, ich lass Euch jetzt mal alleine weitertrollen.

EOM
Cheers
Detlef

von Ob S. (Firma: 1984now) (observer)


Lesenswert?

Detlef _. schrieb:

> Mal richtig lesen. Die Frage bezieht sich auf einen FSK
> 46kHz/3600Hz/4800Hz

Genau. Und diese 46kHz sind eben völlig unnötig. Die sind nicht 
Bestandteil des zu demodulierenden Signals, sondern nur die (völlig 
willkürliche) Abtastfrequenz, die man eigentlich überhaupt nicht 
braucht.

von Simon R. (Gast)


Lesenswert?

Ob S. schrieb:
> sondern nur die (völlig
> willkürliche) Abtastfrequenz, die man eigentlich überhaupt nicht
> braucht.

... und die um ein Vielfaches höher sein muss, als die höchste 
Oberwelle, wenn man einfach filtern möchte. Diese wiederum ergibt sich 
aus den möglichen  Mischprodukten. Da ist 46kHz denkbar blöde!
Um 3600 und 4800 sinnvoll zu erfassen braucht es eine Frequenz 14,4kHz. 
Um es direkt zu unterscheiden 28,8kHz. Da braucht man dann nur Bits 
zählen und hat das Ergebnis sofort. Mit einbischen Geschick geht auch 
7k2.

von Christian B. (casandro)


Lesenswert?

Ob S. schrieb:
> Siehe die "Cassetten-Interfaces" der Kisten aus der damaligen Zeit. Da
> war auch das Verfahren oft FSK, der Demodalator wurde aber sinnvoll
> umgesetzt und nicht rein akademisch...

Nein, die "Kassetten-Interfaces" funktionieren anders als das FSK hier. 
Da wird immer mit großen Frequenverhältnissen (z.Bsp 1:2) gearbeitet, 
und der Bittakt ist auch immer synchron zur verwendeten Frequenz. (z.Bsp 
ein 16-tel der Frequenz für 0 oder 1, oder gar zur momentan gewählten 
Frequenz)
Wenn man das so macht, ist die Dekodierung trivial. Der Grund warum man 
das damals so gemacht hat war, dass in vielen Ländern billige 
"Tonbandrekorder" sehr ungleichmäßig schnell liefen. Du kannst Damit 
quasi den Takt mitgeben. (siehe auch Don Lancaster - The TV Typewriter 
Handbook) Der Nachteil ist der, dass das Signal nur durch billige 
Kassettenrekorder durchgeht. Über Telefonleitungen, die durch TF-Stecken 
eine leichte Frequenzverschiebung haben können, geht das nicht mehr 
durch.

von Ob S. (Firma: 1984now) (observer)


Lesenswert?

Christian B. schrieb:

> Nein, die "Kassetten-Interfaces" funktionieren anders als das FSK hier.

Natürlich: Sie funktionierten! Das ist schonmal wesentlich anders als 
bei der akademischen Gülle, die hier ausgebreitet wurde.

> Da wird immer mit großen Frequenverhältnissen (z.Bsp 1:2) gearbeitet
> und der Bittakt ist auch immer synchron zur verwendeten Frequenz.

Ja, weil das einfach mal sinnvoll und nützlich bezüglich des Zwecks ist. 
Man kann sich natürlich rein akademisch auch mit völlig idiotischen 
Formaten beschäftigen, die dem Zweck in keiner Weise angepaßt sind, aber 
sowas machen eben nur akademische Idioten (wohl um ein Thema für 
irgendeine Arbeit zu haben?)

Praktisch orientierte Ingenieure hingegen verwenden eher das, was 
nützlich und sinnvoll ist. So kam es wohl zu diesen vielen praktisch 
sinnvollen und funktionierenden Lösungen. Die sich übrigens nicht 
ausschließlich auf den Weg über Cassetten beschränkten, sondern z.B. 
auch über MW und KW mittels AM übertragen wurden.

Siehe z.B. BASICODE-Übertragungen in den späten 80ern und frühen 90ern 
des letzten Jahrhunderts.

> Wenn man das so macht, ist die Dekodierung trivial. Der Grund warum man
> das damals so gemacht hat war, dass in vielen Ländern billige
> "Tonbandrekorder" sehr ungleichmäßig schnell liefen.

Das war sicher ein Grund. Halt: Parameter sinnvoll gewählt vom 
Standpunkt des Ingenieurs.

> Der Nachteil ist der, dass das Signal nur durch billige
> Kassettenrekorder durchgeht.

Huch? Die RF-BASICODE-Übertragungen spreche da eine andere Sprache.

> Über Telefonleitungen, die durch TF-Stecken
> eine leichte Frequenzverschiebung haben können, geht das nicht mehr
> durch.

Was sind "TF-Strecken"? Und wieso sollte es bei POTS zu 
Frequenzverschiebungen kommen können? Phasenverschiebungen gibt es da 
sicher, aber Frequenzverschiebungen würde ich eher mal im Reich der 
Fabel verorten.

von Rick (rick)


Lesenswert?

Ob S. schrieb:
> Was sind "TF-Strecken"?
https://de.wikipedia.org/wiki/Tr%C3%A4gerfrequenzanlage#Nachrichten%C3%BCbertragung_f%C3%BCr_Telefon-_und_Fernschreibkan%C3%A4le

> Und wieso sollte es bei POTS zu
> Frequenzverschiebungen kommen können?
Weil die Trägerfrequenzen zwischen Sender und Empfänger nicht 100
%ig stimmten. Da konnte man dann bei einem Ferngespräch auch schon mal 
Dinger erfahren, die eigentlich auf einer anderen Leitung (bzw. 
Trägerfrequenz) bleiben sollten...

von Ob S. (Firma: 1984now) (observer)


Lesenswert?

Rick schrieb:

> Weil die Trägerfrequenzen zwischen Sender und Empfänger nicht 100
> %ig stimmten.

Es gibt normalerweise KEINE Tragerfrequenz. Jedenfalls nicht beim 
normalen Weg. Beim Weg über RF gab es sie natürlich schon, aber dann lag 
sie erstens um Größenordnungen über den Nutzfrequenzen und zweitens war 
es dann Aufgabe des Empfängers, sich der dem Träger des Senders 
anzupassen (AFC) und zweitens, den Träger möglichst rückstandsfrei zu 
entfernen (Demodulation).

Das es bei diesem hirnrissigen Projekt dann doch wieder sowas wie eine 
"Trägerfrequenz" gibt, liegt eben einfach nur daran, dass sie ohne jede 
Not durch eine Samplefrequenz eingeführt wird. Und diese dann obendrein 
noch maximal kontraproduktiv gewählt wurde, viel zu nah an den 
Nutzfrequenzen und nicht mit diesen synchronisiert.

von Christoph M. (mchris)


Lesenswert?

https://de.wikipedia.org/wiki/Frequenzumtastung

"Bei der Frequenzumtastung wird die Trägerfrequenz einer periodischen 
sinusförmigen Schwingung zwischen einem Satz unterschiedlicher 
Frequenzen verändert, welche die einzelnen Sendesymbole darstellen."

https://www.stcarchiv.de/hc1985/03/akustikkoppler

"Entsprechend gut funktioniert die quarzstabilisierte Modemschaltung. 
Als Trägerfrequenz konnten wir im Originale-Modus 1090 Hz messen; im 
Answermodus waren es 1750 Hz. Diese Frequenzen schwankten etwas."

von Rick (rick)


Lesenswert?

Ob S. schrieb:
> Es gibt normalerweise KEINE Tragerfrequenz.
Ich bezog mich auf das Trägerfrequenzverfahren, was früher™ für 
Fernverbindungen (nicht Ortsverbindungen!) genutzt wurde.
Dort hat man gelegentlich fremde Gespräche (teils auch nur einen 
Teilnehmer) in der eigenen Leitung gehabt.

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.