TFA-Datenformat

TFA-eigenes Format mit folgenden Merkmalen

  • Die Abtastwerte werden nicht im 16-Bit-Ganzzahlenformat darstellt, sondern als 32-Bit-Fließkommazahl, um Rundungsverluste zu vermeiden. Dadurch entfällt beim Signal-Export bzw. Signal-Import der ansonsten immer auftretende Konvertierungsverlust.
  • Die Abtastfrequenz wird als 32-Bit-Fließkommawert gespeichert, damit auch sehr niederfrequente Prozesse (z.B. Geowissenschaften) und hochfrequente Signale (z.B. Funktechnik) darstellbar sind.
  • Das Format enthält einen Zeitstempel, damit der Zeitbezug bei Signalextraktionen nicht verloren geht.

Aufbau des TFA-Formats

  • Header-Block mit ua. den oben genannten informationen
  • Folge der Abtastwerte

Header-Block

// Header-Block des TFA-Dateiformats

typedef struct TFAInfo_pattern_type

{

char pcFormatKennung[20]; // Text: "TFA-Format"

long lBitzahl; // Bei TFA immer 32 (32 Bit)

long lKanalzahl; // 1: reelle Datei, 2: komplex

float fSamplingrate; // Abtastrate in Hz

long lAbtastwertezahl; // Anzahl reeller o. komplexer Samples

long lSkalaInJahren; // 1, für geophysikalische Zwecke

float fStartzeitoffset; // Das 0-te Sample entstand zu

// dieser Zeit

char pcEinheitStringStart[10]; // Einheit der Startzeit

char pcEinheitStringSampl[10]; // Einheit der Samplingrate

char pcZusatzinfo[100]; // Nicht benutzt

float fErsatzFloat1; // Erstzwerte für Zukünftiges

float fErsatzFloat2; // Nicht benutzt

float fErsatzFloat3; // Nicht benutzt

long lErsatzLong1; // Nicht benutzt

long lErsatzLong2; // Nicht benutzt

long lErsatzLong3; // Nicht benutzt

} TFA_HeaderInfo_type;

Abtastwerte

Im Anschluss an den Header-Block folgen die Abtastwerte. Bei komplexwertigen Dateien lautet die Folge Re[0], Im[0], Re[1], Im[1], …. , Re[lAbtastwertezahl-1], Im[lAbtastwertezahl-1].