Eine Frage zur Datenfensterung zwischendurch: Die Windows vor einem Filter oder einer DFT / FFT werden in der Regel mit einem Fester bearbeitet, welches dafür sorgt, dass die Daten weich hineingleiten und es nicht zu einem leak-Effekt kommt, oder wie der heisst. Bildlich stelle ich mir das so vor, dass die Frequenzen, die genau in die Datenzahl (t.B. 128 samples) hineinpassen sehr gut zu Null werden, während die anderen je nach Phase zu einem Zappeln führen. Soweit so gut. Nun habe ich einen Filter, dessen Kurve von sich aus schon genau zu der Samplezahl passt - am Rand also genau 0 wird. Es handelt sich um einen FIR-Filter dessen Grenzfrequenz zufällig so liegt, dass die auslaufenden Flanken des Filters in den letzten Punkten genau die X-Achsen schneiden. Muss ich dann überhaupt noch fenstern? Und wenn ich das tue, würde dann nicht eine andere Grenzfrequenz entstehen? Es wird ja Quasi eine Glocke mit einer anderen multipliziert, wodurch die Glocke enger wird, also tiefe Frequenzen weniger gut erfassen kann. Meines Erachtens sinkt auch die Grenzfrequenz? Oder ist das falsch gedacht?
wenn du mal genauer schreibst, was du überhaupt tust und tun willst dann kann mir dir eher helfen. so ist es nur schwer nachvollziehbar
Ich benutze ein Datenfenster zur Glättung von Werten und den Leck-Effekt zu vermeiden: https://de.wikipedia.org/wiki/Leck-Effekt Fensternutzer schrieb: > Die Windows vor einem Filter oder einer DFT / FFT werden in der Regel > mit einem Fester bearbeitet, Richtig geschrieben müsste es heissen: "Die DATEN vor einem Filter ..." Benutzt wird jenes in der Zeichnung:
1 | ***
|
2 | * * |
3 | * * |
4 | * * |
5 | * * |
6 | * * |
7 | *.......................* |
Es ist ein Glockenfilter, ähnlich Gauss, in der erweiterten Version auch mit mehr Abtastpunkten / erhöhter GF und etwas anderen Koeffizienten:
1 | ***
|
2 | * * |
3 | * * |
4 | * * |
5 | ** * * ** |
6 | * * * * * * |
7 | *......*.......*...............*.....-- *.......* |
8 | * * * * |
9 | * * * * |
10 | *** *** |
In beiden Fällen liegen die Randpunkte auf der Y-Achse. Das ist jetzt einfach mal so und durch die Parameter bedingt. Ein Hamming würde nicht wesentlich anders aussehen, als (1), daher denke ich, dass man es weglassen könnte. Oder? Multipliziere ich nämlich den Hamming drauf, kommt eine engere Glocke heraus:
1 | ***
|
2 | * * |
3 | * * |
4 | * * |
5 | * * |
6 | * * |
7 | *.......................* |
Und die betont höhere Frequenzen. (?)
https://de.wikipedia.org/wiki/Fensterfunktion#Filterdesign Da steht eigentlich ganz klar, dass im Filterdesign die Fensterung nötig wird, um den Schritt von IIR zu FIR zu schaffen und dass dabei der Frequenzgang verändert wird. Im Umkehrschluss heißt das für dich: Fensternutzer schrieb: > Muss ich dann überhaupt noch fenstern? nein, du hast bereits ein FIR Filter. Fensternutzer schrieb: > Und wenn ich das tue, würde dann nicht eine andere Grenzfrequenz > entstehen? ja, außer du verwendest ein Rechteckfenster der Länge N. Dann ändert sich gar nichts.
Leakage bei FFTs entsteht, wenn du deine Daten zweimal hintereinander kopierst und dann an der Fügestelle ein Sprung ist. Hat deine Datenreihe an Anfang und Ende denselben Wert, passiert das nicht. Warum der Sprung nicht entsteht, ist der FFT egal; neben irgendeiner Fenster- oder Filterfunktion kann das z.B. auch daran liegen, dass die abgetastete Frequenz genau ganzzahlig in das betrachtete Zeitintervall passt.
A. S. schrieb: > Da steht eigentlich ganz klar, dass im Filterdesign die Fensterung nötig > wird, um den Schritt von IIR zu FIR zu schaffen Dort steht ganz klar nichts von IIR! (Tatsächlich kommt das Akronym IIR im ganzen Artikel nicht vor). Fensterung beim FIR-Filterentwurf dient in erster Linie dazu, um aus dem eigentlich gewollten, aber nicht realisierbarem Verhalten (wie ein harter Übergang zwischen Durchlass- und Sperrbereich) eine "vernünftige" Impulsantwort mit brauchbarer Sperrdämpfung zu erhalten. Sven B. schrieb: > Leakage bei FFTs entsteht, wenn du deine Daten zweimal hintereinander > kopierst und dann an der Fügestelle ein Sprung ist. Nö, Leakage ist der Normalfall - nur wenn das zu analysierende Signal zufällig (oder absichtlich so gewählt) in das gewählte Fenster passt, fällt der Effekt nicht auf; reale Signale kennen die gewählte Fenstergröße nicht.
Burkhard K. schrieb: > Sven B. schrieb: >> Leakage bei FFTs entsteht, wenn du deine Daten zweimal hintereinander >> kopierst und dann an der Fügestelle ein Sprung ist. > Nö, Leakage ist der Normalfall - nur wenn das zu analysierende Signal > zufällig (oder absichtlich so gewählt) in das gewählte Fenster passt, > fällt der Effekt nicht auf; reale Signale kennen die gewählte > Fenstergröße nicht. Und warum widerspricht das jetzt meinem Text? ;)
Wie gesagt mal umschreiben woher die Daten kommen und was das Ziel sein soll. Fensterung wird nötig, um das Signal endlich lang zu machen (N samples). Durch die Fensterung wird das Spektrum des ursprünglichen Signals verfälscht. Falls das Signal periodisch ist, immer ein Vielfaches der Periode. Dann umgeht man den Leakage-Effekt indem genau die Frequenzen der Fourier Koeffizieten aus dem Spektrum gesampled werden. Ein FIR Tiefpassfilter kann kinderleicht in Matlab (fdatool) entworfen werden. Was die Ecken bei deinem Filter jetzt damit zu tun haben sollen ??? Mir kommt es so vor, als ob du Begriffe durcheinander bringst.
Hier noch mein persönlicher Spickzettel: https://www.eit.hs-karlsruhe.de/mesysto/teil-b-zeitdiskrete-signale-und-systeme/teil-b-zeitdiskrete-signale-und-systeme/einfuehrung.html
Sven B. schrieb: > Und warum widerspricht das jetzt meinem Text? ;) Sven B. schrieb: > Burkhard K. schrieb: >> Sven B. schrieb: >>> Leakage bei FFTs entsteht, wenn du deine Daten zweimal hintereinander >>> kopierst und dann an der Fügestelle ein Sprung ist. > Und warum widerspricht das jetzt meinem Text? ;) Weil es den Leckeffekt auch ohne "zweimal hintereinander kopieren" gibt (hast Du das wirklich so gemeint? Das wäre dann nämlich dreimal derselbe Datenblock). Und ein fehlender Sprung an der Blockgrenze heißt nicht zwangsläufig, dass keine Leakage auftritt.
Burkhard K. schrieb: > Weil es den Leckeffekt auch ohne "zweimal hintereinander kopieren" gibt > (hast Du das wirklich so gemeint? Das wäre dann nämlich dreimal derselbe > Datenblock). Das war so gemeint, dass du das zur Veranschaulichung machen kannst, um zu erkennen ob es einen Leckeffekt gibt oder nicht.
Burkhard K. schrieb: > A. S. schrieb: >> Da steht eigentlich ganz klar, dass im Filterdesign die Fensterung nötig >> wird, um den Schritt von IIR zu FIR zu schaffen > Dort steht ganz klar nichts von IIR! (Tatsächlich kommt das Akronym IIR > im ganzen Artikel nicht vor). Fensterung beim FIR-Filterentwurf dient in > erster Linie dazu, um aus dem eigentlich gewollten, aber nicht > realisierbarem Verhalten (wie ein harter Übergang zwischen Durchlass- > und Sperrbereich) eine "vernünftige" Impulsantwort mit brauchbarer > Sperrdämpfung zu erhalten. Da steht "unendliche Impulsantwort". Und wofür steht IIR?
A. S. schrieb: > Da steht "unendliche Impulsantwort". Und wofür steht IIR? War das nicht so, daß eine FFT nur dann richtig gelingt, wenn die Signale unendlich lang sind? Ist die Aussage "Übergang IIR zu FIR" gfs. SO zu verstehen?
Andi schrieb: > A. S. schrieb: > >> Da steht "unendliche Impulsantwort". Und wofür steht IIR? > > War das nicht so, daß eine FFT nur dann richtig gelingt, wenn die > Signale unendlich lang sind? Ist die Aussage "Übergang IIR zu FIR" gfs. > SO zu verstehen? es ist immer noch nicht klar was OP überhaupt tun möchte. Versucht er ein FIR mittels Fenstermethode zu entwerfen?
Fensternutzer schrieb: > Nun habe ich einen Filter, dessen Kurve von sich aus schon genau zu der > Samplezahl passt Entscheidend ist, ob die Wellenlänge, die aufgenommen wird, zur Samplezahl passt. Ist das der Fall, braucht es kein Fenster. Fensternutzer schrieb: > Nun habe ich einen Filter, dessen Kurve von sich aus schon genau zu der > Samplezahl passt - Das ist das, was man durch das Fenster zu erzielen versucht. Das heisst aber nicht, dass die Probleme dann weg sind. Jede Frequenz, die einläuft, wird mit den Koeffizienten / der Fensterform multipliziert. >am Rand also genau 0 wird. Falls die genau 0 sind, kann man sie auch weglassen. Karatona schrieb: > Ein FIR Tiefpassfilter kann kinderleicht in Matlab (fdatool) entworfen > werden. MATLAB gibt aber kein Fenster vor und löst auch nicht die Fragestellung, ob und wann man eins braucht. Es rechnet es nur rein, wenn man es kommandiert. der TE will aber wissen, ob es es braucht. und ja: Fensternutzer schrieb: > Es wird ja Quasi eine Glocke mit einer anderen multipliziert, wodurch > die Glocke enger wird, Ja sicher ist das so. Das Problem lässt sich lindern, indem man die "Glocke" über mehr, als eine Periode laufen lässt. Dann fällt die Deformation geringer ins Gewicht.
Wie sich im Bild erkennen lässt, ist ein Filter "der am Rand Nullen hat" nur bei der Begrenzung auf diesen Bereich wirklich am Rand 0 und bringt links und rechts davon negative Koeffizienten. Erweitert man den Filter entsprechend, hier Faktor 2 und 3, bekommt man die gleiche Grenzfrequenz, aber mehr Steilheit und "Trennschärfe". Das weiter aussen ansetzende Filter verformt die Filterkurve kaum noch und die leak-Effekte verringern sich um einen entsprechenden Faktor, weil das Überbleibsel, dass aus der Multiplikation von Datum und Koeff entsteht, auf 2/3 Perioden bezogen wird.
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.