1 Introduction

The wind field measurement is important in the fields of meteorology [1,2,3], weather forecasting [4, 5], environmental monitoring [6, 7] and aviation [8, 9]. Coherent Doppler wind lidar (CDL) provides high spatial–temporal resolution and high-precision wind field data in clear sky [10]. CDL emits pulsed laser and receives the backscattered signals from aerosol particles. The lidar receiver system mixes the signal with the local oscillation light to obtain the Doppler shift caused by the wind field [11]. From the Doppler shift, the apparent wind speed in the direction of the laser pulse can be calculated [12]. Finally, a complete three-dimensional (3D) wind field can be calculated by the inversion algorithm [13].

At present, many algorithms have been introduced to wind field inversion. Wang and Barthelmie with Cornell University used the weighted least squares (WLS) to invert the wind field in the atmospheric boundary layer [14]. In 2019, Beijing Institute of Technology proposed an adaptive iteratively reweighted sine wave fitting (airSWF) method to estimate the wind vector, which could reweight the contribution rate of each radial wind velocity adaptively and iteratively [15]. V.E. Zuev Institute of Atmospheric Optics SB RAS in Russia used the least square method (LSM) to obtain the wind profiles [16]. However, the accuracy of the algorithms is strongly related to the measurement accuracy of the line of sight (LOS) wind velocity inversion results. Nevertheless, the error of the LOS wind velocity affects the 3D wind field inversion results, especially under the low signal-to-noise ratio (SNR) condition. What’s more, Office National d’Etudes et Recherches Arospatiales (Onera) in France [17] and Deutsches Zentrum für Luft- und Raumfahrt e.V. (DLR) in Germany [18] conducted airborne flight experiments in 2019 and 2020, respectively, and they both used the maximum of the function of the accumulated spectra (MFAS) algorithm that was irrelevant to the inversion results of LOS wind velocity, and directly extracted 3D wind field information from the spectrum signal for data processing. In 2020, Yuan et al. with Shanghai Institute of Optics and Fine Mechanics (SIOM) proposed an inversion method of the maximum of the function of accumulated spectra (MFAS) based on genetic algorithm that provides fast and optimal solution of wind vectors [19]. The algorithm successfully retrieved 3D wind field information from weak signals. However, the method can only be applied to ground-based lidar platforms.

In the airborne CDL system, the aircraft attitude and velocity variations affect the inversion results of the 3D wind field, which would be fraught with the difficulty in the calculation of the precise velocity. In this paper, a genetic algorithm-based spectrum estimation method is proposed to realize the 3D wind field inversion for airborne platforms. To verify the capability and effectiveness of this algorithm in the case of the airborne platforms, we carried out a series of outfield experiments with the CDL system on the aircraft platform.

2 Lidar system

The CDL system used in the outfield experiments is a 1.54-μm all-fiber airborne pulsed coherent Doppler lidar developed by our research group in 2016 [20]. The schematic diagram of the system is shown in Fig. 1. The CDL system uses an all-fiber single-frequency pulsed laser with the pulse energy of 300 μJ, the pulse duration of 400 ns, and the pulse repetition frequency of 10 kHz. The scanning system can achieve a 20-degree velocity-azimuth display (VAD) scanning in eight directions. The effective aperture of the telescope is 100 mm. In addition, our group has developed a real-time signal processing board with the sampling rate of 1 GHz and the power spectrum accumulation of 10,000 times per second. Table 1 shows the main parameters of this all-fiber airborne pulsed coherent Doppler wind lidar system.

Fig. 1
figure 1

System of the pulsed CDL (PMTI polarization-maintaining tap isolator, AOM acousto-optical modulators, EDFA erbium-doped fiber amplifier, EYDFA erbium–ytterbium co-doped fiber amplifier, FPGA field programmable gate array) [21]

Table 1 Main specifications of all-fiber coherent Doppler wind lidar system

3 Methods for wind field retrieval

