AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Circular spectrum visualizer
Thema durchsuchen
Ansicht
Themen-Optionen

Circular spectrum visualizer

Ein Thema von EWeiss · begonnen am 22. Mär 2019 · letzter Beitrag vom 23. Jun 2019
Antwort Antwort
EWeiss
(Gast)

n/a Beiträge
 
#1

AW: Circular spectrum visualizer

  Alt 23. Mär 2019, 23:59
Zitat:
Jene, welche schreiben, dass FFT für sie zu einfach ist
Es ist von jeher eines der schwierigsten Mathematischen Berechnungen die ich für meine Bereiche kenne.
Ich bin wenigstens noch so ehrlich und gebe zu das ich es nicht beherrsche und versuche hier nicht den Klugscheißer herauszulassen.
Sorry für das harte Wort.

Dabei habe ich ein paar seiten vorher noch geschrieben das ich mit meinen 61 Jahren keinen Bock mehr darauf habe mich in solcher Materie einzuarbeiten
Destotrotz hindert es mich nicht daran es in irgendeiner weise umzusetzen.

Tut mir leid das ich kein Mathegenie bin Herr TiGü wie auch immer.

Zitat:
eventuell solltest du deine FFT Funktion testen.
Ich kann es nur anhand von vergleichen testen wie gesagt Ich beherrsche es nicht.

gruss

Geändert von EWeiss (24. Mär 2019 um 00:02 Uhr)
  Mit Zitat antworten Zitat
Michael II

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

AW: Circular spectrum visualizer

  Alt 24. Mär 2019, 01: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
EWeiss
(Gast)

n/a Beiträge
 
#3

AW: Circular spectrum visualizer

  Alt 24. Mär 2019, 01:32
Zitat:
Unbedingt korrigieren:
Werde ich sofort tun.. Danke.

EDIT:
Hat aber ein sehr seltsames verhalten.
Hast du das mal selbst versucht?

Verstehe jetzt nicht wie du das meinst

einfach
Delphi-Quellcode:
  for i := 0 to FFFTSize -1 do
  begin
     Dat[i].r := cos(i/FFFTSize*2*pi);
     Dat[i].i := 0;
  end;
einfügen und dann normal durchlaufen lassen?
Oder dahinter ein Exit um aus der Funktion zu springen.

gruss

Geändert von EWeiss (24. Mär 2019 um 01:51 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:48 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz