Strona 1 z 2

RawGPS

: sobota, 15 gru 2012, 18:03
autor: rawsock
Witam

Chciałem krótko przedstawić obecny stan prac nad software-owym odbiornikiem GPS. Zanim przejdę do szczegółów, może najpierw po co to jest i skąd się wzięła koncepcja.

Do tej pory do rejestrowania wysokości wszyscy radzą sobie używając altimetów bazujących na pomiarze ciśnienia. Jest to w zasadzie bardzo dobre rozwiązanie, ale do kilkunastu kilometrów - później coraz większy błąd i ostatecznie brak możliwości pomiaru. Pozostaje GPS, ale te ze względu na międzynarodowe limity ITAR mają albo ograniczenie do 60000 stóp albo prędkości do 1000 węzłów, albo oba jednocześnie (zależy od modelu i producenta). Nawet jeżeli udałoby się znaleźć model który nie ma limitów w ogóle (raczej na zasadzie hacka w jego oprogramowaniu), to konsumenckie urządzenia mają algorytm zoptymalizowany pod kątem "ziemskich" zastosowań i przy dużych przyspieszeniach będą gubiły locka. Jest to związane m.in. wyjściem nośnych satelit poza mierzony zakres, ze względu na znacznie większy efekt dopplera. Na sztywno zaszyty interwał liczenia pozycji co 1 sekundę też jest pewnym ograniczeniem jeśli interesują nas dane o chwilowej dynamice rakiety.

W samym sygnale wysyłanym przez satelity nie ma żadnych ograniczeń i teoretycznie możliwe jest liczenie pozycji z dokładnością do 10m co 1 ms, aczkolwiek wysokość jest obarczona większym błędem niż reszta wymiarów. Potrzebny jest "jedynie" odpowiednio skonstruowany odbiornik GPS. I tutaj wchodzi koncepcja software-owego odbiornika, czyli zaimplementowania całego rozwiązania czysto w oprogramowaniu, sprzęt ograniczając wyłącznie do części RF (antena, wzmacniacz, filtr, sampler). Ilość danych do przetworzenia w obecnym rozwiązaniu to 1,5MB na sekundę, więc sam odbiornik jedynie nagrywa całą sesję radiową na karcie SD - 16GB powinno więc starczyć minimum na 2,5h. Po fakcie, całość przetwarza się na PCcie i otrzymuje wyniki. Na tą chwilę nie zoptymalizowałem jeszcze algorytmów na tyle, żeby liczyć pozycję przy użyciu komputera pokładowego w czasie rzeczywistym, ale jest to możliwe. Nie jest to też krytyczne z punktu widzenia naszych zastosowań. Obecnie czas rzeczywisty uzyskuje się przy śledzeniu 4 satelit na procesorze Intel i7 3.4GHz, widać więc jak dużo operacji trzeba wykonać.

Samo urządzenie wygląda tak:
IMG_2254.JPG
IMG_2254.JPG (78.51 KiB) Przejrzano 2887 razy
Jest to natomiast prototyp i można oczywiście bardziej całość zminiaturyzować. Będzie się to jednak wkładać tylko do dużych rakiet, powyżej 10km, więc rozmiar nie powinien mieć aż takiego znaczenia.

Do testów zapakowałem sprzęt do samochodu i poniżej zamieszczam wyniki. Są one dość mocno zaszumione, ponieważ z nagrania udało się wydobyć sygnał z jedynie 4 satelit, na 9 widocznych w danej chwili. 4 to minimum, a każdy kolejny radykalnie poprawia dokładność. Spowodowane to było przetwornicą impulsową na 3.3V w wersji mobilnej urządzenia, która wprowadzała dodatkowe zakłócenia - będę musiał pomyśleć nad innym rozwiązaniem. Jest też masa miejsca na usprawnienie algorytmów przetwarzania sygnału w celu radzenia sobie z większymi szumami, niemniej jednak do naszych zastosowań ani widoczność satelit ani odbicia sygnału nie są problemem.
rawgps_car_lowpass.jpg
rawgps_car_lowpass.jpg (102.59 KiB) Przejrzano 2887 razy
To jest rzut na zarejestrowaną trasę po filtrze dolnoprzepustowym, z restracją co 1 s (uśrednione 1000 pomiarów co 1 ms). To samo jest do obejrzenia w Google Earth w wersji surowej i po filtrze po ściągnięciu załącznika. Można załadować oba na raz w celu porównania.
Na końcu trasy zaczął pojawiać się las i algorytm zgubił sygnał z jednego z satelit, więc liczenie pozycji nie mogło być kontynuowane z pozostałymi trzema.
rawgps_car.zip
(15.81 KiB) Pobrany 147 razy
Należy zaznaczyć, że w naszych zastosowaniach nie interesuje nas dokładność obliczania pozycji względem geoidy, a jedynie dokładność względem punktu startu rakiety. Niemniej jednak pozycja względem Ziemi i tak jest zadziwiająco dokładna, zważywszy na to że nie uwzględniam jeszcze poprawek tropo- i jonosferycznych.

