Thema: Delphi Summe bilden

Einzelnen Beitrag anzeigen

mitchel

Registriert seit: 30. Jul 2007
12 Beiträge
 
#1

Summe bilden

  Alt 8. Aug 2007, 09:34
Hallo zusammen,
ich habe folgendes Problem:
Es werden 2 Messsignale aufgezeichnet und ausgewertet. Unter anderem findet eine FFT statt. Diese funktioniert auch. Nun will ich eine Berechnung machen, bei der ich die Genauigkeit der Übertragungsfunktion bis 20Hz prüfe.
Hierfür habe ich ein neues Array (GenauF) definiert. In Abhängigkeit von i hat es unterschiedlich viele Werte. So weit so gut, doch leider kommt bei der Berechnung immer die Fehlermeldung "Im Project ist eine Exception der Klasse EOverflow aufgetreten. Meldung 'Gleitkommaüberlauf'".
Kann mir jemand weiterhelfen?

Außerdem möchte ich gerne die GenauF[i] miteinander summieren. Gibt es dafür einen speziellen Befehl?

Vielen Dank im voraus...


Delphi-Quellcode:
var
  DATAFFTai0, //Wert erste Kurve
  DATAFFTai1, //Wert zweite Kurve
  GenauF: array[0..32768] of double;
  i: Integer;
  fl: double;
  fn: double;
  NormValue: string;

begin
  fl := UmrFaktorFFT;
  UmrFaktorFFT := tA/Zoombereich;
  fn := 19.531;
  i := 1;

  while (i * UmrFaktorFFT < 20) do //Prüfung nur bis 20Hz
    begin
      GenauF[i] := (1-(1/(fn - fl))*fl*abs(1-(DATAFFTai0[i+1]/DATAFFTai1[i+1])))*100;
      //DATAFFTai[i+1] da DATAFFTai[1]=0 wegen Offset
      inc(i,1);
    end;
  //NormValue = Summe der GenauF[i] in Abbhängigkeit von i*UmrFaktor < 20

  if UmrFaktorFFT > 20 then
    begin
      showmessage('Zoombreich zu klein gewählt!' +#13+
                  'Keine Berechnung bis 20Hz möglich!')
    end;
end;
  Mit Zitat antworten Zitat