FFT - Funktion bei Oszilloskopen

Gast #3548696
Lesenswert?

Hallo,
ich bin mir gerade nicht sicher ob das Thema in das entsprechende Gebiet 
passt, aber ich probiere es einfach mal. Ich benutue bei meinem 
Oszilloskop die FFT-Funktion, um die Frequenzanteile eines Signals im 
Spektrum darstellen zu lassen. Die Länge des zu betrachtenden Signals 
beträgt 100 µs bei einer Speichertiefe von 1 MS und einer Abtastrate von 
10 GS/s. Somit sollte ich doch bei einer FFT-Analyse (bei 
Berücksichtigung der Nyquist Frequenz) ziemlich genau 500.000 Werte 
erhalten:

0.5 * 10 GS/s = 5 GS/s -> d.h. 5 GS/s * 0.0001 = 500 kS

Wenn ich mir das allerdings im ASCII-Format abspeichere, erhalte ich nur 
ein wenig mehr als die hälfte der Werte.
Ich habe probiert mich ein wenig in den FFT-Algorithmus des 
Oszilloskopes einzulesen, aber das ist mir doch ein wenig zu komplex.

Kann mir vielleicht jemand sagen, wie ich auf die Anzahl meiner 
gespeicherten Werte komme?

Viele Grüße!
Gast #3548797
Lesenswert?

Okay vielen Dank.

Ich glaube allerdings, dass sich die Frage bereits erübrigt hat. Hatte 
ganz vergessen das die Anzahl der Messwerte einer Zweierpotenz 
entsprechen müssen. Somit kommt ich dann bei 2^16 +1 auch auf das 
korrekte Ergebnis.

Entschuldige für die Störung :D
Gast #3549499
Lesenswert?

Ach na wo wir schon bei FFT sind, hätte ich doch noch eine kleine frage.

Die Anzahl der Samples muss eine duale Basis haben. Wenn ich mir das 
nochmal in Matlab anschaue, sieht das in etwa so aus:


L = Länge des Signals (als Beispiel: 1000)
NFFT = Nächste Zweierpotenz der Signallänge
y = Funktion
Fs = Abtastrate

Aus der Matlab-Hilfedatei:

NFFT = 2^nextpow2(L)
Y = fft(y,NFFT)/L;
f = Fs/2*linspace(0,1,NFFT/2+1);

Soweit verstehe ich es eigentlich. Glaube ich.. Zunächst wird die 
nächste Zweierpotenz von der Anzahl meiner Abtastwerte ermittelt. Somit 
wär NFFT = 1024, da der Exponent 10 beträgt. Im nächsten Schritt wird 
das Signal mit der Anzahl der Werte Abgetastet, eine FFT durchgeführt 
und auf die Länge des Signals normiert. Anschließend wird die Abtastrate 
halbiert (Nyquist), die Anzahl der Abtastwerte halbiert (da 1024 zu hoch 
ist) und gleichmäßig verteilt. Aber mich irritiert die 1 dort ein wenig. 
Warum wird nochmal mit 1 addiert? Somit hat doch die Anzahl der 
Abtastwerte keine duale Basis mehr, sondern 2^9 + 1 ?

Oder verstehe ich irgendwas falsch?

Gruß
Gast #3549529
Lesenswert?

Hm, so richtig schlau bin ich jetzt aber noch nicht draus geworden. Die 
FFT läuft doch darauf hinaus, dass die Abtastwerte aufgeteilt werden in 
Werten mit geradem und ungeradem Index. Wenn die Anzahl meiner 
Abtastwerte einer Potenz von zwei entsprechen, habe ich doch immer 
gleich viele gerade sowie ungerade Indexwerte. So wie es meines 
Erachtens auch sein sollte. Daher schließt sich mir die Addition mit der 
1 immer noch nicht so recht.
#3549607
Lesenswert?

hyXamp schrieb:
> Daher schließt sich mir die Addition mit der
> 1 immer noch nicht so recht.

Wenn man aus einem Signal mit N Samples das Spektrum mit der DFT 
berechnet, dann hat das Spektrum auch N Samples. Wenn das Signal im 
Zeitbereich rein reel ist, dann bekommt man ein symmetrisches Spektrum:

Y(n) = Y(N-n)

Es sind also die Punkte Y(0) .. Y(N/2) interessant, die Punkte Y(N/2+1) 
.. Y(N-1) sind die gespiegelten Werte von Y(1) .. Y(N/2) und werden bei 
der graphischen Darstellung meistens nicht dargestellt.

Die Anzahl der interessanten Punkte ist deshalb N/2+1.
Gast #3549646
Lesenswert?

Ah super, okay jetzt habe ich es verstanden. Vielen Dank!

Aber dann kann ich ja direkt noch eine Frage hinterherschieben ;)
Wie gesagt, beschäftige mich aktuell mit der FFT-Funktion und probiere 
ein wenig genauer zu Verstehen, was da genau passiert.

