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].