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!
:
Verschoben durch Moderator
hyXamp schrieb: > ich bin mir gerade nicht sicher ob das Thema in das entsprechende Gebiet > passt FFT (in diesem Zusammenhang) ist eher Signalverarbeitung, daher mal ins DSP-Forum verschoben.
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
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ß
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.
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.
:
Bearbeitet durch User
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?
hyXamp schrieb: > 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? Probiers doch einfach mal aus mit unterschiedlichen Fenster-Funktionen; dann siehst du, wie es sich auswirkt.
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?
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.
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.
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
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.
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ß
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.
hyXamp schrieb: > Ich verstehe aber gerade nicht ganz, wie sich daraus dann ein Spektrum > bis 5 GHz berechnen lässt. Die obere Grenzfrequenz im Spektrum ist imm 1/(2 * Abtastrate), unabhängig von der Anzahl der Samples. Die Anzahl der Samples wirkt sich nur auf die Auflösung im Frequenzbereich aus, so wie Abdul das beschrieben hat.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.