kkGPS (for lack of a better name)kkGPS will be/is a pure (well almost, you still need a front-end and an A/D converter) software GPS receiver.
This means it uses software correlators instead of the power efficient and cheap hardware correlators. (If anybody has some acquisition hardware for sale (cheap or free) or some sample data please contact me [krys at this domain name]) DisclaimerRight now the software is at the proof-of-concept stage.This is prototype code, so excuse the mess. THERE WILL BE MAJOR CHANGES MADE TO THE CODE. You have been warned. Current Status2006-06-05:The project has been on hold since the beginning of the year do to lack of free time, caused by my move into a real house, the birth of my son, and my new job. (Mainly the new job, the kids have settled into a routine and go to bed early, but then I work some more). Email me with any questions, responses may be delayed. I would really like to see a pure software GPS receiver licensed under GPL developed even if somebody else has to do it, I'll help were I can to make this happen. 2005-11-13: I'm moving into my new house next week. To celebrate (my complete lack of time) I have uploaded the first pass integration of kkGPS with GNURadio README and Archive. 2005-09-23:Acquiring and tracking real signals is not working properly, my guess is my PLL and DLL loops are to sensitive to noise. Email me if you have any question, but it may take a couple of days to get a response I have integrated the GPS signal source and the tracking correlator with GNURadio. I experimented briefly with the DBSRX USRP daughter card (receives 800MHz to 2400MHz) without any luck. This could have something to do with using a spare PC power supply to power the active antenna (I've been packing for move 1 of 2 this weekend, so all of my tools and parts are packed away) So I have gone back to simulated and recorded data for now. I have found that a correlator setup for one SV will acquire and track any SV. This seems to be because of the cross-correlation of the PRN codes and my changes to the acquisition and tracking algorithms to use inter-symbol phase shifts as one of the lock criteria while lowering the threshold of the signal magnitude criteria. The Portland State Aerospace Society (PSAS) have donated some resource for an open software/hardware GNSS mailing list and wiki. Join now and talk to people, who unlike me, know what they are doing and have the time to do it. 2005-03-17: I received some raw data! The files are about 1.3MiB compressed, so to conserve webserver bandwidth I will email them to anyone who is interested. My threshold algorithm was not happy with the data, but the correlators had no problems. Here is an image from a +-8kHz search (with multi symbol averaging) for PRN #27 around the IF frequency. 2004-12-31:![]() The USRP is available!. I've ordered one. 2004-09-22: David Bengtson is looking into GPS frontend options, both dedicated and wideband. I'm looking into removing (or only using for basic debugging) my position calculation algorithms and replacing them GPStk. At the same time I will break up the various correlation, tracking, and framing (bit, word, subframe) algorithms for possible integration with GNURadio. I want to point out that this project is not dead (yet :), I'm just waiting for affordable hardware to appear (any day now). The most likely candidates are the USRP and SSRP
I have also been playing with with threshold calculation based on the use of a "control" (in the scientific sense) channel that searches/tracks a non-visible or non-existent satellite. Current Features
Current PerformanceBoth the C++ and SSE1 correlator runs at about 4x slower then needed for a realtime 12 channel receiver on my P3 550MHz with PC100 RAM.On a P4-HT 3.2GHz with PC3200 RAM that I have access too seems to be able to run a ~30 channel receiver in realtime. Current Tasks
Release Log2004-03-09 2:30AM: Initial Release 0.0 DownloadkkGPS: Version 0.0: Proof-Of-Concept Initial ReleasegrkkGPS: Version 0.1: Initial Integration with GNURadio Links of interestGnuRadio: A GPL software defined radio projectOpenGNSS Mailing List: A mailing list for people working on various types of open source / open hardware GNSS projects OpenGNSS Wiki: The wiki for the OpenGNSS Mailing List OpenSourceGPS: A open source GPS project that works with hardware correlators OpenGPS: Another open source GPS project that works with hardware correlators GPS Front End Info: David Bengtson's GPS front end information page GPStk: A (L)GPL GPS software toolkit ASYNC & GAR2RNX: Software for downloading and processing raw information from Garmin GPS receivers http://www.navcen.uscg.gov/gps/default.htm: General GPS information from the U.S. Coast Guard http://www.schriever.af.mil/GpsSupportCenter/: U.S. Air Force GPS Support Center NAVSYS GPS Papers "A Complete IF Software GPS Receiver: A Tutorial about the Details" "A 12-Channel Real-Time GPS L1 Software Receiver" (Patent Pending) "A Real-Time GPS Civilian L1/L2 Software Receiver" "Adaptive PN Code Acquisition Using Instantaneous Power-Scaled Detection Threshold Under Rayleigh Fading and Pulsed Gaussian Noise Jamming" AuthorKrzysztof "I am no web-monkey" Kamieniecki (email to krys at this domain name)Change Log |