1. Introduction
Absolute distance measurement is necessary for the satellite formation flying and processes of precision manufacturing [
1,
2]. The invention of the optical frequency comb (OFC) provides a promising opportunity for precision absolute distance measuring [
3]. The OFC contains a number of discrete modes in the frequency spectrum which are regularly spaced and the optical frequency
of each mode is
, where
is the offset frequency and
is the repetition frequency [
4,
5]. The offset frequency
and repetition frequency
are radio frequencies (rf) which means that the OFC can link the frequencies in the optical domain and frequencies in the radio domain. This feature facilitates the developments in many fields such as optical frequency synthesis [
6,
7,
8], precision absorption spectroscopy [
9,
10,
11,
12,
13], optical atomic clocks [
14,
15], microwave frequency transfer [
16,
17], and absolute distance measurement [
3,
18].
Dual-comb ranging (DCR) is based on the two fiber-based OFCs with slightly different repetition frequencies, acting as a signal comb and a local oscillator (LO) comb, respectively. Since the dual-comb method proposed by Schiller in 2002 for performing accurate spectral characterization of samples [
19] and Coddington et al. in NIST applied dual-comb in measuring absolute distance in 2009 firstly [
20], DCR draws great attention from academia and industry for its outstanding features [
21,
22,
23,
24]. DCR can take advantage of time-of-flight(TOF) and interferometric method together so that the measurement can be performed with high precision and fast update rates [
20]. For the combining of the TOF and interferometric method, the measured absolute distance can be obtained from two parts. The first part is based on the time delay between the envelope of reference interferograms and target interferograms. The second part is provided from the carrier phase of the pulses.
DCR systems utilize the TOF principle from the perspective of the time domain and apply the multi-heterodyne principle from the frequency domain [
22]. The precision of the DCR systems can satisfy the requirements of industry fields mostly. Performance and limitations of DCR systems involving electro-optic modulators are discussed in detail in [
25]. In addition to combs with active stabilization, DCR with free-running dual-comb solid-state oscillators is also explored in [
26] which can reach a resolution of 0.55
m. A more detailed review of DCR can be found in [
22]. The dead zones and non-ambiguity range during the measuring process are two of the main factors that restrict the application of DCR systems in long-distance measuring.
To remove the dead zones in the measurements, Lee et al. in KAIST used orthogonal polarization to separate the measurement pulses from the reference pulses [
27]. This method proves the effectiveness of removing the dead zones using orthogonal polarization. Extending the non-ambiguity range mainly depends on creating a longer synthetic wavelength. In [
20], it switches the OFC sources of the DCR system and applies the Vernier effect to obtain a larger non-ambiguity range. With an alternate sampling method combined polarization-multiplexed dual-comb fiber laser, the swap of OFC sources can be finished without manually [
28]. Tuning the repetition frequency of the signal laser to extend the non-ambiguity range is also a common method [
27,
29], but the change of the frequency of the signal laser
should be tuned carefully to avoid
so as to obtain integer
m correctly. In addition to DCR systems, there are methods using triple combs to extend the non-ambiguity range [
30,
31].
In this paper, we propose an algorithm for determining the absolute distance of a mobile target without changing the repetition frequencies of the dual-combs and implement it on FPGA as a signal processing unit. Compared with digitizers based on a central processing unit (CPU), FPGA can run instructions in parallel and be flexibly programming configured to achieve high processing speed. Our algorithm fully takes advantage of the parallelism of FPGA and the signal processing unit can obtain the measured absolute distance in real-time by pipelining. Two OFCs were used in our experiments with repetition frequencies locked to an external reference only, and the offset frequencies were not locked. The target mirror moved back and forth near the non-ambiguity range to verify the effectiveness of extending the non-ambiguity range when the target object moved beyond the . When the target object stays near the , the Allan deviation can achieve ∼3.89 m in 1 ms and ∼0.37 m in 100 ms. Our method is a real-time and online solution based on FPGA that can promote the application of the DCR system in the field environment.
2. Materials and Methods
The experimental setup of the dual-comb ranging system is shown in
Figure 1. The signal comb and LO comb were homemade to supply femtosecond pulses at ∼56 MHz repetition rate around 1560 nm center wavelength. The signal comb and the LO comb are locked to an external reference, whose repetition frequencies are
MHz and
MHz, and the Allan deviation of repetition frequencies is less than 270
Hz at 1 s gate time which means the stability of repetition frequencies is better than 5e-12@1 s. The locking bandwidth of the repetition rate phase locking is tens of hertz. The difference in repetition frequencies between signal comb and LO comb is
Hz. Polarization beam splitters (PBS) whose extinction ratio is bigger than 1000 and quarter-wave plates (QWP) are used together to avoid dead zones since the reference interferograms and measurement interferograms are separated. Before PBS2, an optical band-pass filter (BPF; FWHM 6nm at 1550 nm) is used to meet the Nyquist sampling condition [
32]. Signals from the reference mirror and the measurement target will incident into two individual photodetectors (1811-FC, Newport, Santa Clara, CA, USA).The output of these two photodetectors is connected to the input of two electronic band-pass filters (2~20 MHz band-pass frequency), respectively. The analog electrical signals from BPF are the input signals of channel 0 and channel 1 for our homemade FPGA board (Zynq-XC7Z020). The input signals of these two channels will be sampled by two 14-bit analog-to-digital converters (ADC). These two ADCs (ADS4145, Texas Instruments, Dallas, TX, USA) are embedded on the FPGA board as a peripheral.After the data was processed by FPGA, the results of distance can be transmitted to the PC for displaying and storing via a universal asynchronous receiver transmitter (UART).
The signal comb emits pulses which are directed to the reference mirror and target mirror with orthogonal polarization states. These pulses cannot be detected by standard photodetectors, which do not have enough bandwidth for femtosecond pulses. With the pulses from LO comb samples signals that are reflected from the reference mirror and target mirror, then the effect of the multi-heterodyne principle in the field of dual-comb spectroscopy [
33] allows the modes in the optical frequency regime to down-convert to the RF domain which can be detected by standard photodetectors. The difference in repetition frequencies permits the LO comb to finish an equivalent sampling process [
34]. This sampling process generates two interferograms: reference interferograms which are produced by signals reflected from the reference mirror, and measurement interferograms which are produced by signals from the target mirror.
The signals after the equivalent sampling process in the time domain are shown in
Figure 2a, which are also the input signals of the FPGA board. Reference interferograms are denoted by R peaks and measurement interferograms are denoted as M peaks.
There are two input channels on our FPGA board. As shown in
Figure 2a, R peaks are input signals of channel 0 and M peaks are input signals of channel 1. The local enlarged figures of
Figure 2a show detailed reference interferograms and measurement interferograms. R peaks will appear periodically, and the period is
ms which is called update period
. Only when the target mirror stands still, then will the M peaks update periodically with the period equal to
. Otherwise, the update period
for M peaks is not fixed.
in
Figure 2a is the time delay between paired R peaks and M peaks. If there is one M peak in two adjacent R peaks, this situation is called the RMR event and the M peak is paired with the first R peak in the RMR event. The absolute distance
is calculated as
where
n is a positive integer with
is the non-ambiguity, and
D is the distances to be measured within the given non-ambiguity range
. Non-ambiguity range
is equal to
,where
c is the speed of light in vacuum,
is the group refractive index of air, and
is the repetition frequency of the signal comb. Measured distance
D within the non-ambiguity range
can be determined by the delayed time
between paired R peaks and M peaks in RMR event [
20,
35].
Due to the update period
of reference interferograms is equal to
, and the non-ambiguity range
is calculated by
, then the absolute distance
can be derived by
In order to obtain the measured distance, it is necessary to obtain the value of positive integer n and delayed time .
Figure 2b shows the relationship between measured distance and measuring time when the target is moving away at the same speed. As the target mirror goes away, the measured distance within the non-ambiguity range increases. In
Figure 2a, delayed time
is bigger than
as the target mirror is moving away. So the ratio between delayed time
and update period
is growing gradually. Once the measured absolute distance is equal to one non-ambiguity range
or multiple non-ambiguity range
, R peaks and M peaks align temporally. This situation leads to dead zones in the traditional dual-comb range, because R peaks and M peaks are overlapped in the same input channel [
24]. As the target mirror continues to move, the R peaks no longer align with the M peaks and the delayed time
between paired R peaks and M peaks starts to increase from 0. Then, the delayed time
changes as the same pattern as the target mirror has not crossed the dead zone before. So the measured distance is wrapped after the target mirror crosses the dead zone as
Figure 2b shows.
Figure 2b illustrates that the relationship between measured distance and measuring time is linear within the non-ambiguity range which indicates the velocity of the target mirror is constant during the whole moving process. When the target mirror is crossing the dead zone, the measured distance is wrapped which means the velocity derived from the measured distance and measuring time is changing severely at this moment. Suppose that the difference in measured distance between two adjacent update periods is
which can be expressed by
where
is the measured distance in the current update period within the
and
is the measured distance in the last update period within the
. Normally when the target mirror moves within the
,
changes in a very small range due to the relatively high update rate of results compared with the speed of the target mirror. Once
changes to a very large value which is close to
, that means the target mirror is crossing the dead zone.
However, the timing jitter in the OFCs will lead to abnormal situations when the target mirror is near the
(
). The timing jitter in the OFCs will scale up by a factor of
which is caused by asynchronous optical sampling [
36] so that the timing jitter will bring obvious influence on measuring results. As shown in
Figure 3, there are two M peaks between adjacent R peaks in blue dotted frames when the target mirror is crossing the dead zones positively which means the measured absolute distance should increase gradually. The situation presented in the blue dotted frame is called the RMMR event. RMMR event appears as R peaks and M peaks are going to align temporally and the timing jitter changes the positions of peaks. There should be no RMMR event when the target mirror moves away if there is no timing jitter, but when the target mirror moves back, one RMMR exists as R peaks and M peaks are about to align temporally even if there is no timing jitter during the whole process. However, the real situations with the timing jitter are more complicated than the ideal scenario.
Technically, it is not distinguishable for only one normal RMMR event from other abnormal RMMR phenomena caused by timing jitter when the target mirror is crossing the dead zones negatively. The proposed algorithm is robust in that it still can obtain the value of absolute distance with precision when under such complex real situations.
Given there is only one RMMR event when the target mirror moves back in the ideal scenario, the algorithm only outputs one of two M peaks in RMMR events. RMMR event means that there are two results normally, but the algorithm only outputs one which means it will lose one result in thousands of results. It brings consistency by sacrificing only one result out of thousands, which makes it easier for the abstractions of the algorithm.
The timing jitter also leads to difficulty in determining positive integer
n when the target mirror is near the dead zones. The algorithm for determining
n is illustrated by
Figure 4. After the whole system starts to run, two ADCs convert the input analog electrical signals from channel 0 and channel 1 to digital signals. Only when an RMR event arises, then will FPGA begin to calculate measured distance within
and
.
After obtaining the value of , compare it with half of the and half of the . If , then positive integer n should decrease by one. If , then positive integer n should increase by one. In other situations, the positive integer n should remain the value.
Besides positive integer
n, time delay
between paired R peaks and M peaks is also an essential variable for calculating absolute distance
. In order to obtain the value of
as accurately as possible, there are two parts for calculating
. One part is the integer part which is obtained from find-peaks modules, the other part is the fractional part which is obtained from the calculate-distance module as depicted in
Figure 5.
Figure 5 shows the block diagram of the signal processing unit which was implemented on the FPGA board to obtain the value of positive integer
n and measured distance
D. The output results of the signal processing unit are the absolute distance
.
The input signals of the signal processing unit are:
- 1.
clk: system clock whose frequency is 125 MHz;
- 2.
rst_n: asynchronous reset signal for the whole system;
- 3.
adc_clk: clock of ADC whose frequency is 100 MHz;
- 4.
adc_data_ch0: digital signal from ADC of channel 0;
- 5.
adc_data_ch1: digital signal from ADC of channel 1;
- 6.
configuration: general configuration information, e.g., the repetition frequencies of two combs.
The signal processing unit is composed of four sub-modules. The find-peaks module is designed to find R peaks and M peaks in channel 0 and channel 1 with an adaptive sliding window [
37] and to synchronize the input data in the ADC clock domain to the system clock domain so as to satisfy the timing request. The find-peaks module outputs the positions of the peaks and the waveform of the peaks. In order to improve the robustness of the design, the find-peaks module also outputs signals for tracking peaks so that it can filter out fake peaks. Moreover, the information of tracking can help determine whether the input R peaks and M peaks are paired and whether two R peaks are adjacent or not.
The output-peak module implements the algorithm of extending the non-ambiguity range as shown in
Figure 4. It calculates the distance between paired R peaks and M peaks in the sample points unit so that the integer part of the
in Equation (
2) can be obtained by combining the sampling rate of ADC. Furthermore, the output-peak module will calculate the positive integer
n according to the algorithm described in
Figure 4. The output-peak module outputs the waveform of paired peaks and the distance between paired R peaks and M peaks, and the positive integer
n as denoted by
n in
Figure 5. The calculate-distance module will perform a fast Fourier transform (FFT) and phase fitting as illustrated in [
20,
22] to obtain the fractional part of delay time
. In addition, the calculate-distance module will calculate the final value of the absolute distance with the positive integer
n and delayed time
, then output results.
3. Results
After finishing the preliminary behavioral simulation in QUESTASIM, practical experiments were conducted. The setup of the measuring system is demonstrated in
Figure 1. The target mirror was fixed on the moving table of a slide rail which permits measuring the distance regardless of whether the target mirror is standstill or moving. The velocity can be controlled by the controller of the stepper motor which was installed on the slide rail.
The effectiveness of the proposed signal processing unit is shown in
Figure 6 when the target mirror is moving at about 8.125 mm/s for about 30 cm. As shown in
Figure 6a, the
n given by the output-peak module counts for the number of the non-ambiguity range will change from 0 to 1 as the target mirror is crossing the dead zone positively. However, there was a fluctuation when the value of the positive integer
n changed from 0 to 1 on account of timing jitter.The distance between paired R peaks and M peaks determined by the output-peak module was denoted as
D as shown in
Figure 6b. The unit of distance is the sample points of ADC, and the distance is growing at the identical speed with the move of the target mirror within the non-ambiguity range
.
However, the D was wrapped when the target mirror was crossing the dead zone, and there was also a fluctuation in the value of D which was complementary to the fluctuation in the n. Therefore, there will be no fluctuation in the results of measured absolute distance when combining the n and the value of D.
With the help of the
n and
D, the final absolute distance measurement can be obtained when the target mirror moved back and forth as
Figure 7 illustrates.
The target mirror moved away at ∼8.125 mm/s for about 30 cm at first, and standstill for ∼5 ms, then went back at ∼8.125 mm/s for about 30 cm. The target mirror moved back and forth three times in all as the blue line shown in
Figure 7. The local enlarged figure of
Figure 7 shows the signal processing unit designed can obtain the absolute distance with precision no matter whether the target mirror stayed beyond one
or crossed the dead zones negatively, and the results were with a slight ripple caused by residual timing jitter in the combs. We conducted a series of experiments with the target mirror moving at different speeds which were in the range of 5 mm/s to 10 mm/s given the limitation of the slide rail. The results of these experiments were similar to
Figure 7, and the slope of the movement curve was the difference among these curves of results which agreed with the different setting velocity of the target mirror. Due to the repetition frequency of the signal comb being 56 MHz, the non-ambiguity range
is ∼2676.718375 mm as the red dotted line depicted in
Figure 7. It was thanks to the coordination between the optical design and the proposed signal processing unit that there were no dead zones and the non-ambiguity range was extended during the whole measuring process of our experiments.
After getting the right
n, we also obtained the relationship between the measured distance and ranging precision as presented in
Figure 8a. The target mirror was fixed at different positions. The signals were sampled for about 10,000 ms so that there were approximately 10,000 results of measurements for each position. In
Figure 8a, the ranging precision is converging as the target mirror moves towards the
and the ranging precision is diverging as the target mirror moves away from the
.
Figure 8b shows the Allan deviation at different averaging times from 1 ms to 100 ms when the target mirror was fixed near the
. Without averaging, the Allan deviation in 1 ms is 3.89
m at the position near the
as shown in
Figure 8b. After 100 ms averaging, the Allan deviation can reach about 0.37
m. The precision is determined by the timing jitter of the dual-comb system [
36,
38,
39,
40], which can be further improved by introducing multi-pulse consequence [
41,
42].
Due to the proposed signal processing unit taking advantage of the feature that each module runs in parallel in FPGA, results of measurements can be obtained for each update period in real-time as long as the signals have a good signal-noise-ratio(SNR).
4. Discussion
An algorithm for extending the non-ambiguity range in the DCR system is proposed and implemented on the FPGA platform as a robust signal processing unit. There are two key points in designing the algorithm shown in
Figure 4, one is detecting RMR events for determining the R peaks and M peaks are paired or not, the other is the sharp change in target mirror speed for detecting whether the target mirror is crossing the dead zone. The proposed algorithm can handle the situations when the target mirror moves more than
(
) as long as the following two requirements are satisfied. The first requirement is for
. The maximum value of normal
should not be greater than half of the
, because half of the
is the threshold for counting
n correctly as shown in
Figure 4. The second requirement is for the SNR of the interferograms. The peak-to-peak values of the reference and measurement interferograms should be 40 mv at least for a good SNR to perform measurements correctly. The algorithm is implemented on FPGA as a signal processing unit.
The signal processing unit can obtain the value of absolute distance even though the OFCs have timing jitter which will lead to the fluctuation of
n and
D as shown in
Figure 6. The fluctuations of these two variables are complementary, and the final calculated results of absolute distance will be reasonable when the target mirror is crossing the dead zones. The designed signal processing unit can achieve the requirements of high-precision and online and real-time when the target mirror is moving. In addition, the signal processing unit is able to work correctly when the target mirror moves back and forth for about 4 h continuously, which means the signal processing unit is robust.
By the use of the signal processing unit, the Allan deviation in 1 ms was 3.89
m without averaging while the non-ambiguity range
was about 2676.718375 mm on account of the repetition frequency of the signal comb is 56 MHz. After 100 ms averaging, the Allan deviation is about 0.37
m. So the precision of the results can be improved by averaging results [
25]. and leveraging the carrier phases of the interferograms to achieve a better precision [
22]. Moreover, the change of precision when the target mirror stayed at different positions is agreed with the relationship between ranging precision and target mirror positions mentioned in [
36] which only discusses the effects introduced by timing jitter. That is to say, the precision of results will not get worse continuously as the target mirror moves beyond one non-ambiguity range.
However, a critical factor that should be taken carefully in our solution is the consistency of channels. Because of using polarization optics in our optical setup, there are two optical channels for measurement interferograms and reference interferograms, respectively. Naturally, there are two electrical input channels on the FPGA for these two optical interferograms.
For measurement interferograms and reference interferograms from different optical channels, the intensity of two interferograms should be close to each other. This goal can be achieved by adjusting the HWP after OFCs in the experimental setup. In addition, many factors in the electrical system can cause differences between the two electrical input channels such as the differences between these two photodetectors, the length of connecting wires and the routes on PCB, etc. In short, we should adopt symmetrical designs to try our best for keeping the consistency of the electrical parts before the ADCs. Otherwise, the analog electrical parts will lead to huge systematic errors. The differences caused by digital parts after ADCs will be relatively smaller compared with the analog electrical parts.
The proposed signal processing unit implemented on our homemade FPGA is meaningful to realize long-distance measuring with the DCR system for a mobile object. Furthermore, it is significant for accelerating the use of DCR in industrial applications such as self-driving.