GPS Time - Free Windows Tool - Page 1
Forum section: electronics / general

author: Bicurico
author_rank: Super Contributor
timestamp: June 11, 2019, 08:27:42 pm
content: Hi,I have purchased a cheap USB GPS receiver, mainly to get the accurate GPS time:https://www.aliexpress.com/item/BEITIAN-USB-GLONASS-GPS-receiver-Dual-GNSS-receiver-module-antenna-FLASH-laptop-PC-1-5m-BN/32981069570.htmlBecause I did not find a tool that was easy to use and discrete on the screen, I did my own tool. Note that LadyHeather is a much better tool, but kind of too much for a simple GPS receiver...Anyway, grab your free copy if you want. It is just one .Net executable.Regards,Vitor

author: bob91343
author_rank: Super Contributor
timestamp: June 11, 2019, 08:42:13 pm
content: That looks interesting. How does one use it? I see no software listed.What I want is not only accurate time but also frequency. I have a rubidium standard but if this can do the same job more simply I might go for it.

author: Bicurico
author_rank: Super Contributor
timestamp: June 11, 2019, 09:59:41 pm
content: You just execute the executable inside the ZIP archive I attached. Then you select the COM port of the GPS receiver. That's all.Note that this tool is to be used with GPS receivers supporting NMEA at 4800 baud over RS232 or virtual COM port over USB.The tool will ONLY read the time (and LAT/LONG) out of the NMEA protocol. Nothing more. It is NOT suitable for rubidium standard! For that, please use LadyHeather.Regards,Vitor

author: bob91343
author_rank: Super Contributor
timestamp: June 11, 2019, 10:50:39 pm
content: Thanks Vitor! While I don't like the answer, I appreciate the information. I can still get time accurately enough from WWV but it's been a long time since its carrier frequency has been satisfactory for my use. So my rubidium box is what I need.My counter can now be relied upon for any of the frequency measuring tasks I have, with the rubidium standard as a reference. I could use it as a master oscillator but for that purpose it uses too much precious bench space. So it sits in the closet quietly until such time as I deem a recalibration may be in order. That's better anyway, as its expected life is much longer.

author: texaspyro
author_rank: Super Contributor
timestamp: June 12, 2019, 01:40:26 am
content: Heather does have a nice full-screen zoomed clock/date display that can run off a GPS receiver or the system clock. It can either zoom the digital clock or analog watch to full-screen. The clock supports time zones and daylight saving time corrections. There is also an audible tick clock mode that provides ticks on the second and/or minute... useful for setting other clocks.If you have an environmental sensor attached, it can also display humidity, temperature, and air pressure.

author: bob91343
author_rank: Super Contributor
timestamp: June 12, 2019, 05:15:48 am
content: Well yes apparently there are lots of functions available. But my needs are simpler. I only want two things: accurate time and accurate frequency, arguably the same thing in different forms.Time is more complete, as it is basically an accurate frequency but referenced to a time frame.I want time accurate to about one second, easily available with WWV. I want frequency to perhaps one part in a billion. One part per billion means uncertainty of one Hz at one GHz. Close enough to set my radio dial.I can measure frequency two ways that are accurate. My HP counter will go up to perhaps 400 MHz and can resolve 0.1 Hz so that's better than 1 ppb. My rubidium standard is fine for setting up the master 10 MHz oscillator to that precision.Above that frequency I am limited by a cheap counter that can go to around 2.4 GHz but its reference isn't anywhere near that good. To cross over, my signal generator has an OCXO that I can set closely, and after about 45 minutes warmup it is good enough for that precision. What I do is measure its 10 MHz master oscillator with my counter (or compare it to the rubidium standard) while it generates 2.06 GHz (its maximum frequency). So I can trust the 2.06 GHz to be within the same precision as the master oscillator.While these things are of almost no practical value to me, I find it is satisfying to do such precision work at home with gear that I obtained cheaply. It is, after all, a hobby, and if I get my jollies staring at a 10 digit frequency display or timing the revolution of a Lissajous pattern, at least I'm not bothering anyone. And yes, I do come out of my cave and do other things, like weight lifting and playing jazz and working DX and cooking and yard work.

