Threshold
Ein Schwellwert-Block, der Signale quantisiert und binäre Entscheidungen anhand von Low- und High-Werten trifft.
1. Beschreibung des Blocks
Der Threshold-Block (blocks.threshold_ff) wandelt ein reelles Eingangssignal in ein binäres Ausgangssignal (0/1) um, indem er zwei Schwellwerte — Low und High — mit einer Hysterese kombiniert: Überschreitet das Eingangssignal High, springt der Ausgang auf 1. Unterschreitet es Low, springt der Ausgang auf 0. Im Bereich dazwischen bleibt der zuletzt erreichte Ausgangszustand erhalten.

Im folgenden Beispiel ist ein Sinussignal abgebildet, dessen Amplitude zwischen 1 und −1 pendelt. Der High-Wert liegt bei 0.9 und der Low-Wert bei 0.3. Überschreitet das Sinussignal den High-Wert, erfolgt ein Low-High-Übergang im Threshold-Signal; unterschreitet es den Low-Wert, erfolgt ein High-Low-Übergang:

2. Technischer Einsatz
Threshold wird dort eingesetzt, wo aus einem analogen bzw. quasi-analogen Signal eine binäre Entscheidung getroffen werden muss — etwa als Bit-Slicer nach einer FM-/FSK-Demodulation, oder als einfacher Pegeldetektor (Carrier-Present-Erkennung). Die Doppelschwelle (statt eines einzelnen Vergleichswerts) verhindert dabei, dass Rauschen nahe einer einzelnen Schaltschwelle zu unerwünschtem schnellen Hin-und-Her-Schalten (Chattering) führt.
Low und High gewählt wird, desto unempfindlicher ist der Übergang gegenüber Rauschamplituden nahe der Schaltschwelle — allerdings auf Kosten der Reaktionsgeschwindigkeit bei tatsächlichen, schnellen Signalwechseln.3. Parameter und Dimensionierung
| Parameter | Typ/Einheit | Bedeutung | Dimensionierungshinweis |
|---|---|---|---|
low (Low) |
Float | unterer Schwellenwert — Eingangswerte darunter gelten als „niedrig" (Ausgang → 0) | knapp unter dem erwarteten Signalminimum, mit Sicherheitsabstand zum Rauschpegel |
high (High) |
Float | oberer Schwellenwert — Eingangswerte darüber gelten als „hoch" (Ausgang → 1) | knapp unter dem erwarteten Signalmaximum, mit Sicherheitsabstand zum Rauschpegel |
init (Initial State) |
Float | Anfangszustand des Ausgangs vor dem ersten Schwellwertdurchgang | i. d. R. 0 |
4. Ein- und Ausgänge
| Ein-/Ausgang | Typ |
|---|---|
| Eingang | Float |
| Ausgang | Float (Werte praktisch nur 0.0 oder 1.0) |
5. Weitere wichtige Aspekte
Live-Parameteränderung: set_lo(...) und set_hi(...) erlauben eine Anpassung der Schwellwerte zur Laufzeit — etwa um sie über einen QT-GUI-Regler an unterschiedliche Signalpegel anzupassen.
Nur für reelle Signale: Der Block akzeptiert ausschließlich Float-Eingänge — bei komplexen Signalen muss vorher mit Complex to Mag oder Complex to Mag^2 ein reeller Betrag gebildet werden.
Flowchart zum Testen:
