OFDM im Selbstbau

Hallo,

das Thema OFDM finde ich recht interessant, allerdings auch komplex (um nicht zu sagen, kompliziert). Mich w=FCrde beispielsweise interessieren, wie gro=DF der theoetische und der machbare Datendurchsatz ist, ohne dass ich mir dazu Formeln selbst herleiten muss (was mir als Mathe-DAU recht schwer f=E4llt). Praktisches Beispiel: Ich habe eine FFT, die ich auf einem AVR laufen lasse:

- Samplingfrequenz 8kHz,

- FFT mit 64 Punkten,

- daraus resultierend max. 32 nutzbare Einzelb=E4nder mit 125 Hz Abstand und 8ms minimale Bit-Dauer (die FFT verbr=E4t dabei =FCbrigens ca. 8MIPS). Die einzelnen Tr=E4ger sollen dabei mit einer einstufigen Modulation (also keine QAM oder sowas) beaufschlagt sein, PSK vielleicht.

Liege ich mit meinen folgenden Gedankeng=E4ngen richtig und mag jemand die dazugeh=F6rigen Fragen beantworten? =DCber die I- und Q-Komponente der FFT lassen sich nun Amplitude und Phasenwinkel der einzelnen Tr=E4ger recht einfach bestimmen, sodass sich ein Bitstrom relativ leicht demodulieren l=E4sst. Bei den Einzeltr=E4gern ist man aber wohl nicht mehr ganz frei in der Wahl der Modulationsparameter, da bei der FFT der Nachbarkanaltr=E4ger ja mit ca.

-3dB (gesch=E4tzt) noch "=FCberspricht". Wie muss die Modulation aussehen, dass der Nachbarkanal nicht unzul=E4ssig stark gest=F6rt wird, ich aber zugleich maximalen Datendurchsatz erhalte?

In Wikipedia ist ein OFDM-Blockschaltbild zu sehen einer FFT mit I/Q- Eingang. Wozu denn das? Sind das nur praktische Gr=FCnde - wegen des Herabmischens auf das Basisband mittels I/Q-Mischer? Oder =FCbersehe ich da was?

Als Modulator w=FCrde ich (anstelle der wohl =FCblichen inversen FFT) gerne einen DDS-Generator (Software-DDS) nehmen, schon wegen der gegen=FCber FFT etwas geringeren Rechenlast (wie ich vermute). Spricht da etwas dagegen?

Gru=DF Thorsten

PS: Falls von Interesse, die erw=E4hnte FFT-Routine (Assembler) f=FCr den ATmega fand ich auf

formatting link

Reply to
Thorsten Wahn
Loading thread data ...

In article , "Thorsten Wahn" writes: |> Bei den Einzelträgern |> ist man aber wohl nicht mehr ganz frei in der Wahl der |> Modulationsparameter, da bei der FFT der Nachbarkanalträger ja mit ca. |> -3dB (geschätzt) noch "überspricht".

Wie kommst du darauf? Das ist ja gerade der Witz an OFDM, dass die erste Nullstelle vom sinc auf den beiden Trägern nebenan liegt. Bei den Symbolwechseln ist es mit der Orthogonalität zwar kurz vorbei und das erzeugt breitbandig Störungen (solange man nicht sanft überblendet). "Dank" Guardintervall kann/muss man sich aber ja den Bereich raussuchen, wo der Wechsel vorbei ist.

Als Modulation kannst du daher alles nehmen, was deine Übertragungsstrecke übersteht, ASK wäre wohl das einfachste ;-) Der Rest ist Tradeoff Datenrate vs. erlaubtes SNR. Aber ohne Fehlerschutz/FEC dahinter ist es so oder wackelig.

|> In Wikipedia ist ein OFDM-Blockschaltbild zu sehen einer FFT mit I/Q- |> Eingang. Wozu denn das? Sind das nur praktische Gründe - wegen des |> Herabmischens auf das Basisband mittels I/Q-Mischer? Oder übersehe ich |> da was?

OFDM geht auch ohne IQ. Beim Hochmischen ist es zB. praktischer, weil man damit das eine Seitenband schon sauber unterdrücken kann (statt die 90 Grad Verschiebung für den Mischer analog zu erzeugen). PS: Du weisst schon, dass die Synchronisierung bei OFDM nicht so trivial ist? Das wird in den Kurzabhandlungen zu OFDM gerne unterschlagen...