The MFAS method is able to obtain the wind vectors directly using the obtained cumulative spectral information. Therefore, this algorithm avoids the problem of inaccurate LOS wind speed calculated with low SNR, which further affects the accuracy of the 3D wind field inversion results. Based on the MFAS, we invoke the genetic algorithm to solve the fit function of this algorithm. The genetic algorithm is a global optimization algorithm that uses the fit function to perform a random search for different individuals in the solution set, continuously generating new individuals and eliminating those with low fitness values through selection and crossover operations, and randomly generating individuals containing novel gene sequences through mutation operations. The cluster of possible solutions to the problem evolves, and the population gradually converges to the global optimum solution. The genetic algorithm has the following advantages: (1) global search capability by using a set of data rather than a single point for parallel search; (2) no additional information is needed to calculate fitness value using only fit functions; and (3) the search rules are determined by probability rather than deterministic rules, which improves the global convergence of the algorithm [22].

In the specific algorithm process, first, according to the geometric relationship of lidar, the LOS wind velocity in different directions can be expressed by the following form:

$$V_{{{\text{LOS}}_{i} }} = (V_{x} \cos \beta_{i} + V_{y} \sin \beta_{i} )\sin \alpha_{i} - V_{z} \cos \alpha_{i} .$$
(1)

We assume that the wind vector V = [Vx Vy Vz], where i is the current number of the scanning azimuth, \(V_{{{\text{LOS}}_{i} }}\) is the LOS wind velocity in different scanning directions, αi is the elevation angle of the system, which is 20° in this system, βi is the azimuth, and this system uses 8 azimuths with 45° interval for scanning, as shown in Fig. 2. The relationship between the LOS wind velocity and the Doppler frequency shift is shown below:

$$f_{i} = \frac{2}{\lambda }V_{{{\text{LOS}}_{i} }} + f_{{{\text{IF}}}} ,$$
(2)

where fi is the Doppler frequency shift value of the signal obtained in different scanning directions, fIF is the intermediate frequency of the system, which is 160 MHz in this system, and λ is the wavelength of the laser, which is 1.54 μm. Substituting Eq. (1) into Eq. (2), we can obtain:

$$f_{i} = \frac{2}{\lambda }[(V_{x} \cos \beta_{i} + V_{y} \sin \beta_{i} )\sin \alpha_{i} - V_{z} \cos \alpha_{i} ] + f_{{{\text{IF}}}} .$$
(3)
Fig. 2
figure 2

Geometry of wind field and vector of LOS

For the airborne CDL system, the attitude and velocity of the airborne platform should be considered to improve this algorithm. Due to the effect of aircraft platform motion, the relationship between the 3D wind field and the LOS wind velocity changes from Eq. (1) to the following:

$$V_{{{\text{LOS}}_{{\text{i}}} }} = [(V_{x} + V_{{x_{i} }}^{{\text{P}}} )\cos \beta_{{{\text{G}}i}} + (V_{y} + V_{{y_{i} }}^{{\text{P}}} )\sin \beta_{{{\text{G}}i}} ]\sin \alpha_{{{\text{G}}i}} - (V_{z} + V_{{z_{i} }}^{{\text{P}}} )\cos \alpha_{{{\text{G}}i}} ,$$
(4)

where VxiP, VyiP and VziP are the north, east and ground velocities of the aircraft platform in different azimuth detection, respectively, and αGi and βGi are the LOS elevation and azimuth angles in the geodetic coordinate system. With the POS system consisting of inertial navigation (INS) and global positioning system (GPS) in the airborne CDL system, we can directly obtain the flight speed of the aircraft platform, the LOS elevation angle αP and azimuth angle βP in the aircraft coordinate system, meanwhile the yaw, pitch and roll angles of the aircraft at different moments can also be acquired. Therefore, we can use the following Eqs. (5)–(8) to convert them to αG and βG in the ground coordinate system:

