Skocz do zawartości

Wykorzystanie Filtra Kalmana w tranzytach egzoplanet


Adam_Jesion

Rekomendowane odpowiedzi

Jak człowiek leży chory, to różne rzeczy chodzą mu po głowie. Wpadłem na pomysł, żeby wykorzystać filtra Kalmana przy danych fotometrycznych i sprawdzić, czy coś z tego wyjdzie. W sumie, to trochę dziwne, że nie bardzo widać jego powszechne wykorzystanie, a w wielu innych dziedzinach jest wręcz rewolucyjnym standardem. Moja firma np. buduje systemy nawigacji wewnątrz budynków i bez Kalmana osiągamy dokładność lokalizacji na poziomie kilku metrów, a z jego magicznym zastosowaniem sięgamy 0,5 metra (a przy UWB nawet 3 cm).

W ramach ćwiczenia, napisałem w Pythonie aplikację filtrującą pliki z Tresca. Jutro wrzucę na GITHUB kod, to zobaczycie, jak to działa.

Czym jest Kalman: https://www.le.ac.uk/users/dsgp1/COURSES/MESOMET/ECMETXT/recurse.pdf

Filtr Kalmana – algorytm rekurencyjnego wyznaczania minimalno-wariancyjnej estymaty wektora stanu modelu liniowego dyskretnego układu dynamicznego na podstawie pomiarów wyjścia oraz wejścia tego układu. Przyjmuje się założenie, że zarówno pomiar jak i proces przetwarzania wewnątrz układu jest obarczony błędem o rozkładzie gaussowskim.

https://en.wikipedia.org/wiki/Kalman_filter

Jak to wygląda w praktyce na egzoplanetach? Ano tak - dla mnie - opad szczęki. Dane pobrane z: http://var2.astro.cz/tresca/transit-detail.php?id=1520160350

 

Surowy:

Unknown.png

 

Po mojej implementacji Kalmana:

Unknown-3.png

oraz razem:

Unknown-4.png

 

Tu w wersji interaktywnej: https://plot.ly/~adam_jesion/14/

I co o tym sądzicie? 

 

  • Lubię 7
  • Dziękuję 1
Odnośnik do komentarza
Udostępnij na innych stronach

6 minut temu, HAMAL napisał:

W Registax 5 to się nazywa Predict track :P

 

Absolutnie to nie jest to samo.

Predict track
Sometimes the object on a set of frames moves in a predictable
manner and faster than track-object is able to trace. Setting
predict track can be usefull in those cases. However if the object
does NOT move in a
preditable (linear) way do not set this
control.

To sugeruje proste wektory z podstawową predykcją. Kalman sobie pięknie radzi ze zmianami wektorów ruchu - co możesz zobaczyć na powyższych ilustracjach.

  • Dziękuję 1
Odnośnik do komentarza
Udostępnij na innych stronach

Godzinę temu, Adam_Jesion napisał:

Moja firma np. buduje systemy nawigacji wewnątrz budynków i bez Kalmana osiągamy dokładność lokalizacji na poziomie kilku metrów, a z jego magicznym zastosowaniem sięgamy 0,5 metra (a przy UWB nawet 3 cm).

Może pytanie mało astronomiczne ale lekko została pobudzona moja ciekawość. Ta dokładność przy UWB 3cm to teoretyczna, czy praktyczna oraz w układzie kalibrowanym, czy elementy systemu rozmieszczone ad-hoc ? Oczywiście jeśli możesz uchylić rąbka tajemnicy ...

Odnośnik do komentarza
Udostępnij na innych stronach

znacie takie coś?

wartość = 0,8 * wartość + 0,2 * nowy_czynnik

albo to samo zapisane inaczej:

wartość += (nowy_czynnik - wartość) * 0,2

to taka magiczna superprosta formuła, do której w swoim czasie doszedł pewnie każdy programista, gdy trzeba "uspokoić" zmiany jakiejś wartości. ważone uśrednianie nowej wartości z dotychczasową. używane nawet tam gdzie nie powinno, bo jest takie proste, nie trzeba utrzymywac żadnego dodatkowego stanu związanego z tym procesem, tylko obecna wartość, która poprzez uśrednianie przechowuje w sobie resztki śladu poprzednich wartości.

