Expand this Topic clickable element to expand a topic
Skip to content
Optica Publishing Group

High-factor interpolation method based on space-time modulation and a Kalman filter for optical encoders

Open Access Open Access

Abstract

A high-factor interpolation method based on space-time modulation and a Kalman filter for optical encoders is proposed. Space-time modulation employs a reference time signal to modulate the output displacement signal of the optical encoder into a displacement space-time signal. Subsequently, high-frequency pulse signals are used for interpolation, which detect the phase of the reference time signal and the displacement space-time signal to obtain displacement information from the optical encoder output. The interpolation factor of this method depends on the frequencies of the high-frequency pulse signal and the reference time signal, and is independent of the moving speed. A Kalman filter is employed to estimate the velocity, compensating for time lag errors in the displacement information output by space-time modulation to improve the real-time performance of displacement output. The proposed method is simple and effective, which can be implemented on an FPGA. The effectiveness of the proposed method is verified through simulation and experimentation.

© 2024 Optica Publishing Group under the terms of the Optica Open Access Publishing Agreement

1. Introduction

Optical encoders are critical sensors for position measurement and motion feedback, widely utilized in various fields such as mechanical systems, CNC machine tools, and robotics [18]. With the increasing demands for precision manufacturing, higher resolutions are required. Due to limitations in the manufacturing process, the inherent resolution of optical gratings is finite. Optical subdivision techniques offer an effective approach to further enhance the resolution of optical encoders. Multiplying the optical signal through special optical path designs [9,10] is a method for achieving resolution enhancement. This is primarily accomplished by selecting higher-order diffracted light or increasing the diffraction times. However, as the diffraction order increases, the energy of the optical beam significantly decreases, impacting signal quality and intensity. Another method for resolution enhancement is based on electronic interpolation algorithms, which find extensive applications and can achieve up to 40,000 times interpolation [11,12].

Currently, electronic interpolation strategies can be categorized into closed-loop interpolation and open-loop interpolation [13,14]. Closed-loop interpolation methods are based on phase-locked loop (PLL) technology for phase angle estimation. When sine and cosine signals are used as inputs, the output is an estimated phase angle of the signal [15]. The phase detector (PD) detects deviations between the input signal and the estimated signal, and the proportional-integral (PI) stage performs low-pass filtering to enhance system noise resistance and stability. This approach utilizes a voltage-controlled oscillator (VCO), up-down counter (UPC), lookup table (LUT), and digital-to-analog converter (DAC) to generate feedback sine and cosine signals. Ultimately, it achieves phase estimation to track the phase of the input signal for interpolation. However, increasing the interpolation factor consumes more logic resources, and interpolation errors grow when the signal contains distortion components. Open-loop interpolation methods include the arctangent algorithm, amplitude linearization method, and pulse interpolation method. The arctangent algorithm calculates phase values based on the arctan of sine and cosine functions. This ratio-based method is less sensitive to signal amplitude fluctuations but uses an offline constructed LUT for achieving appropriate accuracy due to its nonlinear nature [16,17]. The amplitude linearization method operates on the original encoder sine and cosine signals, transforming nonlinear signals into linear signals proportional to displacement. This method is simple and reasonably accurate, but it is affected by signal amplitude and often requires signal compensation to improve linearity [18,19]. The pulse interpolation method uses high-frequency clock pulses to interpolate the signal, adjusting the interpolation factor by altering the clock frequency. This method is straightforward and efficient, but the interpolation factor is influenced by the motion speed [8]. Space-time modulation can address speed issues but may introduce lag in the displacement output.

To address the issue of lag in displacement output, this paper presents an interpolation method based on space-time modulation and Kalman filter. Space-time modulation is based on pulse interpolation techniques to demodulate the displacement information from optical encoders, while a Kalman filter is utilized to estimate the velocity, compensating for time lag errors in the space-time modulation output displacement information, thus enhancing the real-time nature of displacement output. This method is computationally efficient and can be implemented on FPGA. In Section 2, we elucidate the principles of the proposed space-time modulation and Kalman filter interpolation method. In Section 3, we perform simulation calculations on the proposed interpolation method and present the simulation results. In Section 4, we describe the implementation of the proposed interpolation method and present experimental results. The conclusion is summarized in Section 5.

2. Principle of the proposed method

