For a clean reception of a GPS signal, it is advised to have a view as wide as possible of the open sky. Chose a roof-top or a wide field with no obstruction. Then you can start with the reception of a 60-second piece of data:

Before doing so, test this given setup with a much shorter sequence, 2 seconds, as described below. Once everything is working all right, use the longer sequence.


The setup of the hardware for the GPS-acquisition can be seen in Figure <ref>cap:GPS-setup</ref>. If you extend the cable of the GPS-antenna, the received signal may be too weak!



First you have to re-program the FPGA, so that the correct code is loaded in the ICS-card. Refer to Section <ref>sec:FPGA</ref> on how to do this. For a first test, it is advised to use only a short testing sequence, see the paragraph below. This short sequence can be used to test whether enough satellites are visible. Once the FPGA is repgrammed do the following:

make rf_tail

[ wait for the message "*** Acquisition done ***" ]

../../Tools/Dbg/dbg 2 0 > ../../Matlab/GPS/gps_yymmdd_hhmm.dat

Where yymmdd_hhmm stands for the current date and time. This is just a convenient way to remember when the samples were collected. Be aware that each second of measurement takes about 25MBytes. So 60 seconds of measurement take 1.5GByte!

Then you can check which satellites are visible from the antenna location using using the program in \$SRADIO/Matlab/GPS/:

matlab -nojvm -nosplash
[ wait for Matlab to start up ]
acquisition( 'gps_yymmdd_hhmm.dat', 100000 );

this should show you a plot with a noise-floor around Graph and a number of points sticking distinctively out to Graph. Then chose the highest point and run the following command:

acquisition_scan( 'gps_yymmdd_hhmm.dat', 100000, #sat# );

where sat corresponds to the highest peak seen in the previous plot.

Short testing sequence

Before getting a 60-second piece of data, it is adviseable to test it on a short sequence to see whether enough satellites are visible or if there is a problem with the setup.

In the file $SRADIO/Test/GPS/test_gps.c adjust the buffer_len:

  // Now buffer_len is in seconds of recording
  swr_sdb_set_config_int( gps, "buffer_len", #2# );

Now the radio will only record 2 seconds of data which will be much shorter to write to the disk using the above-mentioned method.

Last modified:: %2007/%04/%19 %09:%Apr