Re: RawGPS

: sobota, 15 gru 2012, 18:05
autor: rawsock
I jeszcze najbardziej interesująca nas wysokość, bo nie zmieściła się w poprzednim poście:
rawgps_altitude.jpg
rawgps_altitude.jpg (37.91 KiB) Przejrzano 2886 razy
Czerwona linia to dane po filtrze dolnoprzepustowym.
Jak widać błąd pomiaru wysokości to około 30m, co przy wysokościach rzędu kilku km nie powinno mieć znaczenia.

Re: RawGPS

: sobota, 15 gru 2012, 19:44
autor: jaskiniowiec
Czy błąd pomiaru wysokości jest niezależny od wysokości?

Re: RawGPS

: sobota, 15 gru 2012, 19:53
autor: rawsock
Tak, powinien być niezależny. A wręcz im wyżej tym lepiej bo w pole widzenia wchodzą satelity nisko nad horyzontem, które w komercyjnych GPSach nie są nawet brane pod uwagę (elevation mask, zazwyczaj do 5 stopni nad horyzontem). Ogólnie jest to technologia coraz szerzej używana na orbicie - m.in. na ISS oraz chociażby ostatnio w Dragonach.

Re: RawGPS

: sobota, 15 gru 2012, 23:27
autor: robercik
Cześć
Doznałem właśnie objawienia! Sprawa dyskutowana jak dotąd w kuluarach przybrała materialną postać :)
Rawsock szacunek.

RTP6 jest w zasadzie gotowa do startu, miejsca spokojnie wystarczy na pierwszy test. Przy pułapach rzędu kilku km można będzie dobrze dostroić SW w porównaniu do pomiaru ciśnienia.
Jeśli wyniki będą zbieżne - lecimy wyżej bez obawy o dokładność pomiaru wysokości.

pzdr

Re: RawGPS

: poniedziałek, 17 gru 2012, 11:02
autor: KSard
Witam

Krakowska ekipa od K1-X także zgłasza chęć przetestowania Twojego urządzenia.
A swoja drogą, duże wrażenie robi ten układ :) Gratulacje.

Re: RawGPS

: poniedziałek, 17 gru 2012, 12:47
autor: rawsock
Nie ma problemu ale muszę jeszcze kilka kwestii rozwiązać, m.in.:
- szumy z zasilania
- montaż (czy aby na pewno materiał głowicy nie będzie tłumił zbytnio sygnału)
- powtarzalność konstrukcji - na razie używam części RF gotowej, która jest już nie do nabycia zanim zdążyłem dokupić zapas. Muszę dokończyć swój design, od razu będzie z nowszym i bardziej czułym układem.
- dopracowanie oprogramowania po danych z pierwszego lotu

Re: RawGPS

: poniedziałek, 17 gru 2012, 15:47
autor: andżej
Cześć,

Piękna robota gratulacje.
Odnośnie tłumienia sygnału to mogę Ci podrzucić skorupę głowicy RTP6 do testów.

pozdr
Andżej

Re: RawGPS

: poniedziałek, 17 gru 2012, 16:01
autor: rawsock
Ok to się zgłoszę po nowym roku. Na razie ogarnę zasilanie.

Re: RawGPS

: poniedziałek, 7 sty 2013, 15:41
autor: Adam
rawsock pisze: - montaż (czy aby na pewno materiał głowicy nie będzie tłumił zbytnio sygnału)
Nie dałoby rady "wmontować" jakoś anteny w materiał głowicy? Na etapie konstrukcji można zatopić w laminacie druty itp.
rawsock pisze: Po fakcie, całość przetwarza się na PCcie i otrzymuje wyniki
To mnie jeszcze boli. Przy wysokim lataniu zawsze problemem jest lokalizacja rakiety i GPS jest tu najlepszym rozwiązaniem - aż się prosi o transmisję danych podczas lotu. Ale rozumiem, że nie od razu Kraków zbudowano :wink:
Pozdrawiam!