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!
autocorrelation
Spacey
źródło
źródło
Odpowiedzi:
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 jestx(t) y(t) Rx,y(t) Rx,y
źródło
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.
źródło
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.x x x
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.x Cij=1N∑x∈Dataxixj N i,j x
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=C−1/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 LC−1/2 C=LLT y=L−1x L
źródło
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.
źródło