Open Access Paper
12 July 2023 The correlation wind lidar project: processor optimization, development, and field-testing
E. Armandillo, David Rees, Pierre Dérian, Victor Kurtenok, Vjaceslavs Lapkovskis
Author Affiliations +
Proceedings Volume 12777, International Conference on Space Optics — ICSO 2022; 1277708 (2023) https://doi.org/10.1117/12.2688592
Event: International Conference on Space Optics — ICSO 2022, 2022, Dubrovnik, Croatia
Abstract
During ICSO 2020, the development & characterization of a compact low-resource Correlation Lidar (CWL) for the 3-D atmospheric wind measurements has been reported1 . It was demonstrated that 3-D vector winds could be measured with a ground demonstrator scanning in azimuth. In addition to 3-D winds, it was shown that backscattering & extinction coefficients could also be extracted from the atmospheric lidar profiles. An essential part of the vector wind information retrieval was the development of suitable algorithms to implement the data processing. The demonstration was implemented by means of CCA algorithms based on MATLAB Image processing routines. The present work presents the ongoing effort for the development, characterization & testing of an optimized dataprocessing Algorithm & its implementation on a Raspberry Pi board. The present work will describe the definition & evaluation of an optimized algorithm using synthetic Data. We will compare the performance and stability of both CCA & Point Cloud Optical Flow algorithms. The key issues are wind accuracy and the stability of the wind product under adverse conditions (limited SNR etc), the processing resources required for on-board implementation with a view to the development of a spaceborne instrument. The Optimized algorithm & processor has been tested with a ground CWL instrument. The wind data obtained have been verified and fit well with co-located empirical Data. The results of the processor development & field tests will be presented and discussed with a view to operation from a future Space-based implementation. The further development of the current Processor to a future Spaceborne wind sensor using a FPGA-based processor implementation for Meteorological applications will be given. Keywords: Lidar, Photon Counting, Signal Processing

I.

INTRO & BACKGROUND TO THE CORRELATION WIND LIDAR PROJECT

During ICSO 2020 [1], the development & characterization of a compact low-resource Correlation Wind Lidar (CWL) for the 3-D atmospheric wind measurements was reported. It was shown that 3-D (range & polar coordinates) vector winds could be measured with a ground demonstrator scanning in azimuth. An essential part of the vector wind information retrieval was the development of suitable algorithms to process the point cloud lidar images.

That Wind could be retrieved from the apparent motion of aerosol features from successively scanned lidar images was shown in an early work by Eloranta in 1975 [2]; more recently, Mayor et al. conducted a series of experiments using the Raman-shifted Eye-safe Aerosol Lidar (REAL) [3]. They measured horizontal wind components and successfully validated the results against independent measurements from a Doppler lidar using a global method (wavelet-based optical flow known as Typhoon) [4] and a local approach based on 2D cross-correlation algorithms, CCA [5].

In the previous reported work [1], the processing was implemented by means of CCA algorithms based on MATLAB Image processing routines. Here, we present the continuation of the ongoing effort for the development, characterization & testing of optimized data-processing Algorithm & its implementation on a Raspberry Pi board, as a precursor for a later FPGA implementation for a Space system.

For the development of an optimized Algorithm, synthetic wind Data were used to ensure we could rely on consistent input Data. The performance and stability of both CCA & Point Cloud Optical Flow algorithms have been thoroughly investigated. Within the scope of this work, development & testing of the Algorithms have been aimed at the Ground Demonstration CWL [1]. However, the space variant of the wind system concept was already established (Fig. 1) and studied. At the current stage however, the detailed specifications of such a space-borne system are still to be determined. Therefore, the lidar processor unit has been designed, developed and tested with the CWL ground system (GS) already used in [1]. This has been improved and modified in order to optimize the Processor.

Figure 1.

Schematics of the Space-based concept for 3-D Wind measurement. The satellite instrumentation includes the Multi line-of-Sight (only two shown here) CWL. In addition, an Advanced High-Resolution Doppler Interferometer used in Limb-observing mode to measure the Doppler Shifts of Telluric O2 and H2O lines in the altitude range 10-50 km (as did HRDI on-board NASA’s UARS Satellite in the 1990s [6]).

00008_PSISDG12777_1277708_page_3_1.jpg

II.

THE CWL ALGORITHM SELECTION

In the context of this work, both Optical Flow (or Global Methods) & CCA (Local methods) Algorithms have been analysed and compared with a view to determine the optimal method for the required applications. Table 1 below summarizes these two methods with the selection of the best method for the CWL.

 Global methodsLocal methods
a.k.a. “dense” or “·variational” algorithms, such as Horn-Schunck method or Typhoon wavelet-based optical flow.a.k.a. “block-based” algorithms, here focusing on the cross-correlations (CCA).
Main characteristics
InputPair of imagesPair of image blocks (sub regions)
OutputEntire fieldSingle vector
FormData term with explicit regularizerData term with implicit regularizer
Input data
Sensitivity to noisy input dataLess robust (unless specific robust data terms are employed, but they are often difficult to tune)More robust
Ability to deal with sparse coherent dataFills in the gapsNone, but the computation can simply be avoided.
Ability to work in polar coordinatesRequires to rewrite the model and regularizer accordingly,Immediate
Output motion
ResolutionFiner scales (up to the pixel)Coarser scales
Ability to deal with small displacements (about 1 pixel)GoodPoor, however subpixel estimation helps (small computational overhead).
Ability to deal with large displacements (over 10 pixels)Poor, however multiscale (pyramid) estimation helps (possibly significant computational overhead).Good
Primary quality controlMore difficult, esp. in the gapsSimpler, e.g. using correlation peak value
Implementation
Compatibility with parallel computationsData parallelism: relies on algorithm implementation.Task parallelism: solving several problems (vectors) simultaneously.
Simplicity to implementDepends on the choice of coordinates, model and regularizer.Simple, using available CC functions or from FFT libraries.
Successfully applied to aerosol lidar scansYes; e.g. Dérian et al., 2015 (Horizontal scans on a Cartesian grid).Yes; e.g. Hamada et al., 2016 (Horizontal scans on a Cartesian grid), Afek et al., 2013 (Narrow vertical conical scans on a polar grid).
Known to Earth science communityNot well known – mostly a computer vision toolWell known and used in many fields including meteorology.

From the assessment done it can be concluded that: Cross-correlations are better suited to the CWL project. They are more robust to noisy and / or sparse coherent data, they can run natively on polar coordinates and are relatively simple to implement. They are already used in meteorology and therefore better accepted by the community. Figure 2 below, shows the Data collected with the early CWL system as raw and pre-processed data.

Fig. 2

shows an example of raw & pre-processed data acquired by the GS before modifications/optimization for the current work. These data were acquired with 360 degrees azimuth scan @ 40o elevation angle. Coherent features can be clearly observed with cloud layer at about 2000 m range (1300 m real altitude, 10 m gate bin)

00008_PSISDG12777_1277708_page_5_1.jpg

III.

VARIANTS OF CROSS-CORRELATION METHODS

Three variants of the CCA methods have been identified and assessed and will be here reviewed. In the scan frame, the lidar data is indexed by three coordinates: the scan index, the azimuth angle, the range. The time coordinate is computed from the scan index and azimuth angle.

Figure 3.

Lidar data seen as a 3D volume indexed by scan, azimuth angle and range. Time increases with the scan index and the azimuth angle 1.

00008_PSISDG12777_1277708_page_5_2.jpg

All methods analysed share the same general methodology: first, a small region of the data is selected at chosen time and space coordinates: this is the kernel or reference pattern. Then the cross-correlation (CC) field between this small kernel and a much broader search region is computed. The peak of CC corresponds to the “best match” for the kernel in the search region; the location of the peak corresponds to a different set of space and time coordinates. A displacement vector Δx and time difference Δt are then computed between these new coordinates and the kernel ones, and the velocity estimation is finally given by Δxt.

The differences between these methods are solely related to the dimensions chosen for the kernel and search region. This, in turn, corresponds to conceptual differences as to what is being correlated (or matched). The methods analysed are here summarized.

III.1

2D (azimuth, range) cross-correlations.

