Monday, January 19, 2009

Did I mention that...

Hello,
did I mention that with the CPLD version of the dongle we can receive Beidou-M1, the first satellite of the Chinese global navigation system?
The bird transmits a BPSK(2) on a 1561.098 MHz carrier. Slightly modifying the Matlab code from the book "A Software-Defined GPS and Galileo Receiver. A single frequency approach" by Kai Borre, Dennis M. Akos, Nicolaj Bertelsen, Peter Rinder, and Soren Holdt Jense, I got the following results:

We then decoded some subframes :)

E240D6B6646014EE460A8AFD7D5FF5FF7E78D4880A8084C57BE8B8F0DF0E51A81F7C1832670
E241169A2075B6D666665959999965666665959999965666665959999965666665959999965
E24156A620779C7666665959999965666665959999965666665959999965666665959999965
E2405682606829F0134ED7813F5591A2A000A800000000000000000000000005440402E02CE
E240968A246E564ED5BFAC1B969835C0008DB0CC8BBDA0512B964B7F8A6124C8CC57AE233C0
E240D6B6646AB46E460A8AFD7D5FF5FF7E78D4880A8084C57BE8B8F0DF0E51A81F7C1832670
E241169A2180998666665959999965666665959999965666665959999965666665959999965
E24156A6218231A666665959999965666665959999965666665959999965666665959999965
E240568260C803F0134ED7813F5591A2A000A800000000000000000000000005440402E02CE
E240968A24CCF4CED5BFAC1B969835C0008DB0CC8BBDA0512B964B7F8A6124C8CC57AE233C0


And soon I will publish some more results...

Michele

Thursday, September 25, 2008

New signal samplers

Hello,
It's been a long time since I posted something... I have been busy with some hardware development.
But in my Company we finally have some new data grabber prototypes for our software receiver (and the future ones).

The first is a neat USB dongle:


The second is bigger (has more "stuff" inside of course):


Well I'm not allowed to say too much but.. these two have in common:
- the RF chip from Maxim-Dallas MAX2769,
http://www.maxim-ic.com/quick_view2.cfm/qv_pk/5241
- a Rakon IT3205 TCXO with 1ppm accuracy,
http://www.rakon.com/models/display_model?model_id=503&reset=1&dont_refine=1&action=display
- a USB 2.0 micro controller.

The big one has inside also CPLD:
http://en.wikipedia.org/wiki/CPLD
This is inserted between the RF chip and the USB micro controller, and can perform simple data pre-processing before streaming the signal samples to the computer.

The beauty is that the micro controller firmware allows to program the RF chip and the CPLD in software, as many times as you want.

Like them?

Maybe more coming soon,
Michele

Monday, May 12, 2008

GIOVE-B

How to acquire GIOVE-B?
- Take out your favorite GNSS data grabber from the drawer.
- Collect some signal when GIOVE-B is up in the sky (a simple patch antenna does the job).
- Perform a fine frequency search around the Doppler value estimated with the Norad orbital model (square the signal, you need more than 1 bit quantization).
- Set the code generation registers with the ones used by GIOVE-A.
- Initialize one register with all ones, and brute force crack the initialization value for the other one!
- Perform acquisition.

Result:
# G1 code generator
regOne = [1 0 0 1 1 0 1 0 1 1 0 0 0];
regOneInit = [1 1 1 1 1 1 1 1 1 1 1 1 1];
# G2 code generator
regTwo = [1 1 0 0 0 1 1 1 1 0 0 0 0];
regTwoInit = [1 0 0 1 1 1 1 1 1 1 1 0 0];

Fig 1: Normalised cross correlation
Fig 2: Normalised cross correlation (zoom around peak)

P.S.: Alternatively, you can go to http://waas.stanford.edu/GalileoCode/GIOVEB_L1.html
The people there have been, again, the first to officially crack the code. Congratulations!

P.P.S: If you are able to track it, you'll see it is still transmitting (mostly) dummy messages. These were received today at NSL (Nottingham Scientifc Ltd):
28e0491049115a20491000000010c0: 0000
290001355a200134c054000002f1c0: 0000
292000006500c912d8bc0000003a80: 0000
2940008cda1ffffff394000003bd00: 0000
2963fffe742c007ca5540000008900: 0000
298155555555555555540000037c40: 0000
29a15555555555555554000001a780: 0000
29c15555555555555554000000e000: 0000
29e155555555555555540000023bc0: 0000
2a0155555555555555540000022f40: 0000
2a215555555555555554000000f480: 0000
2a415555555555555554000001b300: 0000
2a61555555555555555400000368c0: 0000
2a8155555555555555540000033c00: 0000
2aa15555555555555554000001e7c0: 0000
2ac15555555555555554000000a040: 0000
2ae155555555555555540000027b80: 0000
2b01555555555555555400000009c0: 0000
2b215555555555555554000002d200: 0000
2b4000959c00915955540000015880: 0000
2b6000c48cc8d0cd1554000001e800: 0000
2b8000d59c00d15955540000008900: 0000
2ba15555555555555554000003c140: 0000
2bc1555555555555555400000286c0: 0000
2be020000124456880940000007900: 0000

Tuesday, February 19, 2008

It says so...

Today I convolutional decoded the messages sent by PRN127.
Then I used the SBAS teacher to interprete the result and, well, you can see the message 9 yourself.

Fig. 1: "SBAS teacher" (contribute of ESA) to interpret MSG9.

X: 18521754.08 Y: 37836816.64 Z:1649068.8
that is
Lat: 2.24398167 Lon: 63.9174794 Alt: 35781111.72

See the snapshot of the view of the earth from the satellite!

Fig. 2: How actually the PRN127 bird sees the earth.

If my calculations are not wrong, from Nottingham is
Elev: 7.959023 Azim: 108.99077 Distance: 40797572.51

I leave comments to the readers :)

P.S.: Thanks to Massimo and Simone for your precious contributes!