File Meta Sink
Schreibt einen Datenstrom zusammen mit Stream-Tags, Abtastrate und Metadaten in eine Datei.
1. Beschreibung des Blocks
Der File Meta Sink-Block schreibt einen Datenstrom in eine Datei und speichert zusätzlich Metadaten (Abtastrate, Datentyp, Zeitstempel, Stream-Tags) entweder in einer separaten .hdr-Header-Datei oder direkt eingebettet in die Nutzdatendatei. Anders als der einfache Vector Sink bzw. File Sink bleiben damit auch Änderungen der Abtastrate zur Laufzeit sowie beliebige Stream-Tags nachvollziehbar rekonstruierbar.

2. Technischer Einsatz
Der File Meta Sink eignet sich überall dort, wo Aufnahmen später wieder exakt mit ihren Ursprungsparametern eingelesen werden müssen — z. B. um IQ-Aufzeichnungen von einem SDR-Empfänger für spätere Offline-Verarbeitung zu archivieren, oder um Stream-Tags (z. B. Paketgrenzen, Trigger-Marken) zusammen mit den Rohdaten zu sichern. Das zugehörige Gegenstück beim Einlesen ist der File Meta Source-Block, der Header und Tags automatisch wieder rekonstruiert.
3. Parameter und Dimensionierung
| Parameter | Typ/Einheit | Bedeutung | Dimensionierungshinweis |
|---|---|---|---|
file |
Pfad | Zieldatei für die Nutzdaten | bei Detached: On wird zusätzlich eine .hdr-Datei angelegt |
samp_rate |
Hz | Abtastrate, die im Header hinterlegt wird | muss der tatsächlichen Rate der eingehenden Daten entsprechen |
Relative Rate Change |
float | Faktor, um den sich die Rate ändert, falls sie zur Laufzeit über Tags aktualisiert wird | i. d. R. 1, wenn die Rate konstant bleibt |
Max Seg. Size |
Bytes | Maximale Segmentgröße, bevor ein neuer Metadaten-Header geschrieben wird | größere Werte reduzieren Overhead, kleinere erlauben feinere Segmentierung |
Extra Dict. |
PMT-Dictionary | Zusätzliche, frei definierbare Metadaten (z. B. Geräte-ID) | optional, wird einmalig in den Header geschrieben |
Detached |
Bool | Header getrennt (.hdr-Datei) oder eingebettet in die Datendatei |
„Detached: On" erleichtert das Parsen der reinen Nutzdaten mit externen Tools |
Unbuffered |
Bool | Ob Daten sofort ungepuffert geschrieben werden | „On" für latenzkritische Mitschnitte, kostet aber Performance |
4. Ein- und Ausgänge
| Ein-/Ausgang | Typ |
|---|---|
| Eingang | beliebiger Stream-Typ (Complex, Float, Int, Short, Byte) |
| Ausgang | keiner (Senke) |
5. Weitere wichtige Aspekte
Stream-Tags: Alle an den Eingangsstrom angehängten Tags (z. B. über einen Tag Share- oder Tags Strobe-Block erzeugt) werden mit im Metadaten-Header gespeichert und können beim Wiedereinlesen ausgewertet werden.
Verwandter Block: File Meta Source zum Einlesen der so erzeugten Dateien inklusive Header und Tags.
Video-Tutorial
Eine ausführliche Einführung in den File Meta Sink Block von Paul Otto (github.com/potto216):