This approach computes 2-D cross-correlations in the (azimuth, range) domain as previously done in Ref. 1,. The kernel corresponds to near-instantaneous4 sections of features by the scan cone, and the goal is to find this section again at a later (or previous) time. In practice, there are two cases:

  • - The feature moves across the scanning cone. Its section, as imaged by the lidar is rather perpendicular to the dominant wind direction, it is seen as the feature first enters then later exits the cone. The time difference between these two moments corresponds to the time required to travel across the cone at the current wind speed and range (altitude), which typically represents several or more scans — Figure 5, left.

  • - The features move tangent to the scanning cone envelope. Its section imaged by the lidar is rather tangent to the dominant wind direction. Due to the conic shape of the scan envelope, this feature does not intersect with the scan domain for a long time; the time difference between the two moments it is seen is typically much shorter than with the “across mode” described above — Figure 4, below.

Figure 4.

Two cases for 2D cross-correlations in the (azimuth, range) domain: “across” mode (left) and “tangent” mode (right). An idealized aerosol feature (ellipse) is depicted crossing the lidar scan domain (dotted circle) at two different times t (purple) and t + Δt (green). Its section is imaged by the lidar at each time (bold lines), these are what is being correlated.

00008_PSISDG12777_1277708_page_6_1.jpg

Figure 5.

Kernel and search region for the 2D (azimuth, range) cross-correlation (left). The 3D (scan, azimuth, range) data volume is in practice seen as a 2D (time, range) plane to simplify computations (right).

00008_PSISDG12777_1277708_page_7_1.jpg

From the 3D data point of view, the kernel is defined as a subset of a 2D (azimuth, range) slice, and the search region extends around it in all three dimensions (Figure5, left). However, with full 360° scans the data is continuous in the azimuth dimension from one scan to the next. To reflect this without having to resort to complicated boundary condition, the 3D data volume is “unfolded” as a 2D (time, range) plane (Figure 5, right).

III.2

“Beam-to-beam” 1D (scan) and 2D (scan, range) cross-correlations

The beam-to-beam approach considers the time series observed at each azimuth position – that is to say, in the scan dimension of the 3-D volume.

For a given beam, the kernel is selected at a given azimuth angle in, either the scan dimension at fixed range (1D variant), or in the (scan, range) dimensions (2D variant). The 1D (scan) or 2D (scan, range) cross-correlations are computed between this kernel and a search region for every other beamFigure 6. The overall peak corresponds to the best match.

Figure 6.

Illustration of beam-to-beam correlations for the 1D case (scan dimension). The lidar senses at fixed azimuth positions (blue dots). For a given azimuth (purple dot), the kernel (gray window) is extracted from the time-series of backscatter values (purple curve) recorded at this position. It is correlated with time-series from every other azimuth. The best match is here represented in green.

00008_PSISDG12777_1277708_page_7_2.jpg

IV.

DATA PREPARATION

IV.1

Input data

This is a collection of backscatter profiles along with their metadata (headers). The metadata should either directly provide, or contain all necessary information to compute, each data point space-time coordinates:

  • - Profile index: n,

  • - elevation angle: θ (degree or radian),

  • - azimuth angle: ω (degree or radian),

  • - range: r[m] = r0 + r (meter), 0 ≤ m < Q,

  • - time, either absolute or relative to a reference shared throughout the experiment: t = t0 + n δt,

  • - number of profiles per scan: P,

  • - number of gates per profile : Q,

  • - duration of a scan: T = Pδt (second).

IV.2

Outputs Data

Each estimation provides the following outputs:

  • - References coordinates,

  • - 3D motion vector,

  • - Value of CC peak,

  • - (optional) Match coordinates,

  • - (optional) Subpixel match coordinates,

  • - (optional) Estimated shift,

Optional outputs can be useful for visualizations.

  • - A visualization module can be set up to display continuously input data and results for real-time operations.

V.

PROCESSOR IMPLEMENTATION AND REAL DATA

V.1

Processor Functions Implementation

Fig. 9 below shows the realised Electronic Hardware (Fig. 9a) with embedded Processor Functions (Fig. 9b)

Fig. 9a:

Electronic Board

00008_PSISDG12777_1277708_page_9_1.jpg

