Vector Source
Ein GRC-Block, der eine feste Werte-Sequenz als Signalquelle ausgibt — wahlweise einmalig oder zyklisch wiederholt.
1. Beschreibung des Blocks
Der Vector Source-Block (blocks.vector_source_x) gibt eine fest vorgegebene Sequenz von Werten (Integer, Float oder komplex) als Signalquelle aus. Die Werte werden in der angegebenen Reihenfolge gesendet; ist Repeat = Yes gesetzt, beginnt die Sequenz nach dem letzten Element wieder von vorn.
Im Unterschied zum Signal Source-Block, der eine geschlossene mathematische Signalform (Sinus, Rechteck, …) erzeugt, erlaubt Vector Source beliebige, frei definierte Wertefolgen — z. B. eine bekannte Bitsequenz für einen reproduzierbaren Test.
2. Technischer Einsatz
Vector Source ist der Standardbaustein für deterministische Testsignale mit Ground Truth: Eine fest vorgegebene, bekannte Sequenz erlaubt es, das Ergebnis der Verarbeitungskette gegen einen vorab berechneten Erwartungswert zu prüfen (siehe Testen mit GRC). Auch periodische, aber nicht-sinusförmige Signale mit exakt kontrollierten Werten (z. B. ein 4-Punkte-Muster) lassen sich hier einfacher definieren als über eine Signalform-Auswahl.
3. Parameter und Dimensionierung
| Parameter | Typ/Einheit | Bedeutung | Dimensionierungshinweis |
|---|---|---|---|
type (Output Type) |
Enum | Datentyp: Complex, Float, Int, Short, Byte | muss zum Datentyp der nachfolgenden Blöcke passen |
vector (Vector) |
Liste | die auszugebende Wertesequenz | Länge und Werte legen das Testsignal vollständig und reproduzierbar fest |
repeat (Repeat) |
Bool | ob die Sequenz zyklisch wiederholt wird | Yes für ein periodisches Testsignal, No für eine einmalige Sequenz (Flowgraph endet danach) |
tags (Tags) |
Liste | optionale Stream-Tags, die an bestimmten Positionen im Vektor gesetzt werden | für Marker-basierte Auswertung (z. B. Rahmenanfang) |
vlen (Vector Length) |
Integer | Anzahl Elemente pro Ausgabe-Sample (Vektorbreite, nicht die Sequenzlänge) | Standard 1 |
Frequenzberechnung bei periodischer Wiederholung
Ist Repeat = Yes gesetzt, ergibt sich die Ausgangsfrequenz der Wiederholung nach:
$$f = \frac{f_s}{\text{Anzahl Vektorelemente}}$$
Beispiel: Bei 64 kHz Abtastrate und einem 4-elementigen Vektor (1, 0, −1, 0) ergibt sich ohne weitere Interpolation eine Ausgangsfrequenz von 16 kHz (64 kHz ÷ 4). Wird zusätzlich ein Repeat-Block mit Interpolation 2 nachgeschaltet, halbiert sich diese Frequenz auf 8 kHz, da jeder Sample-Wert verdoppelt wird.
4. Ein- und Ausgänge
| Ein-/Ausgang | Typ |
|---|---|
| Ausgang | Complex, Float, Int, Short oder Byte (je nach type) |
Der Block hat keinen Signal-Eingang — er ist stets Startpunkt eines Flowgraph-Zweigs.
5. Weitere wichtige Aspekte
Live-Parameteränderung: set_data(vector, tags) erlaubt einen Austausch der gesamten Sequenz zur Laufzeit, z. B. um zwischen mehreren vordefinierten Testmustern umzuschalten.
Verwandter Block: Signal Source für geschlossene, parametrisch beschreibbare Signalformen statt fest vorgegebener Einzelwerte.




