Ich schätze mal, ein Hanningfenster ist eine Art Filter. Wie funktioniert der?
EDIT: Aha. Das Ding heißt korrekt von Hann-Fenster und hat die Gleichung 0.5*(1+cos(2*Pi*n/M)) mit -M/2<=n<=M/2
Meine Implementation sieht so aus:
Delphi-Quellcode:
procedure vonHannWindow(var a: array of Single);
var I, M, n: Integer;
begin
M:=length(a);
for I:=0 to (M shr 1)-1 do
begin
n:=I-(M shr 2);
a[I]:=a[I]*0.5*(1+cos(2*Pi*n/(M shr 2)));
end;
end;
Ich erhalte klare Spitzen, kann aber immer noch keine Rechtecks/Sägezahntöne erkennen. Aber vielleicht geht das auch einfach nicht.