--
         Georg Acher, acher@in.tum.de
         http://www.lrr.in.tum.de/~acher
         "Oh no, not again !" The bowl of petunias
Reply to
Georg Acher

Wie Georg schon schrieb, das wäre dann höchstens "FDM", oder DMT, wie man diese Klasse von Übertragungsverfahren allgemein nennt.

Du hast drauf geachtet, daß der Unterträgerabstand der Symbolrate entspricht?

Gruß Henning

P.S.:

formatting link

Reply to
Henning Paul

Hallo Georg,

Die mir vorliegende FFT-Implementation gibt ca. 70% Signalamplitude des Nachbarkanals aus, der =FCbern=E4chste Kanal hat eine erheblich h=F6here D=E4mpfung (vielleicht 30dB). Mit "Kanal" meine ich hier einen der 32 nutzbaren Ausgangswerte (unterhalb der Nyquistfrequenz) einer 64-Punkt-FFT.

cke

Gut. Zum Herumspielen werde ich damit mal beginnen.

Zun=E4chst l=E4uft das erst mal auf dem Labortisch. Und ob daraus dann =FCberhaupt eine "echte" Funkapplikation entstehen soll, wei=DF ich noch garnicht.

ist?

Ich werde einfach einen Kanal als Pilot auslegen, der die Bit- und Byte-Synchronisation machen soll. Beim Empfang will ich dann das FFT- Fenster solange verschieben, bis ich den Pilot korrekt synchronisiert habe. - Oder ist das zu naiv gedacht?

Gru=DF Thorsten

Reply to
Thorsten Wahn

Hallo Henning,

Ja, ich muss wohl erst noch rausfinden, wo denn die Orthogonalit=E4t in der OFDM eigentlich drinsteckt. ;-)

Sieht sehr interressant aus, werde ich mal in einer ruhigen Stunde durcharbeiten. Vielen Dank!

Gru=DF Thorsten

Reply to
Thorsten Wahn

"Thorsten Wahn" schrieb im Newsbeitrag news: snipped-for-privacy@h3g2000cwc.googlegroups.com...

Die einzelnen Träger sind frequenzorthogonal zueinander. Und das ganze System ist asymmetrisch - sonst wäre ja keine Information übertragbar.

- Henry

--

formatting link

Reply to
Henry Kiefer

Was für eine Sendeimpulsformung verwendest Du? Und mal ne blöde Frage: Du nimmst auch die IFFT am Sender und FFT am Empfänger?

Gruß Henning

Reply to
Henning Paul

Dann stimmt was nicht mit der FFT (oder die Eingangsdaten sind kein OFDM). Bis auf Rundungsfehler sollte ein Träger sich nicht auf die anderen auswirken. Tut er es doch, ist was in der Übertragungskette nicht-linear oder sonstwie faul.

Ja, etwas ;-) Die Zeitsynchronisation auf den Symbolwechsel ist noch das einfachste. Du brauchst noch eine Synchronisation der Samplefrequenz (d.h. Stauchung/Streckung des Spektrums) und eine auf die Modulationsfrequenz (links/rechts-Schieben des Spektrums). Wenn Sender und Empfänger mit exakt demselben Takt laufen (wie in den Simpel-OFDM-Demoprogrammen), ist das natürlich unnötig. Allerdings ist das reichlich unrealistisch...

Und genau diese Synchronisationen brauchen etwas mehr als nur einen Piloten. Schliesslich soll ja auch alles noch funktionieren, wenn genau der Pilot sich gerade durch Mehrwegempfang verdrückt hat...

--
         Georg Acher, acher@in.tum.de
         http://www.lrr.in.tum.de/~acher
         "Oh no, not again !" The bowl of petunias
Reply to
Georg Acher

Ohne Dir zu nahe treten zu wollen möchte ich Dir davon abraten. Es fehlen Dir ganz offensichtlich einige wichtige Grundlagen und das System (AVR) ist für sowas denkbar ungeeignet. Die Datenraten sind beim AVR ja sehr gering und i.A. ist bei geringen Datenraten ein Einträgersystem vorteilhafter.

Und wenn man mit einem ungeeignetem System etwas lernen muss wird die Frustration gegen unendlich gehen. Ich schlage Dir vor Dich mal fix in Matlab (bzw. Octave) einzuarbeiten und dort ein System Deiner Wahl zu implementieren. Wenn das dort klappt kannst Du es nach C portieren und wenn auch das vollbracht ist es mal mit einem Tonbandgerät und der Soundkarte testen. Wenn auch das funktioniert kannst Du gut abschätzen welchen Controller du wohl brauchst um es in "Hardware" zu implementieren.

