@NickS
Ponieważ nie jest pewne, czy drugi sygnał na wykresach jest w rzeczywistości jedynie opóźnioną wersją pierwszego, należy spróbować innych metod oprócz klasycznej korelacji krzyżowej. Wynika to z faktu, że korelacja krzyżowa (CC) jest jedynie estymatorem maksymalnego prawdopodobieństwa, jeśli twój sygnał (sygnały) są wzajemnie opóźnionymi wersjami. W tym przypadku najwyraźniej tak nie jest, nie mówiąc już o ich niestacjonarności.
W tym przypadku uważam, że to, co może zadziałać, to oszacowanie w czasie znaczącej energii sygnałów. To prawda, że „znaczący” może lub nie może być nieco subiektywny, ale wierzę, że patrząc na twoje sygnały ze statystycznego punktu widzenia, będziemy w stanie określić ilościowo „znaczący” i stamtąd.
W tym celu wykonałem następujące czynności:
KROK 1: Oblicz obwiednie sygnału:
Ten krok jest prosty, ponieważ obliczana jest bezwzględna wartość wyjściowa transformaty Hilberta każdego z sygnałów. Istnieją inne metody obliczania kopert, ale jest to całkiem proste. Ta metoda zasadniczo oblicza analityczną formę twojego sygnału, innymi słowy reprezentację fazora. Kiedy bierzesz wartość bezwzględną, niszczysz fazę i tylko po energii.
Ponadto, ponieważ staramy się oszacować opóźnienie energii twoich sygnałów, takie podejście jest uzasadnione.
KROK 2: Usuwanie szumów za pomocą nieliniowych filtrów przyśrodkowych chroniących krawędzie:
To ważny krok. Celem jest wygładzenie kopert energetycznych, ale bez zniszczenia lub wygładzenia krawędzi i szybkiego wzrostu. W rzeczywistości poświęcono temu całe pole, ale do naszych celów możemy po prostu użyć łatwego do wdrożenia nieliniowego filtra Medial . (Filtrowanie mediany). Jest to potężna technika, ponieważ w przeciwieństwie do średniego filtrowania, filtrowanie przyśrodkowe nie niweluje twoich krawędzi, ale jednocześnie „wygładza” twój sygnał bez znaczącej degradacji ważnych krawędzi, ponieważ w żadnym momencie nie jest wykonywana żadna arytmetyka na twoim sygnale (pod warunkiem, że długość okna jest nieparzysta). W naszym przypadku wybrałem filtr przyśrodkowy o rozmiarze okna 25 próbek:
KROK 3: Usuń czas: Skonstruuj funkcje szacowania gęstości jądra Gaussa:
Co by się stało, gdybyś spojrzał na powyższą działkę bokiem zamiast normalnej drogi? Z matematycznego punktu widzenia oznacza to, co byś otrzymał, gdybyś rzucił każdą próbkę naszych denominowanych sygnałów na oś amplitudy y? W ten sposób uda nam się usunąć czas, że tak powiem, i będziemy w stanie studiować wyłącznie statystyki sygnałów.
Intuicyjnie co wyskakuje z powyższego rysunku? Chociaż energia hałasu jest niska, ma tę zaletę, że jest bardziej „popularna”. W przeciwieństwie do tego, podczas gdy obwiednia sygnału, która ma energię, jest bardziej energetyczna niż hałas, jest podzielona na progi. Co jeśli uznamy „popularność” za miarę energii? To właśnie zrobimy z (moją prymitywną) implementacją funkcji gęstości jądra (KDE) z jądrem gaussowskim.
Aby to zrobić, każda próbka jest pobierana, a funkcja gaussowska jest konstruowana z wykorzystaniem jej wartości jako średniej, a wstępnie ustawiona szerokość pasma (wariancja) jest wybierana a priori. Ustawienie wariancji gaussa jest ważnym parametrem, ale można go ustawić na podstawie statystyk hałasu na podstawie aplikacji i typowych sygnałów. (Mam tylko 2 twoje pliki do włączenia). Jeśli następnie zbudujemy oszacowanie KDE, otrzymamy następujący wykres:
Można myśleć o KDE jako ciągłej formie histogramu, a wariancję jako o szerokości bin. Ma jednak tę zaletę, że gwarantuje płynny plik PDF, na którym możemy następnie wykonać pierwszy i drugi rachunek różniczkowy. Teraz, gdy mamy gaussowskie KDE, możemy zobaczyć, gdzie próbki szumu osiągają największą popularność. Pamiętaj, że oś X reprezentuje tutaj rzuty naszych danych na przestrzeń amplitudy. W ten sposób możemy zobaczyć, w których progach hałas jest najbardziej „energetyczny”, a te mówią nam, jakich progów należy unikać.
Na drugim wykresie pobierana jest pierwsza pochodna gaussowskiego KDE i wybieramy odciętą pierwszą próbkę po pierwszej pochodnej po szczycie mieszaniny Gaussa, aby osiągnąć pewną wartość bliską zeru. (Lub pierwsze przejście przez zero). Możemy skorzystać z tej metody i być „bezpiecznym”, ponieważ nasze KDE zostało zbudowane z gładkich Gaussów o rozsądnej przepustowości, i wzięto pierwszą pochodną tej gładkiej i pozbawionej szumów funkcji. (Zwykle pierwsze pochodne mogą być problematyczne w niczym innym, jak w przypadku wysokich sygnałów SNR, ponieważ zwiększają szum).
Czarne linie pokazują wtedy, przy jakich progach rozsądnie byłoby „segmentować” obraz, aby uniknąć całej podłogi szumu. Jeśli następnie zastosujemy się do naszych oryginalnych sygnałów, uzyskamy następujące wykresy, z czarnymi liniami wskazującymi początek energii naszych sygnałów:
To daje zatem próbek.δt=241
Mam nadzieję, że to pomogło.