The GN3S Sampler v3 is a very interesting high-end research device. Co-developed by the GNSS Lab at the University of Colorado and SiGe, this USB device captures raw GPS data to a binary file on your computer. This device will not tell you a position solution outright like our other GPS modules. Instead, the GN3S Sampler is designed to directly capture the low-level signal data (raw intermediate frequency samples) being delivered by the GPS satellite network and processed by the SiGe radio front end.

Version 3, the latest of the samplers, continues to utilizes the SiGe 4120 GPS ASIC. However, this latest revision has a driver built around the latest libusb which supports Windows 7 as well as Windows XP. It also enables multiple data collection options in terms of bandwidths (wide and narrow, to allow for better capture of the new Galileo E1 O/S signal) and a range of sampling frequencies. Furthermore, whereas earlier versions limited the sampling depth to avoid instability, this version removes any and all data recording limitations. However, a sufficient PC is still required for continuous data logging.

This device is recommended to be used in conjunction with the book : A Software-Defined GPS and Galileo Receiver. This excellent book will give you the mathematical fundamentals for software-based GPS as well as the source code on DVD. The included MATLAB source code can be used to crunch the collected data to solve for position. This low level processing gives the user a keen insight into the signal processing of a GPS receiver. The provided algorithms encourage user modification to attempt to improved and design next generation GPS receivers.

Of course, as in earlier versions, all source code (driver, firmware, application) continues to be available.

Tags

SiGe GN3S Sampler v3 Product Help and Resources

Core Skill: Programming

If a board needs code or communicates somehow, you're going to need to know how to program or interface with it. The programming skill is all about communication and code.

4Programming

Skill Level: Experienced - You will require a firm understanding of programming, the programming toolchain, and may have to make decisions on programming software or language. You may need to decipher a proprietary or specialized communication protocol. A logic analyzer might be necessary.
See all skill levels

Core Skill: Electrical Prototyping

If it requires power, you need to know how much, what all the pins do, and how to hook it up. You may need to reference datasheets, schematics, and know the ins and outs of electronics.

4Electrical Prototyping

Skill Level: Experienced - You will need to consult a datasheet for calculations to determine a components output format, linearity, and do a little math to get what you need. You will be using a datasheet or schematic beyond basic pinouts.
See all skill levels

Because it is simply a chip that takes the 1.5GHz GPS satellite signals and then converts them to a baseband binary output, it never does any kind of actual GPS engine stuff - finding the satellite signals in the data, tracking them, decoding their data and calculating a position. That’s all an exercise for the student.

So, if you need to have GPS on something moving at 515+m/s and feel up to the maths/code of GPS decoding, this is the thing for you.

It is true the vast majority of the world’s population is not under the direct jurisidiction of the US Government. However, that probably is not true, or not true to the same extent, of the subset of the world’s population that are Sparkfun customers. Furthermore, if you somehow do attract serious attention from the people whose job it is to enforce the AECA or ITAR, don’t plan on living or visiting any place that has an extradition treaty, or possibily even good diplomatic relations, with the USA ever again.

Regardless if you do live in the USA or not, I doubt simply creating the application you originally described would violate any laws. However, publishing technical details about it in a medium that any random “foreign person” could access them (like the public forum or blog on the Internet) might be a potential ITAR violation and a risk, IMHO, not worth taking. This is because the export laws cover both the transfer of techinical information as well as physical pieces of technology that have certain military applications.

Disclaimer: I’m not a legal expert, especially not in this branch of law. However, several years ago as an EE undergrad I was co-op student at a NASA center and thus recieved some basic training on technology export controls. Therefore take my legal opinions with whatever amount of salt you feel appropriate, but know that this export control stuff is a serious matter and a significant violation can possibily ruin your life.

GNSS-SDR is an open source project that implements a global navigation satellite system software defined receiver in C++. At this time of writing, GNSS-SDR is able to obtain a position fix using GPS signals and export the obtained positioning information to a variety of format (Google Earth KML positions, Matlab-readable intermediate signals and results, and RINEX files, among others)

I want to capture the Galileo signals for processing but I have not succeeded yet. Let me know SiGe v3 receiver can capture Galileo signal. Could you give me the sample code for Galileo signal acquisition?

Hello, I bought one GN3S Sampler v3. When I run “GN3SV3.exe”, the command line says “Buffer Overrun!”. It seems it can not sample even two seconds GPS data. However, I need more than 30 minutes GPS data. Can you send me any help? Thank you.

