odbior DSSS

Apr 12, 2008 28 Replies

CDMA

W praktyce ma to sens bo mozna uniknac wielu problemow w torze analogowym

No ale spodziewalbym sie ze w tym ukladzie jakies 70% bitow sie zgubi.

Za to tych 30% bitow ktore przejda kwantyzacja w swoisty sposob "wzmocni" :-)

No ale jak widac komercyjny, a wiec praktyczny, czip ma tylko 2 bity ..

J.

gorzej to wyglada w srodowisku gdzie szum a wlascwie zaklocenia nie sa czysto przypadkowe ale dalej daje rade

stary - nowy moze byc inaczej zrobiony - kosztem analogowki

Widzę, że odpowiedź którą przesłałem 2 dni temu nie dotarła na serwery... międzyczasie na część problemów zarysowały się jakaś odpowiedzi... redaguję więc odpowiedź ponownie...

J.F. <jfox snipped-for-privacy@poczta.onet.pl> napisał(a):

Ja bym szukał rozwiązania problemu w następującej właściwości: Jeśli zegar odbiornika jest idealnie w fazie z sygnałem odbieranym, to z sekwencją pseudolosową korelują tylko próbki z kanału I. Jeśli teraz faza zacznie "płynąć", to korelacja w kanale I zacznie słabnąć i jednocześnie zacznie się pojawiać "pik" korelacyjny w kanale Q ze znakiem zgodnym lub przeciwnym w zalezności od tego w którą stronę nastąpił dryft fazy. Na tej podstawie można stwierdzić w którą stronę regulować zegar.

Przy dobrym sygnale, ale nieco większym odstrojeniu zegara w kanałach I oraz Q wystąpi wielokrotny "pik" - to też jest potencjalnie do wykorzystania.

Lepsza niż 1 ppm, czyli dokładność zgrania heterodyny na poziomie powiedzmy

100 Hz. Przesunięcie częstotliwości wynikające ze zjawiska Dopplera to wartość rzędu 1.5 kHz (nie sprawdzałem - sam to podałeś), czyli przy zimnym starcie (bez jakichkolwiek danych początkowych) obszar przeszukiwań nie jest masakrycznie duży. Kwarce stosowane w odbiornikach GPS są bardzo dokładne, mimo to faktycznie niedokładność generatora może sprawić większe kłopoty niż sam Doppler, jednak można też wykorzystać zapamiętaną w pamięci nieulotnej odchyłkę częstotliwości lokalnego zegara uzyskaną w poprzedniej sesji odbiorczej.

Dokładność 1.5 m jest produktem końcowym, po wielu uśrednieniach z wielu paczek i wielu kanałów. Wcale nie oznacza to, że przesuwa się sekwencje pseudolosową względem sygnału odebranego z taką dokładnością. Poza tym, podejrzewam, że przy takim "powiększeniu" piki korelacyjne nie byłyby ostrymi szpilami, lecz wzgórzami o mocno zaokrąglonych szczytach, więc w obecności szumów ciężko wskazać prawdziwy punkt szczytu z taką dokładnością.

Zwrócę też jeszcze uwagę na aspekt kosztów obliczeniowych: gdy liczymy korelację z rozdzielczością np. 1/10 długości bitu sekwencji pseudolosowej, to w kolejnym kroku przesunięcia nie trzeba liczyć wszystkiego od nowa, gdyż

90% obliczeń z poprzedniego kroku jest zgodna (wystarczy obliczyć punkty które zmieniły się od poprzedniego kroku).

A jednak cyfrowo :-)

Polecam eksperymenty z odbiorem DCF77: wystarczy obwód rezonansowy z anteną ferrytową i karta muzyczna o próbkowaniu 192 kHz - resztę załatwi software. Ja po nagraniu sygnału przetwarzałem dane offline urzywając do tego bardzo brutalnych (obliczenia na liczbach zmiennoprzecinkowych!), ale łatwo dostępnych metod (m. in. pakiet R). Mimo iż DCF77 dostarcza tylko próbki jednokanałowo i ze znacznie mniejszą szybkością to PC'et musiał troszeczkę się napocić. W praktyce w czasie rzeczywistym chyba tylko z mocnym wsparciem hardware'owym można ugryźć problem. Przy okazji można się również przekonać jak bardzo pływa częstotliwość próbkowania przypadkowej karty muzycznej zintegrowanej z płytą główną.

