
karumba
Moderator
Teammitglied
neben all unseren hardware gurus sind hier doch bestimmt auch ein DSP fachleute unterwegs. ich bin gerade dabei einen speziellen dynamischen filter als VST plugin zu programmieren & möchte dafür FFT filtering verwenden, da dies die schnellste (und mE auch bequemste) umsetzung für FIR filter ist. für ein echtzeit signal muss man sich hierfür der "overlap add" methode bedienen, d.h. den stream in blöcke der größe L zerlegen & mit der länge M nullen auffüllen bevor man die IFFT macht. beim 2ten block wird dann einfach der M-teil des ersten blocks zum L-teil des 2ten blocks dazu addiert. damit lassen sich sprünge im zeitbereich (time domain aliasing) vermeiden.
hier ist der algorithmus erkärt.
http://en.wikipedia.org/wiki/Overlap–add_method
meine frage - und da konnte ich bei meiner bisherigen recherche keine antwort drauf finden - wie groß muss ich M dimensionieren? eine mögliche idee wäre das filter in den zeitbereich zu transformieren & dann zu schauen wie lange es zum ausschwingen braucht. das müsste eigentlich die länge von M definieren, nicht? das problem ist, dass mein filter nicht statisch ist, sondern adaptiv. ich müsste das also ständig aktualisieren. hat jemand von euch vielleicht eine idee oder erfahrung damit?
danke im voraus!
hier ist der algorithmus erkärt.
http://en.wikipedia.org/wiki/Overlap–add_method
meine frage - und da konnte ich bei meiner bisherigen recherche keine antwort drauf finden - wie groß muss ich M dimensionieren? eine mögliche idee wäre das filter in den zeitbereich zu transformieren & dann zu schauen wie lange es zum ausschwingen braucht. das müsste eigentlich die länge von M definieren, nicht? das problem ist, dass mein filter nicht statisch ist, sondern adaptiv. ich müsste das also ständig aktualisieren. hat jemand von euch vielleicht eine idee oder erfahrung damit?
danke im voraus!