Forum: Mikrocontroller und Digitale Elektronik BPSK-Demodulation


von Andreas (Gast)


Lesenswert?

ich bin dabei, einen bpsk moduliertem Träger (ca. 4MHZ) auf einfache 
Weise zu demodulieren, leider scheitert es an der Phasenschieberei... 
:o( kennt jemand eventuell einen fertigen Schaltkreis zur Umgehung 
dieser Problematik oder gibt es Schaltungsbeispiele, die einem in die 
richtige Richtung helfen können?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Naja, IEEE 802.15.4 macht auf 868/910 MHz BPSK.  Der Demodulations-
aufwand ist nicht ganz unerheblich, in den entsprechenden ICs ist
so eine Art in Hardware gegossener DSP drin.

von Detlef _. (detlef_a)


Lesenswert?

Dieses Ding ist clever gemacht und hochgradig gespickt mit grenzgenialen 
Ideen:
http://lea.hamradio.si/~s53mv/bpskdem/bpskdem.html
Die machen 1.2MBit/s@2GHz.

EXOR Gatter statt Multiplizierer!
Gewichtete Addition der I/Q Anteile statt Phasenschieber!
PLL mit Steuerung des UP/DOWN Eingangs eines Counters statt VCO!

Cheers
Detlef

von D. G. (mandrake)


Lesenswert?

Eine digitale Phasenmodulation lässt sich auch als QAM 
(Quadratur-Amplituden-Modulation) beschreiben.
Wenn man das Signal als komplexen Zeiger Interpretiert ist dessen Betrag 
immer
gleich nur der Phasenwinkel ändert sich. In ihm steckt die Information.
Den Zeiger kann man als Linearkombination zweier orthogonaler Zeiger 
darstellen (Realteil und Imaginärteil).

Hätte man Realteil und Imaginärteil könnte man durch eine einfache 
Arkustangens-Rechnung den Phasenwinkel (und damit die Information) 
bestimmen.
Problem ist nun, wie komme ich an die beiden Katheten des rechtwinkligen 
Dreiecks ran? Stichwort: Spreizsequenz.
Den Realteil bekommt man in dem man das Gesamtsignal mit einer 
Cosinusfunktion mit GLEICHER Frequenz spreizt. Spreizen bedeutet 
multiplizieren und dann integrieren (im diskreten aufsummieren). Für den 
imaginärteil analog dazu mit einer Sinusfunktion GLEICHER Frequenz.

Spreizen funktioniert bei allen zueinander orthogonalen Signalen.
Sinus und Cosinus sind orthogonal zueinander, denn es gilt:

aber auch

jedoch

(mit T: Periodendauer)


Nach einem ähnlichen Prinzip funktioniert auch die 
Fourier-Transformation.
Sie spreizt praktisch mit jeder möglichen Frequenz einmal und gibt eine 
Amplitude zurück. Die einzelnen Amplituden auf einer Frequenzachse 
einsortiert nennt man dann Frequenzspektrum.


Zurück zu deinem Problem:

Nach der Berechnung des Real und Imaginärteil wird dann der Winkel durch
den Term

bestimmt.
Fertig.

Soweit zur Theorie. Wenn du Matlab hast kannst du das ganze darin einmal 
implementieren um es genauer zu verstehen. Anschließend kommt dann die 
Implementierung auf einem DSP.

Viel Erfolg weiterhin

Mandrake

von sechsminuszwei (Gast)


Lesenswert?

Der Ausdruck Spreizsequenz ist nicht ganz korrekt in diesem 
Zusammenhang. Korrelation ist da passender. Das Kernstueck einer 
Fouriertransformation ist eine Korrelation. Fuer jede Frequenz 
multipliziert man das Signal mit dem Cosinus, sowie mit dem Sinus und 
integriert ueber die Zeit. Das Resultat sind jeweils je eine Zahl, die 
Sinus und Cosinus Koeffizienten. Da wir die Frequenz schon haben 
brauchen wir keine Anderen mehr, und bestimmen nur fuer diese Frequenz 
den Sinus und den Cosinus Koeffizienten. Weshalb benoetigen wir Sinus 
und cosinus, wenn einer davon den winkel ja schon enthaelt ? Die 
Amplitude ist noch mit drin. die schmeissen wir so raus. Was geschieht, 
wenn wir mit der Frequenz etwas daneben sind ? Dann laeuft der winkel 
langsam weg. Dh wir benoetigen einen Regelkreis, der den "mittleren 
Winkel" auf Null haelt, indem die Frequenz nachgeschoben wird. Was ist 
der "mittlere" Winkel ? Wir brauchen eine Winkelreferenz...

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

http://datasheets.maxim-ic.com/en/ds/MAX2102-MAX2105.pdf
Direct-Conversion Tuner ICs for Digital DBS Applications
ein QPSK-Empfänger für digitales Satellitenfernsehen. Das "langsame" 
Weglaufen kann hier schon über 1 MHz sein, aber das Hinterherrennen 
macht erst der DSP nach den AD-Wandlern

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.