mikrocontroller.net

Forum: Digitale Signalverarbeitung / DSP OFDM Sendesignal


Autor: F. Meier (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi an alle,

ich habe Probleme mit der mathematischen Beschreibung des OFDM 
Sendesignals.

Beschreibung OFDM Sendesignal:

Dieses Sendesignal ist doch nicht das endgültige Signal, das auf die 
Antenne gegeben wird. Man müsste doch hier das Signal hochmischen und im 
Anschluss muss der Imaginäranteil entfernt werden. So kann das Signal 
durch eine Antenne in die Luft gesendet werden oder?

Autor: T. H. (pumpkin) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
F. Meier wrote:
> Man müsste doch hier das Signal hochmischen ...

Nach meinem Verständnis wird hier bereits gemischt:


Autor: F. Meier (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja ok stimmt ja eigentlich. Aber es ist immer noch ein komplexes Signal. 
Um es via Antenne in die Luft zu senden wird das Signal digital - analog 
gewandelt (DA-Wandler) und zum Schluss muss das Signal reell gemacht 
werden

Autor: F. Meier (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Folgendes ist mir noch dazu eingefallen. Bei WLAN wird mit 2,4 Ghz 
gesendet.
Dies bedeutet doch, dass das Signal s(t) (Siehe Beitrag Nr.1) auf 2,4 
Ghz hochgemischt werden muss. Mich verwirrt das ganze jetzt.

Autor: Mirko Keuner (mkeuner)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Formel ist ein bisschen kompliziert, weil darin versucht wird, das 
Sendesignal mehrerer aufeinanderfolgender OFDM-Symbole gleichzeigit zu 
beschreiben¹.

Ob dieses Signal auf dem Träger oder im Basisband ist, hängt davon ab, 
wie fm bzw. f0 definiert ist. Üblicherweise nimmt man in dieser 
Darstellung aber meist das Basisband.

Den Imaginärteil darf man aber nicht entfernen, der wird beim Mischen 
benötigt.

Wikipedia hat zu OFDM eine Seite mit hübsch anschaulichen Bildern:
   http://en.wikipedia.org/wiki/Orthogonal_frequency-...

Um von dort aus die komplette mathematische Beschreibung zu erhalten, 
sollte man anstelle der FFT die Formel für DFT einsetzen:
   http://en.wikipedia.org/wiki/Discrete_Fourier_transform


(1): Diese Darstellung vernachlässigt das zyklische Präfix, welches man 
in der Praxis aber nicht weg lassen darf, sobald man Echos, Beugung oder 
Mehrwegeausbreitung hat.

Autor: F. Meier (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Mirko,

danke für deine Ausführung. Ich hab mich da vertan, der Imaginäranteil 
darf natürlich nicht vor dem Mischen entfernt werden. Nach der 
DA-Wandlung muss das Signal reell gemacht werden. Somit hat man dan ein 
cosinus SIgnal, das auf die Antenne gegeben wird.

Autor: F. Meier (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Reelle Signal das auf die Antenne gegeben wird:

Autor: F. Meier (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn man das mit dem DA-Wandler mathematisch beschreiben möchte,
dann wird das Signal vor dem DA-Wandler s(t) mit der Impulsantwort des 
Tiefpasses g(t) gefaltet. g(t) hat einen sinx/x Verlauf.

Im Anschluss wird das Signal s_{nach_AD-Wandler}(t) reell gemacht

Autor: F. Meier (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn man das mit dem DA-Wandler mathematisch beschreiben möchte,
dann wird das Signal vor dem DA-Wandler s(t) mit der Impulsantwort des
Tiefpasses g(t) gefaltet. g(t) hat einen sinx/x Verlauf.

s_{nach_DAC}(t) = s(t) * g(t)

Im Anschluss wird das Signal s_{nach_AD-Wandler}(t) reell gemacht

s_{Antenne}(t)=\Re(s_{nach_AD-Wandler}(t))

Autor: F. Meier (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Entschuldigt vielmals, ich hab mich mit der mathematischen Darstellung 
vertan!


Wenn man das mit dem DA-Wandler mathematisch beschreiben möchte,
dann wird das Signal vor dem DA-Wandler s(t) mit der Impulsantwort des
Tiefpasses g(t) gefaltet. g(t) hat einen sinx/x Verlauf.

Im Anschluss wird das Signal s_{nach_AD-Wandler}(t) reell gemacht

Autor: Mirko Keuner (mkeuner)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich bin mir nicht ganz sicher, aber so wie Du es schreibst passt es 
nicht ganz zu meinem Verständnis.

Ich versuche es mal anschaulich zu erklären, wie OFDM Schritt für 
Schritt erzeugt wird, denn eigentlich ist OFDM super einfach:
 * Die zu übertragenden, binären Daten seien x_n
   (jeweils ca. 1 bis 6 Bit)
 * Man moduliert jedes x_n zu einem komplexen Symbol d_n
   (bei 1 Bit BPSK, bei 6 Bit 64QAM)
 * Diese d_n mit z.B. n \in {0..1023} stellen daher komplexe
   Koeffizienten im Frequenzbereich dar
 * Um ein Signal im Zeitbereich zu erhalten, werden diese d_n
   mit einer DFT (oder schneller mit FFT) in den Zeitbereich
   transformiert, dieses komplexe Signal b(t) nennt man Basisband
 * Das Basisband wird üblicherweise mit 2 DAC Digital-Analog
   gewandelt (je ein DAC für Real- und Imaginärteil),
   dieses Basisband-Signal hat z.B. eine Bandbreite von 10MHz
 * Diese 2 analogen Signale werden auf den Träger moduliert
   (der Imaginärteil auf einen 90° verschobenen Träger)
 * Das HF-Signal ist nun rein reell, es müssen aber noch störende
   Mischprodukte mit einem Bandpass entfernt werden
 * dann kann es auf die Antenne

Autor: F. Meier (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke Mirko.

>* Diese 2 analogen Signale werden auf den Träger moduliert
>  (der Imaginärteil auf einen 90° verschobenen Träger)
>* Das HF-Signal ist nun rein reell, es müssen aber noch störende
>  Mischprodukte mit einem Bandpass entfernt werden

HF-Signal:
s_{antenne}=i(t) \cdot cos(w_c t) - q(t) \cdot sin(w_c t)

i(t) --> Inphase-Komponente
q(t) --> Quadraturkomponente

Autor: Mirko Keuner (mkeuner)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Genau, i(t) ist dann der Realteil des analogen Basisband-Signals, und 
q(t) dessen Imaginärteil.

Autor: F. Meier (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Auf der Mathworks Webseite habe ich zu OFDM eine Simulation gefunden.
Leider kann ich diese Simulation mit meiner Matlab Version [MATLAB 
Version 6.5.0.180913a (R13)] nicht öffnen und starten.
Ist es überhaupt möglich, diese Simulation auf die ältere Matlab Version 
zu übersetzen?

Autor: Mirko Keuner (mkeuner)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe es mal mit R14 geöffnet, da kommt folgende Fehlermeldung:
Failed to find library 'commchan2' referenced by 'OFDM_4QAM_R14/AWGN Channel'.
This library must be on your MATLAB path.

Es fehlt also wahrscheinlich noch eine oder mehrere Dateien.

"Normale" Matlab-Skripte lassen sich in der Regel auch mit älteren 
Matlab-Versionen bzw. Matlab-Clones wie Octave öffnen und ausführen, 
manchmal muss man ein paar Kleinigkeiten anpassen, das bekommt man aber 
in der Regel hin.


Das hier ist eine Simulink-Datei, Du braucht also auch Simulink (kostet 
extra). Bei Simulink ist es mit der Abwärtskompatiblität auch nicht ganz 
so weit her, und das zu reparieren ist schwieriger, da man es nicht 
Zeilenweise debuggen kann.

Autor: F. Meier (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Mirko,

hast du eine lauffähige Simulation (Simulink) zu OFDM? Im Netz konnte 
ich bisher keine simple Simulation zu OFDM finden.

Autor: Mirko Keuner (mkeuner)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
F. Meier wrote:
> hast du eine lauffähige Simulation (Simulink) zu OFDM? Im Netz konnte
> ich bisher keine simple Simulation zu OFDM finden.

Ich habe mehrere Simulationen mit OFDM in normalem Matlab ohne Simulink. 
Die darf ich aber leider nicht veröffentlichen, da sie meinem 
Arbeitgeber gehören. Es würden Dir aber wahrscheinlich ohnehin nicht 
sehr viel weiter helfen, da sie durch die ganze Flexibilität etwas 
unhandlich und komplex sind.

Autor: Marius Wensing (mw1987)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Fehlt der MATLAB-Installation eventuell die Communications Toolbox?

Das würde die fehlenden Dateien erklären.

MfG
Marius

Autor: Mirko Keuner (mkeuner)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Marius Wensing wrote:
> Fehlt der MATLAB-Installation eventuell die Communications Toolbox?

Ja danke, das ist wohl die Ursache, diese Toolbox hat mein Matlab leider 
nicht.

Autor: F. Meier (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Mirko,

schade das du mir nicht eine OFDM Simulation zusenden kannst.
Trotzdem vielen Dank für die Hilfe.

Autor: Tommi Huber (drmota)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Ja danke, das ist wohl die Ursache, diese Toolbox hat mein Matlab leider
>nicht.

Jeder 7jährige Volksschüler wüsste eine Lösung für dein Problem.

Frag doch mal einen wenn du an der nächsten Schule vorbeikommst.

Autor: F. Meier (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Echt schade. So eine ODFM Simulation wäre halt echt super.
Kann mir vielleicht jemand einen Link nennen, wo man eventuell so eine 
(einfache) OFDM Simulation (Matlab/Simulink) herunterladen könnte?

Autor: Mario (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Kann mir vielleicht jemand einen Link nennen, wo man eventuell so eine
> (einfache) OFDM Simulation (Matlab/Simulink) herunterladen könnte?

Auf der Mathworks-Seite gibts eine Beispiel-Anwendung für's WLAN als 
Simulinkmodell. Die 802.11a ist OFDM, sogar mit link-adpation, Kanal und 
allem was dazugehört.

Autor: Mirko Keuner (mkeuner)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei Matlab-Central gibts eine ganze Menge davon.

http://www.mathworks.com/matlabcentral/fileexchang...

Wobei Du Dir eventuell vorher Gedanken machen solltest, welche Effekte 
Du alles Modellieren willst, was Du 1-zu-1 nach-implementieren willst 
und welche Effekte Du vernachlässigen willst.

Und natürlich was das Ergebnis sein soll.

Es ist leider nicht möglich, ein so komplexes System von ganz unten 
(Simulation der Antenne) bis ganz oben (Dienste wie Sprache oder E-Mail) 
inklusive aller Nebeneffekte (Interferenz von benachbarten Sendern, 
Verhalten des Backend-Netzes, ...) zu simulieren. Nicht einmal mit 
Supercomputern. Man muss sich auf den Teil konzentrieren um den es geht, 
und den Rest so weit wie möglich weg-abstrahieren.

Wenn es darum geht OFDM einfach nur zu verstehen, ist eine Simulation 
wahrscheinlich weniger geeignet, dafür gibt es Vorlesungen und Bücher 
;-)

Lange Rede kurzer Sinn: wenn Du sagst, um was es Dir geht, hab ich Dir 
gegebenen Falls ein paar Tipps oder Zeilen Matlab.

Autor: F. Meier (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für den Link. Was ich eigentlich bräuchte ist eine kleine Matlab 
Simulation, es kann auch Simulink sein. Die Simulation soll die 
Datenbits mit QPSK oder auch 16-QAM modulieren und anschließend mit der 
IFFT in den Zeitberich transfomieren. Der Kanal soll "weißes Rauschen 
sein" (AWGN).
Im Empfängsteil soll das empfangene komplexe Zeitsignal mit Hilfe einer 
FFT in den Frequenzberich zurück transformiert werden und im Anschluss 
soll dann mit Hilfe eines Demapper die Symbole in Bits ausgegeben 
werden.
Zusätzlich soll noch die Bitfehlerrate/Symbolfehlerrate von der 
Übertragungs angezeigt werden.

Autor: F. Meier (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab eine OFDM Simulation für Matlab gefunden. Nun ist es so, dass 
dort die Funktion 'pskmod' verwendet wird, die es leider nicht gibt.

>> qpsk_modulated_data = pskmod(padded_data, M);

In Matlab gibt es zwar eine Funktion, mit der man ein Signal auf PSK 
usw. modulieren kann. SIe heisst 'dmod'.
In der OFDM Simulation gibt es aber kein 'Fc', 'Fs' und 'Fd'.

>> y = dmod(x,Fc,Fd,Fs,'psk',M);

Was kann ich da tun?

Autor: Tommi Huber (drmota)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe deine OFDM_4QAM_R14.mdl für eine 5.0 Version umgewandelt. 
Vielleicht funktioniert es.

Autor: F. Meier (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Tommi,

danke für das umwandeln der Datei. Leider kann ich die Datei immer noch 
nicht verwenden.

Kann mir vielleicht jemand sagen, wozu genau die Matlab Datei 
'do_padding.m' gut ist?

Autor: F. Meier (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab die obige Simulink auf einem anderen Rechner auf die Version 6.5 
(R14) konvertiert. Es scheint so, als ob die Simulation funktionieren 
würde.
Was mir aber noch auffällt ist, das sich bei den beiden Plots 
'Discrete-Time Scatter Plot Scope1' und 'Spectrum Scope 1' nichts 
angezeigt wird.
Woran könnte dies liegen?

Autor: F. Meier (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wieviele Unterträger werden hier verwendet?
Wie groß ist hier der Frequenzabstand
Wie groß ist die Bandbreite

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.