Ein weiteres DatenType Problem
pEx := (Power(FOctaveCount + 1, 2) / 2); // in Delphi 32
Code:
pEx = ((2 ^ (mOctaveCount + 1)) / 2) ' in VB 128
ok:
sorry war verdreht..
pEx := (Power(2, FOctaveCount + 1) / 2);
kann es sein das diese Berechnung falsch ist nach der Änderung von Integer zu SmallInt?
Delphi-Quellcode:
procedure TSpectrum.ToComplex(Dat: array of SmallInt; var Out: array of TComplex);
var
i, p: Integer;
begin
p := 0;
for i := 0 to (FFFTSize * 2 - 1) do
begin
if i mod 2 <> 0 then
continue;
Out[p].r := (((Dat[i]) + Dat[i + 1]) / 65536) * Window_[p];
Out[p].i := 0;
inc(p);
end;
end;
Mich irritieren die / 65536
Weil irgendwas stimmt mit den Spectrumdaten nicht die sind bei mir einfach zu hoch.
gruss