odbior DSSS

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.

Reply to
J.F.
Loading thread data ...

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ę.

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.

Przypuszczam, że właśnie kwadraturowo.

Tego pytania nie rozumiem.

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.

*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.

Jak wyżej - maksimum (lub minimum) piku korelacyjnego wyznacza za jednym zamachem najlepsze wpasowanie bitów i początek całej sekwencji.

pzdr mk

Reply to
mk

sliding correlator

Reply to
PAndy

Tylko jak patrze

formatting link
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.

Reply to
J.F.

Ale i tak sie pozycja zmienia a generatory rozjezdzaja.

Trzeba jakos pilnowac w ktora strone korekcje dawac.

Tylko ze jesli nie trafimy w czestostliwosc z dokladnoscia ponizej

1ppm, to nam sie fazy rozjada kilka razy przez 1ms.

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.

Ale liczyc trzeba, bo jak inaczej podjac decyzje czy przyspieszyc czy zwolnic generator ...

Ano wlasnie.

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.

Reply to
J.F.

no coz... zycie zazwyczaj rzadko jest proste... ;)

dla sygnalu binarnego dokladnosc 4 - 6 bitow jez az nadto wystarczajaca

a nwet wiecej, zwlaszcza w przypadku dlugich sekwencji - wtedy zazwyczaj moze to byc kilkaset kanalow czasem tysiace, do tego dodajmy wielodroznosc odbioru (rake receivers) i wychodza nam dziesiatki tysiecy... na szczescie to sie dosc latwo scala wiec nie wychodza z tego jakies przesadnie wielkei rozmiary struktur...

Reply to
PAndy

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

jesli zlapiesz synchro to odpowiedz z kolejnych kanalow korelatora wyznacza tez odchylke generatora (przesuniecie fazy)

watpie - raczej dobrze przemyslany matched filter

Reply to
PAndy

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.

Reply to
J.F.

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...
Reply to
PAndy

No tak pisza, ale to jakby poza tematem. Tam jest podany czas i dane orbitalne.

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.

Reply to
J.F.

formatting link

i tu jak mowie specem od GPS nie jestem

nie wydaje mi sie by bylo to tak zrobione - hardware puchlby w oczach

Reply to
PAndy

J.F. pisze:

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).

pzdr mk

Reply to
mk

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.

Reply to
J.F.

Nie bardzo rozumiem, ale to tez jakby poza problemem.

Tez mi sie nie wydaje, ale jaka alternatywa ?

Tak jak pisalem - cos ala DDS ?

J.

Reply to
J.F.

No i znalazlem co nieco

OpenGPS

formatting link

Opieraja sie na dwoch kostkach Zarlinka

-GP2015 RF frontend

formatting link

-GP4020 correlator i procesor

formatting link
poczytac o GP2021
formatting link
Ten drugi znajduje nasladowcow wsrod amatorow Namuru FPGA GPS tracking module
formatting link
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.

Reply to
J.F.

ano nie - kody Gold'a sa grupa kodow o dobrych wlasciwosciach korelacji wzjajemnej - sa uzywane by skrocic czas uzyskiwania synchronizmu

Reply to
PAndy

Nie wchodzac w szczegoly techniczne - spodziewam sie ze wlasnie takich uzyto.

Co nadal nie tlumaczy moich watpliwosci :-)

W szczegolnosci jak im sie nie zgubila korelacja na tych 2 bitach, no ale moze tak jest, oraz w jaki sposob mierza czas z dokladnoscia ok 5ns, majac probkowanie co 175ns ..

Hm, troche za duzo hardware by trzeba robic zeby to przebadac.. pozostaje uwierzyc :-)

... az sobie zasymulowalem .. faktycznie te 2 bity jakby wystarcza, dzieki ditheringowi przez szumy jednak sie sygnal przebija..

J.

Reply to
J.F.

Kurcze, nawet ciekawiej - na pierwszy rzut oka nie ma wiekszego znaczenia czy 2 bity czy wiecej ..

J.

Reply to
J.F.

tzn?

Reply to
PAndy

Ano wygenerowalem sobie taka pseudolosowa sekwencje C +/-1, nawet nie Gold code, tylko random z excela. Autokorelacja oczywiscie 1023, korelacja po przesunieciu o jeden krok -17 - to dla odniesienia jako poziom szumu. Mieszam do tego szum R - jednostajny na poziomie -/+1, w proporcji np

0.3C+3.7R

No i wychodzi np korelacja 335, przesunieta -43. Jesli jednak sygnal skwantuje do -3,-1,+1,+3 to wyskakuje 283 i -61.

Usrednione wyniki przy roznych sekwencjach R sugeruja ze taka kwantyzacja na poziom "szumu" [tzn korelacji z kodem przesunietym] praktycznie nie wplywa, za to "sygnal uzyteczny" spada .. ale tylko o 20%.

Faktycznie nie ma sensu mnozyc bitow. Chociaz nie - jest sens dodac trzeci :-)

J.

Reply to
J.F.

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.