Goto page 1, 2 Next
J.F.
Guest
Sat Apr 12, 2008 5:07 pm
Jak to w zasadzie jest ?
Wezmy dla przykladu taki GPS:
-nosna jest 1575.42MHz, plus minus Doppler,
ktory wyniesie ok 1.5kHz.
-nosnej zmieniamy faze co ok 1us .. albo i nie, tworzac
sekwencje psedolosowa.
-cala sekwencja ma 1023 kroki i trwa 1ms.
-no i jeszcze odwracamy faze transmitujac dane 50 bodow,
ale to w zasadzie juz poza pytaniem.
Odbior teoretycznie jest prosty - tworzymy identyczna sekwencje,
mieszamy z odebrana, usredniamy przez 1ms i wychodzi wysoki
dodatni lub ujemny poziom.
Ale jak zlapac synchronizacje [ok, prosto - lekkie odstrojenie
i czekamy az sie trafi] i co gorsza ja potem utrzymac ?
A jest co utrzymywac:
-faza nosnej - jak sie rozjada to z mieszacza wyjdzie zero.
Ok, niby mozna kwadraturowo i jednoczesnie probowac
sin i cos. Hm, w dwoch odbiornikach czy raczej policzyc
amplitude ?
-czestotliwosc nosnej - jak widac przez cala 1ms ramke
moze sie kilka razy faza zmienic.
-faze kroku 1us - jak sie przestawimy o 0.5us to juz
"rozne kawalki bitow" bedziemy odbierac.
-no i w koncu cala 1ms sekwencje ..
J.
mk
Guest
Mon Apr 14, 2008 12:28 am
J.F. pisze:
Nie znam tematu dokładnie zwłaszcza jeśli chodzi o konkretne rozwiązania
stosowane w GPS. Z DSSS praktyczne doświadczenia miałem jedynie przy
czysto amatorskich próbach odbioru sygnału DCF77 i eksperymentalnych
transmisjach w paśmie akustycznym.
Tak więc jedynie czym mogę się podzielić to moje domysły i strzępki
posiadanych informacji na ten temat, do których sam mam sporą rezerwę.
Quote:
Ale jak zlapac synchronizacje [ok, prosto - lekkie odstrojenie
i czekamy az sie trafi] i co gorsza ja potem utrzymac ?
Jeśli chodzi o utrzymanie synchronizacji to nie widzę problemów: znamy
swoje położenie geograficzne, znamy parametry orbit satelitów, znamy
czas. Z tych danych (wystarczy nawet znać je zgrubnie) można obliczyć
względne prędkości, a następnie przesunięcie dopplerowskie.
Problem faktycznie jest przy całkowitym braku danych początkowych.
Quote:
A jest co utrzymywac:
-faza nosnej - jak sie rozjada to z mieszacza wyjdzie zero.
Ok, niby mozna kwadraturowo i jednoczesnie probowac
sin i cos.
Przypuszczam, że właśnie kwadraturowo.
Quote:
Hm, w dwoch odbiornikach czy raczej policzyc
amplitude ?
Tego pytania nie rozumiem.
Quote:
-czestotliwosc nosnej - jak widac przez cala 1ms ramke
moze sie kilka razy faza zmienic.
Częstotliwość nośnej jak napisałem jest przewidywalna przynajmniej po
"ciepłym starcie".
W przypadku startu ze stanu "tabula rasa", obserwując zachowanie
odbiornika GPS, domyślam się, że próbuje on odbioru na wszelkich
możliwych odchyłkach częstotliwości aż w końcu coś złapie. Dalej już
łatwiej, bo wiadomo że ta częstotliwość nie zmieni się skokowo i dowolnie.
Quote:
-faze kroku 1us - jak sie przestawimy o 0.5us to juz
"rozne kawalki bitow" bedziemy odbierac.
*Pełne* obliczenie korelacji polega na sprawdzeniu "dopasowania"
przebiegu odebranego z wygenerowaną lokalnie sekwencją pseudolosową dla
każdego przesunięcia w czasie tych przebiegów. Sprawdzana są więc
wszystkie sytuacje, m. in.: ta przesunięta o 0.5 us i nieprzesunięta
(czy mniej przesunięta). Wartość funkcji korelacji dla przesunięcia o
0.5 us będzie po prostu bliska zeru, natomiast dla zerowego przesunięcia
otrzymamy "pik" korelacyjny (dodatni lub ujemny) i po tym właśnie
poznamy, gdzie jest najlepsze wpasowanie się bitów i w ogóle początek
całej 1 ms sekwencji.
Nie wiem czy w odbiorniku GPS liczona jest pełna korelacja (wszelkie
możliwe przesunięcia sekwencji pseudolosowej względem odebranej) czy
tylko dokonuje się przeszukań wybranych obszarów.
Liczenie pełnej korelacji wiązało by się ze sporym kosztem obliczeniowym
(a to dopiero jeden kanał!). Przypuszczam więc, że sprawdzane są jedynie
wybrane obszary - w przypadku nieodnalezienia żadnego silnego piku,
przechodzi się do poszukiwań w innym obszarze. Gdy już jeden pik się
złapie, to wiadomo dość dokładnie gdzie szukać kolejnego piku.
Quote:
-no i w koncu cala 1ms sekwencje ..
Jak wyżej - maksimum (lub minimum) piku korelacyjnego wyznacza za jednym
zamachem najlepsze wpasowanie bitów i początek całej sekwencji.
pzdr
mk
PAndy
Guest
Mon Apr 14, 2008 8:44 am
"J.F." <jfox_xnospamx@poczta.onet.pl> wrote in message
news:vbm104p72cbscfg1as8a6h5m48cp3dnt8a@4ax.com...
Quote:
Jak to w zasadzie jest ?
sliding correlator
J.F.
Guest
Mon Apr 14, 2008 12:20 pm
On Mon, 14 Apr 2008 09:44:40 +0200, PAndy wrote:
Quote:
"J.F." <jfox_xnospamx@poczta.onet.pl> wrote in message
Jak to w zasadzie jest ?
sliding correlator
Tylko jak patrze
http://sss-mag.com/corr.html
Zrobienie tego na bramkach XOR, jakby chcieli teoretycy - chyba
calkowicie odpada.
Zrobienie tego pseudoanalogowo - tzn A/D, reszta obliczen cyfrowo -
srednio kosztowne [duzo tego, musi na ~2MHz chodzic - lepiej chyba
ze 4MHz] no i ma wszelkie wady wynikle z niedokladnosci obliczen.
Pozostaja te pomysly "srodkowe" i 3..6 torow. Razy 12 w przypadku GPS.
J.
J.F.
Guest
Mon Apr 14, 2008 12:39 pm
On Mon, 14 Apr 2008 01:28:40 +0200, mk wrote:
Quote:
J.F. pisze:
Ale jak zlapac synchronizacje [ok, prosto - lekkie odstrojenie
i czekamy az sie trafi] i co gorsza ja potem utrzymac ?
Jeśli chodzi o utrzymanie synchronizacji to nie widzę problemów: znamy
swoje położenie geograficzne, znamy parametry orbit satelitów, znamy
czas. Z tych danych (wystarczy nawet znać je zgrubnie) można obliczyć
względne prędkości, a następnie przesunięcie dopplerowskie.
Ale i tak sie pozycja zmienia a generatory rozjezdzaja.
Trzeba jakos pilnowac w ktora strone korekcje dawac.
Quote:
-faza nosnej - jak sie rozjada to z mieszacza wyjdzie zero.
Ok, niby mozna kwadraturowo i jednoczesnie probowac
sin i cos.
Przypuszczam, że właśnie kwadraturowo.
Tylko ze jesli nie trafimy w czestostliwosc z dokladnoscia ponizej
1ppm, to nam sie fazy rozjada kilka razy przez 1ms.
Quote:
Hm, w dwoch odbiornikach czy raczej policzyc
amplitude ?
Tego pytania nie rozumiem.
Dwa odbiorniki na kazdy kanal I/Q.
A tak sie zastanawialem czy nie mozna policzyc z I/Q amplitudy,
i ja korelowac z sekwencja pseudolosowa. Ale chyba cos
przekombinowalem.
Quote:
-faze kroku 1us - jak sie przestawimy o 0.5us to juz
"rozne kawalki bitow" bedziemy odbierac.
*Pełne* obliczenie korelacji polega na sprawdzeniu "dopasowania"
przebiegu odebranego z wygenerowaną lokalnie sekwencją pseudolosową dla
każdego przesunięcia w czasie tych przebiegów. Sprawdzana są więc
wszystkie sytuacje, m. in.: ta przesunięta o 0.5 us i nieprzesunięta
(czy mniej przesunięta). Wartość funkcji korelacji dla przesunięcia o
0.5 us będzie po prostu bliska zeru
Ale liczyc trzeba, bo jak inaczej podjac decyzje czy przyspieszyc czy
zwolnic generator ...
Quote:
Nie wiem czy w odbiorniku GPS liczona jest pełna korelacja czy
tylko dokonuje się przeszukań wybranych obszarów.
Liczenie pełnej korelacji wiązało by się ze sporym kosztem obliczeniowym
Ano wlasnie.
Quote:
-no i w koncu cala 1ms sekwencje ..
Jak wyżej - maksimum (lub minimum) piku korelacyjnego wyznacza za jednym
zamachem najlepsze wpasowanie bitów i początek całej sekwencji.
Owszem, tylko ze trzeba to robic z odpowiednio malym krokiem.
A wlasnie sobie uzmyslowilem ze nie interesuje nas 1us dokladnosc - my
chcemy ok 5ns .. [1.5m]
I to wszystko w chipie ktory ma jeszcze brac jak najmniej pradu
i najchetniej pracowac na niskim zegarze .. oj, cos mi sie wydaje
ze tam w srodku jest analogowy korelator i cos ala DDS .. i to
wszystko w 72 kopiach [12*3*2]
J.
PAndy
Guest
Mon Apr 14, 2008 3:00 pm
PAndy
Guest
Mon Apr 14, 2008 3:15 pm
"J.F." <jfox_xnospamx@poczta.onet.pl> wrote in message
news:aqf6041tdql07gj8ep3a1sachu2u3afg7d@4ax.com...
Quote:
Trzeba jakos pilnowac w ktora strone korekcje dawac.
wiesz to z korelatora... proces korelacji fazy zachodzi w taki sposob ze
na kolejne tapy podaje sie sygnal shiftniety o cykl - wystarczy to do
sledzenia odchylki i podazania za nia tak by utrzymac synchronizacje w
srodku
Quote:
Ale liczyc trzeba, bo jak inaczej podjac decyzje czy przyspieszyc czy
zwolnic generator ...
jesli zlapiesz synchro to odpowiedz z kolejnych kanalow korelatora
wyznacza tez odchylke generatora (przesuniecie fazy)
Quote:
I to wszystko w chipie ktory ma jeszcze brac jak najmniej pradu
i najchetniej pracowac na niskim zegarze .. oj, cos mi sie wydaje
ze tam w srodku jest analogowy korelator i cos ala DDS .. i to
wszystko w 72 kopiach [12*3*2]
watpie - raczej dobrze przemyslany matched filter
J.F.
Guest
Mon Apr 14, 2008 3:53 pm
On Mon, 14 Apr 2008 16:00:06 +0200, PAndy wrote:
Quote:
"J.F." <jfox_xnospamx@poczta.onet.pl> wrote in message
Zrobienie tego pseudoanalogowo - tzn A/D, reszta obliczen cyfrowo -
srednio kosztowne [duzo tego, musi na ~2MHz chodzic - lepiej chyba
ze 4MHz] no i ma wszelkie wady wynikle z niedokladnosci obliczen.
dla sygnalu binarnego dokladnosc 4 - 6 bitow jez az nadto wystarczajaca
Ale zauwaz ze to powinno byc troche odporne na zaklocenia, a w
przypadku GPS to mamy kilkanascie zrodel sygnalu uzytecznego.
Jeden nieco silniejszy nadajnik zablokuje caly tor, tzn
satelity wprowadza sygnal na poziomie ponizej bita.
No i drobiazg - 4MHz to by starczylo do synchronizacji,
ale nie do precyzyjnego odbioru pozycji z GPS.
Trzeba by ze 100Msps, plus stosownie dlugie korelatory - 100k tap.
W sumie czemu nie ..
J.
PAndy
Guest
Mon Apr 14, 2008 5:17 pm
"J.F." <jfox_xnospamx@poczta.onet.pl> wrote in message
news:0fr60459aionpa8ccdnjupqk75t310noit@4ax.com...
Quote:
Ale zauwaz ze to powinno byc troche odporne na zaklocenia, a w
przypadku GPS to mamy kilkanascie zrodel sygnalu uzytecznego.
Jeden nieco silniejszy nadajnik zablokuje caly tor, tzn
satelity wprowadza sygnal na poziomie ponizej bita.
No i drobiazg - 4MHz to by starczylo do synchronizacji,
ale nie do precyzyjnego odbioru pozycji z GPS.
Trzeba by ze 100Msps, plus stosownie dlugie korelatory - 100k tap.
W sumie czemu nie ..
specem od GPS nie jestem ale nie jest tak ze ma on navigation message
ktora jest dosc wolna i mozna ja w miare latwo zdemodulowac (50bps vs
1Mbps)?
A skoro kod C/A ma dlugosc 1023 bity i transmitowany jest z predkoscia
1Mbps to jego sekwencja trwa 1ms... i wcale nie potrzeba az tyle tapow...
J.F.
Guest
Mon Apr 14, 2008 5:35 pm
On Mon, 14 Apr 2008 18:17:59 +0200, PAndy wrote:
Quote:
"J.F." <jfox_xnospamx@poczta.onet.pl> wrote in message
No i drobiazg - 4MHz to by starczylo do synchronizacji,
ale nie do precyzyjnego odbioru pozycji z GPS.
Trzeba by ze 100Msps, plus stosownie dlugie korelatory - 100k tap.
W sumie czemu nie ..
specem od GPS nie jestem ale nie jest tak ze ma on navigation message
ktora jest dosc wolna i mozna ja w miare latwo zdemodulowac (50bps vs
1Mbps)?
No tak pisza, ale to jakby poza tematem. Tam jest podany czas i dane
orbitalne.
Quote:
A skoro kod C/A ma dlugosc 1023 bity i transmitowany jest z predkoscia
1Mbps to jego sekwencja trwa 1ms... i wcale nie potrzeba az tyle tapow...
Owszem, ale 1ms to 300km przebiegu fali. A my chcemy z rozdzielczoscia
powiedzmy 1m zmierzyc :-)
Byc moze da sie to zmierzyc na 10k tapow, a potem skoro maksimum
korelacji wynosi np 50 [tzn raczej suma 500k z korelatora], a po
przesunieciu o tap 48 [480k], to da sie wysnuc wniosek ze jest w
odleglosci 6m miedzy krokami [50/50 znaczyloby w polowie, 45/50/45 ze
trafilismy dokladnie w raster].
J.
PAndy
Guest
Mon Apr 14, 2008 6:41 pm
"J.F." <jfox_xnospamx@poczta.onet.pl> wrote in message
news:g81704pgntb0mr647hvebqcdhtv4lfm5o4@4ax.com...
Quote:
No tak pisza, ale to jakby poza tematem. Tam jest podany czas i dane
orbitalne.
http://en.wikipedia.org/wiki/Gold_code
Quote:
A skoro kod C/A ma dlugosc 1023 bity i transmitowany jest z predkoscia
1Mbps to jego sekwencja trwa 1ms... i wcale nie potrzeba az tyle
tapow...
Owszem, ale 1ms to 300km przebiegu fali. A my chcemy z rozdzielczoscia
powiedzmy 1m zmierzyc
i tu jak mowie specem od GPS nie jestem
Quote:
Byc moze da sie to zmierzyc na 10k tapow, a potem skoro maksimum
korelacji wynosi np 50 [tzn raczej suma 500k z korelatora], a po
przesunieciu o tap 48 [480k], to da sie wysnuc wniosek ze jest w
odleglosci 6m miedzy krokami [50/50 znaczyloby w polowie, 45/50/45 ze
trafilismy dokladnie w raster].
nie wydaje mi sie by bylo to tak zrobione - hardware puchlby w oczach
mk
Guest
Mon Apr 14, 2008 7:31 pm
J.F.
Guest
Mon Apr 14, 2008 8:35 pm
On Mon, 14 Apr 2008 20:31:46 +0200, mk wrote:
Quote:
J.F. pisze:
Jeden nieco silniejszy nadajnik zablokuje caly tor, tzn
satelity wprowadza sygnal na poziomie ponizej bita.
Ależ to nie przeszkadza, że sygnał jest poniżej poziomu bita! I tak
sygnał użyteczny GPS jest przygnieciony szumem tysiące razy mocniejszym.
W tym właśnie magia DSSS, że jest odporna na takie rzeczy (do pewnego
stopnia).
Ale zeby tak bylo, to nie nalezy gubic danych w systemie odbiorczym
:-)
Nadejdzie sygnal zaklocajacy z amplituda 60, sygnal z satelit bedzie
na poziomie +/-0.5, wpuscisz to 6-bitowe A/D, sygnal uzyteczny zginie.
Owszem, czasem zaklocenie sie zmieni na 59.5 i satelita przejdzie -
na co niektorym bicie z sekwencji 1023 ..
J.
J.F.
Guest
Mon Apr 14, 2008 8:40 pm
On Mon, 14 Apr 2008 19:41:46 +0200, PAndy wrote:
Quote:
Nie bardzo rozumiem, ale to tez jakby poza problemem.
Quote:
Byc moze da sie to zmierzyc na 10k tapow, a potem skoro maksimum
korelacji wynosi np 50 [tzn raczej suma 500k z korelatora], a po
przesunieciu o tap 48 [480k], to da sie wysnuc wniosek ze jest w
odleglosci 6m miedzy krokami [50/50 znaczyloby w polowie, 45/50/45 ze
trafilismy dokladnie w raster].
nie wydaje mi sie by bylo to tak zrobione - hardware puchlby w oczach
Tez mi sie nie wydaje, ale jaka alternatywa ?
Tak jak pisalem - cos ala DDS ?
J.
J.F.
Guest
Tue Apr 15, 2008 1:27 pm
On Sat, 12 Apr 2008 18:07:55 +0200, J.F. wrote:
No i znalazlem co nieco
OpenGPS
http://gps.psas.pdx.edu/
Opieraja sie na dwoch kostkach Zarlinka
-GP2015 RF frontend
http://products.zarlink.com/product_profiles/GP2015.htm
-GP4020 correlator i procesor
http://products.zarlink.com/product_profiles/GP4020.htm
[lepiej poczytac o GP2021
http://products.zarlink.com/product_profiles/GP2021.htm
Ten drugi znajduje nasladowcow wsrod amatorow
Namuru FPGA GPS tracking module
http://www.dynamics.co.nz/gpsreceiver/
Cienka ta dokumentacja, trzeba by sie w szczegoly projektu wgryzac,
ale troche widac na pierwsze czytanie.
-czesc RF heterodynuje sygnal do 4.3MHz [srodkowa, +/-~1MHz]
-sygnal jest samplowany z rozdzielczoscia .. 2 bitow,
i czestotliwoscia 5.7MHz - sub Nyquist, co przez aliasing
daje okolo 1.4MHz,
-korelatory pracuja na .. 40MHz ? Nie, to by chyba nie mialo sensu.
5.7MHz [40/7] ?
Czuje sie wstrzasniety i zmieszany ..
J.
Goto page 1, 2 Next