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.

Threshold-Block

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:

Sinussignal mit Threshold-Übergängen

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.

Hysterese als Rauschschutz: Je größer der Abstand zwischen 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:

Flowchart zum Testen des Threshold-Blocks