开发者

coarse-fine algorithms

Are there well-known algorithms to combine a coarse-resolution-with-high-absolute-accuracy measurement with a fine-resolution-with-low-absolute-accuracy measurement?

For example, a real-time-cloc开发者_如何学Gok reading + a high-speed-counter.


I don't know about general purpose algorithms, but there are theories of how to do this in specific domains. For example, in geometric processing there is the whole subfield of persistent homology which purports to examine how structures vary over time: http://www.ams.org/notices/201101/rtx110100036p.pdf

And in image processing, there is scale space which deals with images at different levels of accuracy: http://en.wikipedia.org/wiki/Scale_space

For your specific question, I would say the answer is much simpler and only requires a bit of algebra. Suppose you have a pair of counters with resolutions s_1, s_2. Then we observe the times to be n_1, n_2 respectively, or in other words the time t in the units which are common to s_1, s_2 must satisfy:

 t = n_1 s_1 + r_1
 t = n_2 s_2 + r_2

This is a set of two equations and 3 unknowns, and so it is under-determined. As a result t can be anywhere in the range:

 0 <= r_1 < s_1
 0 <= r_2 < s_2
 n_2 s_2 - n_1 s_1 = r_1 - r_2

Substituting and solving for r_2, we get:

max(0, n_1 s_1 - n_2 s_2) <= r_2 < min(n_1 s_1 - n_2 s_2 + s_1, s_2)

Which in turn gives an interval bound for t:

max(n_1 s_1, n_2 s_2) <= t < min(n_1 s_1  + s_1, n_2 s_2 + s_2)

And that is as tight as it gets. (Which admittedly doesn't tell you a whole lot, but it is slightly more accurate than simply taking the finer of the counters as your choice).


I think this is pretty specific to your use of the measurement.

One thing I can think of is applying a Kalman Filter on the two measurements, the coarse-resolution-with-high-absolute-accuracy measurement takes the role of the prediction step, and the fine-resolution-with-low-absolute-accuracy measurement can take the role of the update step.

The Kalman filter automatically incorporates your confidence in each measurement in the form of Noise Covariance matrices.

Actually it may make more sense to use two observation update steps and no prediction steps as this part of the wikipedia article suggests:

Typically, the two phases alternate, with the prediction advancing the state until the next scheduled observation, and the update incorporating the observation. However, this is not necessary; if an observation is unavailable for some reason, the update may be skipped and multiple prediction steps performed. Likewise, if multiple independent observations are available at the same time, multiple update steps may be performed (typically with different observation matrices Hk).

The Kalman filter would be most useful if you are trying to keep an estimate of time expired from several readings over time. If its just a one time thing you can combine them in a simpler fashion.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