| Products > Test Equipment |
| TM4313 GPSDO: strange behavior after a night of poor reception |
| (1/7) > >> |
| shapirus:
I'm new to the GPSDO topic. I bought a GPSDO during an Aliexpress sale out of curiosity, and it later turned out to be (per reviews) one of decent enough models, known as TM4313. When the antenna is placed outside (it's enough for it to be just outside), it seems to work as expected: it starts receiving the GNSS signal(s) rather quickly, then switches to the "tracking" state in a few minutes, and then in some more minutes (~20-ish) it switches to what seems to be "fine" tracking, as described in more details at https://tomverbeure.github.io/2023/07/09/TM4313-GPSDO-Teardown.html Once it is in this tracking state, it agrees to within a fraction of Hz with my TinySA Ultra's calibration output, and once both are warmed up, the frequency difference remains stable at 0.3-0.4 Hz or ~30-40 ppb. Since they both agree so well, and looking at the status messages received over the serial (to USB) interface, I assume that it is this state of the GPSDO that is correct. Now, I decided to let it run overnight and moved the antenna inside the room, leaving it stuck to the window with some scotch tape (later in the morning I found that the tape failed and the antenna was lying on the window sill). I don't know how many satellites the GPSDO can see in either of those locations, but my smartphone barely sees one or two when placed right on the window glass inside, and a lot of them once just outside. After a night spent with the antenna being inside, the messages from the controller (I changed the jumpers to receive the microcontroller's messages instead of the GPS module's messages over the serial-to-USB interface) looked way off, like this: --- Code: ---Ph = 4760, D = 1039687, GL = 0, LOS = 3, ST = 78213, AF = 37, RT = 78519 Ph = 4900, D = 1058441, GL = 0, LOS = 3, ST = 78214, AF = 37, RT = 78520 Ph = 4901, D = 1077805, GL = 0, LOS = 3, ST = 78215, AF = 37, RT = 78521 Ph = 4759, D = 1097213, GL = 0, LOS = 3, ST = 78216, AF = 37, RT = 78522 Ph = 4604, D = 1116081, GL = 0, LOS = 3, ST = 78217, AF = 37, RT = 78523 ... Ph = 281, D = 1162668, GL = 0, LOS = 3, ST = 78255, AF = 37, RT = 78561 Ph = 144, D = 1153634, GL = 0, LOS = 3, ST = 78256, AF = 37, RT = 78562 Ph = 6, D = 1144387, GL = 0, LOS = 3, ST = 78257, AF = 37, RT = 78563 Ph = -136, D = 1134960, GL = 0, LOS = 3, ST = 78258, AF = 37, RT = 78564 Ph = -280, D = 1125348, GL = 0, LOS = 3, ST = 78259, AF = 37, RT = 78565 ... Ph = -5755, D = 1051665, GL = 0, LOS = 3, ST = 78293, AF = 37, RT = 78599 Ph = -5918, D = 1027427, GL = 0, LOS = 3, ST = 78294, AF = 37, RT = 78600 Ph = -5943, D = 1002474, GL = 0, LOS = 3, ST = 78295, AF = 37, RT = 78601 Ph = -5826, D = 977371, GL = 0, LOS = 3, ST = 78296, AF = 37, RT = 78602 Ph = -5700, D = 952698, GL = 0, LOS = 3, ST = 78297, AF = 37, RT = 78603 ... Ph = -254, D = 937942, GL = 0, LOS = 3, ST = 78377, AF = 37, RT = 78683 Ph = -139, D = 945679, GL = 0, LOS = 3, ST = 78378, AF = 37, RT = 78684 Ph = -23, D = 953570, GL = 0, LOS = 3, ST = 78379, AF = 37, RT = 78685 Ph = 95, D = 961609, GL = 0, LOS = 3, ST = 78380, AF = 37, RT = 78686 Ph = 216, D = 969799, GL = 0, LOS = 3, ST = 78381, AF = 37, RT = 78687 ... --- End code --- The "Ph" (phase difference?) parameter oscillated up and down, never converging to zero, the "D" parameter was always way above normal (see below), and the AF parameter remained at the value indicating what seems to be "coarse" tracking. Weirdly enough, it never thought it lost tracking, which is indicated by the ST parameter, which means seconds since tracking started or stopped (and RT means seconds since power-on). Most importantly, the frequency it produced in this state was way off, at least tens of Hz difference against the TinySA. I also suspect that the OCXO used in my unit is not the best, as the frequency quickly wanders off once GPS tracking is lost, but that's a different story. Things did not change when I moved the GPS antenna outside. It still could not catch up after ~30 min or so. Then I disconnected and reconnected the antenna. It promptly detected the loss of signal (GL=1): --- Code: ---Ph = -3064, D = 738791, GL = 0, LOS = 3, ST = 79728, AF = 37, RT = 80034 Ph = -3005, D = 742375, GL = 0, LOS = 3, ST = 79729, AF = 37, RT = 80035 Ph = -3005, D = 745982, GL = 1, LOS = 3, ST = 79730, AF = 37, RT = 80036 Ph = -3005, D = 745982, GL = 1, LOS = 4, ST = 0, AF = 37, sK = 2.06052, RT = 80037 Ph = -3005, D = 942403, GL = 1, LOS = 4, ST = 1, AF = 37, RT = 80038 Ph = -3005, D = 942401, GL = 1, LOS = 4, ST = 2, AF = 37, RT = 80039 --- End code --- Then it, as it would normally do on power-on, started to receive the GPS signal (GL=1 transitioning to GL=0): --- Code: ---Ph = -1343, D = 942376, GL = 1, LOS = 4, ST = 14, AF = 37, RT = 80051 Ph = -1228, D = 942374, GL = 1, LOS = 4, ST = 15, AF = 37, RT = 80052 Ph = -1110, D = 942372, GL = 0, LOS = 4, ST = 16, AF = 37, RT = 80053 Ph = -996, D = 425986, GL = 0, LOS = 2, ST = 0, AF = 37, RT = 80054 Ph = -951, D = 405986, GL = 0, LOS = 2, ST = 0, AF = 37, RT = 80055 --- End code --- -- at this point the 10 MHz frequency output becomes very close to the TinySA. Then it starts tracking (LOS=2 -> LOS=3, ST resets, Ph fluctuates close to zero): --- Code: ---Ph = -3774, D = 565986, GL = 0, LOS = 2, ST = 40, AF = 37, RT = 80182 Ph = -3770, D = 565986, GL = 0, LOS = 2, ST = 41, AF = 37, cK = 0.003312E-9/LSB, RT = 80183 Ph = -3764, D = 550892, GL = 0, LOS = 2, ST = 42, AF = 37, RT = 80184 Ph = -3761, D = 550892, GL = 0, LOS = 2, ST = 43, AF = 37, RT = 80185 Ph = -3760, D = 550892, GL = 0, LOS = 2, ST = 44, AF = 37, RT = 80186 Ph = -3761, D = 550892, GL = 0, LOS = 2, ST = 45, AF = 37, RT = 80187 Ph = -3760, D = 550892, GL = 0, LOS = 2, ST = 46, AF = 37, RT = 80188 Ph = 0, D = 550892, GL = 0, LOS = 3, ST = 0, AF = 37, RT = 80189 Ph = -1, D = 550892, GL = 0, LOS = 3, ST = 1, AF = 37, RT = 80190 Ph = 0, D = 550892, GL = 0, LOS = 3, ST = 2, AF = 37, RT = 80191 --- End code --- -- at this point the 10 MHz frequency has the same difference measured earlier against the TinySA and the difference remains stable. And then, finally, it switches to what seems to be "fine" tracking state (AF=37 -> AF=73, and the steps of the changes in D become very small): --- Code: ---Ph = 1, D = 550704, GL = 0, LOS = 3, ST = 997, AF = 37, RT = 81186 Ph = 0, D = 550704, GL = 0, LOS = 3, ST = 998, AF = 37, RT = 81187 Ph = -1, D = 550704, GL = 0, LOS = 3, ST = 999, AF = 73, RT = 81188 Ph = 0, D = 550704, GL = 0, LOS = 3, ST = 1000, AF = 73, RT = 81189 --- End code --- No observable output frequency change at this point. Now, just by looking at the output, I think it's safe to assume that this (the latest messages) is its normal state, and what I saw after a night of potentially poor signal reception and/or low number of satellites, was not. It seems that it got locked up in some bad state and needed an antenna reset to come out of it back to normal. Would it be able to resolve that bad state on its own with the antenna placed outside? I don't know, I didn't have the patience to wait. What was it that I observed? Was it expected? There's not much information on the internet about this device, but I believe there are a few people here on this forum that own it, so maybe they have some thoughts, or maybe some general GPSDO considerations may be applicable. |
| tverbeure:
There's very little literature on the TM4313 other than my blog post, and other than you and me, I don't think anyone has gone father in their analysis of the TM4313 log messages. I'm surprised by the frequency difference of 0.3-0.4Hz that you're observing. That's more than I'm seeing. This weekend, as part of a new blog post (https://tomverbeure.github.io/2024/04/06/Guide-Tech-GT300-Frequency-Reference-Teardown.html), I measured the clock of free-running frequency standard against the TM4313 and got a precision of around 1mHz (see video at the bottom of the page). This is with the TM4313 being in lock for more than a day. Earlier, I also measured the TM4313 against the 10MHz output of a modded SyncServer S200 that was in GPS lock. They are within 20mHz of each other, but the SyncServer S200 has a larger variation than the TM4313 when measured against the GT300 reference. A retired HP veteran who was involved in the design of a bunch of frequency counters told me that GPSDOs are extremely tedious to work on because of the long time constants. It's one of the reasons why I decided to buy the 4313 instead of making one myself. You're kind of running into the same issue: "...I didn't have the patience to wait." :D It'd be interesting to see if you can reproduce it and check if it recovered eventually after getting a decent GPS signal again. Tom |
| shapirus:
--- Quote from: tverbeure on April 09, 2024, 05:21:59 pm ---There's very little literature on the TM4313 other than my blog post, and other than you and me, I don't think anyone has gone father in their analysis of the TM4313 log messages. --- End quote --- Of course I'm not even surprised to find you on this forum. Where else could I meet the author of a blog post about a very specialized piece of equipment? :) --- Quote from: tverbeure on April 09, 2024, 05:21:59 pm ---I'm surprised by the frequency difference of 0.3-0.4Hz that you're observing. That's more than I'm seeing. This weekend, as part of a new blog post (https://tomverbeure.github.io/2024/04/06/Guide-Tech-GT300-Frequency-Reference-Teardown.html), I measured the clock of free-running frequency standard against the TM4313 and got a precision of around 1mHz (see video at the bottom of the page). --- End quote --- Well, the TinySA Ultra has never been supposed to serve as a frequency standard. It's a cheap device whose primary function is SA. I'd say it's surprising that the difference is so small, as it's a budget-constrained device and it has "only" a TCXO for the clock generator which isn't synced to any external reference. So it's quite stable and is well trimmed on the factory. I wonder if it's possible to readjust it btw, using the GPSDO as a reference. Given how stable it is, it might make sense to trim that 0.3 Hz difference further to make it match the GPSDO perfectly. That doesn't matter much for the SA part with its minimum RBW of 200 Hz, but it would be nice for the calibration output to provide an even better frequency reference (of course if we assume that the GPSDO is more accurate). I have no other frequency reference to compare these two against. --- Quote from: tverbeure on April 09, 2024, 05:21:59 pm ---A retired HP veteran who was involved in the design of a bunch of frequency counters told me that GPSDOs are extremely tedious to work on because of the long time constants. It's one of the reasons why I decided to buy the 4313 instead of making one myself. You're kind of running into the same issue: "...I didn't have the patience to wait." :D --- End quote --- You know how it goes. Start with a simple ready made device, then develop a feeling that you need something better, decide that it might be possible to do it yourself... --- Quote from: tverbeure on April 09, 2024, 05:21:59 pm ---It'd be interesting to see if you can reproduce it and check if it recovered eventually after getting a decent GPS signal again. --- End quote --- Yes I will check it. I won't try to cause it deliberately this night, though, because I want to see if it changes its state after tracking for more than 24 hours (the datasheet says, or I read it elsewhere, that the track LED has to start flashing less frequently then) and whether the frequency difference against the TinySA Ultra at that point will change. GPS reception seems to become worse during the night, though, so it may happen on its own again, so I'll see how it goes this time. Now the antenna is inside, stuck on the window glass again, and it's changing between good: --- Code: ---Ph = 0, D = 550850, GL = 0, LOS = 3, ST = 33590, AF = 73, RT = 113779 Ph = 0, D = 550848, GL = 0, LOS = 3, ST = 33591, AF = 73, RT = 113780 Ph = 1, D = 550848, GL = 0, LOS = 3, ST = 33592, AF = 73, RT = 113781 Ph = -1, D = 550844, GL = 0, LOS = 3, ST = 33593, AF = 73, RT = 113782 Ph = 0, D = 550844, GL = 0, LOS = 3, ST = 33594, AF = 73, RT = 113783 Ph = -1, D = 550844, GL = 0, LOS = 3, ST = 33595, AF = 73, RT = 113784 Ph = -1, D = 550846, GL = 0, LOS = 3, ST = 33596, AF = 73, RT = 113785 Ph = -1, D = 550848, GL = 0, LOS = 3, ST = 33597, AF = 73, RT = 113786 Ph = 0, D = 550850, GL = 0, LOS = 3, ST = 33598, AF = 73, RT = 113787 --- End code --- ...and not so good, but not bad either: --- Code: ---Ph = 4, D = 550643, GL = 0, LOS = 3, ST = 33681, AF = 37, RT = 113870 Ph = 4, D = 550634, GL = 0, LOS = 3, ST = 33682, AF = 37, RT = 113871 Ph = 4, D = 550626, GL = 0, LOS = 3, ST = 33683, AF = 37, RT = 113872 Ph = 4, D = 550617, GL = 0, LOS = 3, ST = 33684, AF = 37, RT = 113873 Ph = 4, D = 550609, GL = 0, LOS = 3, ST = 33685, AF = 37, RT = 113874 Ph = 3, D = 550600, GL = 0, LOS = 3, ST = 33686, AF = 37, RT = 113875 Ph = 3, D = 550596, GL = 0, LOS = 3, ST = 33687, AF = 37, RT = 113876 Ph = 3, D = 550591, GL = 0, LOS = 3, ST = 33688, AF = 37, RT = 113877 --- End code --- but then goes back to good again: --- Code: ---Ph = 0, D = 550718, GL = 0, LOS = 3, ST = 33774, AF = 37, RT = 113963 Ph = 0, D = 550726, GL = 0, LOS = 3, ST = 33775, AF = 37, RT = 113964 Ph = 0, D = 550734, GL = 0, LOS = 3, ST = 33776, AF = 37, RT = 113965 Ph = 0, D = 550741, GL = 0, LOS = 3, ST = 33777, AF = 37, RT = 113966 Ph = 0, D = 550749, GL = 0, LOS = 3, ST = 33778, AF = 73, RT = 113967 Ph = 0, D = 550749, GL = 0, LOS = 3, ST = 33779, AF = 73, RT = 113968 Ph = 0, D = 550753, GL = 0, LOS = 3, ST = 33780, AF = 73, RT = 113969 Ph = 0, D = 550757, GL = 0, LOS = 3, ST = 33781, AF = 73, RT = 113970 --- End code --- Btw note how the AF values in the "coarse" state are different in your unit and mine: 19 vs 37. The OCXO is also different, mine definitely doesn't have the logo yours has, but unfortunately I didn't take a good picture when I opened it. Will do when I power it off. |
| nctnico:
--- Quote from: tverbeure on April 09, 2024, 05:21:59 pm ---Earlier, I also measured the TM4313 against the 10MHz output of a modded SyncServer S200 that was in GPS lock. They are within 20mHz of each other, but the SyncServer S200 has a larger variation than the TM4313 when measured against the GT300 reference. --- End quote --- For proper GPSDO testing you'll need 3 units (2 known-good) and compare against eachother using time interval counters. Or use a Cesium clock to be absolutely sure. Either way you'll need to measure over a 48 hour period so you have the GPS satellites fly in about the same formation over 2 times. @shapirus: are you certain there is no GPS jamming going on in your region? |
| tverbeure:
> For proper GPSDO testing you'll need 3 units (2 known-good) and compare against each other using time interval counters. Or use a Cesium clock to be absolutely sure. Either way you'll need to measure over a 48 hour period so you have the GPS satellites fly in about the same formation over 2 times. I have a Symmetricom OT-21. It has a GPSDO with a Rubidium clock, but it's used for telecom timing and doesn't have a 10MHz or 1PPS output. So I first need to create a small interposer PCB that brings out those 2 signals from the Rb module, and buffers them up. (It's also annoying that they need to be powered with -48VDC.) Anyway, the question still remains then: if you have 3 GPSDOs, how to do know that they're good? And also, what kind of measurements and post-processing does one typically make? |
| Navigation |
| Message Index |
| Next page |