Forum: Digitale Signalverarbeitung / DSP / Machine Learning Digitale Modulation, praktische Realisierung


von Holger Z. (Gast)


Lesenswert?

Hallo Mikrocontrollerfreunde,

ich hab da mal eine Frage. Es gibt ja diese schönen digitalen 
Modulationsverfahren. ASK, PSK, deren Derivate wie QPSK, und dann gibts 
noch OFDM und QAM und ... und ... und ..... es gibt also tausende 
Möglichkeiten, jeweils ein paar Bits zu einem Symbol zusammenzufassen, 
dann einen Impulsformer zu benutzen und fertig.

In der Theorie ist das alles gut und recht, aber trotzdem habe ich 
einige Fragen dazu.

1. Ist meine Überlegung richtig: normalerweise macht man die Zuordnung 
von Bits zu Symbolen im Basisband, bei möglichst geringer Frequenz. Auch 
die Impulformung mit z.B. digitalen Gaussfiltern o.ä. wird im Basisband 
gemacht.
Anschliessend mischt man das ganze auf die gewünschte Trägerfrequenz 
hoch. Richtig?

2. wenn 1. zutrifft, dann stellt sich mir die Frage: wie wird das z.B. 
bei WLAN gemacht? Dort habe ich Übertragungsraten von 50 oder 100 MBit 
(oder noch mehr, bin da nicht so auf der Höhe was aktuell ist). Das 
würde bedeuten, dass ich im Basisband meine Bits mit mindestens 600 MHz 
durch einen DAC jagen müsste, denn ich muss ja noch ein wenig 
überabtasten, damit ich die Impulse gescheit formen kann? ich kann aber 
nicht glauben, dass in einem popligen WLAN Modul ein 600 MHz DAC drin 
sein soll. Also wie wird es gemacht?

3. Ich würde gerne diese Theorien einmal ausprobieren. Dazu möchte ich 
mit meinem AVR z.B. einen String ausgeben, der dann moduliert wird und 
-- damit ich nicht so hohe Frequenzen benutzen muss -- über ein Kabel zu 
einem zweiten AVR übertragen wird. Der soll den String dann empfangen. 
Jetzt die Frage: wenn ihr in der Praxis ein solches System entwickelt, 
wie geht man da vor? damit man trotz der aufwendigen Signalverarbeitung 
noch eine einigermassen gescheite Datenrate hinbekommt. Ich wäre jetzt 
in meinem Fall über ein paar kBit/s schon froh. Konkret dachte ich 
daran, eine QAM Modulation zu machen, dann eine Impulsformung mit 
Cosinusrolloffimpulsen, und dann hoch mischen auf z.B. 1 MHz. Dann 
durchs Kabel, wieder runter mischen, und dann ... jaaa, um den Empfänger 
kümmere ich mich später, erst mal muss ich ja jemanden haben, der was 
sendet, das ich nachher empfangen kann ;-)
oder kann man solche Sachen nur noch mit FPGAs lösen? wie hat man es 
früher gemacht, bevor man alles mit einem FPGA erschlagen konnte?



Gruss.

von alex (Gast)


Lesenswert?

Bei WLAN wird ein Mehträgerverfahren verwendet (OFDM), dadurch 
verlängert sich die Zeit pro Bit ect.

von Georg A. (georga)


Lesenswert?

> Ich kann aber nicht glauben, dass in einem popligen WLAN Modul ein
> 600 MHz DAC drin sein soll. Also wie wird es gemacht?

Macht man auch nicht. Die Wandlereigenschaften werden ja auch nicht 
besser...

Der übliche Weg ist schon das hochmischen. Wobei das aber auch in 
mehreren Schritten gehen kann. Bei OFDM wäre es kein Problem, das "von 
0" gleich auf die Zielfrequenz zu bekommen. Früher ging das aber auch 
gern mit einer Zwischenstufe (zB. auf 374MHz), weil man dann mit einem 
SAW-Filter die Spiegelbilder (ist halt doch nicht alles symmetrisch...) 
besser unterdrücken kann.

> wenn ihr in der Praxis ein solches System entwickelt,
> wie geht man da vor?

Man simuliert das ganze erstmal mit Matlab (oder Octave). Da kann man 
dann auch noch mit Filter rumspielen und sehen, was die so 
verursachen... Matlab hat für sowas eine Toolbox, mit Octave bekommt man 
einfache Sachen aber auch ganz gut "zu Fuss" hin.

> jaaa, um den Empfänger kümmere ich mich später, erst mal muss ich ja
> jemanden haben, der was sendet, das ich nachher empfangen kann ;-)

Senden ist im Gegensatz zu Empfangen immer simpel, selbst wenn das 
Senden schon kompliziert ist... Du hast ja nicht nur "das Rauschen" oder 
wechselnde Pegel, sondern noch das Problem, dass der Empfänger völlig 
asynchron zum Sender läuft. D.h. die Empfangsfrequenz wird schonmal 
nicht ganz passen. Ebenso wird auch die Symbolrate und damit die 
ADC-Rate nicht exakt mit der von Sender übereinstimmen. Klar ist das ein 
nicht ganz so grosses Thema, wenn man sich 16 Takte Zeit für ein Symbol 
nimmt (ala UART mit 16fach Oversampling). Meistens ist der ADC-Takt aber 
nur das 2-4fache der Symbolrate (ADC kostet ja Geld...). Dann muss man 
entweder passend am Sampletakt spielen oder die rohen Samples 
nachbearbeiten.

Jedenfalls muss man beide Effekte korrigieren, sonst kommt nichts 
sinnvolles raus. Google mal nach "Carrier synchronisation", "Carrier 
recovery" und "Timing recovery".

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.