Wenn man einen Hammer hat sieht alles nach Nägeln aus?

Tschüss Martin L.

Reply to
Martin Laabs

Hallo Henning,

Ich habe bislang nur mit unmodulierten Tr=E4gern getestet.

Nein, bis jetzt benutze ich nur einen Funktionsgenerator und schaue, was aus der FFT herauskommt. Eine IFFT steht mir nicht zur Verf=FCgung, ich habe vor, die Tr=E4ger mit einer Software-DDS zu erzeugen. Was ist am Ausgangssignal einer IFFT anders als bei einem (quarzstabilen) Signal oder aus einer DDS - oder habe ich etwas =FCbersehen?

Gru=DF Thorsten

Reply to
Thorsten Wahn

Hallo Georg,

[Synchronisation]

.=2E.was f=FCr leitungsgebundene Systeme wohl reicht?

)=2E .=2E.f=FCr (Funk-) Systeme mit Mischer, eine Art AFC f=FCr den Oszillator also?

Gute Hinweise, danke - jetzt ahne ich schon eher, was ich mir da vorgenommen habe. :-)

Gru=DF Thorsten

Reply to
Thorsten Wahn

Hallo Henry,

Wie k=F6nnen _Frequenzen_ zueinander orthogonal sein?

Gru=DF Thorsten

Reply to
Thorsten Wahn

Hallo Martin,

Der AVR mit der erw=E4hnten FFT-Routine, echtzeitf=E4hig(*) gemacht, ist f=FCr meine Zwecke bis einige wenige kHz sehr wohl tauglich, was ich anhand eines einfachen Empf=E4ngersystems (125kHz Input, Bandfilter, Oversampling mit dem im AVR eingebauten ADC, der FFT, Ausgabe =FCber UART im Polling-Betrieb) =FCberpr=FCft habe.

Ich _muss_ ja garnicht. Ich interessiere mich privat f=FCr DSP- Algorithmen, und habe deshalb auch keine Scheu vor makuesken(**) Fragen.

Nicht alles was hinkt, ist ein Vergleich.

Gru=DF Thorsten

(*) Echtzeit: in diesem Falle meine ich 8 kHz Samplingfrequenz und die Verarbeitung aller anfallenden Daten, so wie sie eingelesen und von der FFT ausgegeben werden. (**) Makuesk =3D was man so vom "Makus" gewohnt ist...

Reply to
Thorsten Wahn

"Thorsten Wahn" schrieb im Newsbeitrag news: snipped-for-privacy@l53g2000cwa.googlegroups.com... Hallo Henry,

Wie können _Frequenzen_ zueinander orthogonal sein?

Mischprodukte?

- Henry

--

formatting link

Reply to
Henry Kiefer

Thorsten Wahn schrieb:

Er meint Spektren. :-)

Gruß Henning

--
henning paul home:  http://home.arcor.de/henning.paul
PM: henningpaul@gmx.de , ICQ: 111044613
Reply to
Henning Paul

Thorsten Wahn schrieb:

Also Rechteckimpulsformung?

Die IFFT ist auch nur eine FFT mit vertauschten Real- und Imaginärteilen (und vielleicht noch Vorzeichen, weiß ich jetzt gerade nicht).

Pardon, aber wie erzeugst Du dann N Unterträger im Abstand 1/Symboltakt? Durch N DDSn? Dann hast Du den Vorteil von OFDM nicht verstanden.

Folgendes Vorgehen: Du hast einen Datenstrom der Rate R mit Symboldauern T=1/R. Wenn Du den direkt impulsformst (RS232 bspw. Rechteckimpulsformung, spektral ungünstig), bekommst Du ein Spektrum mit Nulldurchgängen bei 1/T. Wenn man jetzt N dieser Symbole gruppiert und einer IFFT unterwirft, erhält man ein Signal, das aus N Symbolen besteht, diese Gruppe von N Symbolen wird als OFDM-Symbol bezeichnet. Das hat also die Länge N*T=T_OFDM. Jetzt gibst Du diese Gruppe auf die Leitung, impulsgeformt mit einem Filter der Länge T, nicht T_OFDM. Über die Leitung rauschen jetzt Symbole in der gleichen Rate, als würdest Du kein OFDM machen. Am Empfänger werden diese Symbole abgetastet, wieder in N-er Gruppen gruppiert und eine FFT davon gemacht. Und da purzeln jetzt die gleichen Symbole raus, wie Du am Anfang reingesteckt hast. Du hast also bis hier nichts gewonnen.