Fig. 9b:

Processor Functions on the Raspberry Pi

00008_PSISDG12777_1277708_page_9_2.jpg

V.2

Pre-processing

Raw data from the GS are processed before running the motion estimation algorithms. The steps are standard in lidar data processing; they are applied to each profile independently:

  • 1. Estimation of background value and noise characteristics.

  • 2. Restriction to “useful” range (typically very near-range and far-range data are excluded).

  • 3. Removal of the background value.

  • 4. Squared-range correction.

  • 5. Conversion to decibel to reduce the range of values.

Coherent aerosol features are required to run the motion estimation. The usual signal-to-noise ratio (SNR) is not the best indicator, a good SNR is not necessarily related to the presence of features (in particular in the near range). Authors in [3] proposed the iSNR which estimates a local “coherent texture”-to-noise ratio; regions of the scan where the iSNR is below a given threshold (set to 3 in the article) are not considered for the motion estimation process.

Figure 9 presents examples of 2D (time, range) data recorded by the GS at azimuth angles 0° and 180° along with the corresponding binary masks of iSNR > 3. The iSNR is here computed as in [3], in practice it will need to be tuned according to the data recorded by the GS after the upgrade modifications.

Figure 10.

The upgraded CWL system with scanner & scanning geometry algorithm-optimised

00008_PSISDG12777_1277708_page_10_1.jpg

VI.

RESULTS

VI.1

Wind measurements with scanner-optimized Ground-based System

The tests done on synthetic data sets have enabled to validate the “scan-range 2-D cross-correlation” method as the most robust algorithm for motion estimation by using the new processing-optimized scanning system & sampling strategy, Figs. 11 & 12

Figure 11.

The figure on the left shows a Photek 24-Channel array PMT-MCP array detector and its electronics

00008_PSISDG12777_1277708_page_11_1.jpg

Figure 12

shows the 16 Channel Eventech single-photon-counting board & pre-processing electronics

00008_PSISDG12777_1277708_page_11_2.jpg

The choice of the altitudes of interest zmin and zmax, of the desired observable velocity bounds Umin, Umax and Wmax, as well as hardware constraints will lead to setting the best parameters for both the GS (elevation angle, scan rate …) and the motion estimation algorithm (in particular, sizes of kernel and search regions).

VI.2

Algorithm validation on synthetic data

Synthetic datasets enable to quantitatively evaluate the various motion estimation methods. The objective here is not to physically simulate the remote lidar sensing of aerosols, but rather to study the results of the algorithms assuming a perfect signal (coherent features everywhere, no noise …) and for a given sampling configuration. The aerosol distribution is simulated by a 3D texture (x, t) transported by a constant velocity (u(x, t) = u):

00008_PSISDG12777_1277708_page_11_3.jpg

Physical and lidar acquisition processes such as turbulent diffusion, integration time, gate width, range attenuation, instrument noise … are ignored. The texture is here based on a multiscale Perlin noise. It is a coherent procedural texture of fractural nature mathematically defined at every point of space as shown in Figure 13.

Figure 13:

example of synthetic scalar field from multiscale Perlin noise.

00008_PSISDG12777_1277708_page_11_4.jpg

A first series of numerical experiments on synthetic data, not reported here, led to select the “scan-range 2-D crosscorrelation” method (section III.2) as the most robust algorithm for motion estimation with CWL-like scanning configuration.

Additional numerical experiments were conducted to further validate the wind estimation algorithm prior to their use with the “real” CWL observational data. The objective was to check the motion estimation module with controlled “back and forth” scan data (reciprocating scan pattern), using a scan configuration similar to that used for the 2022-07-06 CWL data acquisition:

Scan configuration:

  • “Back-and-forth” scanning pattern, 0 to 270° azimuth angles

  • 64 profile per back-and-forth scan through 270° azimuth angles

  • 1 s profile integration time

  • 45 ° elevation

  • 60 scans (about 1 hour total duration)

Wind Configuration:

  • Constant and Uniform Wind – u = 5 m.s-1.

Synthetic data Configuration:

  • Multiscale Perlin noise.