$$\left( \begin{gathered} X_{{\text{G}}} \hfill \\ Y_{{\text{G}}} \hfill \\ Z_{{\text{G}}} \hfill \\ \end{gathered} \right) = \Psi \left( \begin{gathered} X_{{\text{P}}} \hfill \\ Y_{{\text{P}}} \hfill \\ Z_{{\text{P}}} \hfill \\ \end{gathered} \right) = {\rm K}\left( \begin{gathered} a \cdot \sin \alpha_{{\text{P}}} \cos \beta_{{\text{P}}} \hfill \\ a \cdot \sin \alpha_{{\text{P}}} \sin \beta_{{\text{P}}} \hfill \\ a \cdot \cos \alpha_{{\text{P}}} \hfill \\ \end{gathered} \right) = {\rm K}_{\psi } {\rm K}_{\theta } {\rm K}_{\phi } \left( \begin{gathered} a \cdot \sin \alpha_{{\text{P}}} \cos \beta_{{\text{P}}} \hfill \\ a \cdot \sin \alpha_{{\text{P}}} \sin \beta_{{\text{P}}} \hfill \\ a \cdot \cos \alpha_{{\text{P}}} \hfill \\ \end{gathered} \right),$$
(5)
$${\rm K}_{\psi } = \left( {\begin{array}{*{20}c} {\cos \psi } & { - \sin \psi } & 0 \\ {\sin \psi } & {\cos \psi } & 0 \\ 0 & 0 & 1 \\ \end{array} } \right)\quad {\rm K}_{\theta } = \left( {\begin{array}{*{20}c} {\cos \theta } & 0 & {\sin \theta } \\ 0 & 1 & 0 \\ { - \sin \theta } & 0 & {\cos \theta } \\ \end{array} } \right)\quad {\rm K}_{\phi } = \left( {\begin{array}{*{20}c} 1 & 0 & 0 \\ 0 & {\cos \phi } & {\sin \phi } \\ 0 & { - \sin \phi } & {\cos \phi } \\ \end{array} } \right),$$
(6)
$$\alpha_{{\text{G}}} = \cos^{ - 1} (Z_{{\text{G}}} /a),$$
(7)
$$\beta_{{\text{G}}} = \left\{ {\begin{array}{*{20}l} {\cos^{ - 1} (X_{{\text{G}}} /a)} \hfill & {(Y_{{\text{G}}} \ge 0)} \hfill \\ {\cos^{ - 1} (X_{{\text{G}}} /a) + \pi } \hfill & {(Y_{{\text{G}}} < 0)} \hfill \\ \end{array} } \right.,$$
(8)

where XG, YG, and ZG are the laser vector directions in the ground coordinate system, XP, YP, and ZP are the laser vector directions in the aircraft coordinate system, and a is the mode of this vector. Κ is the orthogonal invertible unit transformation matrix. Κψ, Κθ, and Κφ are the coordinate system transformation matrices corresponding to the yaw, pitch, and roll angles of the aircraft platform, respectively.

In addition, to obtain wind vector information directly from the spectral information obtained from different scanning directions, the evaluation function is defined as [19]:

$$S(V) = \sum\limits_{i = 1}^{N} {W_{i} (f_{i} )} ,$$
(9)

where Wi(fi) is the spectral intensity corresponding to the single azimuthal Doppler frequency shift calculated by the currently assumed wind field. N is the total number of azimuths involved in the calculation. S(V) is the sum of the spectral intensities corresponding to all azimuthal Doppler shifts under the currently assumed wind field. The actual atmospheric wind vector is the wind vector V which enables S(V) to reach its maximum.

After that, we introduce the genetic algorithm to find the optimal solution of V. The following correlation coefficients and the solution ranges of the wind vector are first determined. The total number of cumulative directions is 16, the population size is 100, the crossover probability is 0.9, the mutation probability is 0.1, the maximum number of evolutionary generations is 50, and we determine Eq. (4) as the fit function S(V). Then the wind velocity solved by the previous range gate is centered, and the wind speed is randomly selected for initialization in the range of Vx, Vy ± 2 and Vz ± 1. The first range gate is randomly initialized. The wind vectors are converted to 25-bit binary gene sequences, where Vx, Vy and Vz occupied 9, 9 and 7 bits, respectively. In this case, the genetic algorithm corresponds to the computational accuracy of 0.078 m/s. The fit function is used to calculate the fitness of all individuals, and the individuals are equally divided into the first, middle and last segments according to the order of the fitness from smallest to largest. Then, the individuals in each segment are selected according to a ratio of 0.6, 0.8, and 1, respectively. After using the high quality individuals in the last segment to supplement the eliminated individuals, the crossover operation and mutation operation are performed. The single point crossover is the type of the used crossover. In this process, elitism is used, which means that the individual values with the greatest fitness in the population are exempt from mutation. Finally, it is judged whether the algorithm reaches the maximum evolutionary generation, as well as whether the algorithm converges after using the optimal fitness preservation generation. If the algorithm converges, the genetic code of the individual with the maximum fitness is decoded and the wind vector solution is obtained. If the algorithm fails to converge three times, the wind vector for the current range gate cannot be solved.

Therefore, the corresponding 3D wind field is inverted by genetic algorithm. However, since the flight altitude of the airborne platform is constantly changing during the flight, the altitude corresponding to the range gates at different moments is not consistent, so we need to make a flight altitude correction for the inverse performance of the 3D wind field, that is, the range gate data corresponding to different directions at different moments to a fixed altitude. The specific steps are as follows. (1) Determine the height distribution of the target range gate. For the CDL system, the elevation is 20° and the height of each range gate is 30 m. Therefore, we take every 28.2 m height from the surface as a range gate. (2) Traverse all range gate data of each azimuth and match them with the target range gate. (3) If the original range gate interval is too large to be matched, choose the average value between the front and rear distance gates as the wind field of that distance gate information. In summary, the 3D wind field inversion of airborne flight data in the ground coordinate system can be realized after the attitude correction and height matching of the inversion data obtained by the genetic algorithm-based spectrum analysis method. The whole algorithm process is shown in Fig. 3.

Fig. 3
figure 3

Retrieval of airborne data based on genetic algorithm for spectrum estimation flow diagram.

4 Field experiment

In August 2018, the outfield experiments were conducted at an altitude of 1332 m in Shaanxi Province. In these experiment, the aforementioned CDL system was installed in an Unmanned Aerial Vehicle (UAV). A POS system consisting of an inertial navigation system (INS) and a global positioning system (GPS) was installed on the aircraft to record the aircraft's speed and attitude angle. The sounding balloon and a ground-based CDL were also set up in the same location for data comparison during the aircraft flight clock.

The traditional LSM and the genetic algorithm-based spectral estimation method were used to invert the obtained airborne data for 3D wind field inversion, respectively. The changes of horizontal wind profiles, vertical wind profiles and horizontal wind direction with time of flight inverted by the two methods are shown in Figs. 4 and 5, respectively. In the inversion process, both algorithms did not carry out threshold processing, which means that all the effective range gate data were used for the inversion. The dark vertical line indicates the moment when the aircraft passes by the ground-based lidar and sounding balloon positions, and the red part of the horizontal line above indicates that the aircraft is turning. It can be seen from the figures that both algorithms can effectively invert the 3D wind field and the results are similar. In the LSM inversion results, we can see several anomalous vertical lines, which occur in the case of low SNR, but the genetic algorithm can invert the wind profile well under the same conditions. This proves that the genetic algorithm can also invert the 3D wind field at low SNR on the airborne platform. However, we also found that the inversion results of the genetic algorithm showed large errors near the ground when the aircraft turned. This indicates that large variations in the yaw angle of the aircraft platform will affect the results of the algorithm.

Fig. 4
figure 4

3D wind field inverted by LSM (local altitude: 1332 m) on August 1st, 2018: a horizontal wind speed profiles, b vertical wind speed profiles and c horizontal wind direction profiles

Fig. 5
figure 5

3D wind field inverted by genetic algorithm (local altitude: 1332 m) on August 1st, 2018: a horizontal wind speed profiles, b vertical wind speed profiles and c horizontal wind direction profiles

Sounding balloons, as a standard atmospheric wind field detection method, are widely used in meteorological observatories and can be used to verify the accuracy of the data measured by CDL under airborne platforms. Therefore, we used sounding balloons and ground-based lidar for data comparison during the flight tests on August 1, 10 and 15, respectively. The time and altitude of the sounding balloon and ground-based lidar detection data were matched with the airborne data. The results of horizontal wind speed and wind direction are shown in Fig. 6. It can be seen from the figures that the three inversion results show a similar trend.

Fig. 6
figure 6

Comparison of horizontal wind velocity inverted by sounding balloon, genetic algorithm and ground-based lidar: a wind speed and b wind direction

The horizontal wind velocity obtained by the genetic algorithm was compared with the data obtained from the sounding balloon and ground-based lidar, respectively, and the linear correlation and numerous analyses of the wind velocity are shown in Fig. 7 (wind direction was considered for wind speed greater than 5 m/s). Compared with the sounding balloon, the correlation coefficients of the two sets of data on wind speed and wind direction are 0.9771 and 0.9839, respectively. The mean error of wind speed is 0.539 m/s and the root mean square error (RMSE) is 0.718 m/s. The wind directions are 5.12° and 7.54°, respectively. Compared with the ground-based lidar, the mean error of wind speed is 0.504 m/s, the RMSE is 0.640 m/s, and the correlation coefficient is 0.9887. As to the wind direction, the mean error is 4.18°, the RMSE is 4.95°, and the correlation coefficient is 0.9948. The two sets of data show a significant positive correlation, which proves that the genetic algorithm can be well applied to the 3D wind field inversion under the airborne platform.

Fig. 7
figure 7

Horizontal wind velocity correlation on August 2018: a, c wind speed and b, d wind direction

To further verify the different inversion results of the genetic algorithm and LSM on the airborne platform, the original spectrum of some data is selected and its detectability is calculated. The detectability is a form of signal-to-noise ratio in the spectral domain, which is calculated as follows [23]:

$${\text{Detectability}} = 10\log_{10} \left( {\frac{S}{\sigma }} \right),$$
(10)

where S is the peak intensity of the power spectrum minus the average level of the noise and σ is the standard deviation of the noise. Then, the deviations of horizontal wind speed and wind direction of the two algorithms were compared with the inversion of sounding balloons under different detectability conditions, and the comparison results are shown in Fig. 8. It can be seen from the figures that when the detectability is high, the inversion errors of both algorithms are low. However, as the detectability decreases, the deviation of the LSM inversion results increases significantly. Therefore, the genetic algorithm has higher accuracy than the LSM algorithm in the case of low detectability.

Fig. 8
figure 8

The deviation of wind inverted by genetic algorithm and LSM in different SNR: a horizontal wind speed and b horizontal wind direction

5 Conclusion

In this paper, a MFAS method-based genetic algorithm applied to 3D wind field inversion of airborne platforms is proposed for the first time. A series of outfield experiments are conducted. Compared with the LSM algorithm, the inversion results are in good agreement with it. The results are also compared with the data obtained from sounding balloons and ground-based lidar, and the results are highly correlated. The average deviations of horizontal wind speed and wind direction are 0.539 m/s and 5.12° for the sounding balloon and 0.504 m/s and 4.18° for the ground-based lidar, respectively, indicating that the proposed algorithm shows good performance in the 3D wind field inversion of airborne platforms. Compared with the LSM algorithm, the genetic algorithm has less deviation from the sounding balloon when the detectability is low. However, the genetic algorithm consumes more time in the inversion process and it is hard to process the data in real time when the lidar is working on the airborne platform. To solve this problem, the proposed scheme combining with traditional inversion algorithms has been taken into account. Traditional inversion algorithms, such as LSM, can improve the efficiency in the case of high detectability, while the genetic algorithm-based spectral analysis method can be used to improve the accuracy of wind field inversion in low detectability regions.