Category Archives: Development Work

Fixed Subchip error

Posted in Development Work | Leave a comment

Sources of Position Error

Incorrect pseudoranges can be a source of caluclation errors.
A type 2 PLL should be used.
Integrations/correlations inside the PLL should be done over 10-20ms.
This integration time will be dependent upon the maximum amount of gforce your application will experience.
For a stationary receiver integrations needed to be done faster than 1 second.
For an object traveling at 1 [...]

Posted in Development Work | Leave a comment

Adjusting the sampling frequency

Because the pseudoranges are calculated from the sampling frequency of the device, any error in this number could result in the numbers being scaled incorrectly.
At a sampling rate of 16Mhz every Hz away from this is about .16 meters of error for a satellite.  When sampling at lower frequencies the effect is more dramatic.
I made [...]

Posted in Development Work | Leave a comment

Altitude fluctuaions

I collected a couple of data points to monitor how the altitude changes according to the pseudorange calculations.
If I take the average of the altitude I get 300 meters which is correct.
The pseudoranges do not appear to have a high degree of noise in them, so I am thinking about averaging the last 10 positions [...]

Posted in Development Work | Leave a comment

Locating Preamble and Decoding data

Today I figured out why half of my data is being decoded correctly and the other half is not.
Turns out that the D30 bit of the previous word causes bits 1-24 of the next word to be inverted.
These bits need to be reinverted before they can be used.
Steps to locate and confirm the preamble are [...]

Posted in Development Work | Leave a comment

Selection of Epoch time.

Update

time

Alignment feature

Error between indexes

Minimum buffer size needed.

Units inside one subframe

1

ms

CA code repeated

18

54

6000

20

ms

Bit transmitted

1

3

300

600

ms

Word transmitted (30) Bits

1

3

10

6

S

Subframe (10 Words)

1

3

1

30

S

Frame (5 subframes)

1

3

12.5

Min

One navigation message

1

3

Began work on implementing the inital Pseudorange calculation.
Current implementation of the data is a buffered loop storage array.
Nice epocs could be calculated easiest if done on one of the following intervals.

If a buffer [...]

Posted in Development Work | Leave a comment

Decoding data.

I implemented data decoding routines.
I also started using the gpstk libraries.
After 5 subframes I was able to generate the following ephemeris information using the gpstk libraries.
****************************************************************************
Broadcast Ephemeris (Engineering Units)
PRN : 20
              Week(10bt)     SOW     DOW   UTD     SOD   MM/DD/YYYY   HH:MM:SS
Clock Epoch:   499( 499)  439200   Fri-5   216    7200   08/04/1989   02:00:00
Eph Epoch:     499( 499)  439200   Fri-5   216    7200   08/04/1989   [...]

Posted in Development Work | Leave a comment

Determining lost signal

Currently developing an algorithm to recognize that a signal was lost.
Current algorithm is as follows.

denotes the signal strength
denotes the current value.
denotes the value N-1 samples ago.
Using a value of N=20 the following graph was generated

The top graph is the calculated signal strength while the bottom graph is the raw data stream.
A zoomed [...]

Posted in Development Work | Leave a comment

Flashing the GN3S V1 in Windows

First step is to recompile fx2_programmer so it will work in windows.
Download the fx2_prorammer source code.
Download MinGW
Add its binary path to your system environments path
Download libusb-win32
Copy the usb.h to the fx2_programmer folder
Copy the libusb.a from the lib\gcc folder to the fx2_programmer folder
modify the make file to use libusb.a instead of -lusb
open fx2_programmer.c
change usb.h to use [...]

Posted in Development Work | Comments closed

Flashing the GN3S v1 in linux

The original firm ware on the GN3S v1 has a limitation of approximately 40 seconds.  To overcome this the firmware needs to reprogrammed.
Download the new firmware.
The SoftOSGPS project has a valid firmware for download.
http://sourceforge.net/project/showfiles.php_group_id=91538_package_id=271229_release_id=645621
extract the file
browse to /osgps/gn3s-linux/gn3s-linux/bin
Figure out the vendor id and product id
make scan
unplug the device and do this again to determine the [...]

Posted in Development Work | Comments closed