The principles of the interpolation method based on space-time modulation and Kalman filtering are illustrated in Fig. 1. Firstly, the sine (Igs(x)) and cosine (Igc(x)) signals generated by the optical encoder are modulated with time signals Its(t) and Itc(t) to obtain the space-time domain signal Igts(t, x) = sin(2πf0 t + 2πx/p). Secondly, the space-time domain signal Igts(t, x) and the time signal Its(t) are compared in the time domain, and interpolation is performed using high-frequency interpolation pulse signals to determine the time difference Δt in the time domain. This time difference Δt corresponds to the displacement detected by the optical encoder. However, this method has a time lag issue in which it outputs the position value xt0 at time t1 instead of time t0. To address this, a Kalman filter is used to estimate the velocity, compensating for the time lag issue in the space-time modulation output displacement information, ultimately yielding the displacement value x.

 figure: Fig. 1.

Fig. 1. Schematic of the proposed interpolation method. (a) Space-time modulation and Kalman filter. (b) Pulse interpolation principle.

Download Full Size | PDF

2.1 Principle of calculating displacement by space-time modulation

The output signal of the optical encoder consists of a set of sine (Igs(x)) and cosine (Igc(x)) signals, expressed as follows:

$$\begin{array}{l} {I_{gs}}(x )= \sin \left( {2\pi \frac{x}{p}} \right)\\ {I_{gc}}(x )= \cos \left( {2\pi \frac{x}{p}} \right) \end{array}, $$
where Igs(x) is the optical encoder's original sine signal, Igc(x) is the optical encoder's original cosine signal, p is the period, and x is the displacement detected by the optical encoder. Modulation is achieved by using time signals, Its(t) and Itc(t), with a frequency of f0. The expressions for the time signals are as follows:
$$\begin{array}{l} {I_{ts}}(t )= \sin ({2\pi {f_0}t} )\\ {I_{tc}}(t )= \cos ({2\pi {f_0}t} )\end{array}, $$
the calculation method for space-time domain signal modulation is given by Igts(t, x) = Its(tIgc(x) + Itc(tIgs(x). Therefore, the expression for the space-time domain signal can be derived as follows:
$${I_{gts}}({t,x} )= \sin \left( {2\pi {f_0}t + 2\pi \frac{x}{p}} \right), $$
where Igts(t, x) is the modulated space-time domain signal, f0 is the frequency of the modulating time signal, and t denotes the time duration in the time domain.

By comparing Eqs. (2) and (3) analyzing the time signal Its(t) and the space-time domain signal Igts(t, x) within one period in the time domain, it is evident that changes in the displacement detected by the optical encoder introduce phase deviations in both the time signal and the space-time domain signal. By determining the phase deviation between the time signal and the space-time domain signal, the displacement can be calculated. The pulse interpolation method is employed to determine the signal period length for both the time signal and the space-time domain signal. Within one signal period, the period length of the space-time domain signal is denoted as t0, while the period length of the time signal is t1. The difference in period lengths between them is Δt. Therefore, the displacement can be determined as:

$${x_{t0}} = p \cdot {f_0} \cdot ({{t_1} - {t_0}} )= p \cdot {f_0} \cdot \Delta t, $$
the period lengths are determined through pulse counting, where the period length for t0 and t1 corresponds to the number of high-frequency interpolation pulse signals, denoted as N0 and N1, respectively. Therefore, Eq. (4) can be further expressed as:
$${x_{t0}} = p \cdot {f_0} \cdot ({{t_1} - {t_0}} )= p \cdot {f_0} \cdot \frac{{({{N_1} - {N_0}} )}}{{{f_1}}},$$
where f1 is the frequency of the high-frequency interpolation pulse signals. Based on Eq. (5), it can be observed that the interpolation factor is related to the frequency f0 of the time signal and the frequency f1 of the high-frequency interpolation pulse signals. Additionally, from Fig. 1(b), it is evident that the space-time modulation interpolation method outputs the displacement value at time t1 for the time t0, indicating the presence of a time lag error. This paper assumes constant velocity over a short period, and by solving for velocity, it compensates for the time lag error in the space-time modulation output displacement information, thereby improving the real-time nature of the displacement output.

2.2 Principles of Kalman filter for velocity estimation

The estimation of velocity is typically achieved through the differentiation of displacement, but differential operations can introduce noise. Therefore, this paper employs the Kalman filter algorithm to estimate velocity. The state equation and observation equation for the constructed velocity estimation system are as follows:

$$\begin{array}{l} {\boldsymbol x}(k )= {\boldsymbol Ax}({k - 1} )+ {\boldsymbol q}({k - 1} )\\ {\boldsymbol y}(k )= {\boldsymbol Hx}(k )+ {\boldsymbol r}(k )\end{array}, $$
where x is the state vector, y is the observed differential displacement of motion, A is the system state transition matrix, H is the system observation matrix, q represents process noise, and r represents observation noise. Specifically, the state vector x(k), system state transition matrix A, and system observation matrix H are defined as:
$${\boldsymbol x}\textrm{ = }\left[ {\begin{array}{{c}} v\\ \varepsilon \end{array}} \right],\textrm{ }{\boldsymbol A} = \left[ \begin{array}{cc} 1 & 1\\ 0 & 1 \end{array} \right],\textrm{ }{\boldsymbol H} = \left[ {\begin{array}{cc} T&0 \end{array}} \right], $$
where v represents the estimated motion velocity, ε is the velocity fluctuation, and T is the signal sampling period. Typically, process noise and observation noise are modeled as zero-mean Gaussian white noise. In the paper, it is assumed that the covariance matrix of process noise is:
$${\boldsymbol Q} = \left[\begin{array}{cc} 0 & 0\\ 0 & 1\end{array} \right], $$
the covariance matrix of observation noise is:
$${\boldsymbol R} = \gamma, $$
where γ represents the variance of observation noise. A larger value tends to bias towards prediction, while a smaller value tends to bias towards measurement. The specific value is determined based on the experimental system.

The Kalman filter algorithm principle includes two processes: the state prediction process and the state update process, as shown in Fig. 2. The state prediction process is defined as:

$$\begin{array}{l} {\boldsymbol x}({k|k - 1} )= {\boldsymbol Ax}({k - 1} )\\ {\boldsymbol P}({k|k - 1} )= {\boldsymbol AP}({k - 1} ){{\boldsymbol A}^T} + {\boldsymbol Q} \end{array}, $$
where x(k) is the state vector at time k-1, x(k|k-1) is the predicted state vector at time k, P(k-1) is the error covariance matrix at time k-1, and P(k|k-1) is the predicted error covariance matrix at time k. Typically, the initial error covariance matrix P(0) is assumed to be the identity matrix. The state update process is then defined as:
$$\begin{array}{l} {\boldsymbol K}(k )= {\boldsymbol P}({k|k - 1} ){{\boldsymbol H}^T}{[{{\boldsymbol HP}({k|k - 1} ){{\boldsymbol H}^T} + {\boldsymbol R}} ]^{ - 1}}\\ {\boldsymbol x}(k )= {\boldsymbol x}({k|k - 1} )+ {\boldsymbol K}(k )[{{\boldsymbol y}(k )- {\boldsymbol Hx}({k|k - 1} )} ]\\ {\boldsymbol P}(k )= [{{\boldsymbol I} - {\boldsymbol K}(k ){\boldsymbol H}} ]{\boldsymbol P}({k|k - 1} )\end{array}, $$
where K(k) represents the Kalman gain of the system, I is the identity matrix, P(k) is the updated error covariance matrix at time k, and x(k) is the updated state vector at time k.

 figure: Fig. 2.

Fig. 2. Prediction and update process of the Kalman filter.

Download Full Size | PDF

Equations (10) and (11) involve matrix operations, which can be computationally complex and challenging to implement in hardware circuits. This paper further derives algebraic formulations to facilitate hardware implementation. In this context, the prior error covariance matrix (the predicted error covariance matrix) is represented as:

$${{\boldsymbol P}^{(1 )}} = \left[ \begin{array}{cc} {{p_{11}} + {p_{12}} + {p_{21}} + {p_{22}}}&{p_{12}} + {p_{22}}\\ {{p_{21}} + {p_{22}}}& {{p_{22}}} \end{array} \right] + {\boldsymbol Q}, $$
where pij (i,j = 1,2) represents the i-th row and j-th column element in the previous stage's error covariance matrix. The expression for the state vector is given as:
$$\left[ {\begin{array}{{c}} {{v^{(2 )}}}\\ {{\varepsilon^{(2 )}}} \end{array}} \right] = \left[ {\begin{array}{{c}} {v + \varepsilon }\\ \varepsilon \end{array}} \right] + \frac{{y - T \cdot ({v + \varepsilon } )}}{{{T^2}p_{11}^{(1 )} + \gamma }}\left[ {\begin{array}{{c}} {Tp_{11}^{(1 )}}\\ {Tp_{21}^{(1 )}} \end{array}} \right], $$
the posterior error covariance matrix (the updated error covariance matrix) is expressed as:
$${{\boldsymbol P}^{(2 )}} = \frac{1}{{{T^2}p_{11}^{(1 )} + \gamma }}\left[\begin{array}{cc} {\gamma p_{11}^{(1 )}} & {\gamma p_{21}^{(1 )}}\\{\gamma p_{12}^{(1 )}}& {{T^2}({p_{11}^{(1 )}p_{22}^{(1 )} - p_{12}^{(1 )}p_{21}^{(1 )}} )+ \gamma p_{22}^{(1 )}}\end{array} \right], $$
where p(1)ij (i,j = 1,2) represents the i-th row and j-th column element in the predicted error covariance matrix. The superscript (1) in the formula signifies values during the state prediction process, the superscript (2) signifies values during the state update process, and no superscript indicates values from the previous stage. By utilizing the Kalman filter algorithm to estimate motion velocity information, the time lag error in the space-time modulation output displacement information can be compensated for.

3. Simulation

3.1 Simulation parameters

Numerical simulation is employed to validate the efficacy of the proposed methodology under ideal conditions. Simulation calculations of the interpolation process for the aforementioned space-time modulation interpolation method were conducted using MATLAB software to further investigate the interpolation principles and errors. In this study, a uniform acceleration motion displacement generation method was employed. Additionally, during the simulation calculations, it was assumed that the original signals output by the optical encoder were ideal standard amplitude sine and cosine signals. The fundamental parameters of the simulation process were as follows: the signal period of the optical encoder was 1µm, the amplitude of the original signals from the optical encoder and time signals was 1 V, the frequency of the time signal was set to 10KHz, the frequency of the high-frequency interpolation pulse signals was 100 MHz, resulting in an interpolation factor of 10,000. The observation noise variance in the Kalman filter was set to 0.01. The displacement generation method involved a typical uniform acceleration motion with an acceleration of 2500µm/s2, requiring 0.028s to complete one period of 1µm.

3.2 Simulation results

Figure 3 illustrates the optical encoder output signals under uniform acceleration motion. Figure 3(a) presents the simulated velocity versus time curve, Fig. 3(b) displays the displacement versus time curve within one simulation period, Fig. 3(c) shows the curves of the optical encoder's output sine and cosine signals with respect to displacement, and Fig. 3(d) shows the curves of the optical encoder's output sine and cosine signals with respect to time. In Fig. 3(c) and 3(d), the red and blue lines represent the optical encoder's output sine signal (Igs) and cosine signal (Igc), with only one period (1µm) shown in the plot.

 figure: Fig. 3.

Fig. 3. Optical encoder output signals under uniform acceleration motion. (a) Variation of velocity over time. (b) Displacement variation over time. (c) Variation of sine and cosine signals with respect to displacement. (d) Variation of sine and cosine signals with respect to time.

Download Full Size | PDF

Simulation calculations were performed using MATLAB software for the Kalman filter algorithm suitable for target velocity estimation, and the results are presented in Fig. 4. Figure 4(a) displays the time signal and space-time domain signal, showing a noticeable phase difference as displacement increases. Figure 4(b) illustrates the interpolation error for the space-time interpolation method without considering time lag, which increases with higher velocities. The maximum simulated error in this case is 40 nm. Figure 4(c) showcases the estimated velocity using the space-time modulation and Kalman filter interpolation methods, denoted by the dashed line. The solid line represents the true velocity, and the dash-dot line indicates the computed velocity by differentiation. It is evident from the graph that the velocity curve estimated by the Kalman filter is smoother. Figure 4(d) demonstrates the interpolation error after compensating for the time lag error. Although the error still increases with higher velocities, the compensated error is reduced to 0.7 nm. The simulation results affirm the effectiveness of the velocity estimation method through Kalman filter in reducing time lag errors.

 figure: Fig. 4.

Fig. 4. Kalman filter algorithm simulation. (a) Space-time and time signals. (b) Error due to time lag. (c) Velocity estimation results. (d) Error after time lag correction.

Download Full Size | PDF

4. Experiment

4.1 Hardware implementation

In order to evaluate the performance of the proposed space-time modulation and Kalman filtering interpolation method, an optical encoder displacement measurement platform was constructed, as shown in Fig. 5. The optical encoder displacement measurement platform includes an optical encoder measurement module, a displacement control module, an accuracy calibration module, and an interpolation processing module. The optical encoder measurement module uses a helium-neon laser (25-LHP-151-230, Melles Griot) with a wavelength of 632.8 nm and employs a fourfold grating interference optical path design. It utilizes a transmission grating with a period (p) of 4µm, a duty cycle of a/p = 0.5 (where a represents the grating ridge width), and a groove depth of h = 0.790µm. The average diffraction efficiency of the ±1st order light is 43.52% with a standard deviation of 0.07%. Due to the fourfold optical interpolation in the optical path design, the resolution of the optical encoder's output signal is 1µm. The displacement control module consists of nanopositioners (ECSx5050, Attocube), which allows for nanometer-level displacement control. As per the technical specifications in the official manual, the closed-loop feedback resolution is specified as 1 nm, and the repeatable positioning accuracy is 50 nm. It controls the motion of the scale grating in the optical encoder to generate sinusoidal signals. The accuracy calibration module uses an interferometer (IDS3010, Attocube) with the sensor head positioned directly opposite a reflector fixed to the grating fixture. The interferometer's controller emits laser light, which is then transmitted through optical fibers and reflected back into the sensor head by the reflector. This setup enables highly precise measurements of grating movement, with a theoretical resolution better than 1pm and a repeatability better than 2 nm (The data is obtained from the technical specifications section of the official manual). The interpolation processing module includes correction circuits and a USB-7856R multifunction I/O device. The signals from the optical encoder's output are collected by the correction circuits and then directly processed by the space-time modulation and Kalman filtering interpolation module based on the USB-7856R. The interpolated displacement values, after counting, are displayed in the LabVIEW interface on the computer.

 figure: Fig. 5.

Fig. 5. Setup of the optical encoder displacement measurement platform.

Download Full Size | PDF

Figure 6 illustrates the hardware platform for space-time modulation and Kalman filter interpolation. A solution for space-time modulation and Kalman filter interpolation was developed, employing a multifunction I/O device, specifically the USB-7856R by National Instruments (NI), in conjunction with a host computer. The USB-7856R is equipped with 8 channels of analog input (AI), 8 channels of analog output (AO), and 48 channels of digital input/output (DIO). It also features a field-programmable gate array (FPGA) and an application-specific integrated circuit (ASIC), facilitating onboard signal processing and providing flexible system timing and synchronization capabilities. Each channel is outfitted with a dedicated analog-to-digital converter (ADC) for independent timing and triggering purposes. The Kintex-7 FPGA module, an integral component of this platform, enables customized functionality development, making it suitable for applications demanding precise timing and control, such as hardware testing, sensor emulation, and custom protocol communication. The optical encoder's sine and cosine signals, denoted as Igs and Igc, are input through the AI ports of the USB-7856R and subsequently converted into digital signals by the ADCs. Within the Kintex-7 FPGA, tasks encompass space-time modulation processing, time signal generation, and pulse interpolation. Upon computation and counting, the results are transmitted to the host computer's FIFO memory via the stream data processing component (DMO), ultimately being displayed as displacement values (x) in the user interface.

 figure: Fig. 6.

Fig. 6. Hardware platform for space-time modulation and Kalman filter interpolation.

Download Full Size | PDF

The top-level design principle diagram for the space-time modulation and Kalman filter interpolation method developed based on the LabVIEW-FPGA module is depicted in Fig. 7. This module comprises processes such as time signal generation, space-time modulation, zero-crossing comparison, high-frequency pulse interpolation, and Kalman filter. The utilization of FPGA logic resources is summarized in Table 1.

 figure: Fig. 7.

Fig. 7. Block diagram of the top-level module design for space-time modulation and Kalman filter interpolation based on LabVIEW-FPGA.

Download Full Size | PDF

Tables Icon

Table 1. The utilization of logic resources in FPGA

4.2 Experimental results

The sine and cosine signals output from the optical encoder are fed into an oscilloscope, as shown in Fig. 8. The resulting Lissajous figure approximately forms an ideal circle, indicating that the phase difference between the sine and cosine signals from the optical encoder is close to 90°, their amplitudes are roughly equal, and there is minimal DC bias.

 figure: Fig. 8.

Fig. 8. Waveforms and Lissajous figure of the optical encoder output signals.

Download Full Size | PDF

The optical encoder measurement module utilizes a fourfold grating interference optical path design with a transmission grating of 4µm period. Due to the inherent fourfold optical subdivision in the optical path design, the resolution of the optical encoder output signal is 1µm. The modulation frequency of the time-modulated signal is 8KHz, and the clock frequency of the high-frequency pulse signal is 80 MHz, resulting in an interpolation factor of 10,000, theoretically providing an interpolation display resolution of 0.1 nm. The grating is moved using nanopositioners with a motion step size of 50 nm, covering a total range of 1µm. There are a total of 20 measurement points, and the same procedure is repeated six times for accuracy, calibrated using the IDS3010 laser interferometer. The experimental results are shown in Fig. 9, with a maximum average error of 4.5 nm and a maximum standard deviation of 5.8 nm. The relatively large standard deviation can be attributed to environmental noise and circuit noise. The experimental results confirm the effectiveness of the proposed method.

 figure: Fig. 9.

Fig. 9. Interpolation precision calibration within 1 µm range.

Download Full Size | PDF

Next, we proceed with a further assessment of the effectiveness of the Kalman filter in compensating for time lag errors present in the output displacement within the proposed space-time modulation method. Dynamic measurements were employed to assess the compensatory effects of the Kalman filter on time lag errors. During the experiment, nanopositioners moved at a constant speed of 200µm/s. The proposed method calculated displacements using FPGA, generating trigger pulses at intervals of 0.5µm. These pulses simultaneously triggered data acquisition by both the grating interferometer and the laser interferometer. Subsequently, dynamic measurement errors were analyzed. The experiment was repeated six times, and the results are depicted in Fig. 10. Prior to compensating for time lag errors, the lag errors increased with the movement distance of the grating, reaching a maximum average error of 45.4 nm, with a standard deviation of 6.3 nm. After the Kalman filter estimated velocity and compensated for time lag errors, the maximum average error reduced to 5.3 nm, with a standard deviation of 6.9 nm. These results closely align with the static measurement results shown in Fig. 9. The experimental findings demonstrate the ability of the Kalman filter to mitigate time lag errors in the space-time modulation subdivision method.

 figure: Fig. 10.

Fig. 10. Comparison of results before and after Kalman filter compensation for time lag errors.

Download Full Size | PDF

5. Conclusion

A high-factor interpolation method based on space-time modulation and Kalman filtering principles for optical encoder is proposed. In the space-time modulation process, the optical encoder's output displacement signal is modulated into a space-time displacement signal using a reference time signal. Subsequently, high-frequency interpolation pulse signals are used to interpolate, which demodulates the phase of the reference time signal and the space-time displacement signal in the time domain, and obtains the displacement information detected by the optical encoder. The interpolation factor of this method depends on the frequencies of the reference time signal and the high-frequency interpolation pulse signal. Within the Kalman filter, velocity and velocity fluctuation are treated as state vectors, and the differential value of the encoder's output displacement serves as the observation value. By compensating for the time lag error in the displacement output from space-time modulation using estimated velocity, the real-time performance of displacement output is improved. Simulation results demonstrate that after compensating for the time lag error using Kalman filter for velocity estimation, the time lag error is reduced from 40 nm to 0.7 nm. Furthermore, matrix operations in the Kalman filter have been simplified into algebraic operations, involving basic addition, subtraction, multiplication, and division operations, enabling the proposed method to be implemented on FPGA hardware. The algorithm corresponding to this approach has been developed using the LabVIEW-FPGA module form National Instruments (NI), and an optical encoder displacement measurement platform has been constructed to validate and test the performance of the proposed method. Experimental results show that interpolation accuracy of 4.5 nm can be achieved within a 1µm signal period of the optical encoder. These experimental results essentially confirm the effectiveness of the proposed method.

Funding

Fundamental Research Funds for the Central Universities (xzy022019002).

Disclosures

The authors declare no conflicts of interest.

Data availability

Data underlying the results presented in this paper are not publicly available at this time but may be obtained from the authors upon reasonable request.

References

1. X. Li, H. Wang, K. Ni, et al., “Two-probe optical encoder for absolute positioning of precision stages by using an improved scale grating,” Opt. Express 24(19), 21378–21391 (2016). [CrossRef]  

2. G. Y. Ye, H. Z. Liu, Y. W. Ban, et al., “Development of a reflective optical encoder with submicron accuracy,” Opt. Commun. 411, 126–132 (2018). [CrossRef]  

3. D. Gurauskis, A. Kilikevičius, S. Borodinas, et al., “Analysis of geometric and thermal errors of linear encoder for real-time compensation,” Sensors and Actuators A: Physical 296, 145–154 (2019). [CrossRef]  

4. G. B. Zhao, B. Lei, G. Y. Ye, et al., “Improved eccentricity self-detection method based on least square algorithm for polar coordinate encoder,” IEEE Sensors J. 21(23), 26902–26911 (2021). [CrossRef]  

5. Y. Kangning, Z. Junhao, Y. Weihan, et al., “Two-channel six degrees of freedom grating-encoder for precision-positioning of sub-components in synthetic-aperture optics,” Opt. Express 29(14), 21113–21128 (2021). [CrossRef]  

6. R. N. A. Algburi and H. Gao, “Health assessment and fault detection system for an industrial robot using the rotary encoder signal,” Energies 12(14), 2816 (2019). [CrossRef]  

7. Y. W. Ban, G. B. Zhao, Z. H. Zhang, et al., “Study on the influence of surface roughness on the diffraction efficiency of two-dimensional gratings,” Opt. Express 31(18), 28701–28715 (2023). [CrossRef]  

8. T. Yandayan, R. D. Geckeler, A. Just, et al., “Investigations of interpolation errors of angle encoders for high precision angle metrology,” Meas. Sci. Technol. 29(6), 064007 (2018). [CrossRef]  

9. E. Higurashi and R. Sawada, “Micro-encoder based on higher-order diffracted light interference,” J. Micromech. Microeng. 15(8), 1459–1465 (2005). [CrossRef]  

10. X. C. Chu, H. B. Lu, and S. H. Zhao, “Research on long-range grating interferometry with nanometer resolution,” Meas. Sci. Technol. 19(1), 017001 (2008). [CrossRef]  

11. K. K. Tan, H. X. Zhou, and T. H. Lee, “New interpolation method for quadrature encoder signals,” IEEE Trans. Instrum. Meas. 51(5), 1073–1079 (2002). [CrossRef]  

12. S. Makinouchi, A. Watanabe, M. Takasaki, et al., “An evaluation of a modulated laser encoder,” Precis. Eng. 35(2), 302–308 (2011). [CrossRef]  

13. N. A. Qamar, C. J. Hatziadoniu, and H. Wang, “Speed error mitigation for a DSP-based resolver-to-digital converter using autotuning filters,” IEEE Trans. Ind. Electron. 62(2), 1134–1139 (2015). [CrossRef]  

14. M. Benammar and A. Gonzales, “A novel PLL resolver angle position indicator,” IEEE Trans. Instrum. Meas. 65(1), 123–131 (2016). [CrossRef]  

15. H. X. Nguyen, T. N. Tran, J. W. Park, et al., “An adaptive linear-neuron-based third-order PLL to improve the accuracy of absolute magnetic encoders,” IEEE Trans. Ind. Electron. 66(6), 4639–4649 (2019). [CrossRef]  

16. T. Požar, P. Gregorčič, and J. Možina, “A precise and wide-dynamic-range displacement-measuring homodyne quadrature laser interferometer,” Appl. Phys. B 105(3), 575–582 (2011). [CrossRef]  

17. J. A. Kim, J. W. Kim, C. S. Kang, et al., “An optical absolute position measurement method using a phase-encoded single track binary code,” Rev. Sci. Instrum. 83(11), 115115 (2012). [CrossRef]  

18. G. Y. Ye, S. J. Fan, H. Z. Liu, et al., “Design of a precise and robust linearized converter for optical encoders using a ratiometric technique,” Meas. Sci. Technol. 25(12), 125003 (2014). [CrossRef]  

19. G. Y. Ye, H. Z. Liu, S. J. Fan, et al., “Precise and robust position estimation for optical incremental encoders using a linearization technique,” Sensors and Actuators A: Physical 232, 30–38 (2015). [CrossRef]  

Data availability

Data underlying the results presented in this paper are not publicly available at this time but may be obtained from the authors upon reasonable request.

Cited By

Optica participates in Crossref's Cited-By Linking service. Citing articles from Optica Publishing Group journals and other participating publishers are listed here.

Alert me when this article is cited.


Figures (10)

Fig. 1.
Fig. 1. Schematic of the proposed interpolation method. (a) Space-time modulation and Kalman filter. (b) Pulse interpolation principle.
Fig. 2.
Fig. 2. Prediction and update process of the Kalman filter.
Fig. 3.
Fig. 3. Optical encoder output signals under uniform acceleration motion. (a) Variation of velocity over time. (b) Displacement variation over time. (c) Variation of sine and cosine signals with respect to displacement. (d) Variation of sine and cosine signals with respect to time.
Fig. 4.
Fig. 4. Kalman filter algorithm simulation. (a) Space-time and time signals. (b) Error due to time lag. (c) Velocity estimation results. (d) Error after time lag correction.
Fig. 5.
Fig. 5. Setup of the optical encoder displacement measurement platform.
Fig. 6.
Fig. 6. Hardware platform for space-time modulation and Kalman filter interpolation.
Fig. 7.
Fig. 7. Block diagram of the top-level module design for space-time modulation and Kalman filter interpolation based on LabVIEW-FPGA.
Fig. 8.
Fig. 8. Waveforms and Lissajous figure of the optical encoder output signals.
Fig. 9.
Fig. 9. Interpolation precision calibration within 1 µm range.
Fig. 10.
Fig. 10. Comparison of results before and after Kalman filter compensation for time lag errors.

Tables (1)

Tables Icon

Table 1. The utilization of logic resources in FPGA

Equations (14)

Equations on this page are rendered with MathJax. Learn more.

I g s ( x ) = sin ( 2 π x p ) I g c ( x ) = cos ( 2 π x p ) ,
I t s ( t ) = sin ( 2 π f 0 t ) I t c ( t ) = cos ( 2 π f 0 t ) ,
I g t s ( t , x ) = sin ( 2 π f 0 t + 2 π x p ) ,
x t 0 = p f 0 ( t 1 t 0 ) = p f 0 Δ t ,
x t 0 = p f 0 ( t 1 t 0 ) = p f 0 ( N 1 N 0 ) f 1 ,
x ( k ) = A x ( k 1 ) + q ( k 1 ) y ( k ) = H x ( k ) + r ( k ) ,
x  =  [ v ε ] ,   A = [ 1 1 0 1 ] ,   H = [ T 0 ] ,
Q = [ 0 0 0 1 ] ,
R = γ ,
x ( k | k 1 ) = A x ( k 1 ) P ( k | k 1 ) = A P ( k 1 ) A T + Q ,
K ( k ) = P ( k | k 1 ) H T [ H P ( k | k 1 ) H T + R ] 1 x ( k ) = x ( k | k 1 ) + K ( k ) [ y ( k ) H x ( k | k 1 ) ] P ( k ) = [ I K ( k ) H ] P ( k | k 1 ) ,
P ( 1 ) = [ p 11 + p 12 + p 21 + p 22 p 12 + p 22 p 21 + p 22 p 22 ] + Q ,
[ v ( 2 ) ε ( 2 ) ] = [ v + ε ε ] + y T ( v + ε ) T 2 p 11 ( 1 ) + γ [ T p 11 ( 1 ) T p 21 ( 1 ) ] ,
P ( 2 ) = 1 T 2 p 11 ( 1 ) + γ [ γ p 11 ( 1 ) γ p 21 ( 1 ) γ p 12 ( 1 ) T 2 ( p 11 ( 1 ) p 22 ( 1 ) p 12 ( 1 ) p 21 ( 1 ) ) + γ p 22 ( 1 ) ] ,
Select as filters


Select Topics Cancel
© Copyright 2024 | Optica Publishing Group. All rights reserved, including rights for text and data mining and training of artificial technologies or similar technologies.