Comment «blanchir» un signal du domaine temporel?

12

J'essaie de comprendre comment mettre en œuvre exactement ce que l'on appelle un filtre de «pré-blanchiment» ou simplement un filtre de «blanchiment».

Je comprends que le but est de lui faire un delta comme fonction d'autocorrélation, mais je ne sais pas comment faire exactement.

Le contexte est le suivant: un signal est reçu sur deux récepteurs différents et leur corrélation croisée est calculée. La corrélation croisée peut ressembler à un triangle ou à une autre forme abandonnée. Pour cette raison, il devient difficile de trouver le pic du signal de corrélation croisée. Dans ce cas, j'entends parler de devoir «blanchir» les signaux avant qu'une corrélation croisée ne soit effectuée sur eux, de sorte que la corrélation croisée est maintenant plus semblable à un delta.

Comment cela se fait-il?

Merci!

Spacey
la source
Notez que dans le contexte des systèmes de communication, ce que votre question décrit comme un blanchisseur remplit essentiellement la fonction d'un égaliseur. Cela me semble la même chose; il pourrait simplement s'agir d'une nomenclature différente.
Jason R
Oui, la nomenclature mal définie rend d'autant plus confuse ce qu'ils essaient parfois de faire.
Spacey

Réponses:

7

Supposons que vous ayez des signaux et y ( t ) dont la fonction de corrélation croisée R x , y ( t ) n'est pas quelque chose que vous aimez; vous voulez que R x , y ressemble à une impulsion. Notez que dans le domaine fréquentiel, 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)Oui(F).
Ainsi vous filtrer les signaux à travers des filtres linéaires et h respectivement , pour obtenir x ( t ) = x * g , X ( f ) = X ( f ) G ( f ) , et y = y * h , Y ( f ) = Y ( f ) H ( f ) , et maintenant leur fonction de corrélation croisée est ghX^(t)=XgX^(F)=X(F)g(F)y^=yhOui^(F)=Oui(F)H(F) donttransforméeFourier est F [ R x , y ] = S x , y ( f )RX^,y^ qui est, R x , y est la corrélation croisée deRx,yavec Rh,g. Plus important encore, vous voulez choisirgethpour que ladensité interspectraleG(f)
F[RX^,y^]=SX^,y^(F)=[X(F)g(F)][Oui(F)H(F)]=[X(F)Oui(F)][g(F)H(F)]=[X(F)Oui(F)][g(F)H(F)],
RX^,y^RX,yRh,ggh de g et h est l'inverse multiplicatif de la densité interspectrale X ( f ) Y ( f ) de x et y , ou quelque chose de proche. Si vous n'avez qu'un seul signal et un seul filtre, alors vous obtenez le résultat donné par Hilmar (avec l'amendement tel que donné par mon commentaire là-bas). Dans les deux cas, la question de la compensation des valeurs nulles spectrales ou, en général, des bandes de fréquences où les signaux ont peu d'énergie demeure.g(F)H(F)gh X(F)Oui(F)Xy
Dilip Sarwate
la source
Merci pour la réponse - pouvez-vous expliquer les longueurs impliquées ici? Par exemple, quelle est la longueur de la fonction de transfert de puissance de X, si x [n] est de longueur N? (Idem avec y ...)
Spacey
D'accord - j'accepterai la réponse, mais j'écrirai une toute nouvelle question qui décollera à ce sujet ce soir et nous pourrons la reprendre à partir de là. Merci encore.
Spacey
7

Le pré-blanchiment peut être effectué par filtrage avec une fonction de transfert qui est à peu près l'inverse du spectre de puissance du signal. Disons que vous avez un signal audio à peu près rose. Afin de blanchir cela, vous appliqueriez un filtre rose inverse (la réponse en fréquence augmente de 3 dB par octave).

Cependant, je ne sais pas si cela vous aidera à résoudre votre problème. Le pré-blanchiment a tendance à amplifier les parties à faible énergie du signal, ce qui peut être bruyant et donc augmenter le bruit global dans votre système. Si vous essayez de déterminer si deux signaux sont alignés dans le temps (ou quel est l'alignement temporel), il y a un flou inhérent au problème lié à la bande passante du signal. Cela est exactement représenté dans la forme du domaine temporel de la fonction d'autocorrélation. 

Hilmar
la source
Merci pour votre réponse - oui inverser le spectre comme vous l'avez dit ne fonctionnera probablement pas ici ... l'utilisation de `` pré-blanchissants '' semble si omniprésente que j'ai tendance à penser qu'il existe de nombreuses façons de le faire en plus de cela? ...
Spacey
2

XXX

XCjej=1NXunetuneXjeXjNje,jX

Une fois que vous avez cette matrice de covariance, vous pouvez calculer une transformation de blanchiment sous la forme d'une matrice pour multiplier les données afin d'obtenir la version blanchie. La covariance de ces nouvelles données blanchies est la matrice d'identité.

y=C-1/2X

C-1/2C=LLTy=L-1XL

Robotbugs
la source
0

S'il s'agit simplement de filtrer les parties à faible énergie du signal, pourriez-vous utiliser un filtre passe-bas? Il existe quelques implémentations à ce sujet.

Si cela est utile: cet article de Karjalaien et. al concerne le filtre de blanchiment et la méthode de prédiction linéaire déformée, utilisée par le filtre.

jcomouth
la source