Wie kann man ein Zeitdomänensignal "aufhellen"?

12

Ich versuche zu verstehen, wie man einen so genannten "Pre-Whitening" -Filter oder einfach einen "Whitening" -Filter genau umsetzt.

Ich verstehe, dass der Zweck darin besteht, ein Delta als Autokorrelationsfunktion zu verwenden, aber ich bin mir nicht sicher, wie ich das genau machen soll.

Der Kontext ist hier der folgende: Ein Signal wird an zwei verschiedenen Empfängern empfangen und deren Kreuzkorrelation wird berechnet. Die Kreuzkorrelation kann wie ein Dreieck oder eine andere gottverlassene Form aussehen. Aufgrund dessen wird es schwierig, die Spitze des Kreuzkorrelationssignals zu finden. In diesem Fall muss ich die Signale "aufhellen", bevor eine Kreuzkorrelation durchgeführt wird, sodass die Kreuzkorrelation nun mehr delta-artig ist.

Wie geht das?

Vielen Dank!

Spacey
quelle
Beachten Sie, dass Ihre als Weißmacher bezeichnete Frage im Kontext von Kommunikationssystemen im Wesentlichen die Funktion eines Equalizers erfüllt. Das klingt für mich genauso. es könnte einfach eine andere Nomenklatur sein.
Jason R
Ja, die schlecht definierte Nomenklatur macht es umso verwirrender, was sie manchmal zu tun versuchen.
Spacey

Antworten:

7

Angenommen, Sie haben die Signale und y ( t ), deren Kreuzkorrelationsfunktion R x , y ( t ) Ihnen nicht gefällt. Sie möchten, dass R x , y impulsartig ist. Man beachte , daß in der Frequenzdomäne, F [ R x , y ] = S x , y ( f ) = X ( f ) Y * ( f ) .x(t)y(t)Rx,y(t)Rx,y

F[Rx,y]=Sx,y(f)=X(f)Y.(f).
So , um die Signale , die durch lineare Filter filtert , und h jeweils erhalten x ( t ) = x * g , X ( f ) = X ( f ) G ( f ) , und y = y * h , Y ( f ) = Y ( f ) H ( f ) , und jetzt ist ihre Kreuzkorrelationsfunktion Ghx^(t)=xGX^(f)=X(f)G(f)y^=yhY.^(f)=Y.(f)H(f) , dessen FourierTransformation F [ R x , y ] = S x , y ( f )Rx^,y^ das heißt, R x , y die Kreuzkorrelation istRx,ymit Rh,g. Noch wichtiger ist, dass Siegundhsowählen, dass dieKreuzspektraldichteG(f)
F[Rx^,y^]=Sx^,y^(f)=[X(f)G(f)][Y.(f)H(f)]=[X(f)Y.(f)][G(f)H(f)]=[X(f)Y.(f)][G(f)H(f)],
Rx^,y^Rx,yRh,GGh von g und h ist die multiplikative Inverse der Kreuzspektraldichte X ( f ) Y ( f ) von x und y oder etwas in der Nähe davon. Wenn Sie nur ein Signal und einen Filter haben, erhalten Sie das von Hilmar gegebene Ergebnis (mit der Änderung, die durch meinen Kommentar dort gegeben wurde). In jedem Fall bleibt das Problem der Kompensation von spektralen Nullen oder allgemein von Frequenzbändern, in denen die Signale noch wenig Energie haben, bestehen.G(f)H(f)gh X(f)Y.(f)xy
Dilip Sarwate
quelle
Danke für die Nachricht - können Sie uns die Länge erklären? Was ist zum Beispiel die Länge der Leistungsübertragungsfunktion von X, wenn x [n] die Länge N hat? (
Spacey
Ok - ich werde die Antwort akzeptieren, aber irgendwann heute Abend eine brandneue Frage dazu schreiben, und wir können sie von dort übernehmen. Danke noch einmal.
Spacey
7

Das Voraufhellen kann durch Filtern mit einer Übertragungsfunktion erfolgen, die ungefähr der Umkehrung des Leistungsspektrums des Signals entspricht. Angenommen, Sie haben ein Audiosignal, das ungefähr rosa ist. Um dies aufzuhellen, würden Sie einen inversen Pink-Filter anwenden (Frequenzgang steigt um 3 dB pro Oktave).

Ich bin mir jedoch nicht sicher, ob dies bei Ihrem Problem helfen wird. Das Voraufhellen verstärkt in der Regel die energiearmen Teile des Signals, die verrauscht sein können und daher das Gesamtrauschen in Ihrem System erhöhen. Wenn Sie versuchen zu bestimmen, ob zwei Signale zeitlich ausgerichtet sind (oder wie die zeitliche Ausrichtung ist), ist das Problem, das mit der Bandbreite des Signals zusammenhängt, inhärent verschwommen. Dies ist genau in der Zeitbereichsform der Autokorrelationsfunktion dargestellt. 

Hilmar
quelle
Vielen Dank für Ihre Antwort - ja das Spektrum invertiert , wie Sie wahrscheinlich hier nicht funktionieren , sagen ... die Verwendung von ‚pre-Aufhellern‘ scheint so allgegenwärtig , neige ich dazu , zu denken , dass es viele Möglichkeiten es neben dem zu tun ...?
Spacey
2

xxx

xCichj=1NxDeinteinxichxjNich,jx

Sobald Sie diese Kovarianzmatrix haben, können Sie eine Aufhellungstransformation in Form einer Matrix berechnen, um die Daten zu multiplizieren und die aufgehellte Version zu erhalten. Die Kovarianz dieser neuen aufgehellten Daten ist die Identitätsmatrix.

y=C-1/2x

C-1/2C=LLTy=L-1x, die seit L Dieses untere Dreieck kann effizient durch gewöhnliche Löser berechnet werden, ohne das Inverse zu bilden.

Roboterwanzen
quelle
0

Wenn es nur darum geht, die energiearmen Teile des Signals zu filtern, können Sie einen Tiefpassfilter verwenden? Hierzu gibt es einige Implementierungen.

Wenn dies hilfreich sein sollte: Dieser Artikel von Karjalaien et. Bei al handelt es sich um das Bleaching-Filter und die Methode der verzerrten linearen Vorhersage, die vom Filter verwendet wird.

jcomouth
quelle