Hi, I got the same problem,it couldn’t work on my laptop in several seconds with 16MSample/s . I requested helps from manufacturer but they cannot help. I decided to do it by myself. I reprogram the app and i fixed the problem, it work on any computer with 16MSample/s. That’s great!

Data collected from this front-end module can be used to acquire and track GPS L1 C/A, L1 SBAS, and Galileo E1 signals with unprecedented fidelity using the GNSS SDR Toolbox for MATLAB . For example, for a stationary receiver, GPS C/A code can be tracked with 0.01-chip Early-Late (inner) correlator spacing using a double-delta code discriminator to yield code measurement noise sigma on the order of 2cm! The MATLAB toolbox includes a user-modifiable universal GNSS signal tracker that acts as a starting point for a researcher desiring to develop advanced GNSS baseband processing algorithms in the MATLAB environment while still maintaining reasonable runtimes when processing very long sampled IF datasets (several tens of minutes to hours). The toolbox was developed for educational and research use and is distributed free of charge. More info at ChameleonChips.com.

“The application file GN3Sv3.exe seems to work properly to give 2 seconds of data. What other parameters and in what format should I put on the same command line behind GN3Sv3 to get 2000 seconds of data? The README file is not specific enough for my DOS skills! Thank you!”

By typing at the prompt: “GN3Sv3 -s 2000 -c 3” my SSD computer successfully captured 2000 seconds of data (-s 2000) at a lower sampling frequency mode # (-c 3) which was required to eliminate the “buffer overrun” failure. Evan of SparkFun Tech Support assisted me, as well as Dennis Akos, one of the authors of the book, A Software-Defined GPS and Galileo Receiver. Thank you both!

I did a project using this a long time ago, I think I used the version 1.
It had a time out limit of 60 seconds.
I had to reflash the firmware to get it to extend past the 60 second limit.
I posted a mini blog on how to do this.
http://ee1.bradley.edu/projects/proj2009/sdgps/index.html_p=99.html

Is there any driver (official or non-official) to use this hardware with Linux? I know some people developed a Linux driver for GN3Sv1 (or at least were working on it) but I haven’t been able to find any driver for v3. Any help? Thank you in advance!

Hi, I got the same problem,it couldn’t work on my laptop in several seconds with 16MSample/s . I requested helps from manufacturer but they cannot help. I decided to do it by myself. I reprogram the app and i fixed the problem, it work on any computer with 16MSample/s. That’s great!
The apps work based on libusb, therefore you can not install driver on Linux. Only work you need is reprogram the grabbing data app.

I bought the Borre textbook and DVD.
I run Matlab scripts in this DVD using sample data given in DVD. It is OK.
When I try with these scripts with the data collected using SiGe v3, the results are not come out.
I got the satellite IDs but didn’t got position.

I see several used textbooks on Amazon, but as we only sell the hardware as a courtesy to the GPS research community, I’m sorry to say that we don’t sell the textbook or know of further sources for it. You might try contacting the GNSS Lab again in September when students return to classes. I hope you find what you’re looking for, best of luck on your project!

Regrettably, the used textbooks on Amazon start at $254. And the Kindle version doesn’t include the DVD. An alternative is to go with Scott Gleason’s app, fastgps, which is compatible with the GN3Sv3 and is available on Source Forge. He used the Borre algorithms as a start and added a lot more. Not in MATLAB, though. I got fastgps up and running in MS VS C++ in an afternoon. His book, in which the software is described (although not to the level of detail found in Borre’s book), is excellent. And it is in print.

I use v3 to search signal with data format1 and 6 for sixty seconds.But when I use the old source code to anaylze the signal there is something wrong
Below is the Matlab tell me where is wrong
Hope someone can help me

Not able to read the specified number of samples for tracking, exiting!
??? Error using ==> fclose
Invalid file identifier. Use fopen to generate a valid file identifier.

Error in ==> postProcessing at 127
fclose(0);

Error in ==> init at 75
postProcessing

Customer Reviews

In 2003, CU student Nate Seidle blew a power supply in his dorm room and, in lieu of a way to order easy replacements, decided to start his own company. Since then, SparkFun has been committed to sustainably helping our world achieve electronics literacy from our headquarters in Boulder, Colorado.

No matter your vision, SparkFun's products and resources are designed to make the world of electronics more accessible. In addition to over 2,000 open source components and widgets, SparkFun offers curriculum, training and online tutorials designed to help demystify the wonderful world of embedded electronics. We're here to help you start something.