author: Electro Fan
author_rank: Super Contributor
timestamp: June 12, 2019, 08:46:52 am
content: Nice post and well said.Quote from: bob91343 on June 12, 2019, 05:15:48 amWhich model HP counter are you using?

author: bob91343
author_rank: Super Contributor
timestamp: June 12, 2019, 04:21:43 pm
content: HP 5328A I cobbled together from three nonworking units. It has the 10811 OCXO.

author: texaspyro
author_rank: Super Contributor
timestamp: June 13, 2019, 02:15:10 am
content: You should try and add the time zone and DST functionality... those make for a much more generally useful time display program. Also, an alarm clock feature is quite useful... ahhh, the subtle wonders of feature creep... before you know it, you will have a 100,000+ line program... now, what time is it on Mars in the Aztec calendar?

author: bob91343
author_rank: Super Contributor
timestamp: June 13, 2019, 02:27:28 am
content: No thanks. I am not interested in features. Just time and frequency, thank you.This stuff isn't to impress visitors. It's just for my pleasure and, now and then, a bit of bragging to the very few who have any idea what this is about. I did show my nearly stationary Lissajous pattern to one engineer who said wow but then he left and I am still playing.Back in the day I would look in General Radio catalogs and see the 7 foot rack with the clock on top and think that I want something like that. Well, I kind of do have that capability but I rely on an 'atomic' clock that receives, I think, WWV on some low frequency. Its displayed time is within one second of the standard, just what I want. And the rubidium oscillator gives me very good frequency calibration.

author: bitseeker
author_rank: Super Contributor
timestamp: June 13, 2019, 04:33:49 am
content: Quote from: Bicurico on June 11, 2019, 08:27:42 pmNeat little tool, Vitor.Bonus points for being able to set the OS clock. No need for Internet time anymore.

author: Bicurico
author_rank: Super Contributor
timestamp: June 13, 2019, 07:09:27 am
content: I must look into how to set the OS clock - no idea how to do that or if you need special permissions to do so.By the way, I realized yesterday that I am commiting a calculation error when converting the GPS LAT/LONG positions...Need to fix that ASAP.As I said - this tool is just a simple tool to show the clock and generally see if the device is working. Inbterestingly I did not find any such tool for free, hence why I did this one.Regards,Vitor

author: Bicurico
author_rank: Super Contributor
timestamp: June 13, 2019, 08:36:58 pm
content: Hi,I fixed the bug in the LAT/LONG conversion from NMEA to Decimal format and, why not, added a new function that draws the variation of the geographic position:The first position is centered in the image and then a line is drawn from previous point to each new position.This shows the random error introduced for civilian use.I could not resist uploading this picture, obtained by a 1 minute trial run: doesn't it look like a cool dude walking?It actually reminds me of Mortadelo y Filemon. Or Mort and Phil to English readers, Clever & Smart in German.Perhaps just my imagination...Attached new version.Regards,Vitor

author: hwj-d
author_rank: Frequent Contributor
timestamp: June 14, 2019, 01:42:55 am
content: Yes, Clever & Smart.

author: bitseeker
author_rank: Super Contributor
timestamp: June 14, 2019, 02:06:38 am
content: Quote from: Bicurico on June 13, 2019, 07:09:27 amAt least in the Control Panel, there is a shield on the button to change the time/date as well as the Internet time settings.Quote from: Bicurico on June 13, 2019, 08:36:58 pmI see it, too. Pretty funny. The brain is very good at pattern recognition, whether or not it's technically correct.

author: texaspyro
author_rank: Super Contributor
timestamp: June 14, 2019, 02:24:04 am
content: Quote from: Bicurico on June 13, 2019, 07:09:27 amUnder Win XP you do not need permission. I think later Windoze versions require admnistrator rights. Linux, etc requires super user status.Lady Heather has a clock setting feature. It can set the clock on demand or whenver the GPS and system time diverge by more than a set threshold. Take a look at the Heather source code (function set_cpu_clk() in heather.cpp) to see how it does it. There are some subtleties in setting the system clock accurately.

author: SilverSolder
author_rank: Super Contributor
timestamp: June 23, 2019, 03:13:24 am
content: Quote from: Bicurico on June 13, 2019, 08:36:58 pm"In May 2000, at the direction of President Bill Clinton, the U.S government discontinued its use of Selective Availability in order to make GPS more responsive to civil and commercial users worldwide."https://www.gps.gov/systems/gps/modernization/sa/

