Jak „wybielić” sygnał w dziedzinie czasu?

12

Próbuję zrozumieć, jak dokładnie wdrożyć tak zwany filtr „wstępnego wybielania” lub po prostu filtr „wybielający”.

Rozumiem, że celem jest sprawienie, by miała funkcję delta jako funkcji autokorelacji, ale nie jestem pewien, jak to zrobić dokładnie.

Kontekst jest następujący: sygnał jest odbierany w dwóch różnych odbiornikach i obliczana jest ich korelacja krzyżowa. Korelacja krzyżowa może wyglądać jak trójkąt lub inny zapomniany przez Boga kształt. Z tego powodu trudno jest znaleźć szczyt sygnału korelacji krzyżowej. W tym przypadku słyszę o konieczności „wybielenia” sygnałów przed wykonaniem na nich korelacji krzyżowej, tak że korelacja krzyżowa jest teraz bardziej podobna do delty.

Jak to się robi?

Dzięki!

Spacey
źródło
Zwróć uwagę, że w kontekście systemów komunikacyjnych pytanie, które określasz jako wybielacz, zasadniczo pełni funkcję korektora. Brzmi dla mnie tak samo; może to być po prostu inna nomenklatura.
Jason R
Tak, źle zdefiniowana nomenklatura sprawia, że ​​jest to tym bardziej mylące, co czasem próbują zrobić.
Spacey,

Odpowiedzi:

7

Załóżmy, że sygnał i , których funkcja korelacji krzyżowej nie jest coś podobne; chcesz, aby był podobny do impulsu. Zauważ, że w dziedzinie częstotliwości Więc filtrujesz sygnały przez filtry liniowe odpowiednio i aby uzyskać , i , , a teraz ich funkcją korelacji krzyżowej jest którego transformata Fouriera jest x(t)y(t)Rx,y(t)Rx,y

F[Rx,y]=Sx,y(f)=X(f)Y(f).
ghx^(t)=xgX^(f)=X(f)G(f)y^=yhY^(f)=Y(f)H(f)Rx^,y^ R x , y Rx,yRh,g
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)],
to znaczy to korelacja krzyżowa z . Co więcej, można również wybrać opcję oraz , tak że przekrój gęstość widmowa z oraz jest Liczba odwrotna w przekroju widmowej gęstości z iRx^,y^Rx,yRh,ggh G(f)H(f)gh X(f)Y(f)xylub coś w tym stylu. Jeśli masz tylko jeden sygnał i jeden filtr, to otrzymasz wynik podany przez Hilmara (z poprawką podaną przez mój komentarz tam). W obu przypadkach pozostaje kwestia kompensacji zer widmowych lub ogólnie pasm częstotliwości, w których sygnały mają niewielką energię.
Dilip Sarwate
źródło
Dzięki za odpowiedź - czy możesz wyjaśnić długości tutaj? Na przykład, jaka jest długość funkcji przenoszenia mocy dla X, jeśli x [n] ma długość N? (To samo z y ...)
Spacey
Ok - zaakceptuję odpowiedź, ale dziś wieczorem napiszę nowe pytanie, które możemy wziąć stąd. Dzięki jeszcze raz.
Spacey
7

Wstępne wybielanie można wykonać przez filtrowanie za pomocą funkcji przenoszenia, która jest z grubsza odwrotnością widma mocy sygnału. Powiedzmy, że masz sygnał dźwiękowy, który jest mniej więcej różowy. Aby to wybielić, należy zastosować odwrotny filtr różowy (pasmo przenoszenia wzrasta o 3 dB na oktawę).

Nie jestem jednak pewien, czy to pomoże w rozwiązaniu problemu. Wstępne wybielanie ma tendencję do wzmacniania części o niskiej energii w sygnale, które mogą być hałaśliwe, a zatem zwiększają ogólny hałas w systemie. Jeśli próbujesz ustalić, czy dwa sygnały są wyrównane czasowo (lub jakie jest wyrównanie czasowe), występuje pewien nieodłączny problem w związku z przepustowością sygnału. Jest to dokładnie przedstawione w kształcie funkcji autokorelacji w dziedzinie czasu. 

Hilmar
źródło
Dzięki za odpowiedź - tak, odwrócenie spektrum, jak powiedziałeś, prawdopodobnie tutaj nie zadziała ... użycie „wstępnych wybielaczy” wydaje się tak wszechobecne, że wydaje mi się, że jest wiele innych sposobów na zrobienie tego poza tym? ...
Spacey
2

Jest ogólnie prosty sposób wybielania wektor podany jest przykład zestaw danych. Z twojego pytania nie wynika jasno, czy wymiar wynosi 2, czy też zawierasz przesuwne okno czasowe. W każdym razie chcesz udekorować komponenty . Robienie tego w dziedzinie częstotliwości dla tak prostego problemu jest uciążliwe.xxx

Zakładając, że zaczynasz od przykładowego zestawu danych składającego się z próbek wektorów danych - może to być zestaw próbek dwóch sygnałów w różnych momentach. Odejmujesz średnią zestawu danych, aby średnia wynosiła zero. Następnie musisz obliczyć macierz kowariancji danych gdzie jest liczbą przykładów danych, a są indeksami składowymi , które jeśli są 2 sygnały, przechodzą od 0 do 1. Macierz kowariancji w tym przypadku będzie wynosić 2x2.xCij=1NxDataxixjNi,jx

Po uzyskaniu macierzy kowariancji można obliczyć transformację wybielającą w postaci macierzy, aby pomnożyć dane w celu uzyskania wersji wybielonej. Kowariancją tych nowych bielonych danych jest matryca tożsamości.

Wybielone dane to . Jest to tylko matrycowa wersja obliczania wariancji na przykładowy zestaw danych, a następnie dzielenie wszelkich nowych danych przez pierwiastek kwadratowy wariancji w celu znormalizowania odchylenia standardowego.y=C1/2x

Można obliczyć za pomocą rozkładu Cholesky'iego gdzie . W przypadku macierzy 2x2 bardzo prosta jest prosta algebra . Wybielone dane są podane przez , który ponieważ jest niższy trójkątny, może być skutecznie obliczony przez wspólne solwery bez tworzenia odwrotności. C = l l T Y = L - 1 x LC1/2C=LLTy=L1xL

Roboty
źródło
0

Jeśli chodzi tylko o filtrowanie części o niskiej energii w sygnale, czy możesz zastosować filtr dolnoprzepustowy? Istnieje kilka implementacji na ten temat.

Jeśli to jest pomocne: ten artykuł z Karjalaien i in. al dotyczy filtra wybielającego i metody wypaczonej liniowej prognozy, która jest stosowana przez filtr.

jcomouth
źródło