Einzelnen Beitrag anzeigen

Michael II

Registriert seit: 1. Dez 2012
Ort: CH BE Eriswil
763 Beiträge
 
Delphi 11 Alexandria
 
#38

AW: Circular spectrum visualizer

  Alt 24. Mär 2019, 02:26
Unbedingt korrigieren:

procedure TSpectrum.FFT( [B]var[/B] Dat: array of TComplex ); (Weil var fehlte rechnete FFT für die Katz und dein Programm stellte die gemessenen Stützpunkte der Tonkurve dar und nicht wie gewollt das Spektrum.)


Deine FFT Prozedur könntest du so testen:

Delphi-Quellcode:
procedure TSpectrum.FFT(Dat: array of TComplex);
var
  i, j, n, K , io, ie, in_, nn: Integer;
  u, tp, tq, w: TComplex;
  sr: Single;

begin
  if not FFTInit then
  begin
    InitFFT;
    FFTInit := True;
  end;

  // zum Beispiel durch Überschreiben von Dat durch cos(x)
  for i := 0 to FFFTSize -1 do
  begin
    h[i].r := cos(i/FFFTSize*2*pi);
    h[i].i := 0;
  end;

Setze einen Breakpoint am Ende von FFT. Prüfe, ob FFT Dat[1].r = Date[FFFTSize-1].r = 0.5 und Dat[]=0 für alle anderen Werte.
Michael Gasser
  Mit Zitat antworten Zitat