Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#24

AW: Circular spectrum visualizer

  Alt 23. Mär 2019, 17:43
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

Geändert von EWeiss (23. Mär 2019 um 18:00 Uhr)
  Mit Zitat antworten Zitat