I'm working on the Aging and Thermal Correction algorithms in my GPSDO. At this point, it's pretty simple: For aging, every X seconds I either increment or decrement the DAC value by 1 as determined by the unit's performance history. For thermal, every X seconds (user settable) I check to see if the thermistor has increased or decreased and step the DAC one step in that direction.
So, now I'm wondering if there's any correlation between the temperature and aging. IOW, if the ambient temperature in the case goes up a degree F, does that change the aging rate by some small fractional value? I recognize that there is a point of diminishing returns, and I may have already hit that.
Bob
-----------------------------------------------------------------
AE6RV.com
GFS GPSDO list:
groups.yahoo.com/neo/groups/GFS-GPSDOs/info
On Wed, 26 Oct 2016 17:01:17 +0000 (UTC)
Bob Stewart bob@evoria.net wrote:
I'm working on the Aging and Thermal Correction algorithms in my GPSDO. At
this point, it's pretty simple: For aging, every X seconds I either
increment or decrement the DAC value by 1 as determined by the unit's
performance history. For thermal, every X seconds (user settable) I check
to see if the thermistor has increased or decreased and step the DAC one
step in that direction.
So, now I'm wondering if there's any correlation between the temperature and
aging. IOW, if the ambient temperature in the case goes up a degree F, does
that change the aging rate by some small fractional value? I recognize that
there is a point of diminishing returns, and I may have already hit that.
Yes, there is a coupling between temperature and aging, but how large it
is and into which direction depends highly on your system. It is also
very likely to change over time. But in general it will be drowned by
all other effects and uncertainties.
In general you don't want to set those parameters by hand, but let the control
loop estimate them. This is called adaptive control and the most common
way to do it is to use a Kalman Filter. There are many tutorials on the
net how to build a simple Kalman Filter. As a system model I suggest to use
the simplest that you can imagine that captures enough of the effects
to reach the results you want. E.g. in your case, I would go for a linear
or quadratic temperature dependence and a linear time aging. If you add
more parameters and make the system more complex, run into the risk that
your control system is unable to get good guesses for the parameters and
thus becomes unstable
Attila Kinali
--
Malek's Law:
Any simple idea will be worded in the most complicated way.
Hi Attila,
Thanks for confirming that the thermal impact on the aging rate is minimal. I had suspected that that was so, but had no easy way to tell. Since I want to keep this as simple as possible, I'll probably stay with a simple division of the DAC delta over 3.5 days. And since the thermal impact seems to be 1:1 to the DAC delta under most circumstances, I may experiment with modifying the beginning and end points of the calculation by the temperature. But, hopefully with a long enough averaging period, it won't make much of a difference.
The odd thing about the thermal impact is that if the thermal change delta is too high, it's no longer 1:1. I suspect that may be because it's an easy thing for the OCXO's heater to add BTUs, but it can only subtract them passively. And shedding BTUs into a rising temperature environment is problematic.
Bob
From: Attila Kinali <attila@kinali.ch>
To: Bob Stewart bob@evoria.net; Discussion of precise time and frequency measurement time-nuts@febo.com
Sent: Wednesday, October 26, 2016 1:28 PM
Subject: Re: [time-nuts] Aging and Thermal Correction in Holdover
On Wed, 26 Oct 2016 17:01:17 +0000 (UTC)
Bob Stewart bob@evoria.net wrote:
I'm working on the Aging and Thermal Correction algorithms in my GPSDO. At
this point, it's pretty simple: For aging, every X seconds I either
increment or decrement the DAC value by 1 as determined by the unit's
performance history. For thermal, every X seconds (user settable) I check
to see if the thermistor has increased or decreased and step the DAC one
step in that direction.
So, now I'm wondering if there's any correlation between the temperature and
aging. IOW, if the ambient temperature in the case goes up a degree F, does
that change the aging rate by some small fractional value? I recognize that
there is a point of diminishing returns, and I may have already hit that.
Yes, there is a coupling between temperature and aging, but how large it
is and into which direction depends highly on your system. It is also
very likely to change over time. But in general it will be drowned by
all other effects and uncertainties.
In general you don't want to set those parameters by hand, but let the control
loop estimate them. This is called adaptive control and the most common
way to do it is to use a Kalman Filter. There are many tutorials on the
net how to build a simple Kalman Filter. As a system model I suggest to use
the simplest that you can imagine that captures enough of the effects
to reach the results you want. E.g. in your case, I would go for a linear
or quadratic temperature dependence and a linear time aging. If you add
more parameters and make the system more complex, run into the risk that
your control system is unable to get good guesses for the parameters and
thus becomes unstable
Attila Kinali
--
Malek's Law:
Any simple idea will be worded in the most complicated way.
On Thu, 27 Oct 2016 16:13:06 +0000 (UTC)
Bob Stewart bob@evoria.net wrote:
Thanks for confirming that the thermal impact on the aging rate is minimal.
I had suspected that that was so, but had no easy way to tell.
It is probably minimal. How large it is depends on your setup.
But from what I know of OCXOs the change is mostly dominated by
the non-linear time dependence. I don't know of any measurements
of the temperature dependend aging for long running crystals.
Probably because aging for old crystals becomes much lower than
temperature effects.
Since I want to keep this as simple as possible, I'll probably stay with a
simple division of the DAC delta over 3.5 days. And since the thermal
impact seems to be 1:1 to the DAC delta under most circumstances, I may
experiment with modifying the beginning and end points of the calculation
by the temperature. But, hopefully with a long enough averaging period,
it won't make much of a difference.
I.e. you have a very simple, linear temperature dependence and aging model?
The odd thing about the thermal impact is that if the thermal change
delta is too high, it's no longer 1:1. I suspect that may be because
it's an easy thing for the OCXO's heater to add BTUs, but it can only
subtract them passively. And shedding BTUs into a rising temperature
environment is problematic.
I guess you are measuring the temperature of the OCXO outside of the can.
Keep in mind that the temperature outside is lower than inside. I.e. you
have a temperature gradient. If the temperature changes, then the gradient
changes as well. As long as the rate of temperature change is low, the
gradient will stay linear (ie the temperature inside the OCXO increases
linearly with the distance from the outer can). If the rate of temperature
change is fast, then the gradient will start to bend. Which in turn means
that the heat transport between inside and outside of the OCXO is not a
linear function of the outside temperature anymore. Or in other words:
your simplistic system model does not capture the dynamic behavior of
the OCXO correctly, which results in discrepances between expected and
observed behaviour.
Depending on what you are actually trying to do, I recommend that you
get a book on control theory and read up on some of the basics.
One of the books I like is "Feedback Control of Dynamic Systems"
by Gene Franklin. It's reasonably simple and has lots of examples.
And if I may, please talk about energy (or rather power in this
context), not BTU. The former is a physical term, while the latter
is an outdated unit that shouldn't be used anymore and has no clear
definition.
Attila Kinali
--
Malek's Law:
Any simple idea will be worded in the most complicated way.
From: Attila Kinali <attila@kinali.ch>
To: Discussion of precise time and frequency measurement time-nuts@febo.com
Sent: Thursday, October 27, 2016 1:45 PM
Subject: Re: [time-nuts] Aging and Thermal Correction in Holdover
On Thu, 27 Oct 2016 16:13:06 +0000 (UTC)
Bob Stewart bob@evoria.net wrote:
Since I want to keep this as simple as possible, I'll probably stay with a
simple division of the DAC delta over 3.5 days. And since the thermal
impact seems to be 1:1 to the DAC delta under most circumstances, I may
experiment with modifying the beginning and end points of the calculation
by the temperature. But, hopefully with a long enough averaging period,
it won't make much of a difference.
I.e. you have a very simple, linear temperature dependence and aging model?
Not quite. The aging model is linear, sure. But as mentioned earlier, I'm experimenting with a sort of linear-nonlinear thermal model. What this means is that over some set time period I take the difference between the beginning temperature and the end temperature, and then I step only one DAC step in the direction that the temperature changed. Why? Because I noticed a strong correlation between small temperature differences which broke down as the temperature change curve steepened. And yet, it was only the value of the step that broke down, not the direction. Putting a limit on it like this seems to have improved the result.
The odd thing about the thermal impact is that if the thermal change
delta is too high, it's no longer 1:1. I suspect that may be because
it's an easy thing for the OCXO's heater to add BTUs, but it can only
subtract them passively. And shedding BTUs into a rising temperature
environment is problematic.
I guess you are measuring the temperature of the OCXO outside of the can.
Keep in mind that the temperature outside is lower than inside. I.e. you
have a temperature gradient. If the temperature changes, then the gradient
changes as well. As long as the rate of temperature change is low, the
gradient will stay linear (ie the temperature inside the OCXO increases
linearly with the distance from the outer can). If the rate of temperature
change is fast, then the gradient will start to bend. Which in turn means
that the heat transport between inside and outside of the OCXO is not a
linear function of the outside temperature anymore. Or in other words:
your simplistic system model does not capture the dynamic behavior of
the OCXO correctly, which results in discrepances between expected and
observed behaviour.
Yes, and this is what I'm trying to capture; especially when the temperature increases. Because that's when it will bend the most.
And if I may, please talk about energy (or rather power in this
context), not BTU. The former is a physical term, while the latter
is an outdated unit that shouldn't be used anymore and has no clear
definition.
As I've mentioned many times, I'm not an engineer. It may be that BTU has no clear definition, but you understood what I meant, which is all that's important.
Bob