author: Bicurico
author_rank: Super Contributor
timestamp: June 23, 2019, 05:59:01 pm
content: Hi SilverSolder,I know about that, yet the GPS position is only accurate +/- 10m.When I leave my software running it will form a big cloud due to the randomness of the location received.Of course I don't know WHY this randomness occurs and it may not habe to do with the Selective Availability.Thank you for pointing this out, though.Regards,Vitor

author: rsjsouza
author_rank: Super Contributor
timestamp: June 23, 2019, 06:18:14 pm
content: Quote from: Bicurico on June 13, 2019, 08:36:58 pmIn Brasil they were Mortadelo e Salaminho. Pretty cool comics that I read together with Asterix e Obelix.(now, carry on with the normal programming)

author: Conrad Hoffman
author_rank: Super Contributor
timestamp: June 23, 2019, 07:31:50 pm
content: There used to be a program called sawatch that might be interesting to look at. It's long gone, but there's still a page with a screen shot and some description-http://www.gpsinformation.net/main/sawatch.htmI used it for a while and when I tried to run it recently, my new machine said no way no how. That's when I discovered Lady Heather, which does a nice job even though I just use it with an old Magellen Explorist 210. My main interest is averaging to get a more accurate position. One question I've always had is how much waas helps with elevation. GPS elevation is pretty lousy. Barometers work better if you have a good reference to set them to. Up the road I have a handy HARN station-https://www.ngs.noaa.gov/datums/harn.shtmlIt's really nothing more than the usual brass benchmark set in concrete, but with a much better downloadable data sheet.

author: Bicurico
author_rank: Super Contributor
timestamp: June 23, 2019, 07:59:34 pm
content: I actually know very little about GPS...Here is a sample picture showing how the position changes over time. Of course this is a GPS receiver connected to my home PC and it is not moving at all.The graph works like this: the first position is set as centre of the picture box. Then I just consider the relative change in position and draw it on the graph with line segments. The graph essentially shows the last 4 digits of the position.Regards,Vitor

author: Bicurico
author_rank: Super Contributor
timestamp: June 24, 2019, 07:59:16 am
content: Left it running over night - it is clear that the position hovers around, but could be optimized if one would take the average.Never mind the red lines - these are wrong and due to false readings or, most probably, some bug in my software.Regards,Vitor

author: bitseeker
author_rank: Super Contributor
timestamp: June 24, 2019, 04:48:58 pm
content: Your lab sure gets around.

author: Bicurico
author_rank: Super Contributor
timestamp: June 25, 2019, 07:37:05 am
content: LolBut have I mentioned that my lab is now wife-approved?After some home remodelling with new furniture she now loves the space as my desk is ingeniously hidden and no cables in sight.I should become an interiour architect.

