Repeat Block

Sample-Wiederholung zur Erhöhung der Abtastrate — der Repeat Block als einfacher Interpolationsmechanismus.

1. Beschreibung des Blocks

Der Repeat-Block (blocks.repeat) erhöht die Abtastrate eines Datenstroms, indem jedes Eingangssample $N$-mal hintereinander (unverändert) am Ausgang wiederholt wird — bei interp = 4 wird also aus jedem Sample eine Folge von vier identischen Samples. Anders als eine „echte" Interpolation mit Filterung werden dabei keine neuen Zwischenwerte berechnet, sondern lediglich der letzte bekannte Wert gehalten (Zero-Order Hold).

Das rote Signal ist das Ergebnis des Repeat-Blocks mit Interpolation = 4:

Ergebnis des Repeat-Blocks mit Interpolation 4

Signalverlauf mit Repeat-Block

2. Technischer Einsatz

Repeat wird eingesetzt, wenn ein Datenstrom auf eine höhere Abtastrate gebracht werden muss, ohne dass eine spektral saubere Interpolation nötig ist — etwa um die Sample-Rate zweier Zweige im Flowgraph anzugleichen, bevor sie in einem gemeinsamen Block (Add, Multiply) zusammengeführt werden können.

Um die folgenden Signalverläufe zu erhalten, wurden Signal 1 und Signal 2 als Quellen mit jeweils unterschiedlicher Samplerate erzeugt:

Signalquellen mit unterschiedlicher Samplerate

Da Repeat keine Filterung durchführt, entsteht am Ausgang ein treppenförmiges Signal mit zusätzlichen hochfrequenten Oberwellen (Spiegelfrequenzen der ursprünglichen Abtastrate) — die Frequenz des Signals selbst verändert sich dadurch wahrnehmbar gegenüber dem Original:

Frequenzänderung durch den Repeat Block

Für eine spektral saubere Erhöhung der Abtastrate ist stattdessen ein FIR-Interpolationsfilter (interp-Option der FIR-Filter-Blöcke) die richtige Wahl.

3. Parameter und Dimensionierung

Parameter Typ/Einheit Bedeutung Dimensionierungshinweis
type Enum Datentyp: Complex, Float, Int, Short, Byte muss dem Typ der Eingangsquelle entsprechen
interp (Interpolation) Integer Anzahl der Wiederholungen pro Eingangssample neue Abtastrate ist $f_s \cdot N$ — bestimmt direkt die entstehenden Treppenstufen-Oberwellen
vlen (Vector Length) Integer Anzahl Elemente pro Vektor-Sample Standard 1

4. Ein- und Ausgänge

Ein-/Ausgang Typ
Eingang wie type
Ausgang wie type, Rate um Faktor interp erhöht

5. Weitere wichtige Aspekte

Live-Parameteränderung: set_interpolation(...) erlaubt eine Anpassung des Interpolationsfaktors zur Laufzeit.

Verwandter Block: Für eine spektral saubere Interpolation mit Anti-Aliasing-Filterung siehe die interp-Option der FIR-Filter-Blöcke, z. B. Bandpass-Filter-Blöcke.