Wenn Du Dir das Spektrum des Signals auf der Leitung ansiehst, wirst Du feststellen, daß Du dort Unterträger erkennen kannst. Warum? Weil Du mit der IFFT an der Senderseite explizit ein Zeitsignal synthetisierst, das an den Spektralstellen [N/2..N/2-1]/(N*T) Spektrallinien mit der Gewichtung der Eingangsdatensymbole enthält. Der Vorteil von OFDM besteht jetzt darin, daß die schmaleren Einzelspektren weniger anfällig gegen "verzerrte Frequenzgänge" sind, da sie einzeln, nach der FFT entzerrt werden können.

Gruß Henning

P.S.: Das cyclic prefix/Guardintervall habe ich jetzt der Einfachheit halber nicht angesprochen.

--
henning paul home:  http://home.arcor.de/henning.paul
PM: henningpaul@gmx.de , ICQ: 111044613
Reply to
Henning Paul

Hallo Henning,

Nein - continuous wave, mit der ich mir zun=E4chst nur die Ausgangssignale der FFT anschaue.

Kann ich also eine FFT ohne =C4nderung am Algorithmus lediglich durch Umgruppieren der Eingangsvariablen als iFFT betreiben?

Doch, das schon.

Welches, wenn ich die IFFT richtig verstanden habe (und wie Du sp=E4ter auch schreibst) aus n Tr=E4gern besteht. Mangels iFFT kam ich auf die Idee, die n Tr=E4ger mit n DDS-Generatoren zu erzeugen.

Aber ich werde mir erst mal das von Dir empfohlene Script durcharbeiten, bevor ich mich weiter dazu =E4u=DFere. ;-)

Gru=DF Thorsten

Reply to
Thorsten Wahn

Hallo Henning,

Guter Hinweis: mit etwas googeln habe ich herausgefunden, dass =FCber eine FFT, die mit mit konjugierten Eingangswerten gespeist wird, tats=E4chlich eine IFFT implementiert werden kann. Das werde ich nun erst mal ausprobieren. - Danke f=FCr den Denkansto=DF!

Gru=DF Thorsten

Reply to
Thorsten Wahn

Hallo Georg,

Vielleicht sogar beides. Die FFT wird mit Hanning-Fensterfunktion betrieben, f=FCr OFDM k=F6nnte das m=F6glicherweise unn=F6tig - wenn nicht sogar st=F6rend - sein? Weiterhin benutzte ich zum Test der FFT einen Tr=E4ger, der nicht synchron zum FFT-Fenster ist. Damit besteht dann wohl auch keine Orthogonalit=E4t, wenn ich das richtig verstanden habe?

Gru=DF Thorsten

Reply to
Thorsten Wahn

OFDM auf Basis FT (*) will blitzsauber einsynchronisiert sein und braucht keine Fensterung und darf auch nicht gefenstert werden. Die Fensterung stört die Orthogonalität.

Die sin x/x-Spektralverteilung, welche für eine gewöhnliche Frequenzanalyse stört, ist hier Bestandteil des Systems.

Natürlich sind die Nebenpeaks der FT auch beim OFDM störend, weil ein infolge Interferenzen schlechtes Frequenzteilband letztlich auf das S/N aller Träger durchschlägt, beim einen mehr, beim anderen weniger, dafür sind die Träger aber bezüglich der Ausnutzung der Kanalkapazität optimal gepackt, eben orthogonal. Das macht den Nachteil mehr als wett, was aber nicht heißt, dass es nicht noch besser geht (*).

So geht das nicht, das kannst Du knicken.

Gruß Oliver

P.s.: (*) Es steht nirgendwo geschrieben, dass die Orthogonaltransformation bei OFDM unbedingt eine Fouriertransformation sein muss. Sie ist nur wegen der Möglichkeit der FFT/IFT zunächst am einfachsten für hohen Datendurchsatz zu implementieren.

--
Oliver Bartels + Erding, Germany + obartels@bartels.de
http://www.bartels.de + Phone: +49-8122-9729-0 Fax: -10
Reply to
Oliver Bartels

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.