Forum: Digitale Signalverarbeitung / DSP / Machine Learning Fenstermethode zum Design von FIR Filter


von Peter (Gast)


Lesenswert?

Hallo!

könnte mir jemand den Sinn und die Art der Realisierung (Vorgensweise) 
der Fenstermethode zum Design eines FIR Filters erklären?

MFG
Peter

von Peter D. (pdiener) Benutzerseite


Lesenswert?

Meinst du damit, dass man die Impulsantworten fenstert?
Das macht man, weil man oft zu lange Impulsantworten bekommt, wenn man 
einen gewünschten Frequenzgang einfach in eine Impulsantwort 
transformiert. Je länger die Impulsantwort ist, desto größer ist die 
Signaldurchlaufzeit im Filter. Der Filter verzögert das Signal also - 
und wenn das zu lange ist, braucht man eine Methode, die Impulsantwort 
zu verkürzen. Deswegen multipliziert man sie mit einer Fensterfunktion, 
die die Ränder abschneidet, also zu Null setzt. Im einfachsten Fall ist 
dieses Fenster ein Rechteck, für mehr Genauigkeit verwendet man 
Trapezfuntionen, Dreieckfunktionen, Raised cosine Fenster, Hamming-, 
Hanning- oder Blackmanfenster.

War es das was du meinst?

Grüße,

Peter

von Peter (Gast)


Lesenswert?

Ja genau das war das was ich meinte!
Danke!

Also ich geb das mal so wieder wie ich es jetzt verstanden habe! z.B ich 
habe ein Rect im Zeitbereich, dieser ist im Frequenzbereich unendlich, 
auf Grund dieser Eigenschaft, würde man das Signal im Frequenzbereich 
fenstern um durch eine Multiplikation mit Hanning, Kaiser, Hamming einen 
Ausschnitt zu bekommen!

...stimmt das so


MFG

von Peter D. (pdiener) Benutzerseite


Lesenswert?

FIR Filter leben im Zeitbereich, deswegen wird auch im Zeitbereich 
gefenstert.

Angenommen du hast ein Audiosignal in einem Mischpult und möchtest per 
FIR-Filer einen linearphasigen Equalizer rechnen. Dann gibt dir der 
Benutzer den Frequenzgang vor, den er sich vorstellt, das Pult rechnet 
das per inverser Furiertransformation in eine Impulsantwort um.

Weiterhin möchte der Benutzer, dass die Duchlaufzeit des Signals durch 
das Pult nur 3ms beträgt. Also darf die Impulsantwort nicht länger als 
3ms sein, sonst ist das System nicht kausal und kann nicht in Echtzeit 
berechnet werden. Die aus dem vorgegebenen Spektrum berechnete 
Impulsantwort ist aber zu lang, also muss sie gefenstert werden, um dem 
Anspruch der 3ms Durchlaufzeit gerecht zu werden. Dadurch wird sie 
natürlich verändert, also wird das Signal nicht exakt mit dem 
gewünschten Frequenzgang gefiltert, aber je weniger von der 
Impulsantwort weggefenstert wird, desto genauer entspricht das 
Ausgangssignal nach dem Filterduchlauf den Vorgaben.

Ein weiterer Einsatzort von Fenstern ist die FFT. Hier wird das 
Eingangssignal gefenstert, so dass kurze Signalblöcke entstehen, die 
jeweils separat transformiert werden, so dass der Benutzer immer ein 
quasiaktuelles Spektrum sieht.

Wenn du dir mal einen Einsatzort ansehen möchtest, schau mal bei 
www.samplitude.de - das ist ein professioneller Audioeditor, der auch 
Faltungen, FIR Filter als Equalizer, FFT Filter und andere Sachen 
einsetzt, was beim Verständnis der Materie enorm hilft, wenn man sich 
das in der Praxis ansieht. Es gibt eine Demoversion zum Download, die 
geht 30 Tage. Beim FFT FIlter kann man die Art der Fensterung einstellen 
und sieht, bzw. hört dann die Unterschiede. Du kannst selbst 
Impulsantworten generieren und nach Bedarf auch fenstern und die 
Impulsantwort dann mit einem realen Audiosignal falten, also einen FIR 
Filter rechnen. Sehr viel Technik der Signalverarbeitung hab ich aus dem 
Handbuch des Programms lernen können, obwohl es eigentlich für 
praxisorientierte Benutzer geschrieben ist, aber gerade das macht es um 
ein Vielfaches verständlicher, als diverse Vorlesungsskripten.

Grüße,

Peter

von Arndt B. (Firma: Helion GmbH) (bussmann)


Lesenswert?

Die "Fensterei" hat einen einfachen mathematischen Hintergrund.

Die idealen Filter, die man gerne hätte (z.B. idealer Tiefpass), haben 
i.d.R. unendlich lange Impulsantworten. Jede Benutzung einer technischen 
Einrichtung beginnt und endet zu einem endlichen Zeitpunkt. Dadurch 
findet "automatisch" eine Fensterung in der Realität mit einem 
zeitlichen Rechteckfenster statt (die Größe dieses Fensters wäre maximal 
die Zeitspanne zwischen Ein- und Ausschaltzeitpunktes des Geräts).

Wie pdiener aber schon schrieb, hat man bei seinen Anwendungen aber auch 
gerne kurze Durchlaufzeiten, so dass man dieses große Fenster künstlich 
weiter verkleinern muss.

Signaltheoretisch ist eine Multiplikation im Zeitbereich eine Faltung im 
Frequenzbereich. Ein Rechteck in der Zeit (z.B. ein Signalausschnitt) 
ist eine si-Funktion (bzw. das Quadrat davon) im Frequenzbereich. Je 
schmaler (kürzer) das Rechteck ist, desto stärker ist diese si-Funktion 
ausgeprängt und verfälscht die eigentlich gewünschte (ideale) 
Filterfunktion.

Daher hat man sich aus signaltheoretischer Sicht überlegt, welche Formen 
dieses Fenster annehmen sollte, um möglichst wenig das Filterergebnis zu 
verfälschen und schon waren die "Fensterfunktionen" geboren.

Um etwas Gefühl für diese Dinge zu bekommen, sind diese interaktiven 
Tools ideal.

Viele Grüße
Arndt

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
Noch kein Account? Hier anmelden.