home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Crawly Crypt Collection 1
/
crawlyvol1.bin
/
crm_demo
/
ofaxis11
/
beispiel
/
fft
/
fourier.txt
next >
Wrap
Text File
|
1993-08-24
|
9KB
|
163 lines
Beispiel für "FFT..." im Menütitel "Numerik"
"FFT" erlaubt die Berechnung von Fouriertransformationen, inversen
Fouriertransformationen und Leistungsspektren. Dabei können Sie
zusätzlich ein sogenanntes 'windowing' nutzen, um z.B.
'Schwebungseffekte' (Aliasing) der Fouriertransformierten zu
unterdrücken.
In unserem Beispiel wollen wir uns generell auf die Berechnung von
Leistungsspektren beschränken. Im ersten Teil werden wir uns mit dem
im Beispiel 'Parser' erzeugten Rechteckdatensatz beschäftigen, im zweiten
Teil kümmern wir uns dann um die Wirkung der Fensterfunktionen.
Allgemeines:
Klären wir zunächst einmal kurz die prinzipielle Funktion der
Dialogbox "Fouriertransformation". Damit Sie diese überhaupt sehen
können, gehen Sie wie folgt vor:
- Öffnen Sie ein "neues Diagrammfenster" (unter "Fenster" der Hauptmenüzeile)
- Laden Sie die für den ersten Teil des Beispiels vorgesehene Datei "RECHTECK.DAT".
- Wählen Sie den Menüpunkt "FFT..." im "Numerik" Menü der Menüzeile des
Diagrammfensters.
Sie sehen nun in der Dialogbox die Felder "Datensatz", "Größe des
Zieldatensatzes", "Operation", "Fensterfunktion" und "Größe". Natürlich
auch noch die Knöpfe "Ok" und "Abbruch" zum Verlassen der Dialogbox.
Das Feld "Datensatz" dürfte Ihnen bekannt sein. Es dient der Auswahl
von Quell- und Zieldatensatz. Der wesentliche Unterschied zu den
vorigen Feldern dieser Art ist außer der Anzahl der Popupboxen die
Textzeile, in der Sie die Information über die Punktanzahl des
Quelldatensatzes erhalten.
Im Feld "Größe des Zieldatensatzes" gibt
OFF-AXIS Ihnen in der Zeile x-max den maximalen x-Wert der
Fouriertransformierten und in der Zeile x-Schritt deren x-Schrittweite
an. x-max hängt von der (x-)Schrittweite Ihres Ausgangsdatensatzes ab.
Je kleiner die Schrittweite, umso größer ist x-max.; x-Schritt der
Fouriertransformierten hängt entsprechend von den Extremwerten (und
der Punktanzahl) ihres Ausgangsdatensatzes ab. Den Wert für Benutzer
x-max können Sie editieren. Damit läßt sich der Darstellungsbereich der
Fouriertransformierten einschränken (wir werden dies im Beispiel
sehen).
Das Feld "Operation" bietet Ihnen die Wahl zwischen der Berechnung der
Fouriertransformation, der inversen Fouriertransformation und der
Berechnng des Leistungsspektrums. Das Leistungsspektrum ist das
Betragsquadrat der Fouriertransformierten. Anstelle das
Leistungsspektrum über den vorgesehenen Knopf zu berechnen, könnten Sie
auch den Knopf Fouriertransformation wählen und die restlichen
Operationen 'zu Fuß' mit "Rechnen" durchführen. Die Ausgabe der
y-Werte erfolgt für das Leistungsspektrum in der Einheit dB. Der
Startwert (x=0 bzw. f=0) kann wahlweise auf 0 dB normiert werden. Die
Ausgabe der y-Werte der Fouriertransformation und der inversen
Fouriertransformation erfolgt dagegen nicht in der Einheit dB.
Im Feld "Fensterfunktion" steht Ihnen wieder ein Popup zur Auswahl der
einzelnen Fensterfunktionen zur Verfügung. Wir gehen hierauf weiter
unten näher ein.
Die Berechnung kann nur erfolgen, wenn die Anzahl der Datenpunkte des
Quelldatensatzes eine Potenz zur Basis zwei ist (512, 1024, 2048,..).
Da dies in der Regel nicht der Fall ist und damit diese Bedingung
erfüllbar ist, gibt es das Feld "Größe". Hier kann die Größe des zu
transformierenden Datensatzes nur in Potenzen zur Basis zwei
eingestellt werden. Der Quelldatensatz wird dabei vom letzten Punkt
(x-max) an mit y=0 erweitert, so daß die Punktanzahl des erweiterten
Quelldatensatzes der Forderung entspricht. Ein weiterer Vorteil der
erweiterten Datensätze ist der Einfluß auf den Punktabstand der
Fouriertransformierten (Nyquist-Theorem, oben schon angedeutet). Die
Maximalfrequenz der Fouriertransformierten wird durch die Differenz der
Datenpunkte der x-Achse des Ausgangsdatensatzes (z.B. ein Signal im
Zeitbereich) bestimmt (Nyquist-Theorem). Der Punktabstand des transformierten
Datensatzes ist durch diese Maximalfrequenz und die Punktanzahl des
erweiterten Datensatzes bestimmt. Bei entsprechend vielen
Datenpunkten im Ausgangsdatensatz lassen sich so auch die
Frequenzkomponenten mit "kleinen" (im Verhältnis zur Maximalfrequenz)
Frequenzabstand gut auswerten.
Bedenken Sie, daß jetzt mitunter aufwendige Rechenoperationen
stattfinden werden, die Ihren Rechner schon beschäftigen werden. Der
Einsatz eines Koprozessors bewirkt hier 'wahre Wunder' (natürlich
benötigen Sie dann auch die Koprozessor-Version von OFF-AXIS). Wir
möchten Sie an dieser Stelle allerdings auch nochmal darauf hinweisen,
daß die Berechnungen in OFF-AXIS (und natürlich auch die Berechnungen
zur eigentlichen Darstellung der Diagramme) bzgl. der
Ausführungszeiten optimiert sind. Vielleicht haben Sie ja die
Möglichkeit das folgende Beispiel mit seinen 8192 Datenpunkten, mal
mit einem anderen Programm/Rechner nachzuvollziehen. (8192 Datenpunkte
als Wertepaare (Text) untereinander ausgedruckt erfordern etwa 35 DIN
A4 Seiten!) Berücksichtigen Sie jedoch die jeweiligen
Rechnerkonfigurationen/-leistungen und die Koprozessorunterstützungen
bei einem solchen Vergleich.
Wir haben also jetzt unseren Datensatz "RECHTECK.DAT" in einem
Diagrammfenster geladen.
Wir wollen nun das Leistungsspektrum dieses Datensatzes berechnen.
Gehen Sie dazu wie folgt vor:
- Wählen Sie zuerst den Quelldatensatzes ("RECHTECK.DAT") aus.
Im Feld "Größe des Zieldatensatzes" wird die Maximalfrequenz und der
Frequenzabstand der Fouriertransformierten eingetragen.
Der Wert von Benutzer x-max sollte jetzt gleich dem Wert x-max sein.
- Wählen Sie nun den Zieldatensatz ("FFT01.DAT") aus.
- Als Operation ist der Radiobutton "Leistungsspektrum" mit "0 dB Referenz"
zu wählen.
- Wir wollen starten mit einer Fouriertransformation mit 1024 Punkten.
Wählen Sie diese Punktanzahl im Feld Größe.
- Nach Betätigung des Knopfes "Ok" startet die Rechnung. Damit Sie das
Ergebnis besser sehen können, deaktivieren Sie den Quelldatensatz.
* ERGBEBNIS:
Sie sehen das Leistungsspektrum bis zu seiner Maximalfrequenz.
Wir wollen unser Intersse nun aber dem Frequenzbereich bis x = 20
zuwenden. Dazu können wir uns mit dem Menüeintrag "Zoom" im Menütitel
"Edit" den gewünschten Bereich aussuchen. Nachdem Sie diesen
Menüpunkt ausgewählt haben, erscheint im Diagrammfenster nicht mehr
der Pfeil als Mauszeiger. Sie führen nun ein Kreuz mit Ihrer Maus. Drücken Sie
jetzt auf die linke Maustaste und bewegen die Maus dabei, so ziehen
Sie ein Rechteck auf, das den gewünschten zu vergrößernden Bereich
markiert. Wählen Sie also als Ausschnitt den x-Bereich von 0 bis 20.
Das Ganze läßt sich mit dem Menüpunkt "autoskalieren" rückgängig
machen. Sie sehen jetzt, daß die Anzahl der Punkte
im ausgeschnittenen Bereich so gering ist, daß Sie eigentlich nicht
viel sehen. Hier können nur bedingt Aussagen getroffen werden.
!!Zur Fortsetzung des Beispiels müssen Sie nun wieder den Zoommodus
ausschalten! (unter "Edit" "Autoskalieren" wählen). Anderenfalls
arbeitet OFF-AXIS bei allen numerischen Operationen (außer
reskalieren/normieren) nur mit dem Teil eines Datensatzes, dessen
x-Werte innerhalb des sichtbaren x-Bereiches im Fenster liegen!!
- Tragen Sie nun bei "Benutz. x-max: " den Wert 20 ein und führen Sie
die Berechnung des Leistungsspektrums mit 8192 Punkten durch.
Im Zieldatensatz sollten nun die aufgelösten Maxima bei ungeraden
Vielfachen der Rechteckfrequenz sehr gut zu erkennen sein.
Die Wahl von "Benutz. x-max" schränkt hier die Anzahl der Punkte des
Zieldatensatzes auf das Notwendige ein.
So hat Ihr Zieldatensatz in diesem Beispiel etwa 670 Punkte und nicht 8192.
Sie können jetzt also auch Fouriertransformationen mit OFF-AXIS
vornehmen. Dabei habei Sie den Einfluß erweiterter Datensätze und die
Vorgabe von Maximalfrequenzen kennengelernt.
Kommen wir damit zum zweiten Teil dieses Beispiels, der Besonderheit
der Fensterfunktionen. Wir möchten Ihnen hier allerdings nur einen
sehr kurzen Einblick geben, da ein ausführliches Beispiel den
vorliegenden Rahmen wohl sprengen würde.
Gehen wir von einem Signal im Zeitbereich aus, zum Beispiel einer
Sprungfunktion. Löschen Sie unser altes Diagrammfenster und laden die
Arbeitsdatei "SPRUNG.WRK" in ein neues Diagrammfenster.
Der Datensatz hat 100 Punkte. Führen Sie nun die Berechnung des
Leistungspektrums dieses Datensatzes mit einer "Größe" von 512 Punkten
zunächst ohne Fensterfunktionen durch. Als Ergebnis sehen Sie, daß das
Leistungsspektrum Oszillationen aufweist. Diese Oszillationen sind
bedingt durch die Fouriertransformation eines Rechtecksignals. Die
Fouriertransformierte ist eine sin(x)/x Funktion, hat also
oszillatorischen Charakter. Ziel des 'windowings' soll es hier demnach
sein, abrupte Übergänge zu vermeiden. Dies kann mit den verschiedenen
Filtern erreicht werden. Wiederholen sie einmal die eben durchgeführte
Berechnung des Leistungsspektrums mit denselben Parametern, nur wählen
Sie jetzt als Fensterfunktion "Hamming" aus. Als Ergebnis sehen Sie,
daß die Oszillationen deutlich unterdrückt werden.
Dieses Beispiel soll hier nicht weiter ausgeführt werden. Auf
'Fallstricke', Tricks und andere Anwendungen wird im Handbuch
ausführlich eingegangen.