pzdr mk

a co ma nie plywac jak celowo stosuje sie tam rozpraszanie widma by redukowac EMI... (a konstrukcja i stabilnosc generatorow to inna inszosc)

Bardziej mi chodzilo o to ze przy odstrojeniu powiedzmy o 1ppm, przez czas calej 1ms sekwencji wystapi zmiana o ok 540 stopni.

Tymczasem wystarczy zmiana o 90 stopni, zeby sie nic nie odebralo .. i tu sie chyba pomylilem. Wystarczy ze przez polowe sekwencji faza pozwoli na odbior [a tu pozwolilaby nawet przez 2/3], a juz powinna wyskoczyc znaczaca korelacja w jednym kanale. Jak przez druga polowke uzbiera sie w drugim - to tez dobrze, pokaze ze faza sie zmienia.

180 deg tez nie stanowi problemu - co prawda w jednym z kanalow poczatek bedzie odwrocony z koncem, ale w drugim przez srodkowy okres bedzie sygnal ladnie korelowal.

No wlasnie wydaje mi sie ze nie - po zmianie nosnej o 180 deg to co sie sumowalo na plus teraz bedzie sie sumowalo na minus, i IMHO sie skompensuje. Ewentualnie wprowadzi nas w blad, i bedziemy stabilizowac odchylke 540deg/1ms.

Tu jest jakis opis, wydaje sie ze fachowy

formatting link

No wlasnie tak mi sie wydaje, ze 1ppm to moze byc problem dla generatora, choc sam mam na reku chyba dokladniejszy :-)

Przeszukanie sensownego zakresu czestotliwosci [ile przyjac dla kwarcu

- 50ppm ?] co powiedzmy 0.5ppm jesli na kazdym kroku trzeba jeszcze zlapac korelacje bez pelnego korelatora to juz troche moze trwac .. no ale tez i faktycznie odbiornik GPS lapie to pare minut czasem.

Ta czesc nadal pozostaje dla mnie tajemnicza, no ale jak inaczej ?

Jesli masz tylko dane z korelatora stosunkowo "rzadkiego", to jak obliczyc ?

W zasadzie to widze mozliwosc .. odstroic delikatnie generator sekwencji, co pewien czas trzeba bedzie korygowac generator sekwencji o jeden bit, a w ktorym momencie dokladnie w porownaniu do innych satelitow - ta nam da "lupe czasowa".

Sluszna uwaga, choc w miedzyczasie pojawily sie tu przyklady rozwiazan ktore nie licza pelnej korelacji, a tylko dla dwoch bitow/przesuniec/krokow czy jak to nazwac.

A jednak. Choc DDS dla nosnej jest, ale cyfrowy i to jaki smieszny :-)

J.

No i jeszcze jeden zasob - magisterka autora z opisem systemu

formatting link

Tu sie wyjasnia ostatni problem - w generatorze lokalnej sekwencji kodu jest rejestr ustalajacy faze, z dokladnoscia do 0.48 ns.

Co prawda wydaje mi sie ze nadal dziala to na zasadzie DDS, a co gorsza dziala wylacznie dzieki temu ze probkowanie na czestotliwosci 40/7=~5.7 MHz nie ma wspolnego podzielnika z czestoliwoscia bitow kodu.

J.

hmmm zarlink podaje ze DDS ma 8 wartosci fazy... troche to dziwne - rozumialbym taka rozdzielczosc ale potrzebny bylby bardziej rozbudowaney DDS

Nie nie - tam sa dwa DCO [Dicitally controlled oscillator]. Ty piszesz o "carrier DCO", i tam nie ma fazy.

A jeszcze jest "code DCO", ktory ma wyprodukowac czestotliwosc dla sekwencji kodowej - i to on ma taka mikro [nano ?] regulacje.

Ten "carrier DCO/DDS" tez jest zreszta smieszny - 8 wartosci [amplitudy], ale pracuje na 5.7MHz, a generuje 1.4Mz, czyli tak mniej wiecej co druga wartosc z tablicy wypluwa :-)

J.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required