otóż jak się okazuje, to właśnie jest filtr kalmana, dla najprostszego przypadku, gdzie nie stosujemy żadnego specjalizowanego modelu.

jeżeli coś w ten sposób uśredniacie czy to w sterowniku podlewania kwiatków czy w gierce, w której kotek goni myszkę, możecie wzbudzić podziw znajomych, wspominając że wasze oprogramowanie stosuje FILTR KALMANA czyli "algorytm rekurencyjnego wyznaczania minimalno-wariancyjnej estymaty wektora stanu modelu liniowego dyskretnego układu dynamicznego na podstawie pomiarów wyjścia oraz wejścia tego układu" :o:o:o

to działa też w drugą stronę. jeżeli zobaczycie że na jutubie ktoś chwalił się że coś zbudował i wykorzystał filtr Kalmana, czyli "algorytm rekurencyjnego wyznaczania ....itd" to w 99% przypadków po prostu sobie uśrednił jakąś wartość :flirt:

 

ale nie chodzi mi o to że filtr Kalmana jest śmieszny, bardziej o to, że dobrze jest wiedzieć co w praktyce oznaczają mądre uczone terminy. a filtr wcale nie jest śmieszny, bo ten przypadek powyżej jest jak mówiłem tylko dla "braku modelu" (tak naprawdę model musi być zawsze, tu jest to model gdzie nie umiemy powiedzieć jak wartośc się zmienia czyli "random walk", przychodzą nowe pomiary, co robić, jak żyć?). jeżeli o wartości coś wiemy, jest powiązana z innymi wartościami czyli istnieje lepszy model to dopiero wtedy metoda pokazuje swoje wyrafinowanie.

 

no i teraz jak to się ma do fotometrii albo tranzytów?

jeżeli gwiazda ma stałą jasność to przyjmujemy taki model i "filtr kalmana" staje się obliczaniem średniej. czyli to jest od zawsze stosowane, tylko się tak nie nazywa.

jeżeli spodziewamy się tranzytu to zamiast stałej można przyjąć jakiś model krzywej jasności i dopasowywać niej wyniki uzyskując lepsze efekty niż przy uśrednianiu. ale jeżeli celem jest określenie czy w zaszumionych danych jest tranzyt czy nie, i założymy w naszej analizie że to tranzyt (stosując taki model) to chyba wypaczymy w ten sposób wynik. jeżeli nie robimy założenia że to tranzyt a tylko nieznane zmiany jasności to znowu wracamy do "modelu braku modelu" czyli średnia ważona jak to co pokazałem na początku.

 

  • Lubię 5
  • Dziękuję 1
Odnośnik do komentarza
Udostępnij na innych stronach

3 minuty temu, RMK napisał:

Może pytanie mało astronomiczne ale lekko została pobudzona moja ciekawość. Ta dokładność przy UWB 3cm to teoretyczna, czy praktyczna oraz w układzie kalibrowanym, czy elementy systemu rozmieszczone ad-hoc ? Oczywiście jeśli możesz uchylić rąbka tajemnicy ...

Zależy od miejsca i gęstości nodów - są miejsca, gdzie dokładność jest w stanie zejść do 1 cm (jeżeli nic nie zasłania chociaż 2-3 nodów, 2-way-ranging). UWB na bazie chipów DW1000 od DecaWave - no i rozbudowany Kalman + inne algorytmy robią robotę. btw do 10 cm czasami udaje nam się zejść też na lokalizacji Bluetooth LE. Inną kwestią jest potrzeba, która w 99% nie istnieje - tzn. mało jest zastosowań w lokalizacji, gdzie trzeba kogoś lokalizować dokładniej niż 0,5m, a nawet 1m.

Odnośnik do komentarza
Udostępnij na innych stronach

Chipy znam, stąd moje pytanie ...bo kojarzę nasze wyniki ale ja potrzebuję dla systemów mobilnych i w dodatku działających w zmiennym otoczeniu. To już wiem, z czego wynika taka różnica :(  Ja nie potrzebuję do osób ;)

Edytowane przez RMK
Odnośnik do komentarza
Udostępnij na innych stronach

55 minut temu, szuu napisał:

znacie takie coś?

