Hi Ernst,
ich habe deine FFT ausprobiert und bekomme eine Fehlermeldung an dieser Stelle:
Delphi-Quellcode:
IF j<=sigma THEN BEGIN
j_2:= j SHL 1; sigma2:= sigma SHL 1;
u.Re:= Y[j_2]; u.Im:= Y[j_2+1];
Y[j_2]:= Y[sigma2]*faktor; <<<<<<<< ungültige Gleitkommaoperation
Y[j_2+1]:= Y[sigma2+1]*faktor;
Y[sigma2]:= u.Re*faktor; Y[sigma2+1]:= u.Im*faktor END END;
Aufgerufen habe ich das Ganze:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var s:array[0..500] of extended;
begin
s[0]:=0;s[1]:=1;s[2]:=2;s[3]:=3;s[4]:=4;s[5]:=5;
real_fft(6,s,false);
end;
Wo liegt mein Denkfehler? Woher kommt die Fehlermeldung? Habe beim debuggen nichts unkeusches gefunden.
OK habs schon gefunden. s muss initialisiert werden.
for n:=0 to 500 do s[n]:=0;
Grüsse
Rainer