Ich möchte eine möglichst ideale Messung eines Spektrums durchführen und eine FFT benutzen. Das Signal muss nicht aus der FFT wiederhergestellt werden können - ich brauche nur möglichst exakte Werte. Nun ist bekannt, dass die FFT nicht hunterprozentig funktioniert, wenn man nicht fenstert (und auch dann noch Artefakte hat). Frage: Welches Fenster nimmt man, wenn man keine Annahmen über die Verteilung der Frequenzen machen kann, die Genaugikeit also möglichst hoch sein muss? Weiters stellt sich mir die Frage, ob ich auch Fenstern darf und soll, wenn die FF-Daten wieder per iFFt zurückverwandelt werden sollen? Aus dem Spektrum sollen Frequenzen wegestrichen werden und das neue Signal geformt werden.
> Nun ist bekannt, > dass die FFT nicht hunterprozentig funktioniert, wenn man nicht fenstert > (und auch dann noch Artefakte hat). Seltsame Aussage ... die FFT ist hunderprozentig umkehrbar (wenn die Genauigkeit hoch genug ist). Wenn du nicht Fensters hast du halt die Frequenzauflösung auf die Zeit nicht ... > Frage: Welches Fenster nimmt man, wenn man keine Annahmen über die > Verteilung der Frequenzen machen kann, die Genaugikeit also möglichst > hoch sein muss? Möglichst klein? Nur eine Vermutung ...
Die Fensterung wird eingesetzt, um die FFT überhaupt erst machen zu können. Du entscheidest mit der Art der Fensterung, was du haben möchtest. Dafür nimmst du dir aber Effekte in Kauf: - Genauigkeit - Leck-Effekt Das kann nicht sein dass die FFT nicht hunderprozent funktioniert. Da machst du was falsch! Wenn du hohe Genauigkeit möchtest, muss du lange genug hinsehen. Wahrscheinlich ist deine FFT zu klein und deshalb hast du Artefakte, die wahrscheinlich durch eine rechteckige Fensterung entstanden sind. Das ist der Leck-Effekt. Eine Fensterung geschieht automatisch, da kannst du nichts dagegen tun. In deinem Fall nehme ich an dass du einfach nur Werte eingelesen hast und keinen spezifischen Filter drübergelegt hast. Dadurch hast du automatisch eine Rechteck-Fensterung und ein Rechteck hat bekanntlich eine sehr hohe Bandbreite. Dadurch faltest du dein Signal mit einem Rechteck und dadurch bekommst du da schlechte Werte. Du solltest wissen, wie oft du neue Werte benötigst und mit welcher Genauigkeit. Und Genauigkeit ist relativ, es kommt eben auf deine Anwendung an! Wenn es sehr genau sein soll, dann musst du entweder sehr sehr lange auf dein Signal kucken (unendlich lange Fensterung) oder ein geeignetes Fenster nehmen das du so einsetzt, dass du nur deine gewünschten spektralen Anteile scharf von den anderen abtrennst. Ansonsten schau dir den Wiki Artikel zu Fenterfunktionen an: http://de.wikipedia.org/wiki/Fensterfunktion Das Fenster wählt man so aus, wie man seine Anforderungen stellt. Möchtest du einzelne Frequenz extrem scharf trennen oder lieber alle Frequenzanteile? Beachte: Immer wenn du fensterst, handelst du dir andere ungeliebte Effekte ein. Die Wahl eines Fensters ist immer ein Kompromiss.
holger schrieb im Beitrag #2526495: >>Aus dem Spektrum sollen Frequenzen wegestrichen werden und das neue >>Signal geformt werden. > > Hast du irgenwie einen geistigen Schaden? Wieso, in der Bildbearbeitung macht man bspw. bei periodischen Störungen genau das, Im Frequenzbereich korrigieren, zurück transformieren. Rest wurde gesagt, ein Fenster entsteht automatisch!
Ralf schrieb: > Weiters stellt sich mir die Frage, ob ich auch Fenstern darf und soll, > wenn die FF-Daten wieder per iFFt zurückverwandelt werden sollen? Kein Fenster nutzen heist in Zusammenhang mit der FFT ein Rechteckfenster zu verwenden. Guck dir die FFT von deiner Fensterfunktion an und dann entscheide, was du als liebstes um jede deiner Frequenzen deines Urspungssignals sehen möchtest.
Jemand schreib > Hast du irgenwie einen geistigen Schaden? Nein, habe ich nicht und ich wüsste auch nicht, was an meiner Aussage unsinnig sein sollte. Zu den anderen Antworten: Ich weiss um den Effekt des Fensterns und genau deshalb schreibe ich ja, dass dadurch Fehler gemacht werden. Sieh auch diese Aussage: Pascal O. schrieb: > Beachte: Immer wenn du fensterst, handelst du dir andere ungeliebte > Effekte ein. So ist es und deshalb gelingt es eben nicht, die Ausgabe der FFT perfekt wieder zurückzuverwandeln, wenn diese "ungeliebten effekte" zuviel werden. Nochmals meine Frage: Wie Fenstere ich so, dass ich ein möglichst repräsentatives Ergebnis bekomme? und wie fenstere ich so, dass ich möglichst authentisch weiterarbeiten kann, indem ich eine IFFt verwende. Jan K. schrieb: > Bildbearbeitung macht man bspw. bei periodischen Störungen > > genau das, Im Frequenzbereich korrigieren, zurück transformieren Bei mir ist es etwas anders: Ich muss bestimmte Frequenzen erkennen, das Muster suchen und festlegen, welches Muster von n es war. Dann wird genau dieses Muster herausgeschnitten und wieder synthetisiert. Damit sind Störfrequenzen weg und ich habe das eigentliche Signal. Von dem brauche ich aber die Phase!
Ralf schrieb: > Wie Fenstere ich so, dass ich ein möglichst repräsentatives Ergebnis > bekomme? Das kommt ganz darauf an, wie du es denn gerne hättest. Mit dem Rechteckfenster (also wenn du gar nichts machst außer deine Daten blockweise in die FFT zu schicken) bekommst du zwar schön schmale Peaks, die jedoch nur sehr langsam abfallen. Die meisten anderen Fenster machen dann zwar die Peaks breiter, jedoch ist dann neben den Peaks nicht mehr so viel anderes Geraffel, was meist besser aussieht. Was genau du willst, musst du selbst wissen. Ralf schrieb: > wie fenstere ich so, dass ich möglichst authentisch weiterarbeiten kann, > indem ich eine IFFt verwende. Wenn du etwas in die FFT steckst und das Ergebnis wieder in die IFFT kommt dein Ursprungs-etwas heraus. Insofern verstehe ich deine Frage nicht. Fenstern macht man üblicherweise vor allem bei der Spektralanalyse. Aber wenn du dein Signal nur modifizieren und anschließen rücktransformieren willst, solltest du es wohl eher gar nicht fenstern, dir aber bewusst sein, was wegen der impliziten Rechteckfensterung passiert.
So richtig schlau macht mich das auch nicht. Wäre mal einen Artikel wert!
Also was du benötigst, ist eher eine angepasstes Filter und keine FFT finde ich. Wenn du bestimmte Störfrequenzen raushaben möchtest, dann musst du da ganz anders vorgehen. Das wird in der Signalverarbeitung in der Regel nicht so gemacht. Was dir auch helfen könnte wäre eine Korrelation. Es scheint mir so, als wüsstest du schon was du benötigst. Wieso machst du nicht einfach eine Kreuzkorrelation mit deinem bekannten Muster und deinem Spektrum? Das würde dir doch viel eher helfen! Bei der FFT hast du doch auch noch zusätzlich das Problem, dass du auch noch Rauschen drin hast und damit doch dein Signal stören könntest. Oder haben deine gesuchten Frequenzen immer ein genügend hohes SNR? Mit passenden Filtern (Matched Filter, Wiener Filter, ...) kannst du dein Rauschen unterdrücken und nur dein Signal rausziehen. Wie ich dir schonmal empfohlen habe: Lies dir den Wiki Artikel zu Fensterung mal durch. Da steht alles drin was du wissen möchtest! Was ich dir nochmals ans Herz lege: - Überlege dir, was du eigentlich möchtest, dann könntest du auch selber überlegen welches Fenster du benötigst. Nenne doch auch mal bitte mit welchen Frequenzen du arbeitest und welche FFT du benutzt hast, um diese zu transformieren. Ist deine FFT nämlich richtig gewählt, fallen die Effekte so gut wie nicht ins Gewicht. Wie gesagt, wenn du lange genug hinschaust bekommst du ein perfektes Spektrum. Ebenso welche Messzeit musst du einhalten usw. Wir brauchen Daten um dir weiterzuhelfen, so führt das zu nichts.
Die FFT ist unausweichlich da vorgegeben und die Daten noch von einem anderen Modul genutz werden. Ins Forum stellen kann ich den Code nicht, da die APP company restricted ist.
Wir wollen den Code ja auch nicht sehen :-) Aber ein paar Eckdaten sind wichtig. Die FFT Daten z.B., das sind nur ein paar Werte, kein kompletter Code und völlig allgemein. Und die müssen auf deine Frequenzen angepasst werden, deshalb wäre ein Frequenzbereich auch ganz nett.
Ok, nehmen wir an, der Spektralanteil nimmt nach oben hin leicht ab. Amplitude am oberen Ende z.B. nur halb so hoch. Das Rauschen ist ungefähr 1/f - gfsmit etwas gleichverteiltem Zufall.
Noch ein Tip: Durch den entstehenden Leck-Effekt wird die Energie deines Signals auf das ganze Spektrukm verteilt. Die Amplitude vom eigentlichen Signal ist in der FFT niedriger dargestellt. Wahrscheinlich kannst du auch deshalb nicht korrekt zurücktransformieren. Ich kann dir mit den wagen Hinweisen von dir aber leider nicht weiterhelfen, ich brauch Daten um mich da reinzudenken. Vielleicht solltest du dir das Prinzip und die richtige Auslegung der FFT nochmal genauer durchlesen. Vielleicht hast du auch deine Stützstellen und die Anzahl des betrachteten Bereichs falsch gewählt. Damit kann man auch viel falsch machen. Ach ja, falls du Matlab verwenden solltest, da ist die FFT nicht gleich FFT. Da sollten die Einstellungen lieber manuell vorgenommen werden. Ich klink mich hier aus. Viel Erfolg noch!
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.