Zgodnie z twierdzeniem o korelacji krzyżowej: korelacja krzyżowa między dwoma sygnałami jest równa iloczynowi transformaty Fouriera jednego sygnału pomnożonej przez zespoloną sprzężoną transformatę Fouriera innego sygnału. Po zrobieniu tego, gdy weźmiemy ifft sygnału produktu, otrzymujemy pik, który wskazuje przesunięcie między dwoma sygnałami.
Nie jestem w stanie zrozumieć, jak to działa? Dlaczego miałbym uzyskać szczyt wskazujący przesunięcie między dwoma sygnałami. Mam matematykę z: http://mathworld.wolfram.com/Cross-CorrelationTheorem.html, ale nie jestem w stanie zrozumieć, co to oznacza intuicyjnie. Czy ktoś może podać jakieś wyjaśnienia lub wskazać odpowiednie dokumenty?
Dzięki!
fft
fourier-transform
dsp-core
ifft
srebrny Surfer
źródło
źródło
Odpowiedzi:
Koncepcja opiera się na twierdzeniu o splotie , które stwierdza, że dla dwóch sygnałów i , iloczyn ich transformacji Fouriera i jest równy transformacie Fouriera splotu dwa sygnały. To jest:x(t) y(t) X(f) Y(f)
Możesz przeczytać więcej na temat wyprowadzenia tego twierdzenia pod powyższym linkiem do Wikipedii. Teraz splot jest bardzo ważną operacją dla układów liniowych jako takich, więc teoria o jego właściwościach jest dobrze rozwinięta.
Jednak to, co szukasz jest cross-korelacji między i . Oto klucz: całka korelacji krzyżowej jest równoważna całce splotowej, jeśli jeden z sygnałów wejściowych jest sprzężony i odwrócony w czasie . Pozwala to na wykorzystanie teorii opracowanej do oceny zwojów (takich jak techniki w dziedzinie częstotliwości do ich szybkiego obliczania) i zastosowanie ich do korelacji.x(t) y(t)
W twoim przykładzie obliczasz:
Przypomnijmy, że w dziedzinie Fouriera sprzężenie złożone jest równoważne odwróceniu czasu w dziedzinie czasu (wynika to bezpośrednio z definicji transformaty Fouriera). Dlatego korzystając z pierwszego równania podanego powyżej, możemy stwierdzić, że:
Jeśli następnie weźmiesz odwrotną transformatę Fouriera tego równania, sygnałem, który ci pozostanie, jest korelacja krzyżowa między i .x(t) y(t)
źródło
źródło