Examples of generated synthetic scans and associated estimated motions are presented in Figures 14 and 15. Estimated wind vectors are coherent with the ground truth, except for the South-West quadrant showing spurious estimates. This was expected, as this quadrant is a “blind spot” for the given scan settings (0° to 270°) and wind direction (180°): aerosol features are seen entering, but never leaving the scan cone. In operational context, such spurious values would be discarded by Quality Control methods.

Figure 14:

Synthetic data for the “reciprocating” scan pattern – time-series at various azimuth positions.

00008_PSISDG12777_1277708_page_13_1.jpg

Figure 15:

Motions from synthetic reciprocating scans of Figure 13. Left: estimated wind vectors at each azimuth position of the scan at range 1500 m, axes units are in meter in the horizontal plane. Spurious estimates are visible in the lower-left (South-West) sector. Right: time-series of estimated wind speeds at different ranges, horizontal axis is the time (s) and vertical axis the wind speed (m/s). The ground truth is a 5 m/s West wind.

00008_PSISDG12777_1277708_page_13_2.jpg

These experiments confirmed that the proposed motion estimation algorithm is able to handle this CWL scanning configuration.

VI.3

CWL Wind Data Verification with Real wind data

The algorithm was then applied to CWL data collected during the night of 2022-07-06 to 2022-07-07. This dataset features a dense cloud layer at range about 1500 to 2000 m (Figures 16 and 17).

Figure 16:

CWL data of 2022-07-07 showing a dense cloud layer at about 2000 m range (“20220706” dataset, file indices above 14000). Dashed white lines denote scan bounds.

00008_PSISDG12777_1277708_page_14_1.jpg

Figure 17:

CWL data of 2022-07-07 (same as Figure 16), here presented as time series at various azimuths positions, focusing on the cloud layer.

00008_PSISDG12777_1277708_page_14_2.jpg

The proposed cross-correlation used the following dimensions for the correlation kernel: 21 points in the “scan” (also time) domain (about 22 minutes); 31 points in the range domain (about 310 m).

Results gathered over about 10 min of operations are presented Figure 18; only the vectors for which the correlation peak is above 0.7 are retained.

Figure 18:

Raw wind analysis for CWL data of 2022-07-07 (“20220706” dataset, file indices above 15000 – see also Figures 16 and 17) at about 1500 metres range. Left: wind vectors estimated at various azimuth positions. Right: time-series of wind speeds (top) and direction (bottom). Bottom: visualization on the underlying scan data, dashed lines correspond to the beginning of a back-and-forth scan, black markers denote the (time, range) locations of estimates shown in the time-series.

00008_PSISDG12777_1277708_page_15_1.jpg

Wind directions appear to gather around 150°, while most speed estimates lye between 8 to 12 m/s. Values may seem scattered, but the following points must be kept in mind:

  • - Spurious estimates are easily spotted in the direction time-series; they would be flagged by a more advanced Quality Control method (e.g. Median of Absolute Deviation test).

  • - The time-step is quite large (the displacement is divided by integer multiples the scan period of 64 s, it “quantitizes” speed values). Subpixel motion estimation, not implemented at the time of writing, would likely help here.

  • - It appears that this test case is not the most favorable as the wind vector is aligned with the direction were the algorithm is the most “blind” for the given scanning configuration (North-West – South-East axis).