author: hamster_nz
author_rank: Super Contributor
timestamp: June 25, 2019, 08:24:08 am
content: Quote from: Bicurico on June 23, 2019, 05:59:01 pmThe actual accuracy was designed to be +/-10m,95% of the time. There are quite a few reasons for errors.* Less than ideal reception (e.g. poor antenna placement)* Without SBAS (Space Based Augmentation System), the current atmospheric, ionospheric and space weather conditions cause most of the 10m of 'standard 'error.* The receiver picks which space vehicle signals to use in computing a fix, based on quality of signal (e.g. S/N ratio, height in the sky...). As it a selects to use different satellites the solution will change.* The signal tracking loops are tuned for a moving receiver, allowing the frequency and phase to change as the receiver moves around and change direction, so they must have quite a bit of 'slop', making them susceptible to noise.* Multipath / signal reflections can cause errors in the phase of the received signals.* Uneven coverage in the sky - The orbit of the satellites never take them into the far north or south sky - you need a clear sky facing the equator for best reception.* The satellites orbits and clock errors are predicted in advance, so are not completely accurate. This too adds to errors.The solutions are pretty mundane:* Use a good GPS module* Use a good external antenna, with a good ground plane. Even a large coffee tin lid will make a good difference. Try it and see the improvement of S/N in the NMEA sentences.* Make sure it has a clear view of the sky, especially towards the equator.* Try to stay away from large building that might cause multi-path errors* See if the module can be told that it is stationary, allowing it to use more appropriate parameters for tracking and filterering* Use a RTK (Real Time Kinematic) receiver with an external service that publishes known errors for you (e.g.https://www.linz.govt.nz/data/geodetic-services/positionz/positionz-real-time-service)I've just attached an image of a cheap module with poor placement on a windowsill over 58 hours. The green grid is 100m.

author: bitseeker
author_rank: Super Contributor
timestamp: June 25, 2019, 09:52:56 pm
content: Quote from: Bicurico on June 25, 2019, 07:37:05 amCongrats! That's a major accomplishment.Quote from: hamster_nz on June 25, 2019, 08:24:08 am100m per division?

author: hamster_nz
author_rank: Super Contributor
timestamp: June 25, 2019, 10:05:54 pm
content: Quote from: bitseeker on June 25, 2019, 09:52:56 pmYes.

author: bitseeker
author_rank: Super Contributor
timestamp: June 25, 2019, 10:14:01 pm
content: Wow, that really is poor placement/reception.

author: hamster_nz
author_rank: Super Contributor
timestamp: June 25, 2019, 10:40:11 pm
content: Quote from: bitseeker on June 25, 2019, 10:14:01 pmHowever 90% of the 200k points were within 10m of the actual location. So almost within spec.

author: bitseeker
author_rank: Super Contributor
timestamp: June 25, 2019, 10:43:59 pm
content: Amazing.

author: Conrad Hoffman
author_rank: Super Contributor
timestamp: June 26, 2019, 02:22:11 am
content: WAAS? It really should be better than that.

author: Johnny B Good
author_rank: Frequent Contributor
timestamp: July 09, 2019, 02:33:59 am
content: Quote from: Bicurico on June 23, 2019, 07:59:34 pmEven when the antenna has a totally clear view of the full sky, the accuracy for the u-blox modules is quoted as being within 2.5 metres of error for 95% of the time. Poor antenna location (indoors on a window ledge for example) increases the deviation errors to ten metres or more (and with it, unwanted phase shifts in the PPS output for a navigation only GPS module - the timing versions, once surveyed in, reduce these timing error induced phase shifts).I recently resited my external mag mount puck antenna to give an almost totally unrestricted sky view which allowed me to produce the deviation plot as shown in the attached image file which I offer for comparison.The deviations are essentially down to limitations of the GPS system from the small errors in the SV position data and the on-board Caesium clocks and the larger random errors introduced by unpredictable changes of electron density in the ionosphere, aggravated by the elevation angles which vary the amount of the ionosphere each of the SV's broadcasts have to traverse to reach your GPS receiver's antenna (then on top of that there's also the issue of multipath reflections from any local ground clutter). All in all, it's a bloody marvel that u-blox et al can offer such accuracy at all!The deviation plot map, afaicr, was set to average (A) mode where it continually resets to a median position of all the plots to date with the current plot shown as a yellow dot at the head of a trail of green dots, the tail of which starts consuming itself after it has reached the 1000 or so plot limit (I really should start timing a fresh plot to determine the actual limit - the 1000 or so is just an educated guess on my part).There is a C for centred plotting option whereby the last plot is kept in the centre of the cross hairs with the whole of the 'drunken walk' trail shifted to hold the last plot's position in the cross hairs. This last option is useful in showing the severity of the deviations at a quick glance - that tiny yellow dot can be rather tricky to spot in a doodle made up of green dots.I tend to use the C option since it looks better most of the time due to there only being the last 1000 or so points displayed making it look better than it really is over the hours and days longer plotting periods which will reveal the much larger ten metre or so excursions when the inconvenient 5% portion of the time that it isn't within 2.5 metres are allowed to intrude and spoil the accuracy claims made by u-blox et al.JBG

author: Johnny B Good
author_rank: Frequent Contributor
timestamp: July 09, 2019, 03:29:20 am
content: Here's the latest deviation plot. I set it to average and then had to re-centre and resize it since it jumped almost entirely outside of the 5 metre radius it had been centred on.These plotting errors which shift the phase of the PPS by +/-15 or so nanoseconds, whilst not a problem for a GPS time reference good enough for 1ms accuracy, are a damned nuisance in a simple and basic GPSDO where they'll phase modulate the 10MHz OCXO frequency with an ultra low modulation frequency of milli to micro Hertz which makescalibratingfree running OCXO references to within 50ppt a matter of dumb luck and heroic levels of persistence.It requires a more sophisticated GPSDO using a micro-controller to run a Kalman filtering algorithm to filter out these unwanted ultra low frequency phase modulations which is something I'll be tackling with my MK2 GPSDO project once I've rebuilt my current basic breadboarded GPSDO into a metal project box./Rolf Harris + "Can you tell what it is yet?" /Rolf Harris - :-)After perusing the posted jpg (full screen), I was able to pick out the current marker (yellow dot) about 600mm SSE and the tail in the SW quadrant. I don't know why yellow had been chosen over red as the current plot point colour. Red would have made it much easier to keep track in the more cluttered parts of the deviation map. Perhaps the programmer suffers from Red/Green colour blindness?As for how many points are plotted before it starts discarding the oldest, the easiest way to count these one per second points is to start a fresh plot and use a stopwatch to time when the tail starts shrinking.There must be at least 500 points so there's no need to check the elapsed time until it hits the 8 minute mark. If it doesn't look like there's enough points after 9 minutes, you can check again at the 16 minute mark and expect a result at the 17 minute mark if my "1000 points" guess is right.It might seem an "Anal thing to do" but I'd like to have a better idea than just my 'gut feeling' as to the time scale a matured plot covers.It's not that it's a difficult conundrum to solve so much as remembering to ready a stopwatch and clear the plot to actually start the timing exercise. It's just too easy to keep putting this simple exercise off indefinitely just because it is so trivial a task.If I ever get round to measuring it, I'll post the answer (unless someone steps in with their own answer).JBG

author: Johnny B Good
author_rank: Frequent Contributor
timestamp: July 09, 2019, 04:48:44 pm
content: Well, I finally ran the timing test on a fresh plot to answer the question as to how many points are retained in the deviation map before the oldest are deleted (eg how big is the circular buffer?).My 'gut feeling' guesstimate of a 1000 or 1023 had been out by almost a factor of two. It turns out that the 'nice round number' choice was based on a convenient humanised scale of 30 minutes (an 1800 points plot) rather than a micro-controller friendly 1023 or 2047 figure.So, no more reliance on a gut based guesstimate. I now have the actual number to quote should this question ever be raised again.Watching it start a fresh plot revealed an insight into what the u-blox NEO M8N does when generating the deviation map in the u-centre software. The initial point starts in the centre, as you might expect but as each new point is added to the plot, you can see the original point displaced in the opposite direction to that of the new point. In my test run, successive points were headed south east, displacing the original point more and more north westwards, culminating in it extending 3 metres NW of the averaged centre point before it was finally annihilated some 1800 seconds later. The attached JPG shows the state within a minute of it completing the 1800 points plot.The amount of displacement of the early points dropped to a matter of a centimetre or two and since it carries on computing a more and more accurate averaged position with each new point plotted as observed by my switching from a centred to an averaged view, presumably it can ultimately calculate an average of all the plots taken to date since it it had started collecting data from the previous restart which could be hours to days worth of run time.It looks as though, given enough time, it could be producing a figure within a millimetre or less of the average of the total fix plot point data. Using a Kalman filtering algorithm avoids having to store the thousands and thousands of data points otherwise required to calculate such a precise average value so, in the case of a Timing GPS module which can be told to assume a static and unmoving fixed position, a 24 hour 'Survey in' run can produce a fix that's accurate to within a millimetre of true, allowing it to treat the 'navigation deviations' as the timing errors they truly are which it can correct to largely eliminate the milli/microHertz nanosecond phase modulation of its PPS output signal. I'm assuming this to be the case otherwise one is left to wonder what the point of the expense of using such timing modules is.Whilst such timing modules can eliminate the troublesome phase shift deviations, allowing a simple two pole RC filtered phase detector circuit to be used directly, they're considerably more expensive than their cheap and cheerful navigation only siblings. Overall, as far as making a DIY GPSDO is concerned, using a cheap GPS module and running the Kalman filtering algorithm in a three dollar micro-controller gets you the same result for less cost.If you're planning on building your very own GPSDO, you can choose to keep the add on PLL nice and simple and use an expensive timing GPS module to overcome the problem of ultra low frequency phase shifts on the 10MHz OCXO reference output or else use a cheap GPS module and run the Kalman filtering algorithm in a cheap micro-controller such as an Arduino nano.The end result in this case should be the same but on balance, the cheap option saves having to run a 'Survey in' cycle before being able to rely upon the GPSDO output since the Kalman filtering improves the MDev figure automatically over the first half hour of getting its initial fix, improving ever further as the hours and days pass by. In short, it's a more flexible option in that it will give you usable accuracy within minutes of being powered back up which automatically improves, without the need for a "Survey in" step, the longer it remains powered up.Obviously, there's no reason why you can't also add a micro-controller to a timing GPS module and run a Kalman filtering algorithm to further smooth out the residual timing errors of the more expensive timing GPS module but for a DIY GPSDO project, that rather strikes me as "Gilding The Lilly" if you're going to throw a micro-controller into the mix anyway.Another advantage of the cheap GPS module with micro-controller to provide the Kalman filtering function is that it can also provide an accurate 'Hold Over' function in the event of loss of the SV signals, even to the extent of continuing the ageing trend on the EFC voltage to the OCXO to hold it on frequency during hours long satellite outage events perhaps even to the extent of staying within nanoseconds of phase of the primary timing sources used to keep the GPS clocks locked to the NIST/NPL standards they depend upon.Of course, as per the OP's requirements, almost any cheap GPS module will provide some four orders of magnitude greater stability than the specified 1ms accuracy making the above observations somewhat academic to say the least.Still, I'm sure others will find these of some interest or even feel obliged to set me straight on any of my assumptions derived from my experience gained over the past six months since I purchased my first GPS module (a genuine u-blox M8N based Arduino/RPI navigation module btw which I broke about a month ago, hence the fake M8N I'm now using).JBG

author: Bicurico
author_rank: Super Contributor
timestamp: July 09, 2019, 05:06:34 pm
content: Cool!Thanks for the valuable input.While I am still a GPS noob, at least I don't feel as being too much of a nerd by having hacked a tool to get the time and, why not, draw the positional error over time. Seems I am not the only one considering accurate time a "thing".It makes me happy that this has lead to the conclusion that one could indeed use the cheap 3 Euro GPS receivers to build a GPSDO. Interesting!All in all, it was 3 Euro well spent - I would not have learned and filled my time as nicely, had I bought some magazine.Regards,Vitor

author: texaspyro
author_rank: Super Contributor
timestamp: July 09, 2019, 07:15:08 pm
content: Quote from: Johnny B Good on July 09, 2019, 04:48:44 pmNope, the best that simple averaging of fixes from a cheap receiver can reliably get too is around 2 meters. Lady Heather has a "precision survey" feature that uses a combination of medians and averages that typically gets to under a meter.Lady Heather also has fix map scattergram plot. It does not use a circular buffer. It draws the position points as they come in (and keeps an internal copy if the fix scattergram is turned off). There is no limit to how many points it can display. The color of the points changes every hour and the color cycle repeats every 12 hours. If two fixes map to the same pixel, the last one at that position winds up being displayed.The default scaling mode for the fix map is a fixed number of meters per division (default is 3 m/div). The scattergram size is 10x10 divisions. The latest code has a auto-scale option. Once fixes start falling outside the boundaries of the scattergram, the scale is increased. Note that if the scale changes, the scattergram is re-constructed from the plot queue data... that does limit the maximum time span that the scattergram covers (default plot queue size is 3 days).

author: Johnny B Good
author_rank: Frequent Contributor
timestamp: July 09, 2019, 08:54:16 pm
content: Quote from: Bicurico on July 09, 2019, 05:06:34 pmDon't worry, Vitor, you're far from being the only 'nerd' to consider accurate time as being "A Thing". There's a whole community of "Time nuts" for whom 'time accuracy' is virtually The Only 'Thing' in their busy lives.Almost every GPS receiver module offers a PPS output which can be used one way or another to discipline an OCXO. Some might not bring it out onto a readily accessable interface pin, necessitating a connection to the PPS pin on the RX IC itself which drives the flashing PPS LED by soldering a wire to either the IC's pin or else its connection to the current limiting resistor which feeds the LED (whichever is easiest to access).In most cases, this a fairly trivial modification. There are mercifully few GPS receivers that don't have such a PPS connection of any sort so the chances of buying one that can't be used in a GPSDO project are pretty slim. However, as usual, it's best to check against this unlikely possibility before you buy. Murphy has a habit of invoking His Law whenever any of his subjects take such foolhardy risks as to leave things to chance.You might be interested in the Lars diy gpsdo thread here:https://www.eevblog.com/forum/projects/lars-diy-gpsdo-with-arduino-and-1ns-resolution-tic/msg1278672/#msg1278672Rather sadly for us all, he passed away 28th December last year after losing his battle with cancer. The useful feature of the Lars design is that it should work with any GPS that has a 1PPS output. It doesn't rely on the slightly more expensive modules that allow the PPS to be programmed to any frequency from 1 to 16000000Hz such as the u-blox 7 and 8 series and other makes which also offer this or a similar feature.Using a simple phase lock loop with a 10,000,000 divide down ratio to lock a 10MHz OCXO to a 1Hz PPS reference is rather like glacier watching. The process of waiting to get a lock on a 1KHz reference (a u-blox NEO-6M) is glacial enough, thank you very much!The now discontinued Navman Jupiter was one of, if not the, first GPS receiver to offer a 10KHz PPS output option about a decade or so back and became popular with DIY GPSDO builders since a simple PLL with a division ratio of just 1,000 could be used, speeding up the lock time considerably with most OCXOs. I'm currently using a fake M8N configured to output a 100KHz PPS signal to drive the Phase detector, allowing for a mercifully brief lock up time with a dual divide by ten 74HC390 to generate the 100KHz from my 10MHz OCXO.I've experimented with locking to the 1MHz and even the 10MHz options (as well as 1 and 10KHz) but the 100KHz option seems to be the best compromise with a simple PLL setup. If you want some freedom to experiment with a simple PLL setup, you can buy such GPS receivers that offer the option to change the PPS frequency for not much more money than that cheap and cheerful unit you bought. U-Blox don't own the monopoly on GPS receiver modules that can generate a 10MHz output locked to GPS time. There are other brands with the same or similar feature.It's an amazing thought that you can now buy a GPS receiver module for less than the price of a typical specialist magazine these days.Even that NEO-6M was only 4 quid but, sadly for me, it could only be programmed to a maximum frequency of 1KHz on its PPS line and worse still, I eventually discovered a weird bug which had nearly driven me clean round the bend whereby the pulse would start shrinking halfway through a 10 to 15 minute cycle that seemed related to the sawtooth correction algorithm used by the module to keep the leading edge of the PPS aligned to GPS time, before finally disappearing up its own fundament to instantly reappear as the original 1:1 mark space ratio pulse I'd programmed it to.No wonder I couldn't get it to lock with a phase only detector circuit (XOR gate) and only managed short lived successes at best with the phase/frequency detector of a 4046 micropower PLL chip. It wasn't until I decided to monitor the waveform of the PPS going into the phase detector that I finally spotted what was going on.I may have simply been unlucky in getting a module with buggy firmware. Perhaps not all NEO-6Ms suffer this defect or maybe it's only an issue when the PPS is reprogrammed from its 10ms wide 1Hz default setting, who knows? I've a mind to test whether it works ok at the default setting but haven't gotten round to setting it up again to run the tests. In any case, this is a potential problem to keep in mind if you are ever tempted to purchase an insanely cheap NEO-6M. Still, I suppose I can hardly complain, after all, I got a lot more entertainment out of it than a 5 quid magazine.JBG

author: Johnny B Good
author_rank: Frequent Contributor
timestamp: July 09, 2019, 10:00:38 pm
content: Quote from: texaspyro on July 09, 2019, 07:15:08 pmThanks for the heads up on the positional accuracy limits. The behaviour of the deviation map gave the impression that, given the use of a Kalman filtering algorithm and sufficient time, it could land up averaging the deviation down to millimetres of error. Plainly this is so far from the claimed accuracy (2.5 metres iirc) as to be wishful thinking as to where it was trending from the deviation map evidence alone.I think the only reason I even entertained such accuracy was down to the 'Survey in' configuration settings that only apply in the case of the timing modules which allow you to specify an accuracy of 100mm as a terminating condition for the surveying operation. Unless the timing modules are blessed with larger ram, I presume they'd have to use Kalman filtering to achieve such surveyed in accuracy.I managed to install LH into my winXP VM (the host is Linux Mint 17.1) and get it working but it has the unfortunate side effect with the M8N of disabling the antenna power, leaving the GPS module very deaf (I think it worked ok with the NEO-6M though), necessitating a reset to defaults before I can re-activate the antenna power so I've had to stop using it with the M8N and stick with u-centre which works but not without its own annoyances, namely the plethora of configuration options of which only a few will apply to any one model of u-blox gps module with no immediate indication as to which of the tiny subset that works and which of the much larger subset that doesn't.JBG

author: texaspyro
author_rank: Super Contributor
timestamp: July 09, 2019, 11:43:29 pm
content: Heather does not send any commands that should affect the antenna power. I have three different M8 receivers that work without any problems.

author: Johnny B Good
author_rank: Frequent Contributor
timestamp: July 10, 2019, 01:49:39 am
content: Quote from: texaspyro on July 09, 2019, 11:43:29 pmIn that case, it looks like I might have confused which of the modules had acted up in regard of the antenna power getting disabled. It's been over a month since I last used LH. I'll try running it again tomorrow with my crippled M8N and that funky 6M to check which of the two had responded so badly to Heather's tender touch and report back.

author: BravoV
author_rank: Super Contributor
timestamp: July 10, 2019, 01:58:14 am
content: My friend had an acting up GPSDO while ago, had similar problem and ended up the 5V supply rail to the antenna was wonky, not sure if this helps, but worth checking imo.

author: Johnny B Good
author_rank: Frequent Contributor
timestamp: July 10, 2019, 02:49:21 pm
content: Ok, I reran LH which is version 5.00 btw if that matters.The M8N had its antenna power turned off but SVs were still being received by the indoor active antenna. Going back to u-centre, SVs could still be received about 10 dB down and the antenna power settings had all been cleared. I didn't have to revert to defaults to restore them - simply ticking the 4 boxes restored the antenna settings directly and the SV signals came back up.The NEO-6M antenna settings weren't disabled by LH but swapping back to u-centre resulted in blank SV signal bars in both current and history windows whilst mysteriously, the deviation map was still plotting deviations as if nothing were amiss. I had to unplug the USB to RS232 serial adapter from the USB socket and plug it back in to restore normality (the 6M, unlike the now broken M8N, doesn't have a built in USB interface port, only a ttl serial interface, hence the use of an adapter - likewise the fake M8N replacement I'm using in my GPSDO project).TBH, even without these issues, as far as the u-blox receivers are concerned, I much prefer to use u-centre. I can live with the annoyances of its configuration interface and the deviation map and signal strength displays are far more user friendly even though they could still do with some improvements imo.Obviously, where LH will come into its own will be its use with other brands of GPS or GPSDO receivers that I may acquire in the future so it's staying installed in the VM indefinitely, ready to be deployed for just such occasions. Also, of course, it has GPSDO centric features absent in u-centre which will be of more use when I eventually build myself a 'proper' GPSDO.I'm not complaining (it would be rather churlish of me to do so), just mentioning my own experiences which may be due to my using an older version of LH or possess through my 'cheapness' u-blox receiver examples with buggy firmware. I can appreciate the difficulty of writing software that has to cope with a very wide range of hardware that is supposedly following a well defined and documented standard. There's only so much hardware you can afford to buy and try for yourself before you're down to relying on properly documented bug reports from users of alternative hardware.I don't think it's worth bothering with providing a bug report on the 6M since that's a rather dated "One Trick Pony" (GPS only - it knows nothing of GNSS, just GPS). If you're interested in a bug report for the M8Ns I have, I can try and provide any details you require if you so desire but I'm not particularly concerned about a 'fix' in either case (although if I'm simply running an out of date version of LH (version 5.00 in this case), a pointer to the latest binary, compatible with winXP, would be much appreciated).JBG

author: Johnny B Good
author_rank: Frequent Contributor
timestamp: July 10, 2019, 03:51:31 pm
content: Quote from: BravoV on July 10, 2019, 01:58:14 amThanks for the thought but that's definitely not the issue in this case.JBG