Spaceborne SAR Imaging Processing Method and Device Based on Embedded GPU
By directly reading the raw echo data of CPU lock page memory on the embedded GPU and performing parallel computing and shared memory transpose optimization, the problem of slow satellite SAR imaging processing speed is solved, real-time and efficient imaging processing is achieved, and system cost and weight is reduced.
Patent Information
- Application Number
- CN202210266938.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-03-17
- Publication Date
- 2025-07-11
- Estimated Expiration
- 2042-03-17
AI Technical Summary
The existing satellite-based SAR imaging processing methods have shortcomings in terms of speed and efficiency, especially the processing speed based on the combined architecture of CPU and GPU is slow, and the combined processing of multiple embedded GPUs increases cost and weight.
The satellite-on-mounted SAR imaging processing method based on embedded GPU is adopted, and the original echo data is read directly from the lock page memory of the CPU through zero-copy technology, and the GPU core is used for correction processing, including parallel calculation of phase multiplication correction data and transpose optimization of shared memory, reducing data copy time and floating-point operation times.
Real-time imaging processing of satellite-based SAR is realized, which improves imaging processing speed and efficiency, reduces system cost and weight, and maintains high accuracy of imaging results.
Smart Images

Figure CN114706077B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of signal processing, and particularly to a spaceborne SAR imaging processing method and device based on an embedded GPU. Background Art
[0002] Spaceborne synthetic aperture radar (SAR) is an important part of the space earth observation field. Due to its all-weather and all-time working ability, spaceborne SAR is widely used in many important fields of national defense and people's livelihood such as earth remote sensing, military reconnaissance, and resource exploration. In recent years, with the rapid development of graphics processor unit (GPU) technology, the powerful floating-point operation and parallel processing capabilities of the GPU have enabled the industry to focus on exploring its potential, so that it can also play its high-performance computing advantages in non-graphic fields. Due to its own architecture, the GPU is more suitable for parallel computing, so the GPU is used as a data processing processor in many fields.
[0003] The existing spaceborne SAR real-time imaging mainly uses an embedded GPU based on the combined architecture of a central processing unit (CPU) and a GPU for processing.
[0004] However, the above method has problems such as slow processing speed and low efficiency of a single board. Summary of the Invention
[0005] In view of the problems existing in the prior art, an embodiment of the present invention provides a spaceborne SAR imaging processing method and device based on an embedded GPU.
[0006] The present invention provides a spaceborne SAR imaging processing method based on an embedded GPU, including:
[0007] Reading the original echo data of the synthetic aperture radar (SAR) from the pinned memory of the central processing unit (CPU);
[0008] Determining phase multiplication correction data based on the working parameters of the SAR;
[0009] Correcting the original echo data according to the phase multiplication correction data to obtain image information corresponding to the original echo data.
[0010] According to the spaceborne SAR imaging processing method based on an embedded GPU provided by the present invention, the determining of the phase multiplication correction data based on the working parameters of the SAR includes:
[0011] Perform azimuth merging and / or range merging on the mergable parameters in the working parameters to obtain phase multiplication data;
[0012] Utilize the phase multiplication data and the non-mergable parameters in the working parameters to obtain the phase multiplication correction data.
[0013] According to the spaceborne SAR imaging processing method based on an embedded GPU provided by the present invention, the phase multiplication correction data includes: first phase multiplication correction data, second phase multiplication correction data, and third phase multiplication correction data;
[0014] According to the phase multiplication correction data, correct the original echo data to obtain image information corresponding to the original echo data, including:
[0015] Convert the original echo data to the range-Doppler domain through azimuth fast Fourier transform to obtain first Doppler data;
[0016] Utilize parallel threads and parallel blocks to multiply the first Doppler data by the first phase multiplication correction data to obtain first correction data;
[0017] Store the first correction data in the shared memory and read the first transposed data in the shared memory; the first transposed data is obtained by performing matrix transposition on the first correction data in the shared memory;
[0018] Convert the first transposed data to the two-dimensional frequency domain through range fast Fourier transform to obtain first frequency domain data;
[0019] Utilize the parallel threads and the parallel blocks to multiply the first frequency domain data by the second phase multiplication correction data to obtain second correction data;
[0020] Convert the second correction data to the range-Doppler domain through inverse range fast Fourier transform to obtain second Doppler data;
[0021] Store the second Doppler data in the shared memory and read the second transposed data in the shared memory; the second transposed data is obtained by performing matrix transposition on the second Doppler data in the shared memory;
[0022] Utilize the parallel threads and the parallel blocks to multiply the second transposed data by the third phase multiplication correction data to obtain third correction data;
[0023] Convert the third correction data to the two-dimensional time domain through inverse azimuth fast Fourier transform to obtain the image information.
[0024] According to the spaceborne SAR imaging processing method based on an embedded GPU provided by the present invention, the phase multiplication data includes: azimuth merged data and / or range merged data;
[0025] Performing azimuth merging and / or range merging on the mergeable parameters in the working parameters to obtain phase multiplication data includes:
[0026] Performing azimuth merging on the mergeable parameters to obtain azimuth merged data; and / or,
[0027] Performing range merging on the mergeable parameters to obtain range merged data.
[0028] According to the spaceborne SAR imaging processing method based on an embedded GPU provided by the present invention, using the phase multiplication data and the non-mergeable parameters in the working parameters to obtain the phase multiplication correction data includes:
[0029] Multiplying the azimuth merged data and / or the range merged data, and the non-mergeable parameters to generate the phase multiplication correction data.
[0030] The present invention also provides a spaceborne SAR imaging processing device based on an embedded GPU, including an embedded graphics processing unit GPU; the GPU includes:
[0031] A reading module for reading the original echo data of a synthetic aperture radar (SAR) from the pinned memory of a central processing unit (CPU);
[0032] A determination module for determining phase multiplication correction data based on the working parameters of the SAR;
[0033] A correction module for correcting the original echo data according to the phase multiplication correction data to obtain image information corresponding to the original echo data.
[0034] According to the spaceborne SAR imaging processing device based on an embedded GPU provided by the present invention, it further includes a shared memory;
[0035] The shared memory is used to receive the data to be transposed sent by the pinned memory; performing matrix transposition processing on the data to be transposed to obtain transposed data; and sending the transposed data to the pinned memory.
[0036] The present invention also provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, and when the processor executes the program, it implements the steps of the spaceborne SAR imaging processing method based on an embedded GPU as described in any one of the above.
[0037] The present invention also provides a non-transitory computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps of any one of the above-mentioned spaceborne SAR imaging processing methods based on an embedded GPU are implemented.
[0038] The present invention also provides a computer program product, including a computer program. When the computer program is executed by a processor, the steps of any one of the above-mentioned spaceborne SAR imaging processing methods based on an embedded GPU are implemented.
[0039] For the spaceborne SAR imaging processing method and device based on an embedded GPU provided by the present invention, under the CPU and embedded GPU architecture, the GPU kernel directly reads the original echo data stored by the CPU in the pinned memory and corrects the original echo data, so as to implement real-time imaging processing of spaceborne SAR, saving the time of data copying and effectively improving the speed and efficiency of SAR imaging processing. BRIEF DESCRIPTION OF THE DRAWINGS
[0040] In order to more clearly illustrate the technical solutions in the present invention or the prior art, the following will briefly introduce the drawings required for use in the description of the embodiments or the prior art. Obviously, the drawings in the following description are some embodiments of the present invention. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts.
[0041] Figure 1 is one of the schematic flowcharts of the spaceborne SAR imaging processing method based on an embedded GPU provided by the present invention;
[0042] Figure 2 is the schematic structural diagram of the original echo data storage matrix provided by the present invention;
[0043] Figure 3 is the schematic flowchart of the spaceborne SAR imaging processing method in the prior art;
[0044] Figure 4 is the second schematic flowchart of the spaceborne SAR imaging processing method based on an embedded GPU provided by the present invention;
[0045] Figure 5 is the schematic flowchart of the first phase multiplication correction data construction method provided by the present invention;
[0046] Figure 6 is the schematic flowchart of the second phase multiplication correction data construction method provided by the present invention;
[0047] Figure 7 is the schematic flowchart of the third phase multiplication correction data construction method provided by the present invention;
[0048] Figure 8 It is a schematic flow diagram of the multiplication operation of the data matrix provided by the present invention;
[0049] Figure 9 It is a schematic flow diagram of the transpose optimization process of the data matrix provided by the present invention;
[0050] Figure 10 It is a schematic diagram of the running time of the parallel SAR imaging processing algorithm provided by the present invention;
[0051] Figure 11 It is a schematic diagram of the structure of the embedded GPU provided by the present invention;
[0052] Figure 12 It is a schematic diagram of the structure of the electronic device provided by the present invention. Detailed implementation manners
[0053] To make the objectives, technical solutions and advantages of the present invention clearer, the technical solutions in the present invention will be clearly and completely described below with reference to the accompanying drawings in the present invention. Obviously, the described embodiments are some but not all of the embodiments of the present invention. All other embodiments obtained by those of ordinary skill in the art based on the embodiments in the present invention without making creative efforts shall fall within the protection scope of the present invention.
[0054] It should be noted that in the description of the embodiments of the present invention, the terms "include", "comprise" or any other variant thereof are intended to cover a non-exclusive inclusion, such that a process, method, article or device including a series of elements includes not only those elements but also other elements not expressly listed, or further elements inherent to such process, method, article or device. Without further limitation, an element defined by the phrase "including a..." does not exclude the existence of additional identical elements in the process, method, article or device including the element. The orientation or positional relationship indicated by terms such as "upper", "lower", etc. is based on the orientation or positional relationship shown in the accompanying drawings, and is only for the convenience of describing the present invention and simplifying the description, rather than indicating or implying that the device or element referred to must have a specific orientation, be constructed and operated in a specific orientation, and thus should not be construed as a limitation of the present invention. Unless otherwise clearly specified and limited, the terms "mounted", "connected" and "coupled" should be understood in a broad sense. For example, it may be a fixed connection, a detachable connection, or an integral connection; it may be a mechanical connection or an electrical connection; it may be directly connected or indirectly connected through an intermediate medium, and it may be the internal communication of two elements. For those of ordinary skill in the art, the specific meanings of the above terms in the present invention can be understood according to specific circumstances.
[0055] Due to the large computational load and high algorithm complexity of spaceborne SAR imaging algorithms, the use of ordinary CPUs or field programmable gate arrays (FPGAs) cannot meet the requirements of real-time processing. The mature application of GPU ground imaging for spaceborne SAR imaging algorithms provides the possibility for on-orbit SAR real-time imaging processing based on embedded systems. The combination of embedded GPUs and spaceborne SAR imaging algorithms can well solve the problem of real-time processing.
[0056] Traditional ground GPUs have high power consumption and require a powerful cooling system. Compared with traditional plug-in GPUs, embedded GPUs have the advantages of low power consumption, small size, complete interfaces, and easy embedded expansion. However, their disadvantages are mainly reflected in relatively poor processing performance and insufficient memory space.
[0057] The present invention provides an efficient GPU real-time imaging method, which improves and optimizes certain steps in the existing embedded GPU spaceborne SAR imaging processing method, and improves the processing speed of the SAR imaging algorithm.
[0058] The following Figures 1 to 12 describes the spaceborne SAR imaging processing method and device based on an embedded GPU provided by the embodiments of the present invention.
[0059] Figure 1 is one of the schematic flowcharts of the spaceborne SAR imaging processing method based on an embedded GPU provided by the present invention. As Figure 1 shown, the execution subject can be an embedded GPU or a device with GPU processing capabilities. The method includes but is not limited to the following steps:
[0060] First, in step S1, the GPU reads the original echo data of the synthetic aperture radar (SAR) from the pinned memory of the central processing unit (CPU).
[0061] Among them, the zero-copy technology is adopted to allocate pinned memory on the CPU and map the pinned memory to the GPU memory space. At this time, the CPU pointer and the GPU pointer can access the same memory simultaneously, so that the data stored in the CPU does not need to be copied to the GPU, but the GPU kernel directly accesses the CPU memory through mapping, saving the time of data copying and improving the processing speed.
[0062] Among them, the original echo data can be the echo data after filtering and denoising the signals collected by the SAR system.
[0063] Read the original echo data into the CPU pinned memory, which can be directly mapped to the GPU memory space. The original echo data is represented as a one-dimensional vector array of length Na and stored in the pinned memory in a matrix manner. Figure 2 It is a schematic structural diagram of the original echo data storage matrix provided by the present invention, as Figure 2 shown. The total SAR original echo data consists of Nr vectors of length Na. The azimuth direction includes 0 to Na - 1, and the range direction includes 0 to Nr - 1, facilitating subsequent processing of the azimuth and range directions.
[0064] Furthermore, in step S2, the GPU determines the phase multiplication correction data based on the working parameters of the SAR.
[0065] Among them, the CPU sets the working mode of the SAR to the strip working mode. The working parameters of the SAR include: the number of azimuth sampling points Na of the SAR, the number of range sampling points Nr of the SAR, the range sampling rate Fr of the SAR, the linear chirp rate Kr of the SAR transmitted signal, the pulse width Tr of the SAR transmitted signal, and the carrier frequency Fc of the SAR transmitted signal.
[0066] In addition, the working parameters of the SAR also include: the squint angle θ of the SAR r , the equivalent velocity Vr of the SAR platform, the slant range R0 when the center line of the SAR beam sweeps over the target, the azimuth Doppler center f dc , the azimuth sampling frequency Fa of the SAR, and the speed of light c, etc.
[0067] In the CPU, allocate the number of parallel threads and the number of parallel blocks in the GPU when performing azimuth data calculation, the number of parallel threads and the number of parallel blocks in the GPU when performing range data calculation, and the number of parallel threads and the number of parallel blocks in the GPU when performing total SAR data calculation. The number of threads and thread blocks is set according to the size of the data volume and the number of GPU cores.
[0068] It is also possible to construct the CS imaging parameters of the SAR imaging chirp scaling (CS) algorithm in the GPU using the working parameters of the SAR. The CS imaging parameters are used to determine the size and quality of the generated image, etc., and are inherent parameters. Changing the imaging quality and size, etc., can be achieved by modifying the imaging parameters. The CS imaging parameters include: the range time vector tr, the azimuth time vector ta, the range frequency vector fr, the azimuth frequency vector fa, the vector R composed of the slant ranges corresponding to each range cell, the migration factor Ct, etc.
[0069] Specifically, three phase multiplication correction data are constructed using the working parameters of the SAR according to different phases of data compensation.
[0070] Further, in step S3, the GPU corrects the original echo data according to the phase multiplication correction data to obtain image information corresponding to the original echo data.
[0071] Based on the CS imaging parameters, three-phase multiplication correction data is used to perform three compensation correction multiplications on the phase compensated for the original echo data, and the intermediate value is transposed and transformed in the signal domain to generate image information corresponding to the original echo data.
[0072] The spaceborne SAR imaging processing method based on an embedded GPU provided by the present invention, under the CPU and embedded GPU architectures, the GPU kernel directly reads the original echo data stored by the CPU in the pinned memory and corrects the original echo data to implement real-time imaging processing of spaceborne SAR, saving the time of data copying and effectively improving the speed and efficiency of SAR imaging processing.
[0073] Figure 3 It is a schematic flow diagram of the spaceborne SAR imaging processing method of the prior art. As Figure 3 shown, first, both the original echo information and the imaging parameters constructed by the CPU are stored in the memory of the CPU; further, data such as the imaging parameters and the original echo information are copied from the CPU memory to the GPU memory. After performing a fast Fourier transform (FFT) on the azimuth of the original echo information in the GPU, it is multiplied by the first constructed phase multiplication data for the first time. Then, after transposing the result of the first multiplication and performing an FFT in the range direction, it is multiplied by the second constructed phase multiplication data for the second time; further, after performing an inverse fast Fourier transform (IFFT) in the range direction and transposing the matrix on the result of the second multiplication, it is multiplied by the third constructed phase multiplication data for the third time. Then, after performing an IFFT in the azimuth direction on the result of the third multiplication, the processing result is obtained; according to the data such as the processing result copied from the CPU to the GPU memory, the final SAR image is obtained.
[0074] The spaceborne SAR imaging processing method of the prior art utilizes the multi-threaded processing ability of the GPU and can import the original echo data into the GPU for SAR imaging acceleration processing. However, it takes data copying time to copy the data from the CPU memory to the GPU video memory, reducing the processing speed and increasing the data processing time; moreover, the floating-point calculation amount of constructing three-phase multiplication data in the SAR imaging algorithm is large, and the transpose operation accesses the global memory, resulting in slow data reading time.
[0075] Therefore, the existing technology does not achieve a very fast speed in the overall SAR imaging processing. To achieve real-time processing, multiple embedded GPUs must be used for joint processing. However, multiple embedded GPU development boards not only increase the cost but also increase the weight of the SAR real-time imaging processing system.
[0076] Figure 4 It is the second flow schematic diagram of the spaceborne SAR imaging processing method based on an embedded GPU provided by the present invention. As Figure 4 shown, the original echo data, the CPU radar working parameters, and the imaging parameters constructed by the GPU are all stored in the pinned memory that can be commonly accessed by the CPU and the GPU.
[0077] Further, after performing azimuth FFT on the original echo information, it is first multiplied with the first phase multiplication correction data constructed by using the first phase multiplication Na and Nr direction data A and B, and the other phase multiplication data of the first phase multiplication, to implement the CS operation in the complementary distance migration correction and obtain the first correction data.
[0078] Further, after performing an improved matrix transpose and range FFT on the first correction data, it is second multiplied with the second phase multiplication correction data constructed by using 2 second phase multiplication Na direction data E and F, and the other phase multiplication data of the second phase multiplication, to simultaneously complete range compression, second range compression, and consistent distance migration correction and obtain the second correction data.
[0079] Further, after performing range IFFT and an improved matrix transpose on the second correction data, it is third multiplied with the third phase multiplication correction data constructed by using 2 third phase multiplication Na direction data G and H, 1 third phase multiplication Nr direction data I, and the other phase multiplication data of the third phase multiplication, to implement azimuth compression and phase correction and obtain the third correction data.
[0080] Further, perform azimuth IFFT on the third correction data to obtain the image information corresponding to the original echo data of the SAR.
[0081] In addition, the above three-phase multiplication correction data, which is constructed by using the data along the Na direction and the Nr direction respectively, is also applicable to multiple application scenarios with the requirement of reducing the amount of floating-point operation data.
[0082] According to the spaceborne SAR imaging processing method based on an embedded GPU provided by the present invention, through the improvement of the imaging processing process, it achieves the same processing speed as using multiple GPUs, or achieves the same processing speed as a GPU with stronger processing performance, reduces the number of embedded GPUs used, thereby reducing the cost and weight of the SAR real-time imaging processing system.
[0083] Optionally, determining the phase multiplication correction data based on the SAR-based working parameters includes:
[0084] Performing azimuth merging and / or range merging on the mergeable parameters in the working parameters to obtain phase multiplication data;
[0085] Using the phase multiplication data and the non-mergeable parameters in the working parameters to obtain the phase multiplication correction data.
[0086] The phase multiplication correction data includes: first phase multiplication correction data, second phase multiplication correction data, and third phase multiplication correction data. Correcting the original echo data according to the phase multiplication correction data to obtain image information corresponding to the original echo data includes:
[0087] Converting the original echo data to the range-Doppler domain through azimuth fast Fourier transform to obtain first Doppler data;
[0088] Using parallel threads and parallel blocks to multiply the first Doppler data by the first phase multiplication correction data to obtain first correction data;
[0089] Storing the first correction data in the shared memory and reading the first transposed data in the shared memory; the first transposed data is obtained by performing matrix transposition on the first correction data in the shared memory;
[0090] Converting the first transposed data to the two-dimensional frequency domain through range fast Fourier transform to obtain first frequency domain data;
[0091] Using the parallel threads and the parallel blocks to multiply the first frequency domain data by the second phase multiplication correction data to obtain second correction data;
[0092] Converting the second correction data to the range-Doppler domain through inverse range fast Fourier transform to obtain second Doppler data;
[0093] Storing the second Doppler data in the shared memory and reading the second transposed data in the shared memory; the second transposed data is obtained by performing matrix transposition on the second Doppler data in the shared memory;
[0094] Using the parallel threads and the parallel blocks to multiply the second transposed data by the third phase multiplication correction data to obtain third correction data;
[0095] Converting the third correction data to the two-dimensional time domain through inverse azimuth fast Fourier transform to obtain the image information.
[0096] Optionally, the phase multiplication data includes: azimuth merging data and / or range merging data;
[0097] Performing azimuth merging and / or range merging on the mergeable parameters in the working parameters to obtain phase multiplication data includes:
[0098] Performing azimuth merging on the mergeable parameters to obtain azimuth merging data; and / or,
[0099] Performing range merging on the mergeable parameters to obtain range merging data.
[0100] In Figure 4 , A, E, F, G, H are all azimuth merging data, and B, I are all range merging data.
[0101] Optionally, using the phase multiplication data and the non-mergeable parameters in the working parameters to obtain the phase multiplication correction data includes:
[0102] Multiplying the azimuth merging data and / or the range merging data, and the non-mergeable parameters to generate the phase multiplication correction data.
[0103] Among them, the mergeable parameters are the parameters in the working parameters that can be merged into azimuth and / or range, and the non-mergeable parameters are the parameters in the working parameters that cannot be merged into azimuth or range. The azimuth merging data can be Na-direction merging data, and the range merging data can be Nr-direction merging data.
[0104] Figure 5 is a flowchart of the first method for constructing phase multiplication correction data provided by the present invention. As Figure 5 shown, in the GPU, according to the working parameters and the phase of the first data compensation, the Na-direction mergeable data in the first phase multiplication data is merged into vector A, then the Nr-direction mergeable data in the first phase multiplication is merged into vector B, and vector A, vector B, and the remaining other phase multiplication data are multiplied to obtain the first phase multiplication correction data. By constructing the phase multiplication correction data in advance, the calculation times of repeatedly constructing vector A and vector B can be effectively reduced. Among them, the other phase multiplication data is part of the non-mergeable parameters.
[0105] Figure 6 is a flowchart of the second method for constructing phase multiplication correction data provided by the present invention. As Figure 6As shown, in the GPU, according to the working parameters and the phase of the second data compensation, the combinable data of the Na-direction part in the second phase multiplication data is combined into vector E, and then the combinable data of the remaining part of the Na-direction in the second phase multiplication data is combined into vector F. The vectors E, F, and the remaining phase multiplication data are multiplied to obtain the second phase multiplication correction data. By constructing the phase multiplication correction data in advance, the calculation times of repeatedly constructing vectors E and F are reduced.
[0106] Figure 7 is a schematic flowchart of the method for constructing the third phase multiplication correction data provided by the present invention. As Figure 7 shown, in the GPU, according to the working parameters and the phase of the third data compensation, the combinable data of the Na-direction part in the third phase multiplication data is combined into vector G, and the combinable data of the remaining part of the Na-direction in the third phase multiplication data is combined into vector H. Then, the combinable data of the Nr-direction in the third phase multiplication data is combined into vector I, which can effectively reduce the calculation times of repeatedly constructing vectors G, H, and I. The vectors G, H, I, and the remaining phase multiplication data are multiplied to obtain the third phase multiplication correction data.
[0107] By multiplying the second transposed data with the third phase multiplication correction data, azimuth compression and phase correction are realized to generate the third correction data.
[0108] In the GPU, azimuthal IFFT is performed on the third correction data, and the data is transformed back to the two-dimensional time domain to form the image information corresponding to the original echo data of the SAR.
[0109] Figure 8 is a schematic flowchart of the multiplication operation of the data matrix provided by the present invention. As Figure 8 shown, in the grid (Grid0), there are 6 thread blocks (Block), such as Block(0,0), Block(1,0), Block(2,0), Block(0,1), Block(1,1), and Block(2,1). Among them, in the thread block Block(1,1), there are n threads (Thread). In the nth thread Thread n, the nth data in vector H(x) and the nth data in vector S(x) are multiplied to obtain the nth data in vector Y(x).
[0110] Multiply the first frequency domain data with the first phase multiplication correction data to generate the data after the first phase multiplication correction; multiply the first frequency domain data with the second phase multiplication correction data to generate the second correction data; and multiply the second transposed data with the third phase multiplication correction data to realize azimuth compression and phase correction to generate the third correction data.
[0111] According to the spaceborne SAR imaging processing method based on an embedded GPU provided by the present invention, the construction of imaging parameters and phase multiplication correction data is completed in parallel in the GPU, and the construction of the phase multiplication correction data is optimized. The data along the Na direction and the Nr direction in the three-phase multiplication correction data are respectively constructed and saved in the GPU, and then floating-point operations are performed, reducing the number of floating-point operations in a single thread, thereby further improving the data processing speed.
[0112] Figure 9 It is a schematic flow diagram of the optimized processing of data matrix transposition provided by the present invention. As Figure 9 shown, for example, when performing a matrix transposition operation on the first corrected data, in the grid (Grid0), the data matrix C of the first corrected data is divided into multiple thread blocks (Block), such as Block(0,0), Block(1,0), Block(2,0),.... Take the sub-matrix data of Block(0,0) in matrix C and store it row by row in the shared memory of the GPU. Then, take the data column by column from the GPU shared memory and put it into the corresponding sub-matrix position of matrix D to complete the matrix transposition operation. Since there is no calculation content in the transposition process, only the transfer of data positions, the time taken for the matrix transposition process mainly depends on the reading speed. The pinned memory has the characteristics of large space and slow data reading speed. If the transposition is performed in the pinned memory, the real-time imaging speed will become relatively slow; although the shared memory has a small memory, the data reading speed is very fast. Therefore, using the shared memory for matrix transposition can effectively shorten the time taken for the entire imaging process.
[0113] According to the spaceborne SAR imaging processing method based on an embedded GPU provided by the present invention, the transposition operation of data is optimized. The GPU shared memory is used to reduce the time for the GPU thread to read data and improve the data transposition speed. And the SAR image data uses float-type data, but in order to ensure the image accuracy, the phase correction data construction part uses double-type data, which improves the processing speed compared with using double-type data as a whole.
[0114] Figure 10 It is a schematic diagram of the running time of the parallel SAR imaging processing algorithm provided by the present invention. As Figure 10 shown, the abscissa is the data volume, that is, the azimuth direction Na multiplied by the range direction Nr; the ordinate is the running time, with the unit of seconds (s). In the simulation experiment, GF3 satellite data is used as the original echo data, and the SAR original echo data with different data volumes is run on Jetson AGX Xavier using the Figure 3 imaging processing method before improvement as shown, and the Figure 4 improved imaging processing method as shown, and the running time is recorded.
[0115] When the data volume is 8192×8192, the SAR imaging processing took about 3 seconds before improvement and about 1 second after improvement, greatly improving the speed of SAR imaging processing. Moreover, the amplitude and phase accuracy of the imaging results are very high, with a good focusing effect.
[0116] Among them, Jetson AGX Xavier is an embedded GPU in the Jetson series, with a relatively large number of cores and strong floating-point computing capabilities.
[0117] The present invention provides an on-board SAR imaging processing device based on an embedded GPU, including an embedded graphics processing unit GPU.
[0118] Figure 11 It is a schematic structural diagram of the embedded GPU provided by the present invention, as Figure 11 shown, including:
[0119] A reading module 1101, configured to read the original echo data of a synthetic aperture radar SAR from the pinned memory of a central processing unit CPU;
[0120] A determination module 1102, configured to determine phase multiplication correction data based on the working parameters of the SAR;
[0121] A correction module 1103, configured to correct the original echo data according to the phase multiplication correction data to obtain image information corresponding to the original echo data.
[0122] First, the reading module 1101 reads the original echo data of the synthetic aperture radar SAR from the pinned memory of the central processing unit CPU.
[0123] Among them, the zero-copy technology is adopted to allocate pinned memory on the CPU and map the pinned memory to the GPU memory space. At this time, the CPU pointer and the GPU pointer can access the same memory simultaneously, so that the data stored in the CPU does not need to be copied to the GPU, but the GPU kernel directly accesses the CPU memory through mapping, saving the time of data copying and improving the processing speed.
[0124] Among them, the original echo data can be the echo data obtained by filtering and denoising the signals usually recorded by the SAR system.
[0125] After reading the original echo data into the CPU pinned memory, it can be directly mapped to the GPU memory space. The original echo data is represented as a one-dimensional vector array with a length of Na and is stored in the pinned memory in a matrix manner, as Figure 2As shown, the total SAR raw echo data consists of vectors of length Na with Nr elements, facilitating subsequent azimuth and range processing.
[0126] Furthermore, the determination module 1102 determines phase multiplication correction data based on the operating parameters of the SAR.
[0127] Among them, the CPU sets the operating mode of the SAR to the strip mode. The operating parameters of the SAR include: the number of azimuth samples Na of the SAR, the number of range samples Nr of the SAR, the range sampling rate Fr of the SAR, the linear chirp rate Kr of the SAR transmitted data, the pulse width Tr of the SAR transmitted data, and the carrier frequency Fc of the SAR transmitted data.
[0128] In addition, the operating parameters of the SAR may also include: the squint angle θ of the SAR r , the equivalent velocity Vr of the SAR platform, the slant range R0 when the center line of the SAR beam sweeps over the target, the azimuth Doppler center f dc , the azimuth sampling frequency Fa of the SAR, and the speed of light c, etc.
[0129] In the CPU, the number of parallel threads and the number of parallel blocks in the GPU are allocated for azimuth data calculation, the number of parallel threads and the number of parallel blocks in the GPU are allocated for range data calculation, and the number of parallel threads and the number of parallel blocks in the GPU are allocated for total SAR data calculation. The number of threads and thread blocks is set according to the size of the data volume and the number of GPU cores.
[0130] It is also possible to construct CS imaging parameters of the SAR imaging CS algorithm in the GPU using the operating parameters of the SAR. The CS imaging parameters are used to determine the size and quality of the generated image, etc., and are inherent parameters. Changing the imaging quality and size, etc., can be achieved by modifying the imaging parameters. The CS imaging parameters include: the range time vector tr, the azimuth time vector ta, the range frequency vector fr, the azimuth frequency vector fa, the vector R composed of the slant ranges corresponding to each range cell, the migration factor Ct, etc.
[0131] Specifically, three phase multiplication correction data are constructed using the operating parameters of the SAR according to different phases of data compensation.
[0132] Furthermore, the correction module 1103 corrects the raw echo data according to the phase multiplication correction data to obtain image information corresponding to the raw echo data.
[0133] Based on the CS imaging parameters, the phase of the raw echo data is compensated and corrected three times by multiplying with three phase multiplication correction data, and the intermediate value is transposed and transformed in the data domain to generate image information corresponding to the raw echo data.
[0134] The spaceborne SAR imaging processing device based on an embedded GPU provided by the present invention, under the CPU and embedded GPU architecture, the GPU kernel directly reads the original echo data stored by the CPU in the pinned memory and corrects the original echo data, so as to realize real-time imaging processing of spaceborne SAR, saving the time of data copying and effectively improving the speed and efficiency of SAR imaging processing.
[0135] Optionally, the spaceborne SAR imaging processing device based on an embedded GPU further includes a CPU;
[0136] The CPU is used to set the working parameters and store the original echo data into the pinned memory.
[0137] It should be noted that the spaceborne SAR imaging processing device based on an embedded GPU provided in the embodiments of the present invention can be implemented based on the spaceborne SAR imaging processing method described in any of the above embodiments when specifically executed, and this embodiment will not be elaborated here.
[0138] Figure 12 It is a schematic structural diagram of an electronic device provided by the present invention. As Figure 12 shown, the electronic device may include: a processor 1210, a communications interface 1220, a memory 1230, and a communication bus 1240. Among them, the processor 1210, the communications interface 1220, and the memory 1230 communicate with each other through the communication bus 1240. The processor 1210 can call the logical instructions in the memory 1230 to execute the spaceborne SAR imaging processing method based on an embedded GPU. The method includes: reading the original echo data of a synthetic aperture radar (SAR) from the pinned memory of a central processing unit (CPU); determining phase multiplication correction data based on the working parameters of the SAR; and correcting the original echo data according to the phase multiplication correction data to obtain image information corresponding to the original echo data.
[0139] In addition, when the logic instructions in the above-mentioned memory 1230 are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on such an understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in various embodiments of the present invention. The aforementioned storage medium includes: various media that can store program codes, such as USB flash drives, mobile hard disks, read-only memories (ROM), random access memories (RAM), magnetic disks, or optical discs.
[0140] On the other hand, the present invention also provides a computer program product. The computer program product includes a computer program stored on a non-transitory computer-readable storage medium. The computer program includes program instructions. When the program instructions are executed by a computer, the computer can execute the spaceborne SAR imaging processing method based on an embedded GPU provided by the above-mentioned various methods. The method includes: reading the original echo data of the synthetic aperture radar (SAR) from the pinned memory of the central processing unit (CPU); determining the phase multiplication correction data based on the working parameters of the SAR; and correcting the original echo data according to the phase multiplication correction data to obtain the image information corresponding to the original echo data.
[0141] In another aspect, the present invention also provides a non-transitory computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, it is implemented to execute the spaceborne SAR imaging processing method based on an embedded GPU provided by the above-mentioned various embodiments. The method includes: reading the original echo data of the synthetic aperture radar (SAR) from the pinned memory of the central processing unit (CPU); determining the phase multiplication correction data based on the working parameters of the SAR; and correcting the original echo data according to the phase multiplication correction data to obtain the image information corresponding to the original echo data.
[0142] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed to multiple network units. Some or all of the modules can be selected according to actual needs to achieve the purpose of the solution of this embodiment. A person of ordinary skill in the art can understand and implement it without creative efforts.
[0143] Through the description of the above embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by means of software plus a necessary general hardware platform, and of course, it can also be implemented by hardware. Based on such an understanding, the essence of the above technical solution or the part that contributes to the prior art can be embodied in the form of a software product. This computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., and includes several instructions for causing a computer device (which can be a personal computer, server, or network device, etc.) to execute the methods described in each embodiment or some parts of the embodiments.
[0144] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention and are not intended to limit them. Although the present invention has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that they can still modify the technical solutions described in the foregoing embodiments or perform equivalent replacements for some of the technical features. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention.
Claims
1. A spaceborne SAR imaging processing method based on an embedded GPU, characterized in that, including: reading raw echo data of a synthetic aperture radar (SAR) from the locked-page memory of a central processing unit (CPU); determining phase multiplication correction data based on the working parameters of the SAR; correcting the raw echo data according to the phase multiplication correction data to obtain image information corresponding to the raw echo data; the determining the phase multiplication correction data based on the working parameters of the SAR includes: performing azimuth merging and / or range merging on the mergeable parameters in the working parameters to obtain phase multiplication data; using the phase multiplication data and the non-mergeable parameters in the working parameters to obtain the phase multiplication correction data.
2. The spaceborne SAR imaging processing method based on an embedded GPU according to claim 1, wherein The phase multiplication correction data includes: first phase multiplication correction data, second phase multiplication correction data, and third phase multiplication correction data; the correcting the raw echo data according to the phase multiplication correction data to obtain image information corresponding to the raw echo data includes: converting the raw echo data to the range-Doppler domain through azimuth fast Fourier transform to obtain first Doppler data; using parallel threads and parallel blocks to multiply the first Doppler data by the first phase multiplication correction data to obtain first correction data; storing the first correction data in shared memory and reading first transposed data in the shared memory; the first transposed data is obtained by performing matrix transposition on the first correction data in the shared memory; converting the first transposed data to the two-dimensional frequency domain through range fast Fourier transform to obtain first frequency domain data; using the parallel threads and the parallel blocks to multiply the first frequency domain data by the second phase multiplication correction data to obtain second correction data; converting the second correction data to the range-Doppler domain through inverse range fast Fourier transform to obtain second Doppler data; storing the second Doppler data in the shared memory and reading second transposed data in the shared memory; the second transposed data is obtained by performing matrix transposition on the second Doppler data in the shared memory; using the parallel threads and the parallel blocks to multiply the second transposed data by the third phase multiplication correction data to obtain third correction data; converting the third correction data to the two-dimensional time domain through inverse azimuth fast Fourier transform to obtain the image information.
3. The spaceborne SAR imaging processing method based on an embedded GPU according to claim 1, characterized in that, The phase multiplication data includes: azimuth merging data and / or range merging data; the performing azimuth merging and / or range merging on the mergeable parameters in the working parameters to obtain phase multiplication data includes: performing azimuth merging on the mergeable parameters to obtain the azimuth merging data; and / or, performing range merging on the mergeable parameters to obtain the range merging data.
4. The spaceborne SAR imaging processing method based on an embedded GPU according to claim 3, wherein, the using the phase multiplication data and the non-mergeable parameters in the working parameters to obtain the phase multiplication correction data includes: multiplying the azimuth merging data and / or the range merging data, and the non-mergeable parameters to generate the phase multiplication correction data.
5. An on-orbit SAR imaging processing device based on an embedded GPU, characterized in that including an embedded graphics processing unit (GPU), the GPU comprising: a reading module configured to read the original echo data of a synthetic aperture radar (SAR) from the locked-page memory of a central processing unit (CPU); a determining module configured to determine phase multiplication correction data based on the working parameters of the SAR; the determining the phase multiplication correction data based on the working parameters of the SAR includes: performing azimuth merging and / or range merging on the mergeable parameters in the working parameters to obtain phase multiplication data; and using the phase multiplication data and the non-mergeable parameters in the working parameters to obtain the phase multiplication correction data; a correction module configured to correct the original echo data according to the phase multiplication correction data to obtain image information corresponding to the original echo data.
6. The on-board SAR imaging processing device based on an embedded GPU according to claim 5, characterized in that further including the CPU; the CPU is configured to set the working parameters and store the original echo data into the locked-page memory.
7. An electronic device, comprising a memory, a processor, and a computer program stored on the memory and executable on the processor, characterized in that, When the processor executes the computer program, the steps of the spaceborne SAR imaging processing method based on an embedded GPU as described in any one of claims 1 to 4 are implemented.
8. A non-transitory computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, the steps of the spaceborne SAR imaging processing method based on an embedded GPU as described in any one of claims 1 to 4 are implemented.
9. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, the steps of the spaceborne SAR imaging processing method based on an embedded GPU as described in any one of claims 1 to 4 are implemented.
Citation Information
Patent Citations
Monolithic FPGA (field programmable gate array) based Chirp Scaling imaging method
CN104215962A