The winds calculated on 07.07.22, @ 1:40 am at the Park Cottage Observatory, Salehurst location, East Sussex (South London) by the newly developed processing algorithm with the scanner optimized CWL have been verified with winds reported at the same time & location from the US Nat. Met. forecast data (https://earth.nullschool.net) and from the Lydd airport station from Wunderground (https://www.wunderground.com/history/daily/gb/romney-marsh/EGMD/date/2022-7-7). Both sources fit very well with our calculated intensity (8-14 m/sec) and direction (150 degree).

VII.

CONCLUSIONS

This work has reported the development of an optimized processing algorithm for applications in Correlation Wind lidar instruments and its implementation in an electronic Processor board. The optimized algorithm has been implemented in a Raspberry Pi board as a precursor for a FPGA in future space CWL systems. Both global and local algorithms have been compared & tested leading to an optimum CCA algorithm in terms of robustness, accuracy, and speed. The CWL wind system, with optimized algorithm and scan geometry, has been verified with available wind data for intensity and directions and has shown a very good fit with real wind data. This works confirms that CWL lidar technique exploiting DSP processing can provide atmospheric winds, offering significant system simplifications in terms of Hardware, Software & Data Processing than a DWL such as that exploited successfully by ESA’s Aeolus Mission. For Space application, an internally-conducted system study, exploiting the combination of the CWL with a passive Doppler Wind Interferometer (DWI-A-HRDI), has confirmed that the CWL/DWI combination is able to provide winds from ground level to 50 km altitude. Such an instrument would make a major step toward meeting operational requirements for Global Wind Measurements (EUMETSAT),

VIII.ACKNOWLEDGMENTS

This work has been partially funded by ESA under PECS contract No. 4000130586/20/NL/SC and Contract 4000135540/21/NL/SC.

REFERENCES

[1] 

E. Armandillo, David Rees, and Y. Tzeremes, “Correlation Wind Lidar with an Array Detector and Photon Counting,” in International Conference on Space Optics — ICSO 2021, Online Only, France: SPIE, 2021), https://doi.org/10.1117/12.2599360 Google Scholar

[2] 

E. W. Eloranta, J. M. King, and J. A. Weinman, “The Determination of Wind Speeds in the Boundary Layer by Monostatic Lidar,” J. Appl. Meteorol. Climatol., 14 (8), 1485 –1489 (1975). https://doi.org/10.1175/1520-0450(1975)014<1485:TDOWSI>2.0.CO;2 Google Scholar

[3] 

“Two-Component Horizontal Aerosol Motion Vectors in the Atmospheric Surface Layer from a Cross-Correlation Algorithm Applied to Scanning Elastic Backscatter Lidar Data in: Journal of Atmospheric and Oceanic Technology Volume 29 Issue 11 (2012), https://journals.ametsoc.org/view/journals/atot/29/11/jtech-d-11-00225_1.xml Google Scholar

[4] 

P. Dérian, C. F. Mauzey, and S. D. Mayor, “Wavelet-Based Optical Flow for Two-Component Wind Field Estimation from Single Aerosol Lidar Data,” J. Atmospheric Ocean. Technol., 32 (10), 1759 –1778 (2015). https://doi.org/10.1175/JTECH-D-15-0010.1 Google Scholar

[5] 

M. Hamada, P. Dérian, C. F. Mauzey, and S. D. Mayor, “Optimization of the Cross-Correlation Algorithm for Two-Component Wind Field Estimation from Single Aerosol Lidar Data and Comparison with Doppler Lidar,” J. Atmospheric Ocean. Technol., 33 (1), 81 –101 (2016). https://doi.org/10.1175/JTECH-D-15-0009.1 Google Scholar

[6] 

Paul B. Hayes Vincent J. Abreu, Michael E. Dobbs, David A. Gell, Heinz J. Grassl, Wilbert R. Skinner, “The High Resolution Doppler Imager on the NASA Upper Atmosphere Research Satellite,” https://doi.org/10.1029/93JD00409 Google Scholar

Notes

[1] Profiles are acquired sequentially, so in practice the kernel extends in the time-domain as well by as long as necessary to record the number of points used in the azimuth dimension (with the GS, 1 s per point).

© (2023) COPYRIGHT Society of Photo-Optical Instrumentation Engineers (SPIE). Downloading of the abstract is permitted for personal use only.
E. Armandillo, David Rees, Pierre Dérian, Victor Kurtenok, and Vjaceslavs Lapkovskis "The correlation wind lidar project: processor optimization, development, and field-testing", Proc. SPIE 12777, International Conference on Space Optics — ICSO 2022, 1277708 (12 July 2023); https://doi.org/10.1117/12.2688592
Advertisement
Advertisement
RIGHTS & PERMISSIONS
Get copyright permission  Get copyright permission on Copyright Marketplace
KEYWORDS
LIDAR

Algorithm development

Astronomical imaging

Motion estimation

Mathematical optimization

Simulation of CCA and DLA aggregates

Aerosols

Back to Top