wartość = 0,8 * wartość + 0,2 * nowy_czynnik

albo to samo zapisane inaczej:

wartość += (nowy_czynnik - wartość) * 0,2

to taka magiczna superprosta formuła, do której w swoim czasie doszedł pewnie każdy programista, gdy trzeba "uspokoić" zmiany jakiejś wartości. ważone uśrednianie nowej wartości z dotychczasową

to zwykły filtr dolnoprzepustowy. Działa to dobrze dla pomiarów wartości wolnozmiennych

ogólny wzór wygląda tak

średnia = ((n * średnia) + pomiar) / (n+1)

im większe n tym "spokojniejsze" wyniki pomiaru ponieważ wolniej się zmieniają

filtr Kalmana to też rodzaj filtra dolnoprzepustowego ale działa przez porównanie z pewną zadaną (estymowaną) wartością, zamiast przez porównanie z wieloma poprzednimi pomiarami. Cała trudność polega na doborze wartości estymowanych w taki sposób by nie zakłócić wyników. W dodatku utrudni to analizę błędów pomiarowych

 

pozdrawiam

  • Lubię 2
  • Dziękuję 1
Odnośnik do komentarza
Udostępnij na innych stronach

Nie no jasne, nauka musi pracować na danych surowych - to jasna sprawa. Ja bardziej myślałem w kwestii samej wizualizacji (alternatywnej) takich danych. Z drugiej strony patrząc na taką wizualizację wydaje się, że można dużo precyzyjniej określić kluczowe momenty zjawiska.

Just for fun ;) Czyż nie fajniej wygląda taki tranzyt? :P
http://var2.astro.cz/tresca/transit-detail.php?id=1511289738

 

 

Unknown-5.png

Odnośnik do komentarza
Udostępnij na innych stronach

Na pewno na co zwróciłbym uwagę, to momenty między kontaktami. WASP-10 b wchodzi i wychodzi przez ~1/6 trwania tranzytu, na tym wychodzi 1/4. Nie da się tego jakoś "wyostrzyć"? To jest bardzo dobre dla uwidocznienia obecności małych spadków jasności (czy w ogóle jest obecny) i mam duże nadzieje w lucky imaging photometry, gdzie czasy ekspozycji są dużo krótsze niż sekunda (bo nie mam pomysłu jak wykorzystać przewagę jak zmieniał się seeing). No może jeszcze do szukania sygnałów nowych zmiennych w kadrze. Filtr ten przypomina mi ulepszona średnią kroczącą, którą przestałem używać. Jeśli ma być tranzyt z doskonale widocznym spadkiem jasności, to nie przekraczałbym czasu integracji 5 minut, aby wyszło w miare precyzyjnie. Tutaj ingeruje jakby to było z 20 minut :)

Największe zastosowanie w typowej rejestracji (czyli do 5 min) widziałbym w ręcznej fotometrii różnicowej, którego przykład na stałej gwieździe sam widziałeś. Nie mam innego pomysłu na wywalanie najgorszych gwiazd referencyjnych w danej klatce niż centyle w stosunku do średniej wszystkich pomiarów bedących srednią kroczącą obejmującą przynajmniej 1/15 długości tranzytu. W związku z tym, praktycznie w ogóle nie stosuję tego :(

  • Lubię 2
Odnośnik do komentarza
Udostępnij na innych stronach

a dlaczego takie algorytmy nie mają sensu przy analizie danych? powód jest bardzo prosty.

 

przy sterowaniu w czasie rzeczywistym, czy to będzie określanie pozycji z zaszumionych sygnałów, samochód autonomiczny czy lądująca rakieta muska, obliczając spodziewany stan w danej chwili czasowej mamy do dyspozycji tylko dane z przeszłości. przyszłość jeszcze się nie wydarzyła!

 

natomiast przy analizie zarejestrowanego tranzytu jest inaczej - dla każdej chwili t możemy korzystać z odczytów i poprzednich i następnych, to dodatkowe informacje, które przy odpowiednim potraktowanu pozwolą uzyskać dokładniejszy wynik. dlatego ograniczanie się do algorytmu kalmana jest w takiej sytuacji błędem.

  • Lubię 6
Odnośnik do komentarza
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.