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 Andi (chefdesigner)


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.

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.