State estimation device and program
The state estimation device separates observable and unobservable parts in a clock network to ensure numerical stability and accuracy, enhancing time synchronization precision in Beyond5G/6G wireless communication.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-09-30
- Publication Date
- 2026-04-09
AI Technical Summary
Existing algorithms for time synchronization in Beyond5G/6G wireless communication fail to achieve both numerical stability and accuracy, with some losing optimality in accuracy while others lack long-term operability.
A state estimation device and program that separates observable and unobservable parts in a clock network, using a Kalman filter to estimate and correct time differences, ensuring numerical stability and accuracy through covariance matrix modification.
Achieves high-precision time synchronization of multiple clocks by maintaining numerical stability and accuracy, improving frequency stability and reducing computational costs.
Smart Images

Figure 2026061811000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a state estimation device and a program.
Background Art
[0002] For example, in Beyond5G / 6G, which is a next-generation wireless communication standard, the requirement for high-precision time synchronization is increasing for efficient use of frequencies in radio waves. Attempts have been made to achieve time synchronization by an ensemble of multiple clocks. (For example, refer to Non-Patent Document 1.)
Prior Art Documents
Non-Patent Documents
[0003]
Non-Patent Document 1
Non-Patent Document 2
Summary of the Invention
Problems to be Solved by the Invention
[0004] However, among the above-described conventional algorithms, there has been no algorithm that can achieve both numerical stability and accuracy of time estimation. For example, there are algorithms that are difficult to operate in the long term because the numerical stability of the output result is not guaranteed, and algorithms that guarantee numerical stability but lose optimality regarding accuracy. It is preferable to provide a state estimation system that can achieve highly accurate time synchronization of a group of clocks by estimating the state of each clock included in the group.
[0005] The objective of the present invention is to provide a state estimation device and program that can achieve high-precision time synchronization of a group of clocks. [Means for solving the problem]
[0006] One aspect of the present invention is a state estimation device for estimating the state of a clock described by a state-space model, comprising: a model acquisition unit for acquiring a state-space model of a clock network composed of multiple clocks; a time difference information acquisition unit for acquiring time difference information indicating the instruction time difference between the multiple clocks for each of the clocks; and a state estimation unit comprising a first estimation unit for estimating the observable portion of the state-space model and a second estimation unit for estimating the unobservable portion.
[0007] One aspect of the present invention is a program that causes a computer that performs state estimation of a clock described by a state-space model M to perform the following actions: acquire a state-space model M of a clock network composed of multiple clocks; acquire time difference information for each clock indicating the difference in indicated times between the multiple clocks; estimate the observable portion of the state-space model M; and estimate the unobservable portion of the state-space model M. [Effects of the Invention]
[0008] According to the present invention, highly accurate time synchronization of a group of clocks can be achieved. [Brief explanation of the drawing]
[0009] [Figure 1] This figure shows an example of the functional configuration of the state estimation system in the embodiment. [Figure 2] This figure shows an example of the functional configuration of the timing device of this embodiment. [Figure 3] This figure shows another example of the functional configuration of the timing device of this embodiment. [Figure 4]This figure shows an example of the functional configuration of the state estimation unit in this embodiment. [Figure 5] This figure shows an example of the operation flow of the state estimation system of this embodiment. [Figure 6] This figure shows an example of the state estimation side by the state estimation unit of this embodiment. [Figure 7] This figure shows an example of the effects of the state estimation system of this embodiment. [Figure 8] This figure shows a comparison of the accuracy of the conventional method and the state estimation system of this embodiment. [Modes for carrying out the invention]
[0010] The state estimation system 1 of this embodiment will be described with reference to the drawings. The embodiments described below are merely examples, and the embodiments to which the present invention is applied are not limited to the embodiments described below. In all the figures used to illustrate the embodiments, components with the same function are given the same reference numerals, and repeated explanations are omitted. Furthermore, in this application, "based on XX" means "based on at least XX," and includes cases where it is based on another element in addition to XX. Also, "based on XX" is not limited to cases where XX is used directly, but also includes cases where it is based on something that has been calculated or processed from XX. "XX" is any element (for example, any information).
[0011] [Embodiment] Embodiments of the present invention will be described below with reference to the drawings. Figure 1 shows an example of the functional configuration of the state estimation system 1 of this embodiment. First, the configuration of the timing system 5, which is the target of state estimation in the state estimation system 1 of this embodiment, will be explained along with its background. In the following explanation, the timing system 5 will also be referred to as the clock network.
[0012] [Timekeeping system (clock network)] The timing system 5 includes a plurality of timing devices 50. In an example of this embodiment, the timing system 5 is configured to include m timing devices 50 from timing device 50-1 to timing device 50-m (m is a natural number).
[0013] Each of the timing devices 50 included in the timing system 5 is equipped with a clock (e.g., an atomic clock) and performs a timing operation independently of each other. In the following description, the timing device 50 is also simply referred to as a "clock".
[0014] The time measured by each timing device 50 (hereinafter also referred to as the measured time or clock reading) includes an error from the true time. The timing device 50 of this embodiment cannot know the error (hereinafter also referred to as the timing error) between the measured time measured by itself and the true time.
[0015] In the timing system 5 (clock network), it is required that the times measured by each timing device 50 included in the timing system 5 be synchronized. For example, in Beyond 5G / 6G, which is the next-generation wireless communication standard, the requirement for high-precision time synchronization has been increasing for efficient use of frequencies in radio waves.
[0016] Conventionally, attempts have been made to achieve time synchronization by an ensemble of a plurality of timing devices 50, but there has been no conventional algorithm that can achieve both numerical stability and accuracy of time estimation. For example, there are only those that are difficult to operate in the long term because the numerical stability of the output result is not guaranteed, and those that guarantee numerical stability but lose optimality regarding accuracy. Also, in order to achieve time synchronization with high precision and high accuracy, device resource management within the network is important, but there is no research that delves into such management.
[0017] The state estimation system 1 of this embodiment aims to achieve high-precision and highly accurate time synchronization. By estimating the errors of each clock from the information on the time differences between the timing devices 50 and performing control to correct them, the accuracy of the clocks is improved and they are synchronized. An algorithm is provided that guarantees numerical stability, which was difficult in the past, while maintaining optimality regarding accuracy. Specifically, in the state equation of the problem of estimating the ensemble time with high precision, attention is paid to the observable part and the unobservable part, which are characteristic, and they are separated and calculated to guarantee the numerical stability of the output result. More specifically, noting that the components that diverge in the calculation of the unobservable part are unnecessary for the estimation, the calculation is modified so as not to be performed. Furthermore, by providing a structure for correcting the covariance matrix of the unobservable part, it becomes possible to improve the accuracy. Hereinafter, the configuration of the state estimation system 1 of this embodiment, which can achieve such high-precision and highly accurate time synchronization, will be described.
[0018] [Functional Configuration of State Estimation System] The state estimation system 1 includes a state estimation device 10, a state space model storage unit 20, and an output device 30. The state estimation system 1 is connected to a timing system 5 (clock network) via a network (not shown).
[0019] The timing device 50 can output to the state estimation device 10 information that enables calculation of the time difference, which is the difference between the time measured by its own device and the time measured by any other timing device 50.
[0020] For example, the timing device 50 outputs time information indicating the time measured by its own device to the state estimation device 10. In this case, the state estimation device 10 acquires the time information output by each timing device 50 (that is, the time information including the error from the true time) and calculates the time difference between the timing devices 50. The state estimation device 10 acquires the calculated time difference as time difference information.
[0021] As another example, the timing device 50 may exchange time information with other timing devices 50 to calculate the time difference. In this case, the timing device 50 calculates the time difference between the time it measured and the time measured by any of the other timing devices 50, and outputs the calculated time difference as time difference information to the state estimation device 10.
[0022] In the following explanation, the information that enables the calculation of the time difference output by the timing device 50, and the information indicating the time difference calculated based on this information, will be collectively referred to simply as "time difference information."
[0023] The timing device 50 may have a function to adjust the rate based on the control of the state estimation device 10. In this case, the state estimation device 10 outputs control information for rate adjustment (for example, rate control information) to the timing device 50.
[0024] The output device 30 includes, for example, a display device such as a liquid crystal display, or a printing device such as a printer. The output device 30 presents the state estimation results from the state estimation device 10 to the user via images, printed media, or the like.
[0025] The state estimation device 10 comprises a calculation unit 100 and a storage unit 190. The arithmetic unit 100 includes, for example, a central processing unit (CPU), and operates based on programs and data stored in the memory unit 190, providing various functions. The storage unit 190 is composed of, for example, a hard disk drive or semiconductor memory (flash memory, RAM, ROM), and stores various types of information, such as programs and data read by the arithmetic unit 100. The storage unit 190 may also be implemented by a virtual storage device, such as a cloud server, located outside the user terminal device 10.
[0026] The state-space model storage unit 20 is composed of, for example, a physical server or a virtual server such as a cloud server, and stores the state-space model M.
[0027] The state-space model M is a model that defines the state space of a timing system 5 (clock network) composed of multiple timing devices 50 (clocks).
[0028] The state estimation device 10 is a device that estimates the state of the timing device 50 (clock) described by this state space model M.
[0029] The state estimation system 1 of this embodiment targets a timing system 5 (clock network) which is a collection of multiple timing devices 50. The model acquisition unit 110 inputs information about this clock network into the system. Information about the clock network may include, for example, the number of clocks included in the network, the type and order of each clock, the accuracy of each clock, connection information between clocks, and the sampling period of the system. Only some of this information may be input, or other information about the clock network may be input. Based on this information, the state-space model derivation unit (not shown) derives the state-space model M of the clock network. The derived state-space model M is stored in the state-space model storage unit 20 beforehand. The derivation of this state-space model M will now be explained.
[0030] [About the state-space model M]
[0031] Here, an example of the functional configuration of the timing device 50 will be described with reference to Figures 2 and 3.
[0032] Figure 2 shows an example of the functional configuration of the timing device 50 of this embodiment. The timing device 50 includes an atomic clock 501, a PLL unit 502, a first counter 503, a second counter 504, a first time comparison unit 505, and a second time comparison unit 506. The atomic clock 501 outputs a clock signal 511. The first counter 503 outputs a free-run counter value 512 obtained by counting the clock signal 511. The PLL unit 502 outputs a phase-synchronized signal 514 based on the clock signal 511 and a frequency adjustment amount 513. The second counter 504 outputs an adjusted counter value 515 obtained by counting the phase-synchronized signal 514. The first time comparison unit 505 compares the free-running counter value 512 output by the first counter 503 with the counter value 516 (free-running counter value 512 in the other timing device 50) based on the clock signal of another (adjacent) timing device 50, and outputs the difference y[k], which is the difference between these values at time k. The second time comparison unit 506 compares the free-running counter value 512 output by the first counter 503 with the counter value 515 output by the second counter 504, and outputs the difference Z[k], which is the difference between these values at time k.
[0033] A state-space model M is derived for a single timing device 50 (for example, the i-th timing device 50-i) among the timing devices 50 included in the timing system 5. When the order ni is given from the state-space model M acquired by the model acquisition unit 110, the state-space model M for the i-th timing device 50-i is given by equation (1).
[0034]
number
[0035] Figure 3 shows another example of the functional configuration of the timing device 50 of this embodiment. The timing device 50a in this example includes an atomic clock 501, a PLL unit 502, a counter 507, and a time comparison unit 508. The atomic clock 501 outputs a clock signal 511. The PLL unit 502 outputs a phase-synchronized signal 514 based on the clock signal 511 and a frequency adjustment amount 513. The counter 507 outputs an adjusted counter value 515 obtained by counting the phase-synchronized signal 514. The time comparison unit 508 compares the adjusted counter value 515 with the counter value 516 (adjusted counter value 515 in the other timing device 50) based on the clock signal of another (adjacent) timing device 50, and outputs y[k], which is the difference between these values at time k.
[0036] As shown in Figure 3, when comparing clocks that have undergone frequency adjustment, the state-space model M of the i-th timing device 50-i is given by equation (2).
[0037]
number
[0038]
number
[0039] Furthermore, the matrix Li may be expressed as equation (4) or similar, depending on the format of the input.
[0040]
number
[0041] The output of this state-space model M is the difference between the timing time (i.e., the clock reading) hi(t) being measured by the timing device 50-i and the true time t, which is expressed by equation (5).
[0042]
number
[0043] Note that Δhi[k] = Δhi(kτ). The matrices Ai(τ) and ci correspond to a multiple integrator. That is, the matrices Ai(τ) and ci can be expressed by equations (6) and (7).
[0044]
number
[0045]
number
[0046] In this case, the state includes the time (phase), frequency (derivative of phase), and frequency deviation (derivative of frequency) of the clock (e.g., timekeeping device 50-i), as well as the derivative values of time / phase. Furthermore, vi[k] is considered to be normalized white noise with a mean of 0 and a covariance matrix Qi. Given the system noise costandard deviations σi, 1, ..., σi, ni relating to the accuracy of the clock, obtained from the state-space model M acquired by the model acquisition unit 110, the following can be calculated as shown in equations (8) and (9).
[0047]
number
[0048]
number
[0049] Furthermore, wi[k] is considered to be normalized white noise with a mean of 0 and a covariance matrix Ri. Given the phase noise costandard deviation σ'i from the model acquisition unit 110, Ri can be calculated as Ri = (σ'i)².
[0050] In the derivation of the state-space model M, the matrices Ai(τ), ci, Qi(τ), and R may be expressed by equations other than those described above, and multiple equations may be switched and used depending on the input information from the model acquisition unit 110.
[0051] Using the state-space models M of each timing device 50 derived as described above, we derive the state-space model M of the entire clock network. When there are multiple timing devices 50, we consider the case where the difference between two clock readings can be obtained. One method for accurately measuring the difference between clock readings is to combine a timestamp packet and DMTD (Dual Mixer Time Difference). This time difference information is assumed to be obtained from a time difference information input unit. The time difference information input unit may have a method for obtaining the difference between clock readings with such high accuracy within the system, or it may be obtained through a network or the like. The difference between the clock readings of two timing devices 50 (i, j) is given by equation (10).
[0052]
number
[0053] Therefore, a system of clocks with l (L) group of observed values can be written as equations (11) to (14).
[0054]
number
[0055]
number
[0056]
number
[0057]
number
[0058] In this case, the noise v[k] is the normal white noise of the covariance matrix Q shown in equation (15).
[0059]
number
[0060] Furthermore, w[k] is the observation noise, which is normal white noise with mean 0 and covariance matrix R. In addition, A, C, and L in equation (11) are equations (16), (17), and (18), respectively, and N is the matrix containing the difference information to be measured.
[0061]
number
[0062]
number
[0063]
number
[0064] For example, when measuring the difference between timing devices 50-1, ..., 50-(m-1) and timing device 50-m, the result is given by equation (19).
[0065]
number
[0066] This N can be constructed based on the connection information between clocks acquired by the state estimation device 10. The state estimation device 10 may obtain N from the user, or it may be in another format that allows specifying which clocks to compare.
[0067] The state-space model M of the entire clock network, generated as described above, is pre-stored in the state-space model storage unit 20.
[0068] [Subspace specification part] The subspace specification unit specifies the method for separating the observable and unobservable subspaces used by the state estimation unit 130. Specifically, a variable q can be specified. Depending on the embodiment, this specification method may determine the control performance.
[0069] As a method of specification, options such as "a mode that synchronizes to the average value of all clocks" or "a mode that maximizes short-term stability" may be presented and the user may choose. An example of the variable q is shown in equation (20). In this case, the system can determine the corresponding q. The user may also specify q directly.
[0070]
number
[0071] This variable q needs to be selected so that T, used in the state estimation unit 130, becomes regular. If T is not regular, the unit may have a function to prompt the user to reset it.
[0072] [State estimation algorithm] The algorithm for state estimation by the state estimation unit 130 will now be described.
[0073] The Kalman filter is a representative method for estimating the most likely time by aggregating time difference information from multiple clocks. However, it has been pointed out that using the Kalman filter as is can lead to the values (covariance matrix) diverging over time due to unobservable states, potentially compromising numerical stability. Furthermore, from the perspective of frequency stability, the calculation results obtained with the Kalman filter are known to be inferior to simple weighted averages in terms of short-term frequency stability.
[0074] Conventional algorithms have suppressed the divergence of the covariance matrix by ad-hoc correction when the norm of the covariance matrix exceeds a threshold. Furthermore, methods such as finding the least-squares solution step-by-step have been proposed to improve short-term frequency stability.
[0075] However, with these conventional algorithms, (A) The steady-state Kalman gain obtained with a typical Kalman filter cannot be determined. (B) Accumulation of rounding errors due to the suppression of the ad hoc covariance matrix. (C) The computational cost is high because the least squares solution is sought at each step. That was the problem.
[0076] In contrast, the state estimation system 1 of this embodiment completely solves (A) and (B) by separating and processing the observable subspace and the unobservable subspace, and further provides an algorithm that satisfies (C) by partially correcting the values of the covariance matrix obtained during the calculation process. This algorithm makes it possible to maintain optimality in terms of accuracy while guaranteeing numerical stability, which was difficult to achieve conventionally.
[0077] [Configuration of the state estimation unit 130] Figure 4 shows an example of the functional configuration of the state estimation unit 130 in this embodiment. The state estimation unit 130 comprises a first estimation unit 131 and a second estimation unit 132 as its functional units.
[0078] The state estimation unit 130 includes an observable portion state estimation unit 1311 and an observable portion covariance matrix estimation unit 1312, which estimate the states and covariance matrices of the observable portion of the state space; an unobservable portion state estimation unit 1321 and an unobservable portion covariance matrix estimation unit 1322, which estimate the states and covariance matrices of the unobservable portion. Furthermore, it includes a covariance matrix correction unit 1323, which corrects the covariance matrix of the unobservable portion to improve accuracy. The state estimation unit 130 integrates the information calculated by each of these units.
[0079] In other words, the state estimation unit 130 comprises a first estimation unit 131 and a second estimation unit 132. The first estimation unit 131 performs estimation of the observable portion of the state-space model M. The second estimation unit 132 performs estimation of the unobservable portion of the state-space model M.
[0080] The state estimation system 1 of this embodiment has a structure in the state estimation unit 130 that separates and estimates observable and unobservable parts. With the state estimation system 1 configured in this way, numerical instability can be avoided. Furthermore, the state estimation system 1 can improve the accuracy of state estimation by having a covariance matrix correction unit 1323.
[0081] The state estimation unit 130 is an element that uses the time difference information y[k] obtained from the time difference information input unit to calculate the estimated value ^x[k|k] of the clock state x[k]. The state estimation system 1 of this embodiment performs estimation by separating the system into an observable part and an observable part.
[0082] For the sake of simplicity, let's assume that all clocks have the same order, n1=n2=…=nm=n. In this case, equations (21), (22), and (23) can be written. Note that in the following explanation, A1(τ) may be written as A1 for the sake of simplicity.
[0083]
number
[0084]
number
[0085]
number
[0086] Furthermore, when the observed values are composed of the difference in clock readings, we can use equation (24) to write equation (25).
[0087]
number
[0088]
number
[0089] Here, we consider applying a similarity transformation to the system using the invertible matrices shown in equations (26) to (28).
[0090]
number
[0091]
number
[0092]
number
[0093] As described above, this q may be specified by the user. For example, the state estimation unit 130 may include an unobservable subspace designation unit 133. The unobservable subspace designation unit 133 specifies the type of space for the unobservable portion. In this case, the second estimation unit 132 uses the specified type of space to estimate the unobservable portion.
[0094] Using the invertible matrix described above, we obtain equation (29).
[0095]
number
[0096] Equation (29) leads to equations (30) and (31).
[0097]
number
[0098]
number
[0099] From this, the system transformed by the matrix T is as shown in equations (32) to (39).
[0100]
number
[0101]
number
[0102]
number
[0103]
number
[0104]
number
[0105]
number
[0106]
number
[0107]
number
[0108] Furthermore, even when the order of the clocks is not uniform, a similar approach can be used to construct the matrix T and separate the system into an observable part and an unobservable part. Also, if the system takes the same form as equations (32) and (33), different matrices may be used for To (Tee-O) and T ̄o (Tee-O-Bar) than those in equations (27) and (28).
[0109] The state estimation device 10 estimates the state based on the similarly transformed system obtained in this way. Next, the operation flow of state estimation by the state estimation device 10 will be described.
[0110] Figure 5 shows an example of the operation flow of the state estimation system 1 of this embodiment.
[0111] (Step S110) The model acquisition unit 110 acquires the state-space model M from the state-space model storage unit 20. As described above, the state-space model M is a model that shows the structure of the timing system 5 (clock network) which is composed of multiple timing devices 50 (clocks).
[0112] In other words, the model acquisition unit 110 acquires a state-space model M of a timing system 5 (clock network) composed of multiple timing devices 50 (clocks).
[0113] (Step S510) Each timing device 50 included in the timing system 5 outputs time difference information to the state estimation device 10. (Step S120) The time difference information acquisition unit 120 of the state estimation device 10 acquires the time difference information output from each timing device 50.
[0114] In other words, the time difference information acquisition unit 120 acquires time difference information for each of the multiple timing devices 50 (clocks), indicating the difference in indicated times between them.
[0115] (Step S130) The state estimation unit 130 decomposes the time difference information acquired in step S120 into an observable portion and an unobservable portion as defined by equations (32) to (39) above.
[0116] [Estimated by the first estimation unit 131 and the second estimation unit 132]
[0117] The state-space model M is composed of a state equation that includes both an observable and an unobservable part, and an observation equation that also includes both an observable and an unobservable part.
[0118] (Steps S141~, Step S142, Step S151~Step S152) The first estimation unit 131 and the second estimation unit 132 estimate the state estimate of the observable part ^xo[k|k] (x-hat-o-k-k), the state estimate of the unobservable part ^x ̄o[k|k] (x-hat-o-b-k-k), the covariance matrix of the observable part Poo[k|k] (p-o-o-k-k), and the covariance matrix of the unobservable part P ̄oo[k|k] (p-o-b-o-k-k) using equations (40) to (50).
[0119]
number
[0120]
number
[0121]
number
[0122]
number
[0123]
number
[0124]
number
[0125]
number
[0126]
number
[0127]
number
[0128]
number
[0129]
number
[0130] This estimation process can also be performed by replacing Poo[k+1|k] and P ̄oo[k+1|k] with constants P*oo and P* ̄oo as k→∞. In this case, P*oo is the positive definite solution to the discrete-time algebra Riccati equation shown in equation (51).
[0131]
number
[0132] Furthermore, P* ̄oo is a matrix that satisfies equation (52).
[0133]
number
[0134] However, cs is the column expansion shown in equation (53).
[0135]
number
[0136] [Regarding the covariance matrix correction unit 1323] If only the state estimation unit for the observable and unobservable parts described above is used, the frequency stability, which is evaluated by, for example, the Allan deviation, may not be sufficiently improved. Therefore, the state estimation system 1 of this embodiment can include a covariance matrix modification process to improve frequency stability. For example, after performing the processes in equations (43) and (49), all elements in the first row of P ̄oo[k|k] may be replaced with 0. In addition, the covariance matrix can be modified as shown in equation (54).
[0137]
number
[0138] Furthermore, F and G in equation (54) can be replaced with those in equations (55) and (56), and so on.
[0139]
number
[0140]
number
[0141] This modification of the covariance matrix using F and G can be achieved by manipulating only the unobservable portion of the covariance matrix, making it computationally more efficient than conventional methods that did not distinguish between the observable and unobservable portions.
[0142] (Step S153) That is, the covariance matrix correction unit 1323 corrects the unobservable part covariance matrix, which is a covariance matrix that shows the noise of the unobservable part.
[0143] The correction process for the unobservable subcovariance matrix is not limited to the example above. Other methods can be used, such as setting an evaluation function appropriate to the purpose and determining it through optimization calculations. Furthermore, if correction is unnecessary, such as when q is set appropriately, it is possible to omit the correction.
[0144] (Step S160) After performing the estimation and correction processes described above, the state estimation unit 130 integrates the state estimation values of the observable portion and the unobservable portion to calculate the state estimation value.
[0145] For example, the estimated value corresponding to the state of the timing device 50 defined by equation (12) is given by equation (57).
[0146]
number
[0147] In addition, the estimated values can be determined in a format that matches the information used by the subsequent control unit. For example, the estimated values of the observable and unobservable parts can be used in equations (58) and (59), etc.
[0148]
number
[0149]
number
[0150] (Step S170) The status output unit 140 outputs an estimated value corresponding to the status of the timing device 50 calculated in step S160 to the output device 30.
[0151] Furthermore, the status output unit 140 outputs an estimated value corresponding to the status of the timing device 50 to the control unit 150.
[0152] The status output unit 140 can determine the estimated values in a format that matches the information used by the control unit 150. For example, the estimated values of the observable and unobservable portions may be output directly.
[0153] In other words, the control unit 150 calculates the amount of operation for the timing device 50 (clock) based on the first estimation result, which is the estimation result of the observable portion, and the second estimation result, which is the estimation result of the unobservable portion.
[0154] The control unit 150 uses the estimated value obtained by the state estimation unit 130 to determine an input so that each timing device 50 included in the timing system 5 (clock network) follows some reference clock. This input can be, for example, the adjustment amount when adjusting the frequency of the timing device 50 using a PLL (phase-locked loop). The reference clock is a time determined by the setting of q and the covariance matrix correction process. For example, if q=1m and no correction process is performed, the reference clock can be the average time of all clocks.
[0155] Rule for determining the control variable of the timing device 50 (1) For example, in the configuration shown in Figure 2 above, the control unit 150 can calculate the manipulated variable of the timing device 50 using equation (60), where K is the control gain. However, K is the control gain and may be determined by the user.
[0156]
number
[0157] Furthermore, using the estimated values of the observable and unobservable parts, ^x1[k|k] and ^x2[k|k], we can obtain equation (61).
[0158]
number
[0159] In this case, the control performance depends on the selection of observable and unobservable parts. To achieve the desired control performance, it is desirable that the unobservable parts are appropriately specified in the unobservable part specification section. Gains K1 and K2 do not need to be constant and may be varied over time. For example, K2 can be set to 0 and then changed to a specified value from time to time.
[0160] Determination rule for the control variable of the timing device 50 (2) For example, in the configuration shown in Figure 3 above, the control unit 150 can calculate the manipulated variable of the timing device 50 using equation (62), with K as the control gain.
[0161]
number
[0162] Furthermore, using the estimated values of the observable and unobservable parts, ^x1[k|k] and ^x2[k|k], we can obtain equation (63).
[0163]
number
[0164] Furthermore, in the calculation of the manipulated variable by the control unit 150, other types of controllers may be designed, such as by adding a PID controller or a filter, or the input may be determined based on a different type of estimated value, such as by directly using the estimated values of the observable portion and the observable portion.
[0165] [Summary of State Estimation Unit 130] The state estimation unit 130 of this embodiment receives a state-space model M and time difference / frequency difference information as input, and outputs a state estimation value. A general state-space model M is shown in equation (64).
[0166]
number
[0167] Generally, the first row is called the state equation and the second row is called the observation equation. The state-space model derivation unit receives the following inputs: matrix A, which is a component of the state equation in the state-space model M; matrix C, which is a component of the observation equation; the covariance matrix Q, which is the magnitude of the system noise; and the covariance matrix R, which is the covariance matrix of the observation noise. The time difference / frequency difference information provides either the time difference between clocks or the frequency Difference information is input. In the state-space model M, this corresponds to yk in the observation equation. The output state estimate corresponds to x in the state-space model M. However, since it is an estimate, it is written as ^x (hat x).
[0168] Conventional Kalman filters derive the most likely estimate ^x by sequentially processing two processes: a state estimation unit and a covariance matrix estimation unit. In this proposal, the system configuration further separates the processing into two parts: an observable subspace and an unobservable subspace. This makes it possible to suppress the divergence of the covariance matrix due to the unobservable subspace.
[0169] In conventional methods, the observable and unobservable parts of the observation equation are not separated during processing, which can cause the covariance matrix of the unobservable part to diverge over time, potentially impairing numerical stability. Furthermore, the unobservable part correction unit, obtained by the unobservable part covariance matrix estimation unit 1322, partially corrects the matrix to improve the estimation accuracy of frequency stability. Specifically, for example, 0 is substituted into the covariance matrix related to the time difference information in the observation equation (when the observation noise is negligibly small), or a finite value matching the observation noise intensity is substituted. The state estimation unit 130 uses these estimated values of the observable and unobservable parts and the covariance matrix to convert them into a time estimate for the clock and output it.
[0170] A more specific state estimation rule is shown in Figure 6. Figure 6 shows an example of the state estimation side by the state estimation unit 130 of this embodiment.
[0171] [Effects of State Estimation System 1] Figure 7 shows an example of the effect of the state estimation system 1 of this embodiment. The figure shows the covariance matrix obtained during the estimation process of the state estimation unit 130. Figure (A) shows the change in the size of the covariance matrix used in the conventional calculation method. In the following explanation, the size of the covariance matrix will also be referred to as the norm of the covariance matrix (or simply the norm). In the conventional calculation method, it has been shown that the norm does not converge to a constant value over time, but rather diverges in time.
[0172] Figure (B) shows the norm of the observable partial covariance matrix according to the state estimation system 1 of this embodiment. Figure (C) shows the norm of the unobservable partial covariance matrix according to the state estimation system 1 of this embodiment. As shown in Figures (B) and (C), according to the state estimation system 1 of this embodiment, both the norm of the observable partial covariance matrix and the norm of the unobservable partial covariance matrix converge to a constant value over time, indicating that divergence is suppressed.
[0173] Figure 8 shows a comparison of the accuracy of the conventional method and the state estimation system 1 of this embodiment. The figure shows the Allan deviation, an index commonly used to evaluate the accuracy of clocks, with the horizontal axis representing the averaging time and the vertical axis representing the magnitude of the error. The smaller the error (the further down the vertical axis in the figure), the more stable the clock is considered to be. In the figure, the dashed line represents the accuracy of the clock before time control is performed. The solid line represents the theoretically obtainable limit of accuracy. The dashed line represents the accuracy of the state estimation system 1 of this embodiment without covariance correction by the covariance matrix correction unit 1323. The dashed line represents the accuracy of the state estimation system 1 of this embodiment with covariance correction by the covariance matrix correction unit 1323.
[0174] According to the state estimation system 1 of this embodiment, even without covariance correction by the covariance matrix correction unit 1323, the timing time of each timing device 50 can be controlled with high accuracy compared to the case without control.
[0175] Furthermore, according to the state estimation system 1 of this embodiment, when covariance correction is performed by the covariance matrix correction unit 1323, the timing time of each timing device 50 can be controlled with even greater precision.
[0176] The state estimate obtained by the state estimation system 1 includes information about the time error of the timing device 50. Therefore, by correcting the time of the timing device 50 using this information, a more accurate time can be provided.
[0177] Furthermore, if there is more information on the difference in timing times between the timing devices 50, the accuracy of the error estimate can be further improved. As described above, the state estimation system 1 concentrates error information in a single device (for example, the state estimation device 10), allowing it to collect more error information between clocks. Therefore, according to the state estimation system 1 of this embodiment, the calculation accuracy of the error estimate can be improved.
[0178] Although embodiments of the present invention have been described in detail above with reference to the drawings, the specific configuration is not limited to these embodiments, and design modifications and the like are also included within the scope of the gist of the present invention. For example, a computer program to implement the functions of each of the above-mentioned devices may be recorded on a computer-readable recording medium, and the program recorded on this recording medium may be loaded into a computer system and executed. The term "computer system" here may include hardware such as an operating system and peripheral devices.
[0179] Furthermore, "computer-readable recording media" refers to writable non-volatile memory such as flexible disks, magneto-optical disks, ROMs, and flash memory, portable media such as DVDs (Digital Versatile Discs), and storage devices such as hard disks built into computer systems. Furthermore, "computer-readable recording media" also includes volatile memory (such as DRAM (Dynamic Random Access Memory)) within computer systems that act as servers or clients when programs are transmitted via networks such as the Internet or communication lines such as telephone lines, which retain programs for a certain period of time.
[0180] Furthermore, the above program may be transmitted from a computer system that stores the program in a memory device or the like to another computer system via a transmission medium or by transmission waves within the transmission medium. Here, the "transmission medium" used to transmit the program refers to a medium that has the function of transmitting information, such as a network (communication network) like the Internet or a communication line (communication line) like a telephone line. Furthermore, the above program may be intended to implement some of the functions described above. It may also be a so-called differential file (differential program) that can implement the aforementioned functions in combination with programs already recorded in the computer system. [Explanation of Symbols]
[0181] 1...State estimation system, 10...State estimation device, 20...State space model storage unit, 50...Timekeeping device
Claims
1. A device for estimating the state of a clock described by a state-space model, A model acquisition unit that acquires a state-space model of a clock network composed of multiple clocks, A time difference information acquisition unit acquires time difference information for each of the clocks, which indicates the difference in indicated times between multiple clocks. A state estimation unit comprising a first estimation unit that estimates the observable portion of the state space model and a second estimation unit that estimates the unobservable portion, A state estimation device equipped with the following features.
2. The state-space model is composed of a state equation that includes an observable part and an observable part, and an observation equation that also includes an observable part and an observable part. The state estimation device according to claim 1.
3. A control unit calculates the clock operation amount based on the first estimation result, which is the estimation result of the observable portion, and the second estimation result, which is the estimation result of the unobservable portion. The state estimation device according to claim 1, further comprising:
4. Covariance matrix correction unit that corrects the unobservable portion covariance matrix, which is the covariance matrix showing the noise in the unobservable portion. The state estimation device according to claim 3, further comprising:
5. Unobservable part space specification section for specifying the type of space in the unobservable part. Furthermore, The second estimation unit performs estimation of the unobservable portion using the specified type of space. The state estimation device according to claim 1.
6. A computer that estimates the state of a clock described by a state-space model M, Obtaining a state-space model M of a clock network composed of multiple clocks, Obtaining time difference information for each clock that shows the difference in indicated times between multiple clocks, This involves estimating the observable portion of the state-space model M, and estimating the unobservable portion. A program to execute.