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.

Vector Source Block
Vector Source Konfiguration
Vector Source Ausgabe
Vector Source mit Repeat
Vector Source mit Interpolation