Themen · Filter

Matched Filter

Der optimale lineare Filter zur Erkennung eines bekannten Signals in Rauschen — Herleitung, Autokorrelationseigenschaften und Verarbeitungsgewinn.

Ein Matched Filter ist kein heuristischer Trick, sondern der informationstheoretisch optimale lineare Filter, um ein bekanntes Signal $s[n]$ in additivem weißem Rauschen zu detektieren — er maximiert das Signal-Rausch-Verhältnis (SNR) am Filterausgang zum Zeitpunkt der Signal-Endezeit.

Definition und Herleitung

Der Matched Filter zu einem bekannten Referenzsignal $s[n]$ der Länge $N$ hat die Impulsantwort

$$h[n] = s^*[N-1-n]$$

— also das Referenzsignal rückwärts abgespielt und komplex konjugiert. Das wirkt zunächst willkürlich, hat aber einen einfachen Grund: Eine Faltung dreht das Filter beim Rechnen ohnehin automatisch in der Zeit um (das steckt schon in der Definition der Faltung). Nimmt man als Filter-Taps eine bereits zeitgespiegelte Kopie von $s[n]$, hebt sich diese Umdrehung genau auf — am Ende schiebt der Filter das Referenzsignal einfach unverändert über das Empfangssignal und multipliziert und summiert an jeder Position. Genau das ist die Definition der Kreuzkorrelation. Ein Matched Filter ist also nichts anderes als ein Trick, um eine Korrelation mit den Bordmitteln eines gewöhnlichen FIR-Filters (Faltung) zu berechnen:

$$y[n] = (x * h)[n] = \sum_k x[k] \cdot s^*[k - (n - N + 1)] = R_{xs}[n - N + 1]$$

Bildlich vorgestellt: Man kann sich das Referenzsignal $s[n]$ als eine kleine, durchsichtige Schablone vorstellen, die man Sample für Sample über das Empfangssignal schiebt. An jeder Position wird die Schablone mit dem darunterliegenden Signalausschnitt multipliziert und alles aufsummiert — passt die Schablone gerade genau auf ein Stück des Signals, das genauso aussieht wie sie selbst, addieren sich die Produkte zu einem großen, positiven Wert (Peak). Passt sie nicht, heben sich positive und negative Beiträge weitgehend gegenseitig auf, und der Ausgang bleibt klein. Der Filterausgang $y[n]$ ist also nichts anderes als eine fortlaufende „Wie gut passt die Schablone hier gerade?"-Kurve — und ihr höchster Punkt markiert exakt die Position, an der das gesuchte Signal im Rauschen steckt.

Ein winziges Zahlenbeispiel macht das greifbar. Referenzsignal $s = [,1,\ -1,\ 1,]$, eingebettet in ein längeres, verrauschtes Empfangssignal:

Empfangssignal x: ... 0.1 1.0 -0.9 1.1 0.2 ... Schablone s: [ 1 -1 1 ]

Position genau richtig (τ passt):
x-Ausschnitt: 1.0 -0.9 1.1
s: 1 -1 1
Produkte: 1.0 0.9 1.1
Summe: 3.0 ← deutlicher Peak

Position eins daneben (τ passt nicht):
x-Ausschnitt: 0.1 1.0 -0.9
s: 1 -1 1
Produkte: 0.1 -1.0 -0.9
Summe: -1.8 ← kein Peak, deutlich kleiner

Genau diese Rechnung — Schablone anlegen, multiplizieren, aufsummieren, eine Position weiterschieben, wiederholen — ist es, was der Matched Filter als Faltung ausführt. Bei einer langen Pseudozufallsfolge (wie der PZF-Folge von DCF77) passiert exakt dasselbe, nur mit hunderten statt drei Werten: Die Schablone passt nur an einer Stelle wirklich, überall sonst mitteln sich die zufällig verteilten Vorzeichen heraus — daher der scharfe, eindeutige Korrelationspeak.