Wenn ich mir ein Spektrum über die vollständige, verfügbare Bandbreite 
anzeigen lasse, kann man er erkennen, dass die tieferen Frequenzen (also 
ungefähr bis zur halben Bandbreite) angehoben sind. Beginnend bei der 
Startfrequenz mit extrem hohen Pegel und alle weiteren Frequenzen fallen 
exponentiell ab. Das Rauschen weist die gleiche Charakteristik auf. 
Woran liegt denn das nun wieder? Ich vermute das könnte irgendwas mit 
der Fensterung zu tun haben? Habe kein Fenster drinne, wird also dann 
vermutlich automatisch ein Rechteck sein. Aber wirkt sich das 
tatsächlich so extrem aus?
Gast #3550248
Lesenswert?

Klar, war eigentlich auch mein erster Gedanke. Kann ich aber erst 
nächste Woche machen ;) Also mache ich dann auch, aber vielleicht kann 
ja jetzt bereits schon jemand sagen, ob die Fensterung mit der Anhebung 
von Spektrallinien im tieferen Frequenzbereich etwas zu tun hat?
#3550686
Lesenswert?

hyXamp schrieb:
> aber vielleicht kann
> ja jetzt bereits schon jemand sagen, ob die Fensterung mit der Anhebung
> von Spektrallinien im tieferen Frequenzbereich etwas zu tun hat?

Die Fensterfunktion wirkt sich hauptsächlich auf die Pegel im Spektrum 
zwischen den einzelnen Spektrallinien auf, also dort, wo eigentlich kein 
Signal ist oder nur sehr schwache Signale vorhanden sind.

Ohne Fensterfunktion bzw. mit einem Rechteck-Fenster werden die 
einzelnen Linien nach unten hin relativ breit, wenn die Signalperiode 
nicht genau ganzzahlig ins Fenster passt. Durch eine geeignete 
Fensterfunktion wird diesr Effekt reduziert.

Die Höhe der Spektrallinien wird durch die Fenster-Funktion kaum 
beeinflusst, die Änderung liegt so in der Größenordnung von ca. +/- 1 
dB.
Gast #3550855
Lesenswert?

Mh, okay. Das werde ich dann nächste Woche mal ausprobieren. Ich habe 
auch eine weile nach einem passendem Bild gesucht, aber nichts in der 
Art gefunden. Wie lässt sich dann erklären, dass das Spektrum am Anfang 
ungefähr mit 1/f abfällt? Vielleicht finde ich noch ein passenden Foto, 
welches meine Frage vielleicht etwas genauer beschreiben kann.
Gast #3550863
Lesenswert?

Naja ist jetzt zwar kein Foto eines real aufgenommen Spektrums, aber so 
in etwa verhält es sich bei mir genauso, nur das eben ein paar 
Spektrallinien mit dabei sind. Die tieferen Frequenzen sind in der 
Amplitude genau wie das Rauschen angehoben. Hab das allerdings schon bei 
mehreren Oszilloskopen in der FFT-Funktion gesehen und die waren alles 
andere als billig!

http://harmonicresolution.com/GDnoise44k1fCDsampler.png
Persönliche Seite #3550866
Lesenswert?

Hat seine Quelle rein in der Analogtechnik. Halbleiter sind halt so 
veranlagt. Im oberen Frequenzbereichsende des Gerätes kann das dann aber 
auch das Antialiasing-Filter bewirken.

Mit weißem Rauschen hat man bei jeder Fensterfunktion einen aalglatten 
Frequenzgang.


Es gibt auch FFT mit nicht 2er-Potenzen. LTspice hat so einen 
Algorithmus drinnen.
Gast #3553315
Lesenswert?

Jetzt muss ich doch noch mal zur FFT zurück. Eine Sache geht mir da 
nicht aus dem Kopf:

Ich habe ein Signal, welches ich über einen Zeitraum von 100 µs 
betrachte. Diese Signal wird mit 10 GS/s abgetastet usw.. hatten ich ja 
oben schon beschrieben. Ich erhalte also 500.000 Samples. Weil die 
FFT-Funktion des Oszilloskops mit der basis 2 rechnet, erhalte ich 
letztendlich nurnoch 2^18+1 Samples.

Ich verstehe aber gerade nicht ganz, wie sich daraus dann ein Spektrum 
bis 5 GHz berechnen lässt.. D.h. kann man denn mit der geringeren Anzahl 
von Samples auch nach der FFT die Zeitreihe wieder herstellen? Ist das 
Signal durch die FFT nicht unterabgetastet?

Vermute die Lösung ist recht einfach, hab da nur anscheinend gerade 
irgendwie einen Denkfehler.

Gruß
Persönliche Seite #3554129
Lesenswert?

Die Frequenzauflösung ist dann 10GHz/2^18 .

Gemeinhin als "bin" genannt. Alles was zwischen den diskreten 
Frequenzlinien der sich ergebenden Auflösung liegt, wird durch die 
Fensterung umliegenden Frequenzlinien anteilsmäßig* zugeordnet.

* bestimmt eben durch die Fensterfunktion.


Ergänzend kann man noch Subsampling machen, also z.B. die effektive 
Bandbreite auf 1GHz und damit die Frequenzauflösung 10x. Mit dem 
Subsampling kann man dann auch die Amplitudenauflösung erhöhen, denn die 
üblichen Scopes haben nur 8-Bit Wandler. Das würde in diesem Beispiel 
dann ca. 1,7 Bits bringen. Es wäre dann also effektiv ein 9,7 
Bit-Wandler.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren