Add
Der ADD-Block addiert zwei oder mehr Signale — mit unterschiedlichem Spektrumverhalten für reelle und komplexe Eingänge.
1. Beschreibung des Blocks
Der Add-Block (blocks.add_vxx) summiert mehrere Eingangssignale sample-für-sample zu einem Ausgangssignal auf. Er akzeptiert wahlweise komplexe, reelle (float) oder ganzzahlige (int/short) Eingänge — alle Eingänge müssen denselben Datentyp haben, da der Block intern keine Typkonvertierung vornimmt.
Hier wurden 2 Signale (10 kHz und 50 kHz), jeweils mit Amplitude = 1, addiert:

Das resultierende Signal hat als maximale Amplitude die Summe aus beiden Einzelamplituden.
2. Technischer Einsatz
Der Add-Block wird typischerweise eingesetzt, um mehrere Signalquellen zu einem gemeinsamen Testsignal zu überlagern (z. B. Nutzsignal + Störer für Filtertests), oder um Rauschen additiv auf ein Signal aufzubringen (AWGN-Simulation über eine Noise Source).
Reell vs. komplex — Auswirkung auf das Spektrum: Das Spektrum eines aus reellen Signalen addierten Ergebnisses ist symmetrisch zur 0-Achse — die zugehörigen negativen Frequenzen sind automatisch enthalten. Führt man dieselbe Operation mit komplexen Signalen durch, ist das Spektrum nicht symmetrisch, es sind dann nur die tatsächlich eingespeisten (i. d. R. positiven) Frequenzen enthalten:

3. Parameter und Dimensionierung
| Parameter | Typ/Einheit | Bedeutung | Dimensionierungshinweis |
|---|---|---|---|
type (IO Type) |
Enum | Datentyp aller Ein- und Ausgänge: Complex, Float, Int, Short | muss zum Datentyp der angeschlossenen Quellen passen — keine automatische Konvertierung |
num_inputs (Num Inputs) |
Integer | Anzahl der zu addierenden Eingänge | Standard 2; muss > 1 sein (Block-Assert) |
vlen (Vector Length) |
Integer | Anzahl Elemente pro Vektor-Sample | Standard 1 (Skalarstrom); nur für vektorisierte Verarbeitung erhöhen |
4. Ein- und Ausgänge
| Ein-/Ausgang | Typ | Anzahl |
|---|---|---|
| Eingang | Complex, Float, Int oder Short (je nach type) |
num_inputs (mindestens 2) |
| Ausgang | identisch zum Eingangstyp | 1 |
5. Weitere wichtige Aspekte
Kein automatisches Gain-Management: Die Amplitude des Summensignals kann bis zur Summe der Einzelamplituden anwachsen — bei mehreren addierten Quellen mit voller Amplitude droht Clipping in nachfolgenden Blöcken oder bei der Ausgabe. Ggf. mit einem Multiply-Const-Block nachskalieren.
Verwandte Blöcke: Für eine gewichtete Überlagerung (z. B. definiertes SNR) empfiehlt sich, die Eingänge vor dem Add-Block einzeln mit Multiply Const zu skalieren, statt die Amplituden an der Quelle selbst zu ändern.