Dopasowanie liniowe / nieliniowe do krzywej sinusoidalnej

Spojrzałem na toto ito.

Ale mam nieco inny problem. jawiedzieć że moje dane są krzywą sinusoidalną o nieznanym okresie i nieznanej amplitudzie, z addytywnym szumem nie gaussowskim.

Próbuję go dopasować za pomocąGSL nieliniowy algorytm w C, ale dopasowanie jest absolutnie straszne. Zastanawiam się, czy (niesłusznie) korzystam z nieliniowego algorytmu dopasowania, w którym powinienem używać liniowego?

Jak stwierdzić, czy dany zestaw danych wymaga algorytmu liniowego lub nieliniowego?

EDYTOWAĆ: Moja krzywa jestnaprawdę hałaśliwy, więc wykonanie FFT w celu wykrycia częstotliwości może spowodować fałszywe alarmy i złe dopasowania. Szukam nieco mocniejszego dopasowania.

Powyższy wykres ma około 170 punktów, jak widać, a działka poniżej ma około 790 punktów.

Hałas jest wyraźnie nie-gaussowski i duży w porównaniu z amplitudą danych. Próbowałem FFT na szumie rozłożonym gaussowskim, a moje dopasowanie było wspaniałe. Tutaj zawodzi dość źle.

DODANY: Łączyć zpierwszy dane szeregów czasowych. Każda kolumna w pliku jest inną serią czasu.

questionAnswers(4)

yourAnswerToTheQuestion