Goto page Previous 1, 2
PAndy
Guest
Tue Apr 15, 2008 2:38 pm
"J.F." <jfox_xnospamx@poczta.onet.pl> wrote in message
news:3nc704l8pva1cgol10d6v62ss507c25om7@4ax.com...
Quote:
On Mon, 14 Apr 2008 19:41:46 +0200, PAndy wrote:
"J.F." <jfox_xnospamx@poczta.onet.pl> wrote in message
No tak pisza, ale to jakby poza tematem. Tam jest podany czas i dane
orbitalne.
http://en.wikipedia.org/wiki/Gold_code
Nie bardzo rozumiem, ale to tez jakby poza problemem.
ano nie - kody Gold'a sa grupa kodow o dobrych wlasciwosciach korelacji
wzjajemnej - sa uzywane by skrocic czas uzyskiwania synchronizmu
J.F.
Guest
Tue Apr 15, 2008 4:24 pm
On Tue, 15 Apr 2008 15:38:12 +0200, PAndy wrote:
Quote:
"J.F." <jfox_xnospamx@poczta.onet.pl> wrote in message
http://en.wikipedia.org/wiki/Gold_code
Nie bardzo rozumiem, ale to tez jakby poza problemem.
ano nie - kody Gold'a sa grupa kodow o dobrych wlasciwosciach korelacji
wzjajemnej - sa uzywane by skrocic czas uzyskiwania synchronizmu
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.
J.F.
Guest
Tue Apr 15, 2008 5:47 pm
On Tue, 15 Apr 2008 17:24:26 +0200, J.F. wrote:
Quote:
... az sobie zasymulowalem .. faktycznie te 2 bity jakby wystarcza,
dzieki ditheringowi przez szumy jednak sie sygnal przebija..
Kurcze, nawet ciekawiej - na pierwszy rzut oka nie ma wiekszego
znaczenia czy 2 bity czy wiecej ..
J.
PAndy
Guest
Wed Apr 16, 2008 9:09 am
"J.F." <jfox_xnospamx@poczta.onet.pl> wrote in message
news:cvm90451uon1n849o4o1mrq5pvk2qb6aiq@4ax.com...
Quote:
On Tue, 15 Apr 2008 17:24:26 +0200, J.F. wrote:
... az sobie zasymulowalem .. faktycznie te 2 bity jakby wystarcza,
dzieki ditheringowi przez szumy jednak sie sygnal przebija..
Kurcze, nawet ciekawiej - na pierwszy rzut oka nie ma wiekszego
znaczenia czy 2 bity czy wiecej ..
tzn?
J.F.
Guest
Wed Apr 16, 2008 11:45 am
On Wed, 16 Apr 2008 10:09:30 +0200, PAndy wrote:
Quote:
"J.F." <jfox_xnospamx@poczta.onet.pl> wrote in message
... az sobie zasymulowalem .. faktycznie te 2 bity jakby wystarcza,
dzieki ditheringowi przez szumy jednak sie sygnal przebija..
Kurcze, nawet ciekawiej - na pierwszy rzut oka nie ma wiekszego
znaczenia czy 2 bity czy wiecej ..
tzn?
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.
PAndy
Guest
Wed Apr 16, 2008 11:59 am
"J.F." <jfox_xnospamx@poczta.onet.pl> wrote in message
news:5fkb04ta99qtsjbb5nucacon3va343fuc8@4ax.com...
Quote:
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%.
CDMA
Quote:
Faktycznie nie ma sensu mnozyc bitow. Chociaz nie - jest sens
dodac trzeci
W praktyce ma to sens bo mozna uniknac wielu problemow w torze analogowym
J.F.
Guest
Wed Apr 16, 2008 12:23 pm
On Wed, 16 Apr 2008 12:59:24 +0200, PAndy wrote:
Quote:
"J.F." <jfox_xnospamx@poczta.onet.pl> wrote in message
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%.
CDMA
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" :-)
Quote:
Faktycznie nie ma sensu mnozyc bitow. Chociaz nie - jest sens
dodac trzeci :-)
W praktyce ma to sens bo mozna uniknac wielu problemow w torze analogowym
No ale jak widac komercyjny, a wiec praktyczny, czip ma tylko 2 bity
...
J.
PAndy
Guest
Wed Apr 16, 2008 1:06 pm
"J.F." <jfox_xnospamx@poczta.onet.pl> wrote in message
news:c1ob04hugk4g3nflhu932hlcdqe91r8q6j@4ax.com...
Quote:
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"
gorzej to wyglada w srodowisku gdzie szum a wlascwie zaklocenia nie sa
czysto przypadkowe ale dalej daje rade
Quote:
Faktycznie nie ma sensu mnozyc bitow. Chociaz nie - jest sens
dodac trzeci :-)
W praktyce ma to sens bo mozna uniknac wielu problemow w torze
analogowym
No ale jak widac komercyjny, a wiec praktyczny, czip ma tylko 2 bity
stary - nowy moze byc inaczej zrobiony - kosztem analogowki
PAndy
Guest
Wed Apr 16, 2008 5:12 pm
"mk " <mkszym@WYTNIJ.gazeta.pl> wrote in message
news:fu587d$mtr$1@inews.gazeta.pl...
Quote:
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ą.
a co ma nie plywac jak celowo stosuje sie tam rozpraszanie widma by
redukowac EMI... (a konstrukcja i stabilnosc generatorow to inna inszosc)
J.F.
Guest
Wed Apr 16, 2008 6:43 pm
On Wed, 16 Apr 2008 16:07:09 +0000 (UTC), mk wrote:
Quote:
J.F. <jfox_xnospamx@poczta.onet.pl> napisał(a):
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.
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.
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.
Quote:
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.
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
http://home.earthlink.net/~cwkelley/receiver_operation.htm
Quote:
Tylko ze jesli nie trafimy w czestostliwosc z dokladnoscia ponizej
1ppm, to nam sie fazy rozjada kilka razy przez 1ms.
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
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.
Quote:
A wlasnie sobie uzmyslowilem ze nie interesuje nas 1us dokladnosc - my
chcemy ok 5ns .. [1.5m]
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ą.
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".
Quote:
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).
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.
Quote:
.. 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]
A jednak cyfrowo
A jednak. Choc DDS dla nosnej jest, ale cyfrowy i to jaki smieszny :-)
J.
mk
Guest
Wed Apr 16, 2008 7:07 pm
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_xnospamx@poczta.onet.pl> napisał(a):
Quote:
On Mon, 14 Apr 2008 01:28:40 +0200, mk wrote:
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.
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.
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.
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.
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 ...
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.
-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]
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).
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]
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
--
Wysłano z serwisu Usenet w portalu Gazeta.pl ->
http://www.gazeta.pl/usenet/
J.F.
Guest
Thu Apr 17, 2008 11:45 pm
On Tue, 15 Apr 2008 14:27:51 +0200, J.F. wrote:
Quote:
No i jeszcze jeden zasob - magisterka autora z opisem systemu
http://gps.psas.pdx.edu/GpsResources/oss_for_cots_gps_receivers.pdf
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.
PAndy
Guest
Fri Apr 18, 2008 8:44 am
"J.F." <jfox_xnospamx@poczta.onet.pl> wrote in message
news:6ojf049182bog55jfvjcplul2dna84m7cm@4ax.com...
Quote:
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.
hmmm zarlink podaje ze DDS ma 8 wartosci fazy... troche to dziwne -
rozumialbym taka rozdzielczosc ale potrzebny bylby bardziej rozbudowaney
DDS
J.F.
Guest
Fri Apr 18, 2008 10:00 am
On Fri, 18 Apr 2008 09:44:45 +0200, PAndy wrote:
Quote:
"J.F." <jfox_xnospamx@poczta.onet.pl> wrote in message
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.
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.
Goto page Previous 1, 2