A laser radar data processing method and device
By adopting digital downconversion and frequency domain pulse compression processing in pulse modulated lidar, combined with GPU parallel computing and adaptive threshold threshold filtering, the contradiction between traditional lidar in improving the acting distance and ranging resolution is solved, and the accuracy of distance calculation is ensured in a low signal-to-noise ratio environment.
Patent Information
- Application Number
- CN202210718580.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-06-23
- Publication Date
- 2025-05-09
- Estimated Expiration
- 2042-06-23
AI Technical Summary
There is a contradiction between improving the working distance and the ranging resolution, and pulse compression processing may lead to distance calculation errors when the signal-to-noise is relatively weak.
Pulse modulation lidar technology is used to improve data processing efficiency through digital downconversion and frequency domain pulse compression processing, combined with GPU parallel calculation, and determine the effective signal time through adaptive threshold threshold filtering to accurately calculate the target distance.
It is achieved to improve the action distance and distance measurement resolution of the lidar without increasing the system complexity, and ensure the accuracy of distance calculation in a low signal-to-noise ratio environment.
Smart Images

Figure CN114994636B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of laser radar signal processing technology, and in particular to a laser radar data processing method and device. Background Art
[0002] Traditional pulsed laser radar is a laser radar system that detects objects by measuring the flight time of laser pulses traveling to and from the target. The technology is mature, but its performance is limited by the emission power of the laser, the detection sensitivity of the photodetector, and the volume and weight of the system, making it difficult to further improve the system's range. At the same time, the product of the time width and bandwidth of traditional pulsed laser radar signals is approximately 1, and the time width and bandwidth cannot be taken into account at the same time, resulting in the inability to simultaneously meet the requirements of long range and high range resolution.
[0003] Pulse modulation laser radar modulates the transmitted laser pulse, and the pulse modulation methods include linear frequency modulation, nonlinear frequency modulation, pseudo-random code modulation, etc. Different signal forms have different compression performance. The modulated laser pulse is amplified and then irradiated to the target. After the target returns, it is mixed with the local oscillator signal. The time-bandwidth product of the transmitted signal is increased at the transmitting end, and the mixed signal is pulse compressed at the receiving end, which improves the detection signal-to-noise ratio and the ranging resolution of the system. It has the advantages of long effective range and suppression of backscatter clutter, which alleviates the contradiction between effective range and ranging resolution in traditional pulse laser radar systems.
[0004] The research work of the target is mainly focused on the theoretical and experimental research on the generation method of large bandwidth modulated signal, and the research on its application in the practical application of pulse modulated laser radar has just started. In practical research, it is also necessary to conduct specific research on its functional model, specific parameters, modulation bandwidth, modulation type, pulse time, etc. If FPGA is used for subsequent data processing and pulse compression operation, the data processing speed can meet the real-time processing, but each time the function parameter is adjusted, the corresponding program needs to be compiled for several hours, which takes too long. If the computer's CPU is used for data acquisition and pulse compression operation, although it is slower than FPGA in time, it may take several seconds to process a frame of data, but at present, the technology has not yet reached the mature stage, which can facilitate the debugging of the system. In addition, the result after pulse compression processing is generally directly taken as the target return time, and the target distance value is calculated based on this time. However, if the pulse pressure value is not processed when the signal-to-noise ratio is relatively weak, the calculated distance value may not be the true distance of the target. Summary of the invention
[0005] The embodiment of the present invention provides a laser radar data processing method and device, which are used to process the actual laser radar received data, and compress the pulse in the pulse modulation laser radar.
[0006] An embodiment of the present invention provides a laser radar data processing method, including:
[0007] Collecting a laser radar signal, wherein the laser radar signal refers to a signal obtained by mixing a local oscillator signal emitted by a laser seed source and an echo signal reflected by a target;
[0008] Performing digital down-conversion processing on the laser radar signal to obtain a first signal, where the first signal is a complex signal vector;
[0009] In the frequency domain, performing pulse compression processing on the first signal, wherein the pulse compression processing is implemented based on the first signal and a template signal to obtain a second signal, wherein the second signal is a real number vector;
[0010] Based on the second signal, the time of the valid signal is determined, so as to determine the distance information of the target based on the time of the valid signal.
[0011] Optionally, performing digital down-conversion processing on the laser radar signal to obtain a first signal includes:
[0012] The laser radar signal is down-converted using the following steps:
[0013] Performing frequency mixing processing on the laser radar signal to obtain an I-path in-phase component and a Q-path orthogonal component;
[0014] For any in-phase component and any orthogonal component, the sampling rate is reduced and decimation filtering is performed to obtain the first signal, wherein the reduced sampling rate is ≥ 2 times the signal bandwidth.
[0015] Optionally, in the frequency domain, performing pulse compression processing on the first signal to obtain the second signal includes:
[0016] Provide template signal Where k is the slope of the linear frequency modulation signal, and t is the modulation pulse width;
[0017] Performing FFT operation on the template signal and the first signal simultaneously;
[0018] Multiplying the template signal after the FFT operation and the first signal after the FFT operation to obtain a fourth signal;
[0019] Performing an IFFT operation on the fourth signal to obtain a fifth signal, where the fifth signal is a complex vector;
[0020] Perform modulo on the fifth signal to obtain the second signal.
[0021] Optionally, the pulse compression processing of the first signal is implemented through GPU parallel processing;
[0022] The digital down-conversion processing of the lidar signal, the acquisition of the lidar signal, and the determination of the distance information of the target based on the time of the valid signal are implemented through the CPU.
[0023] Optionally, the simultaneous FFT operations on the template signal and the first signal include:
[0024] Perform two-dimensional FFT operations, set the number of rows and columns respectively, and the product of the two-dimensional FFT rows and columns is consistent with the total number of each vector; set the number of columns to an integer between 10 and 100, set the number of rows to the total number of vectors divided by the number of columns, and ensure that both the number of rows and columns are integer values;
[0025] The multiplication of the template signal after FFT operation and the first signal after FFT operation includes:
[0026] Define that the maximum number of thread blocks that can run simultaneously in the GPU multiprocessor at each moment is M, the maximum number of threads that can run simultaneously in the GPU multiprocessor at each moment is N, and the number of complex vectors is L;
[0027] If N≥L, then configure the number of thread blocks of the GPU to be M, configure the number of threads in each thread block to be N / M, and only perform operations on the first L threads, with each complex vector being operated on by a single thread;
[0028] If N<L, then the amount of data processed by each thread ≥1, define P = L % N, then the first thread processes the 1st, N + 1... P * N + 1st complex vectors, and the i-th thread processes the i-th, N + i... P * N + i-th complex vectors.
[0029] Optionally, based on the second signal, determining the time of the valid signal to determine the distance information of the target based on the time of the valid signal includes:
[0030] For any data F in the second signal x , obtain its threshold value at x, where F x ∈ F = {F1, F2... F N}, x ∈ [1, N], F represents the second signal, and N represents the length of the processed vector data;
[0031] Based on the second signal, shift the any data F x to the left by i points to obtain F x-i ;
[0032] Take F in the second signal x-iThere are j points on the left. One-dimensional median filtering is performed on these j points. The size of the filter template is determined according to the number of j points. The average value of the j points after median filtering is calculated to obtain M x-i ;
[0033] Based on the second signal, the any data F x Move right i points and get F x+i ;
[0034] Take the second signal F x+i There are j points on the right, and a one-dimensional median filter is performed on these j points. The size of the filter template is determined according to the number of j points, and the average value of the j points after the median filter is calculated to obtain M x+i ;
[0035] Take M x-i With M x+i The average value M x ;
[0036] Based on the average value M x , determine any data F x The threshold value N x ;
[0037] If F x ≥N x , and it is not 0, then determine F x is a valid signal.
[0038] Optionally, determining the time of the valid signal based on the second signal, so as to determine the distance information of the target based on the time of the valid signal further includes:
[0039] The distance information of the target satisfies:
[0040]
[0041] Where C is the speed of light, x is the effective information time, F s is the sampling rate after down conversion.
[0042] An embodiment of the present application also proposes a data processing device, including a processor and a memory, wherein the memory stores a computer program, and when the computer program is executed by the processor, the steps of the aforementioned lidar data processing method are implemented.
[0043] An embodiment of the present application further proposes a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps of the aforementioned lidar data processing method are implemented.
[0044] The embodiments of the present invention realize that pulse compression should actually be used in pulse modulation laser radar, and in some examples, the parallel computing of GPU is used to greatly improve the data processing efficiency.
[0045] The above description is only an overview of the technical solution of the present invention. In order to more clearly understand the technical means of the present invention, it can be implemented according to the contents of the specification. In order to make the above and other purposes, features and advantages of the present invention more obvious and easy to understand, the specific implementation methods of the present invention are listed below. BRIEF DESCRIPTION OF THE DRAWINGS
[0046] Various other advantages and benefits will become apparent to those of ordinary skill in the art by reading the detailed description of the preferred embodiments below. The accompanying drawings are only for the purpose of illustrating the preferred embodiments and are not to be considered as limiting the present invention. Moreover, the same reference symbols are used throughout the accompanying drawings to represent the same components. In the accompanying drawings:
[0047] Figure 1 This is a basic flow chart of the laser radar data processing method according to an embodiment of the present application;
[0048] Figure 2 This is an example of the real part of the linear frequency modulation signal in the embodiment of the present application;
[0049] Figure 3 This is an example of the imaginary part of the linear frequency modulation signal in the embodiment of the present application;
[0050] Figure 4 This is an example of the pulse compression result of the embodiment of the present application. DETAILED DESCRIPTION
[0051] The exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although the exemplary embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be limited by the embodiments set forth herein. On the contrary, these embodiments are provided to enable a more thorough understanding of the present disclosure and to fully convey the scope of the present disclosure to those skilled in the art.
[0052] The embodiment of the present invention provides a laser radar data processing method, such as Figure 1 As shown, the following steps are included:
[0053] In step S101, a laser radar signal is collected, wherein the laser radar signal includes a local oscillator signal emitted by a laser seed source and an echo signal reflected by a target. In this example, the laser seed source emits a laser signal (which can be 1550nm, or other wavelength signals), and the laser signal is divided into two paths, one of which is modulated by chopping and modulating (assuming that the modulation signal is S, where the modulation mode includes linear frequency modulation, nonlinear frequency modulation, and pseudo-random code modulation), and the other is used as a local oscillator signal. The modulated signal is amplified and then irradiated to the target, and the local oscillator signal is mixed with the echo signal reflected by the target, and then amplified and data collected. In this example, the acquisition signal must be synchronized with the laser emission signal at all times. The sampling rate of the acquisition signal is based on the modulation signal frequency, meets the requirements of the sampling theorem, and can be set to 4 times the maximum frequency in practical applications. The acquisition module can transmit data to the computer through PCIE, and the computer transmits relevant instructions to the acquisition card through PCIE.
[0054] In step S102, the laser radar signal is digitally down-converted to obtain a first signal, such as Figure 2 , Figure 3 As shown, the first signal is a complex signal vector including a real part and an imaginary part. In some embodiments, performing digital down-conversion processing on the laser radar signal to obtain the first signal includes:
[0055] The laser radar signal is down-converted using the following steps, including mixing and sampling steps:
[0056] First, the laser radar signal is mixed to obtain an I-way in-phase component and a Q-way orthogonal component. Assume that the center frequency of the linear modulation signal is f m , then the in-phase component I and quadrature component Q signals obtained after mixing are B I =A·cos(2·π·f m ·t), B q =A·sin(2·π·f m ·t), B I , B q The discrete echo signal A and frequency f are collected respectively m The vector dot product of the real and imaginary parts of the complex exponential signal is then added to B I , B q The signals are filtered by low-pass filters respectively.
[0057] For any in-phase component and any orthogonal component, the sampling rate is reduced and sampling is performed to obtain the first signal, wherein the reduced sampling rate is ≥ 2 times the signal bandwidth. I , B qThe signal is extracted and the sampling rate is reduced to ensure that the extracted signal can restore the original signal to reduce the subsequent calculation amount. That is, the sampling rate of the extracted signal is ≥ 2 times the signal bandwidth. I , B q C I , C q , which constitutes the complex signal vector C = C I +jC q In some examples, the digital down-conversion processing of the laser radar signal is implemented by CPU parallel processing, for example, by C language programming.
[0058] In step S103, in the frequency domain, pulse compression processing is performed on the first signal, wherein the pulse compression processing is implemented based on the first signal and a template signal to obtain a second signal, and the second signal is a real number vector. In some examples, pulse compression processing of the first signal is implemented by GPU parallel processing. In this example, by utilizing the parallel processing of the GPU, the Graphics Processing Unit (GPU) provides higher instruction throughput and memory bandwidth than CPUs of the same price and power. In this example, by utilizing this high performance, the application running on the GPU achieves a faster speed than that on the CPU, and in specific applications, it can be written in C++ to complete the corresponding functions. Assuming that an AD acquisition chip is used for acquisition, Xilinx The chip performs digital down-conversion, pulse compression, post-pulse compression filtering algorithm processing, and control functions, which are difficult to implement. It takes several hours to compile the FPGA program each time. If changes and debugging are required, it is difficult to meet actual needs at the target stage.
[0059] In step S104, the time of the effective signal is determined based on the second signal, so as to determine the distance information of the target based on the time of the effective signal. Specifically, the second signal can be filtered, and then the time of the effective signal is determined, so as to further determine the distance information of the target.
[0060] The embodiments of the present invention realize the processing of actual laser radar received data, compress the pulse should actually be in the pulse modulation laser radar, and in some examples, the parallel computing of GPU is used to greatly improve the data processing efficiency.
[0061] In some examples, in the frequency domain, performing pulse compression processing on the first signal to obtain the second signal includes:
[0062] Provide template signal Wherein k is the slope of the linear frequency modulation signal, and t is the modulation pulse width. In some examples, the pulse compression processing of the first signal is achieved by GPU parallel processing, while the digital down-conversion processing of the lidar signal and the acquisition of the laser lidar signal are achieved by the CPU. The scheme of the present application coordinates the entire processing algorithm, comprehensively considers the performance of the CPU and GPU, performs the acquisition and control functions in the CPU, and performs the pulse pressure calculation in the GPU, which improves both efficiency and frame rate. In the present invention, FPGA processing is not used, and a computer is used for acquisition processing, and the CPU and GPU of the computer are used to cooperate with each other, and the parallel computing and control functions are processed separately, which is faster than using CPU processing alone, and also meets the needs of convenient modification and debugging.
[0063] In the specific examples, the CPU and the system memory are referred to as the host, and the GPU and its memory are referred to as the device. In some examples, the device storage space is requested from the CPU, the size of the storage space is determined according to the amount of data, and then the data content is copied from the host to the device. Specifically, the complex signal vector C and the template signal T can be copied to the device respectively.
[0064] Perform FFT operation on the template signal and the first signal simultaneously. In some embodiments, performing FFT operation on the template signal and the first signal simultaneously includes: using two-dimensional FFT operation, setting the number of rows and columns respectively, and multiplying the two-dimensional FFT rows and columns is consistent with the total number of each vector. The number of columns is set to an integer between 10 and 100, the number of rows is set to the total number of vectors divided by the number of columns, and the number of rows and columns are both integer values, so that the two-dimensional FFT can be guaranteed to have the highest efficiency and the shortest time, which is only half of the one-dimensional FFT time.
[0065] Specifically, the device performs FFT operations on the complex signal vector C and the template signal T. The two FFT operations are performed simultaneously. When making the FFT operation plan, this example selects a two-dimensional FFT operation, sets the number of rows and columns respectively, and the multiplication of the two-dimensional FFT rows and columns is consistent with the total number of each vector. When performing the FFT operation, the forward operation from the input complex number to the output complex number is selected. This method greatly speeds up the calculation speed. After completion, two sets of spectral complex vectors C are obtained. F , T F .
[0066] Multiply the template signal after FFT operation and the first signal after FFT operation to obtain a fourth signal. In some examples, the foregoing steps specifically include: configuring the number of thread blocks of the GPU and the number of threads in each thread block to perform the multiplication operation of two one-dimensional complex vectors on the GPU. In this way, the operation time can be further reduced. After the operation, the complex vector D (the fourth signal) is obtained. In this example, for the FFT operation and the IFFT operation, two-dimensional FFT and IFFT operations are adopted. Compared with the one-dimensional FFT and IFFT operations, their running speed is faster, and by reasonably setting the number of rows and columns of the two-dimensional FFT and IFFT, the performance of the GPU can be fully utilized, and the speed is twice as fast as that of the one-dimensional FFT. Specifically, let the maximum number of thread blocks that can run simultaneously in the GPU multiprocessor at each moment be M, the maximum number of threads that can run simultaneously in the GPU multiprocessor at each moment be N, and the number of complex vectors be L. If N≥L, then configure the number of thread blocks of the GPU to be M, configure the number of threads in each thread block to be N / M, and only perform operations on the first L threads, with each complex vector being operated on by a single thread. If N<L, then the amount of data processed by each thread is ≥1. Let P = L % N (i.e., the remainder of L divided by N). For example, the first thread processes the 1st, N + 1th... P * N + 1th complex vectors, and the ith thread processes the ith, N + ith... P * N + ith complex vectors, where P * N + i is not greater than the number of vectors. If P * N + i is greater than the number of vectors, then it is not processed. The other data is类推 in the same way. Through such a design, the utilization rate of the multiprocessor can be maximized, and the number of threads running at any moment is the maximum number of threads that can be run in real time in the multiprocessor.
[0067] Perform an IFFT operation on the fourth signal to obtain a fifth signal, and the fifth signal is a complex vector;
[0068] Specifically, an IFFT operation can be performed on the complex vector D at the device end. Select to use a two-dimensional FFT operation, and separately set the number of rows and columns of the IFFT operation. The product of the number of rows and columns of the two-dimensional IFFT is consistent with the total number of each vector. When performing the IFFT operation, select the reverse operation from the input complex number to the output complex number. After completion, 1 set of complex vectors E (the fifth signal) is obtained.
[0069] Take the modulus of the fifth signal to obtain the second signal. Specifically, a modulus operation can be performed on the complex vector E at the device end. First, set the number of thread blocks, and then set the number of threads in each thread block to ensure that the total number of threads is consistent with the number of input complex vectors E, and each thread processes one operation on E. After the operation, a real vector F (the second signal) is obtained, and an example of the pulse compression result is as Figure 4 shown.
[0070] Determining the distance information of the target based on the moment of the valid signal is implemented by the CPU. In some embodiments, after obtaining the real vector F, the real vector F is copied from the device GPU to the CPU memory, and then the device storage applied for by the device is destroyed. The real vector F is filtered by the CPU and then the moment of the signal is found, and the distance information of the target is obtained according to the moment. The filtering process of F adopts an adaptive threshold, and the waveform curve trend of the threshold is consistent with F. Specifically in some embodiments, based on the second signal, the moment of the valid signal is determined, and the distance information of the target is determined based on the moment of the valid signal, including:
[0071] For any data F in the second signal x , find the threshold value at x, which can be obtained in three steps, where F x ∈F={F1,F2……F N}, x∈[1,N], F represents the second signal, and N represents the length of the processed vector data;
[0072] Based on the second signal, the any data F x Move left i points and get F x-i ;
[0073] Take the second signal F x-i There are j points on the left. Perform one-dimensional median filtering on these j points. The size of the filter template is determined according to the number of j points. It can be 5. Then, the average value of the j points after the median filtering is calculated to obtain M x-i The target may be large and the returned information may cover multiple points. The value of i may be 4.
[0074] Based on the second signal, the any data F x Move right i points and get F x+i ;
[0075] Take the second signal F x+i There are j points on the right. Perform one-dimensional median filtering on these j points. The size of the filter template can be determined according to the number of j points. It can be 5. Then, the average value of the j points after median filtering is calculated to obtain M. x+i The target may be large and the returned information may cover multiple points. The value of i may be 4.
[0076] Take M x-i With M x+i The average value M x ;
[0077] Based on the average value M x , determine any data F x The threshold value N x Specifically, the average value Mx Multiply by a coefficient to obtain the threshold value N x .
[0078] If F x ≥N x , and it is not 0, then determine F x is a valid signal.
[0079] If the target distance is calculated only from the moment of the maximum pulse pressure, when the signal-to-noise ratio is low or when there is interference, calculation errors may occur. In this example, a filtering processing algorithm is designed to accurately find the target information after the pulse pressure processing. The method of the embodiment of the present application can ensure that the threshold value changes dynamically and is consistent with the trend of the signal curve. Even when the signal-to-noise ratio is very low, the target information can be accurately obtained.
[0080] In some examples, determining the distance information of the target based on the time of the valid signal further includes:
[0081] The distance information of the target satisfies:
[0082]
[0083] Where C is the speed of light, x is the effective information time, F s is the sampling rate after down conversion.
[0084] The present application also provides an implementation example of a laser radar data processing method, including:
[0085] The laser seed source emits a laser signal (can be 1550nm, or other wavelength signals), and the laser signal is divided into two paths. One path is modulated by chopping and modulating (let the modulation signal be S, where the modulation modes include linear frequency modulation, nonlinear frequency modulation, and pseudo-random code modulation). Linear frequency modulation is used here, for example, from 300MHz to 500MHz, the time is 1μs, and the other path is used as the local oscillator signal. The modulated signal is amplified and then irradiated to the target.
[0086] The local oscillator signal is mixed with the echo signal, and then amplified and data collected. The acquisition signal must be synchronized with the laser emission signal. The sampling rate of the acquisition signal is based on the modulation signal frequency and meets the requirements of the sampling theorem. In practical applications, it is generally 4 times the maximum frequency. The acquisition module can transmit data to the computer through PCIE. The computer transmits relevant instructions to the acquisition card through PCIE.
[0087] The collected echo signal A is digitally down-converted, which is divided into mixing processing and extraction filtering modules. Assume that the center frequency of the linear modulation signal is f m , such as f m=400MHz, then the in-phase component I and quadrature component Q signals obtained after mixing are B I =A·cos(2·π·f m ·t),B q =A·sin(2·π·f m ·t),B I , B q The discrete echo signal A and frequency f are collected respectively m The vector dot product of the real and imaginary parts of the complex exponential signal. Then B I , B q The signals are filtered by low-pass filters. I , B q The signal is extracted and the sampling rate is reduced to ensure that the extracted signal can restore the original signal to reduce the subsequent calculation amount. That is, the sampling rate of the extracted signal is ≥ 2 times the signal bandwidth. I , B q C I , C q , which constitutes the complex signal vector C = C I +jC q . Data acquisition can be done in the CPU and can be performed through C language programming.
[0088] The pulse compression process is performed in the frequency domain. The complex signal C is fast Fourier transformed and then multiplied with the spectrum of the template signal. According to the theory of matched filtering, the ideal template signal K represents the slope of the linear frequency modulation signal, and t is the modulation pulse width. Then the multiplied spectrum is inversely Fourier transformed to obtain the result. The fast Fourier transform of the complex signal C and the template signal T, as well as the multiplication of the spectrum and the IFFT operation after the multiplication are all completed in the GPU. Compared with CPUs of the same price and power, the graphics processing unit (GPU) provides higher instruction throughput and memory bandwidth. With this high performance, faster speeds can be obtained than on the CPU. The GPU is dedicated to highly parallel computing. CUDA (universal parallel computing platform and programming model) uses the parallel computing engine in the GPU to handle many complex computing problems. This method is more efficient than processing on the CPU. CUDA comes with a software environment, and the corresponding programs are written in the C++ programming language to complete the corresponding functions.
[0089] The CPU and the system memory are called the host, and the GPU and its memory are called the device. First, the device storage space is requested from the CPU. The size of the storage space is determined by the amount of data, and then the data content is copied from the CPU to the device. The complex signal vector C and the template signal T are copied to the device respectively.
[0090] The specific pulse compression processing steps are as follows:
[0091] On the device side, perform FFT operations on the complex signal vector C and the template signal T. These two FFT operations are performed simultaneously. When making the FFT operation plan, choose to use a two-dimensional FFT operation, set the number of rows and columns respectively, and the multiplication of the two-dimensional FFT rows and columns is consistent with the total number of each vector. When performing the FFT operation, select the forward operation from the input complex number to the output complex number, thereby speeding up the operation. After completion, two sets of spectral complex vectors C are obtained respectively. F , T F .
[0092] On the device side, C F , T F Complex vectors are multiplied. First, the number of thread blocks is set, and then the number of threads in each thread block is set to ensure that the total number of threads is the same as the size of the input complex vector, and each thread processes one element of the vector. Then, the GPU performs a multiplication operation on two one-dimensional complex vectors, which can reduce the operation time. After the operation is completed, the complex vector D is obtained.
[0093] Perform IFFT operation on the complex vector D on the device side. Select the two-dimensional FFT operation, set the number of rows and columns of the IFFT operation respectively, and the multiplication of the number of rows and columns of the two-dimensional IFFT is consistent with the total number of each vector. When performing the IFFT operation, select the inverse operation from the input complex number to the output complex number. After completion, a set of complex vectors E is obtained.
[0094] Perform a modulo operation on the complex vector E on the device side. First set the number of thread blocks, then set the number of threads in each thread block, ensuring that the total number of threads is consistent with the number of input complex vectors E. Each thread processes an operation on E, and the real vector F is obtained after the operation is completed.
[0095] The real vector F is copied from the device GPU to the CPU memory, and then the device storage requested by the device is destroyed. Next, the F vector is processed on the CPU side.
[0096] F is filtered to remove the noise in the system, and then the time of the signal is found, and the distance information of the target is obtained according to the time. The filtering of F adopts an adaptive threshold, and the waveform curve of the threshold is consistent with F.
[0097] Let F = {F1, F2...F N}, N is the length of the processed vector data, for each data F to be processed x , x is between 1 and N, and the threshold value at x is calculated respectively. The calculation is divided into three steps. The first step is to shift x to the left by i points (it is possible that the target is relatively large, and the returned information covers multiple points, so i=4) to obtain F x-4 ;
[0098] The second step is to take F x-4 There are j points on the left. Perform one-dimensional median filtering on these j points. The size of the filter template is determined according to the number of j points. It can be 5. Then, the average value of the j points after median filtering is calculated (including F x-4 ) to get M x-4 ;
[0099] The third step is to shift x right by i points (it is possible that the target is relatively large and the returned information covers multiple points, so i=4) to obtain F x+4 ;
[0100] Step 4: Take F x+4 There are j points on the right. Perform one-dimensional median filtering on these j points. The size of the filter template can be determined according to the number of j points. It can be 5. Then, the average value of the j points after median filtering is calculated (including F x+4 ) to get M x+4 ;
[0101] Step 5M x-4 and M x+4 Take the average value to get M x ;
[0102] Step 5: M x Multiply by a coefficient to get the threshold value N of point x x
[0103] For each F x , if F x ≥N x , and is not 0, it means F x is a valid signal.
[0104] The distance information of the target is Where C is the speed of light, x is the effective information time, F s is the sampling rate after down conversion.
[0105] The method of the present application utilizes the parallel processing of GPU in the processing of laser radar pulse compression signals, which greatly saves computing time and is beneficial to the research on the functional model, specific parameters, modulation bandwidth, modulation type, pulse time, etc. of pulse compression laser radar.
[0106] An embodiment of the present application further proposes a data processing device, including a processor and a memory, wherein the memory stores a computer program, and when the computer program is executed by the processor, the steps of the aforementioned lidar data processing method are implemented.
[0107] An embodiment of the present application further proposes a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps of the aforementioned lidar data processing method are implemented.
[0108] It should be noted that, in this article, the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, an element defined by the sentence "comprises a ..." does not exclude the existence of other identical elements in the process, method, article or device including the element.
[0109] The serial numbers of the above embodiments of the present invention are only for description and do not represent the advantages or disadvantages of the embodiments.
[0110] Through the description of the above implementation methods, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present invention, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, a magnetic disk, or an optical disk), and includes a number of instructions for enabling a terminal (which can be a mobile phone, a computer, a server, an air conditioner, or a network device, etc.) to execute the methods described in each embodiment of the present invention.
[0111] The embodiments of the present invention are described above in conjunction with the accompanying drawings, but the present invention is not limited to the above-mentioned specific implementation modes, which are merely illustrative rather than restrictive. Under the guidance of the present invention, ordinary technicians in this field can also make many forms without departing from the scope of protection of the present invention and the claims, all of which are within the protection of the present invention.
Claims
1. A laser radar data processing method, characterized in that: include: Collecting a laser radar signal, wherein the laser radar signal refers to a signal obtained by mixing a local oscillator signal emitted by a laser seed source and an echo signal reflected by a target; Performing digital down-conversion processing on the laser radar signal to obtain a first signal, where the first signal is a complex signal vector; In the frequency domain, performing pulse compression processing on the first signal, wherein the pulse compression processing is implemented based on the first signal and a template signal to obtain a second signal, wherein the second signal is a real number vector; Determine the time of the valid signal based on the second signal, so as to determine the distance information of the target based on the time of the valid signal; Determining the time of the valid signal based on the second signal, so as to determine the distance information of the target based on the time of the valid signal includes: For any data in the second signal , find its threshold value at x, where , , represents the second signal, and N represents the length of the processed vector data; Based on the second signal, any one of the data Shift Left points, get ; Take the second signal left points, perform one-dimensional median filtering on these j points, the size of the filter template is determined according to the number of j points, and the average value of the j points after median filtering is obtained ; Based on the second signal, any one of the data Shift Right points, get ; Take the second signal right points, perform one-dimensional median filtering on these j points, the size of the filter template is determined according to the number of j points, and the average value of the j points after median filtering is obtained ; Pick and The average ; Based on average , determine any data The threshold value ; like ≥ , and it is not 0, then determine is a valid signal.
2. The laser radar data processing method according to claim 1, characterized in that: Performing digital down-conversion processing on the laser radar signal to obtain a first signal includes: The laser radar signal is down-converted using the following steps: Performing frequency mixing processing on the laser radar signal to obtain an I-path in-phase component and a Q-path orthogonal component; For any in-phase component and any orthogonal component, the sampling rate is reduced and decimation filtering is performed to obtain the first signal, wherein the reduced sampling rate is ≥ 2 times the signal bandwidth.
3. The laser radar data processing method according to claim 2, characterized in that: In the frequency domain, performing pulse compression processing on the first signal to obtain a second signal includes: Provide template signal ,in is the slope of the linear frequency modulation signal, t is the modulation pulse width; Performing FFT operation on the template signal and the first signal simultaneously; Multiplying the template signal after the FFT operation and the first signal after the FFT operation to obtain a fourth signal; Performing an IFFT operation on the fourth signal to obtain a fifth signal, where the fifth signal is a complex vector; Perform modulo on the fifth signal to obtain the second signal.
4. The laser radar data processing method according to claim 3, characterized in that: The pulse compression processing is performed on the first signal by GPU parallel processing; The CPU is used to perform digital down-conversion processing on the laser radar signal, collect the laser radar signal, and determine the distance information of the target based on the time of the effective signal.
5. The laser radar data processing method according to claim 4, characterized in that: Simultaneously performing FFT operation on the template signal and the first signal includes: Use two-dimensional FFT operation, set the number of rows and columns respectively, and the multiplication of two-dimensional FFT rows and columns is consistent with the total number of each vector; set the number of columns to an integer between 10 and 100, and the number of rows to the total number of vectors divided by the number of columns, and ensure that both the number of rows and the number of columns are integer values; Multiplying the template signal after the FFT operation and the first signal after the FFT operation includes: Define the maximum number of thread blocks that can be run simultaneously in the GPU multiprocessor at any moment as M, the maximum number of threads that can be run simultaneously in the GPU multiprocessor at any moment as K, and the number of complex vectors as L; If K ≥ L, configure the number of GPU thread blocks to M, configure the number of threads in each thread block to K / M, perform operations only on the first L threads, and use a separate thread to calculate each complex vector; If K < L, the amount of data processed by each thread is ≥ 1. Define P = L % K. Then the first thread processes the 1st, K + 1th,..., P * K + 1th complex vectors, and the nth thread processes the nth, K + nth,..., P * K + nth complex vectors.
6. The laser radar data processing method according to claim 1, characterized in that: Determining the moment of the valid signal based on the second signal to determine the distance information of the target based on the moment of the valid signal further includes: The distance information of the target satisfies: Among them, C is the speed of light, y is the effective information time, is the sampling rate after down conversion.
7. A data processing device, characterized in that: It includes a processor and a memory. The memory stores a computer program, and when the computer program is executed by the processor, it implements the steps of the lidar data processing method according to any one of claims 1 to 6.
8. A computer-readable storage medium, characterized in that: A computer program is stored on the computer-readable storage medium, and when the computer program is executed by the processor, it implements the steps of the lidar data processing method according to any one of claims 1 to 6.
Citation Information
Patent Citations
Pulse laser coherent ranging method and device based on linear frequency modulation local oscillator
CN115220055A
Local oscillation light optimization method in laser coherent detection and laser detection system
CN115356710A