Warum das optimal ist: Nach der Cauchy-Schwarz-Ungleichung wird das Verhältnis von Nutzsignalleistung zu Rauschleistung am Filterausgang genau dann maximal, wenn die Filterkoeffizienten proportional zum (zeitgespiegelten, konjugierten) Referenzsignal selbst sind — jede andere Filterform liefert ein schlechteres SNR am Entscheidungszeitpunkt. Das gilt unabhängig von der Signalform: Rechteckpuls, Sinc, PN-Folge oder beliebige andere bekannte Wellenform.

Die Position des Maximums von $y[n]$ ist der Maximum-Likelihood-Schätzer für die Ankunftszeit (Verzögerung $\tau$) des Signals — das ist die Grundlage jeder Matched-Filter-basierten Zeit- oder Symbolsynchronisation.

Zwei Implementierungswege

Verfahren Prinzip Eigenschaft
Zeitkontinuierlicher FIR-Filter Taps = zeitgespiegelte, konjugierte Referenz läuft sample-für-sample mit, liefert fortlaufendes Korrelationssignal
Blockweise FFT-Korrelation $\text{IFFT}(\text{FFT}(x) \cdot \overline{\text{FFT}(s)})$ rechnerisch günstiger bei langen Folgen, aber grundsätzlich blockbasiert

Der Unterschied ist mehr als Implementierungsdetail: Eine blockbasierte FFT-Korrelation kann ihr Ergebnis erst ausgeben, wenn ein vollständiger Block eingetroffen ist — bei langen Referenzsignalen (z. B. eine ganze Sekunde einer PN-Folge) entsteht dadurch eine Beobachtungslatenz, die nichts mit Rechengeschwindigkeit zu tun hat. Ein durchgerechnetes Beispiel dazu (inklusive einer Technik, diese Latenz aus dem Ausgabepfad zu entfernen) steht im Artikel Korrelative Phasenauswertung.

Autokorrelation und Verarbeitungsgewinn

Für ein einzelnes, isoliertes Referenzsignal wie einen Rechteckpuls ist der Matched Filter einfach ein Boxcar-Filter über die Pulsdauer — genau dieses Prinzip nutzt der Matched Filter in der DDK9-Dimensionierung, um aus verrauschten NRZ-Bits ein dreieckförmiges Auge mit Maximum in der Bitmitte zu formen.

Deutlich leistungsfähiger wird das Prinzip mit Pseudozufallsfolgen (PN-Folgen, Maximalfolgen) als Referenzsignal — wie sie z. B. bei GPS-Codes oder der PZF-Phasenmodulation von DCF77 zum Einsatz kommen. Eine Maximalfolge der Länge $N$ Chips hat eine nahezu deltaförmige Autokorrelationsfunktion: einen scharfen Hauptpeak bei $\tau = 0$ und Nebenkeulen der Größenordnung $1/N$ bezogen auf den Hauptpeak. Das ergibt einen Verarbeitungsgewinn von

$$G_p \approx 10 \cdot \log_{10}(N) ;\text{dB}$$

Bereits bei einer Folgenlänge von einigen hundert Chips ergibt das 20–30 dB SNR-Gewinn gegenüber der Einzel-Chip-Detektion. Die erreichbare Zeitauflösung ist dann nicht mehr durch eine Filterflanke begrenzt, sondern durch die Schärfe des Korrelationspeaks — bei Bandbreite $B$ des Chip-Signals typischerweise

$$\sigma_\tau \sim \frac{1}{B \sqrt{2 \cdot \text{SNR} \cdot N}}$$

Sub-Sample-Genauigkeit durch Peak-Interpolation

Die Abtastrate ist oft gröber als die gewünschte Zeitauflösung. Statt die Peak-Lage dem nächstgelegenen Sample zu entnehmen, lässt sich die tatsächliche Position durch parabolische Interpolation der drei Abtastwerte um das Maximum herum schätzen — eine Standardtechnik aus GPS-Codekorrelatoren, die den Quantisierungsfehler um etwa eine Größenordnung reduziert.