A method and system for imaging SAR echo data based on embedded GPU

CN122525561APending Publication Date: 2026-08-07NANCHANG UNIV
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
NANCHANG UNIV
Filing Date
2026-07-09
Publication Date
2026-08-07

AI Technical Summary

Technical Problem

[0007]有鉴于此,本发明的目的在于提供一种基于嵌入式GPU的SAR回波数据的成像方法及系统,旨在解决现有技术中实测SAR回波数据在嵌入式平台上进行时域快速成像时负载严重不均衡,GPU算力利用率极低的问题

Benefits of technology

[0019]本发明通过读取实测SAR回波数据,基于实测SAR回波数据进行GPU脉冲压缩得到距离压缩后的复数回波数据;对复数回波数据进行子孔径划分,构建GPU三维线程结构,将子孔径内方位脉冲索引、方位向成像单元索引和距离向成像单元索引映射至GPU三维线程结构中;每个GPU线程计算一个方位脉冲对一个成像单元的复数回波贡献,多个GPU线程并行完成计算同一子孔径内不同方位脉冲对成像单元的复数回波贡献;将复数回波贡献拆分为实部和虚部,并分别对复数回波数据反投影得到的输出子孔径图像中对应成像单元的实部数组和虚部数组执行原子加操作得到子孔径图像;对子孔径图像依次进行相位补偿、频域处理以及方位补零,后递归融合相邻子孔径图像得到全孔径SAR图像。通过采用以脉冲为中心的三维并行,最小计算单元拆分为单个脉冲对单个像素的贡献,同一像素下所有脉冲对应的计算任务会分配给大量独立线程并行执行,每个线程计算量一致,不存在线程任务轻重分化的情况,并且通过将复数拆分为实部和虚部分别执行原子加,以解决多线程同时写同一像素带来的数据竞争问题。解决了现有技术中实测SAR回波数据在嵌入式平台上进行时域快速成像时负载严重不均衡,GPU算力利用率极低的问题。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122525561A_ABST
    Figure CN122525561A_ABST
Patent Text Reader

Abstract

The application discloses a kind of based on embedded GPU's SAR echo data's imaging method and system, it is related to radar imaging technical field, the method includes: reading measured SAR echo, and generating distance compressed complex echo by GPU pulse compression;Subaperture division is executed to echo, and three-dimensional parallel thread mapping of GPU is built, and three-dimensional thread is corresponded to three-dimensional index of subaperture, azimuth pulse, imaging unit.Single thread only calculates the complex echo contribution of single pulse to single imaging unit, and the contribution solution of all pulses in the same subaperture is completed by multi-thread parallelism.Split contribution real and imaginary part, respectively accumulated to the corresponding array of subaperture image by atomic addition, to generate a single subaperture image.Fusion is carried out to each subaperture image, and complete full-aperture SAR image is output.The application solves the problem that measured SAR echo data in the prior art is seriously unbalanced in load when performing time-domain fast imaging on embedded platform, and GPU computing power utilization rate is extremely low.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of radar imaging technology, and in particular to an imaging method and system based on SAR echo data from an embedded GPU. Background Technology

[0002] Synthetic Aperture Radar (SAR) possesses all-weather, all-day imaging capabilities and is widely used in Earth observation, target reconnaissance, and scene awareness. Currently, mainstream SAR imaging algorithms are mainly divided into two categories: frequency domain imaging algorithms and time domain imaging algorithms. Frequency domain algorithms, including range-Doppler, Chirp Scaling, and ω-k algorithms, offer high overall computational efficiency. However, these algorithms have stringent requirements regarding the accuracy of the radar platform's trajectory, imaging geometry, and echo data uniformity. They also exhibit poor adaptability in oblique-view imaging, situations with errors in measured trajectories, and complex observation scenarios. In contrast, the time-domain back-projection imaging algorithm relies on the actual platform position and imaging geometry to complete coherent echo accumulation. It does not require strict trajectory regularization and data uniformity constraints, and possesses strong adaptability to complex scenes, oblique-view conditions, and errors in measured trajectories. Therefore, it is the core algorithm for high-precision SAR imaging in complex scenarios.

[0003] Traditional BP imaging algorithms are implemented based on a CPU serial architecture. For each ground imaging unit, the algorithm needs to traverse all azimuth pulse data and sequentially perform a series of high-precision calculations, including instantaneous slant range calculation, range interpolation, phase compensation, and complex coherent accumulation. This involves a large number of square root, complex exponential, and interpolation operations, resulting in extremely high computational complexity. As the imaging grid size, the number of range sampling points, and the number of azimuth pulses increase, the CPU serial processing time increases exponentially, making it completely unsuitable for the application requirements of embedded edge SAR real-time imaging.

[0004] To address the issues of high computational load and high imaging latency in the BP algorithm, existing technologies generally employ GPU parallel acceleration solutions. By using parallel computing frameworks such as CUDA and OpenCL, the core computational processes of fast Fourier transform, matrix operations, and BP back projection are migrated to the GPU for execution, effectively improving SAR imaging efficiency.

[0005] Existing research and technical solutions mainly focus on algorithm optimization for desktop and server-level high-performance GPUs. When facing resource-constrained embedded GPUs, there are still many unavoidable technical defects such as large computational load, insufficient real-time performance, and data contention that is easy to occur during multi-threaded parallel accumulation in fast temporal imaging.

[0006] In existing technologies, the conventional approach is to avoid data contention by adjusting the parallel strategy. For example, the invention patent entitled "A High-Efficiency BP Imaging Method and System for SAR Based on TSU-ICSI Combined with GPU" (publication number CN118169681A, publication date June 11, 2024) adopts a pixel-centered two-dimensional thread structure, with each thread responsible for accumulating all pulses of a pixel. However, with the pixel as the center, all pulses corresponding to a pixel are serially accumulated by a single thread. The thread corresponding to the pulse-dense pixel has a heavy computational task and is blocked for a long time, while the thread corresponding to the pulse-sparse pixel is idle after completing quickly. A large number of GPU computing cores are idle, and the overall imaging speed is slowed down by the pixel with the most pulses. The hardware computing power cannot be fully released, which ultimately causes a serious imbalance in load and extremely low GPU computing power utilization. Summary of the Invention

[0007] In view of this, the purpose of the present invention is to provide an imaging method and system for SAR echo data based on embedded GPU, which aims to solve the problem of severe load imbalance and extremely low GPU computing power utilization when performing time-domain rapid imaging of measured SAR echo data on embedded platforms in the prior art.

[0008] This invention proposes an imaging method for SAR echo data based on embedded GPUs, the method comprising: Read the measured SAR echo data, and perform GPU pulse compression based on the measured SAR echo data to obtain range-compressed complex echo data; The complex echo data is divided into sub-apertures, and a GPU three-dimensional thread structure is constructed. The azimuth pulse index, azimuth imaging unit index and range imaging unit index within the sub-aperture are mapped to the GPU three-dimensional thread structure. Each GPU thread calculates the complex echo contribution of an azimuth pulse to an imaging unit, and multiple GPU threads perform the calculation of the complex echo contribution of different azimuth pulses to the imaging unit within the same sub-aperture in parallel. The complex echo contribution is split into real and imaginary parts, and atomic addition operations are performed on the real and imaginary arrays of the corresponding imaging units in the output sub-aperture image obtained by back-projecting the complex echo data to obtain the sub-aperture image. After performing phase compensation, frequency domain processing, and azimuth zeroing on the sub-aperture images in sequence, the adjacent sub-aperture images are recursively fused to obtain the full-aperture SAR image.

[0009] Furthermore, in the above-mentioned imaging method based on embedded GPU SAR echo data, the step of calculating the complex echo contribution of an azimuth pulse to an imaging unit for each GPU thread includes: Each GPU thread reads the corresponding azimuth imaging coordinates, range imaging coordinates, and the platform azimuth position corresponding to the current azimuth pulse, and calculates the propagation distance from the current azimuth pulse to the imaging unit according to the instantaneous slant range relationship; When the instantaneous slope distance is within the set distance range, the distance-to-integer sampling index is determined based on the instantaneous slope distance, and the sinc interpolation kernel offset is determined; Based on the integer sampling index of the range and the offset of the sinc interpolation kernel, the interpolation coefficients are read from the preset sinc interpolation lookup table to obtain the complex echo values ​​at non-integer range sampling positions, and combined with the phase compensation factor to obtain the complex echo contribution of the current azimuth pulse to the imaging unit.

[0010] Furthermore, in the aforementioned imaging method for SAR echo data based on embedded GPUs, the step of reading interpolation coefficients from a preset sinc interpolation lookup table to obtain complex echo values ​​at non-integer distance sampling positions, and combining this with a phase compensation factor to obtain the complex echo contribution of the current azimuth pulse to the imaging unit includes: The interpolation coefficients are read from the preset sinc interpolation lookup table, and the complex echoes of adjacent distance cells in the range echo matrix that have been zero-padded and expanded are weighted and summed to obtain the complex echo values ​​at non-integer distance sampling positions. Based on the complex echo values ​​at non-integer distance sampling positions, the complex echo contribution of the current azimuth pulse to the imaging unit is calculated according to the phase compensation factor.

[0011] Furthermore, in the above imaging method for SAR echo data based on embedded GPUs, the expression for the complex echo value is: ; The expression for the contribution of the current forward pulse to the complex echo of the imaging unit is: ; in, The length of the sinc interpolation kernel. sinc is the interpolation coefficient. For azimuth index, To sum the index, , This is the instantaneous slant distance. For distance-oriented integer sampling index, For radar wavelength, The imaginary unit, For distance coordinates, These are the original discrete complex echo sample values.

[0012] Furthermore, in the above-mentioned imaging method for SAR echo data based on embedded GPUs, the thread index of the GPU's three-dimensional thread structure satisfies:

[0013] in, Indicates the azimuth imaging unit index. Indicates the range-oriented imaging unit index. Indicates the orientation pulse index within the sub-aperture; for The current thread block number is in the direction. for The current thread block number is in the direction. for The current thread block number is in the direction. These represent the total number of threads across the three dimensions. This is the local index number of the thread within the current thread block.

[0014] Furthermore, in the above-mentioned imaging method based on embedded GPU SAR echo data, the step of reading measured SAR echo data and performing GPU pulse compression based on the measured SAR echo data to obtain range-compressed complex echo data includes: Read the measured SAR echo data in binary format and organize the measured SAR echo data into a two-dimensional complex matrix composed of range sampling points and azimuth pulse numbers; Check the available video memory of the embedded GPU, allocate unified memory or GPU global memory according to the data size, and prefetch the two-dimensional complex matrix to the GPU. Initialize radar system parameters, platform motion parameters, and range interception range; intercept the set range data according to the range interception range. Range-directed zero-filling is performed on a two-dimensional complex matrix to construct a time-domain linear frequency modulated reference signal. A range-directed matched filter is then generated through frequency domain transformation and conjugate processing. On the GPU, a batch fast Fourier transform is performed on the range data corresponding to all azimuth pulses, and then a dot product operation is performed with the matched filter. The results of the dot product operation are subjected to batch inverse fast Fourier transform, data normalization, and effective data truncation to obtain the distance-compressed complex echo data.

[0015] Furthermore, in the aforementioned imaging method for SAR echo data based on embedded GPUs, the step of sequentially performing phase compensation, frequency domain processing, and azimuth zero-padding on the sub-aperture images, and then recursively fusing adjacent sub-aperture images to obtain a full-aperture SAR image includes: The sub-aperture image is subjected to first phase compensation, and then the sub-aperture image after first phase compensation is subjected to range-directed fast Fourier transform and corresponding frequency domain shift, so that the sub-aperture image enters the range wavenumber domain and then the second phase compensation is performed. The sub-aperture image after second phase compensation is subjected to azimuth fast Fourier transform and corresponding frequency domain shift, so that the sub-aperture image enters the azimuth wavenumber domain. In the azimuth wavenumber domain, the sub-aperture image is center-aligned and azimuth zero-filled, so that the number of azimuth sampling points is expanded to twice the original number. After completing the azimuth zero-filling, the sub-aperture image is subjected to azimuth inverse fast Fourier transform and normalization, followed by second phase conjugate compensation, range inverse fast Fourier transform and normalization, and first phase conjugate compensation to obtain the azimuth sampled and encrypted sub-aperture image. The two adjacent sub-aperture images are added together to form a new sub-aperture image, until all sub-aperture images are fused into a single full-aperture SAR image.

[0016] Another object of the present invention is to provide an imaging system based on SAR echo data using an embedded GPU, the system comprising: The reading module is used to read measured SAR echo data and perform GPU pulse compression based on the measured SAR echo data to obtain range-compressed complex echo data. The module is used to divide complex echo data into sub-apertures, construct a GPU 3D thread structure, and map the sub-aperture azimuth pulse index, azimuth imaging unit index, and range imaging unit index to the GPU 3D thread structure. The calculation module is used for each GPU thread to calculate the complex echo contribution of an azimuth pulse to an imaging unit. Multiple GPU threads can perform the calculation of the complex echo contribution of different azimuth pulses to the imaging unit within the same sub-aperture in parallel. The accumulation module is used to split the complex echo contribution into real and imaginary parts, and perform atomic addition operations on the real and imaginary arrays of the corresponding imaging units in the output sub-aperture image obtained by back-projection of the complex echo data to obtain the sub-aperture image; The imaging module is used to sequentially perform phase compensation, frequency domain processing, and azimuth zeroing on the sub-aperture images, and then recursively fuse adjacent sub-aperture images to obtain a full-aperture SAR image.

[0017] Another object of the present invention is to provide a readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the method described above.

[0018] Another object of the present invention is to provide an electronic device including a memory, a processor, and a computer program stored in the memory and running on the processor, wherein the processor executes the program to implement the steps of the method described above.

[0019] This invention obtains range-compressed complex echo data by reading measured SAR echo data and performing GPU pulse compression based on the measured SAR echo data. The complex echo data is then divided into sub-apertures, and a GPU three-dimensional thread structure is constructed, mapping the azimuth pulse index, azimuth imaging unit index, and range imaging unit index within each sub-aperture to the GPU three-dimensional thread structure. Each GPU thread calculates the complex echo contribution of an azimuth pulse to an imaging unit, and multiple GPU threads perform parallel calculations of the complex echo contributions of different azimuth pulses to the imaging unit within the same sub-aperture. The complex echo contribution is split into real and imaginary parts, and atomic addition operations are performed on the real and imaginary part arrays of the corresponding imaging units in the output sub-aperture image obtained by back-projecting the complex echo data to obtain the sub-aperture image. The sub-aperture image is then sequentially subjected to phase compensation, frequency domain processing, and azimuth zero-padding, and then adjacent sub-aperture images are recursively fused to obtain a full-aperture SAR image. By employing pulse-centric 3D parallelism, the smallest computational unit is broken down into the contribution of a single pulse to a single pixel. The computational tasks corresponding to all pulses within the same pixel are distributed to a large number of independent threads for parallel execution. Each thread has the same computational load, eliminating the issue of varying thread workloads. Furthermore, by splitting complex numbers into real and imaginary parts and performing atomic addition separately, the data contention problem caused by multiple threads simultaneously writing to the same pixel is resolved. This addresses the problem of severely unbalanced load and extremely low GPU computing power utilization when performing rapid temporal imaging of measured SAR echo data on embedded platforms in existing technologies. Attached Figure Description

[0020] Figure 1 This is a flowchart of the imaging method based on SAR echo data using an embedded GPU in the first embodiment of the present invention; Figure 2 This is a schematic diagram of the CUDA thread hierarchy provided in an embodiment of the present invention; Figure 3 This is a schematic diagram of a CUDA memory access model provided in an embodiment of the present invention; Figure 4 This is a flowchart of GPU pulse compression processing provided in an embodiment of the present invention; Figure 5 This is a schematic diagram of GPU parallel temporal backprojection and complex atomic addition accumulation provided in an embodiment of the present invention; Figure 6 This is a flowchart of GPU parallel temporal fast imaging recursive fusion processing according to an embodiment of the present invention; Figure 7This invention provides a comparison of imaging results and imaging effect diagrams between a CPU serial method and an embedded GPU parallel method according to an embodiment of the present invention. Figure 8 This is a block diagram of the imaging system based on embedded GPU SAR echo data in the third embodiment of the present invention. The following detailed description, in conjunction with the accompanying drawings, will further illustrate the present invention. Detailed Implementation

[0021] To facilitate understanding of the present invention, a more complete description will be given below with reference to the accompanying drawings. Several embodiments of the invention are illustrated in the drawings. However, the invention can be implemented in many different forms and is not limited to the embodiments described herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete.

[0022] It should be noted that when a component is said to be "fixed to" another component, it can be directly on the other component or there may be an intervening component. When a component is said to be "connected to" another component, it can be directly connected to the other component or there may be an intervening component. The terms "vertical," "horizontal," "left," "right," and similar expressions used in this document are for illustrative purposes only.

[0023] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention pertains. The terminology used herein in the description of the invention is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. The term "and / or" as used herein includes any and all combinations of one or more of the associated listed items.

[0024] Example 1 Please see Figure 1 The figure shows an imaging method for SAR echo data based on an embedded GPU in the first embodiment of the present invention, the method including steps S10 to S14.

[0025] Step S10: Read the measured SAR echo data, and perform GPU pulse compression based on the measured SAR echo data to obtain range-compressed complex echo data.

[0026] Specifically: Read the measured SAR echo data in binary format and organize the measured SAR echo data into a two-dimensional complex matrix composed of range sampling points and azimuth pulse numbers; Check the available video memory of the embedded GPU, allocate unified memory or GPU global memory according to the data size, and prefetch the two-dimensional complex matrix to the GPU. Initialize radar system parameters, platform motion parameters, and range interception range; intercept the set range data according to the range interception range. This process involves reading raw, measured SAR echo data collected by the device, combining this data with the embedded GPU's hardware resource status to allocate memory resources appropriately, migrating echo data prefetching from the CPU to the GPU, globally initializing radar system parameters and platform motion parameters, and removing invalid range data according to imaging requirements. This achieves hardware resource adaptation and lightweight data processing before imaging, avoiding the problems of limited embedded GPU memory and high transmission overhead, and providing a stable data foundation and hardware support for subsequent full GPU parallel imaging.

[0027] For example, in this embodiment, a Jetson Orin NX 16GB embedded GPU computing board can be used as the imaging processing platform. First, the measured SAR echo data in binary format is read and organized into a two-dimensional complex matrix consisting of the number of range sampling points and the number of azimuth pulses.

[0028] The measured SAR echo data acquired in this invention is complex data in binary storage format. After directly reading the raw binary data stream, the data is structurally reorganized according to radar sampling rules, organizing it into a two-dimensional complex matrix consisting of the number of range sampling points and the number of azimuth pulses. The two dimensions of this two-dimensional matrix correspond to the number of range sampling points and the number of azimuth pulse samples, respectively, and each element in the matrix is ​​a complex value containing amplitude and phase information. Through structured matrix reconstruction, it can adapt to the addressing logic of GPU three-dimensional parallel threads, facilitating subsequent batch parallel computing and improving the continuity of GPU data access.

[0029] Secondly, before data computation, the embedded GPU memory detection interface is invoked to obtain the device's current available memory capacity, memory bandwidth, and resource usage status in real time. Based on the overall scale and matrix dimension of the echo data to be processed, an adaptive memory allocation method is selected: global GPU memory is allocated when the data size is small, while unified memory is allocated when the data size is large and memory resources are scarce, balancing data access speed and memory resource utilization. After memory allocation, the two-dimensional complex matrix echo data stored in CPU memory is pre-transmitted to the GPU memory in batches through the GPU data prefetching mechanism, reducing frequent data interaction between the CPU and GPU and lowering data transmission latency and bandwidth overhead.

[0030] Finally, parameter initialization and effective range data extraction are completed. All parameters involved in imaging calculations are globally initialized. Radar system parameters include sampling frequency, pulse width, signal bandwidth, carrier frequency, and pulse repetition frequency; platform motion parameters include platform velocity, oblique angle, and incident angle. The range extraction range is used to determine the effective range sampling interval for subsequent time-domain imaging processing. Based on the distance of the target imaging scene, a fixed range data extraction threshold and effective interval are set. Invalid range data at the beginning and end of the range segment are removed, retaining only the set range data containing target scene information. This reduces subsequent invalid calculations and further improves overall imaging efficiency.

[0031] Specifically, the measured SAR echo data is organized into a two-dimensional complex matrix to facilitate parallel processing on the GPU; unified memory or GPU global memory is used, and data prefetching is performed to reduce data transfer overhead between the CPU and GPU; and distance-oriented interception reduces invalid sampling points from participating in the calculation, thereby reducing the computational load of subsequent processing.

[0032] In practical implementation, to fully utilize the parallel computing capabilities of embedded GPUs, embodiments of the present invention employ the following... Figure 2 The diagram illustrates the CUDA thread hierarchy. The CPU, acting as the host, is responsible for program control, data transfer, and kernel function calls, while the GPU, acting as the device, is responsible for executing parallel computing tasks. After a kernel function starts, the device creates a thread grid consisting of multiple thread blocks. Each thread block contains multiple threads, and different threads execute their respective computational tasks.

[0033] like Figure 3 As shown, this embodiment of the invention also incorporates the CUDA memory model for data organization and access optimization. The measured echo matrix and intermediate imaging data are mainly stored in the GPU global memory, while read-only small-scale parameters such as the sinc interpolation index are stored in constant memory, and the range and azimuth imaging coordinates are stored in texture memory, which is accessed through texture objects, thereby reducing the overhead of repeated memory accesses and improving the execution efficiency of kernel functions.

[0034] More specifically, after obtaining the two-dimensional complex matrix, the two-dimensional complex matrix is ​​zero-filled in the range direction to construct a time-domain linear frequency modulated reference signal. Through frequency domain transformation and conjugate processing, a range-directed matched filter is generated. On the GPU, a batch fast Fourier transform is performed on the range data corresponding to all azimuth pulses, and then a dot product operation is performed with the matched filter. The results of the dot product operation are subjected to batch inverse fast Fourier transform, data normalization, and effective data truncation to obtain the distance-compressed complex echo data.

[0035] Please see Figure 4Pulse compression is used to improve range resolution and obtain range-compressed complex echo data suitable for subsequent fast temporal imaging processing. Compared with the traditional serial processing method, this invention maps the range pulse compression process of pulses in different azimuth directions to the GPU for parallel execution.

[0036] For example, in this embodiment, the pulse compression reference signal length is first determined based on the pulse width and sampling frequency, and the input echo matrix (two-dimensional complex matrix) is zero-padded to the range. Then, a linear frequency modulated reference signal is constructed. ; in, It is a time-domain linear frequency modulation reference signal. , For signal bandwidth, The pulse width. For linear frequency modulation slope, The imaginary unit, For distance to time.

[0037] Then, a fast Fourier transform is performed on the linear frequency modulation reference signal to complete the frequency domain conversion. The frequency domain signal is then subjected to complex conjugate processing to obtain a frequency domain matched filter. This filter can accurately match the phase and frequency characteristics of the echo signal and is the core reference for realizing range pulse compression.

[0038] Next, perform a batch fast Fourier transform on the range echo sequence of all azimuth pulses, multiply it point by point with the frequency domain matched filter, then perform inverse fast Fourier transform and normalization, and finally extract the middle effective part to obtain the pulse compressed complex echo data.

[0039] It should be noted that in the GPU implementation, pulse compression processing includes a zero-padding kernel function, a reference signal generation kernel function, a transpose kernel function, a Fast Fourier Transform (FFT) shift kernel function, a frequency domain multiplication kernel function, batch FFT / Inverse FFT processing, a normalization kernel function, and a valid result extraction kernel function. Zero-padding, frequency domain multiplication, normalization, and result extraction can all be performed in parallel using a two-dimensional threaded grid; the batch FFT / Inverse FFT performs range transformations on multiple azimuth pulses simultaneously, thereby improving the efficiency of pulse compression processing.

[0040] Step S11: Divide the complex echo data into sub-apertures, construct a GPU three-dimensional thread structure, and map the azimuth pulse index, azimuth imaging unit index, and range imaging unit index within the sub-apertures to the GPU three-dimensional thread structure.

[0041] After pulse compression is completed, temporal rapid imaging data preparation and sub-aperture initialization are performed to generate the basic data required for subsequent parallel back projection and recursive fusion.

[0042] First, an azimuth position sequence is generated in parallel on the GPU. Then, relative distance coordinates are generated based on the distance sampling interval, and distance coordinates are generated by combining the distance from the scene center. The distance coordinates are used to determine the distance position corresponding to the echo sampling during subsequent temporal backprojection.

[0043] The azimuth position sequence is as follows:

[0044] The distance sampling interval is:

[0045] The relative coordinates in the distance direction are:

[0046] The distance coordinates are:

[0047] in, This refers to the reference point for orientation. For time, For platform speed, The azimuth sampling point number is... The pulse repetition frequency; The number of sampling points in the distance direction. At the speed of light, Sampling frequency, The distance is the sampling point number. The reference slant distance at the center of the imaging scene. For the first The azimuth spatial coordinates of the radar platform corresponding to each azimuth pulse This represents the distance the platform travels within a single pulse interval.

[0048] Simultaneously, a sinc interpolation lookup table is generated based on the sinc interpolation kernel length and the number of subdivision points. This lookup table is generated on the GPU and used for echo interpolation at subsequent non-integer distance sampling locations. To improve access efficiency, the sinc interpolation index is stored in GPU constant memory.

[0049] Sub-aperture initialization is then performed, dividing the full aperture azimuth data of the complex echo data into multiple sub-apertures and calculating the center position of each sub-aperture. For each sub-aperture, the average value of the platform positions corresponding to each azimuth pulse within that sub-aperture is calculated to obtain the sub-aperture center position.

[0050] Furthermore, range and azimuth imaging coordinates are generated based on the oblique angle, wavenumber range, and resolution coefficient; a range echo matrix is ​​constructed and zero-padded to support neighborhood access during sinc interpolation; the range and wavenumber offsets are calculated, and sub-aperture image matrices and zero-padded sub-aperture image matrices are allocated; and the range and azimuth imaging coordinates are constructed into texture objects for storage in texture memory for efficient access by subsequent kernel functions.

[0051] Please see Figure 5 Traditional temporal backprojection processes require point-by-point calculation of all azimuth pulses and all imaging grid points, resulting in a large computational load. However, the calculations between different azimuth pulses and different imaging grid points are highly independent, making them suitable for GPU parallel acceleration. Therefore, this embodiment of the invention maps the azimuth pulse index, azimuth imaging unit index, and range imaging unit index within the sub-aperture to the GPU's three-dimensional thread structure.

[0052] The thread index of the GPU three-dimensional thread structure satisfies:

[0053] in, Indicates the azimuth imaging unit index. Indicates the range-oriented imaging unit index. Indicates the orientation pulse index within the sub-aperture; for The current thread block number is in the direction. for The current thread block number is in the direction. for The current thread block number is in the direction. These represent the total number of threads across the three dimensions. This is the local index number of the thread within the current thread block.

[0054] In practical implementation, the number of threads in each dimension of the 3D thread block is adaptively configured based on the number of stream multiprocessors, register file size, and shared memory capacity of the embedded GPU, ensuring that the total number of threads in each thread block is an integer multiple of the thread bundle size. The total number of azimuth pulses within the sub-aperture is set to an integer multiple of the number of threads in the Z dimension of the 3D thread block to guarantee the regularity of thread scheduling. The real and imaginary arrays of the output sub-aperture image are stored independently in separate contiguous memory spaces in the GPU's global memory.

[0055] In step S12, each GPU thread calculates the complex echo contribution of an azimuth pulse to an imaging unit, and multiple GPU threads perform the calculation of the complex echo contribution of different azimuth pulses to the imaging unit within the same sub-aperture in parallel.

[0056] This involved building a GPU 3D parallel computing architecture to achieve multi-dimensional threaded parallel computation and complete the core calculation of temporal BP back projection. During the computation, to address the data contention problem caused by multi-threaded parallel writing of the same pixel by the embedded GPU, complex echo contributions were obtained, and these contributions were decomposed and atomically added.

[0057] Specifically, each GPU thread reads the corresponding azimuth imaging coordinates, range imaging coordinates, and the platform azimuth position corresponding to the current azimuth pulse, and calculates the propagation distance from the current azimuth pulse to the imaging unit according to the instantaneous slant range relationship; When the instantaneous slope distance is within the set distance range, the distance-to-integer sampling index is determined based on the instantaneous slope distance, and the sinc interpolation kernel offset is determined; Based on the integer sampling index of the range and the offset of the sinc interpolation kernel, the interpolation coefficients are read from the preset sinc interpolation lookup table to obtain the complex echo values ​​at non-integer range sampling positions, and combined with the phase compensation factor to obtain the complex echo contribution of the current azimuth pulse to the imaging unit.

[0058] In this embodiment, each GPU thread reads the corresponding azimuth imaging coordinates, range imaging coordinates, and the platform azimuth position corresponding to the current azimuth pulse, and calculates the propagation distance from the current azimuth pulse to the imaging unit according to the instantaneous slant range relationship.

[0059] When the instantaneous slant range is within a set distance range, the thread determines the distance-oriented integer sampling index based on the instantaneous slant range and further determines the sinc interpolation kernel offset. The distance-oriented integer sampling index is determined by the instantaneous slant range, the starting distance value of the extended distance-oriented sampling sequence, and the adjacent distance-oriented sampling interval; the sinc interpolation kernel offset is determined by the difference between the instantaneous slant range and the corresponding distance sampling point, as well as the sinc interpolation subdivision step size.

[0060] Based on the range integer sampling index and the sinc interpolation kernel offset, the GPU thread reads the interpolation coefficients from the sinc interpolation lookup table, performs a weighted summation of the complex echoes of adjacent range cells in the zero-padded range echo matrix, and obtains the complex echo values ​​at non-integer range sampling positions. Subsequently, the thread calculates the complex echo contribution of the current azimuth pulse to the imaging cell based on the phase compensation term.

[0061] In addition, in some optional embodiments of the present invention, if the instantaneous slant range exceeds the set distance range or the azimuth exceeds the beam coverage range, the thread directly skips the subsequent interpolation calculation and atomic addition operation to reduce invalid calculations and atomic addition conflicts. For any imaging unit Under the g-th azimuth pulse, its instantaneous slant range is calculated as follows: ; Determine the distance-to-integer sampling index based on the instantaneous slant distance: ; Then determine the sinc interpolation kernel offset based on the subdivision interpolation step size: ; The interpolation coefficients are read from the sinc interpolation lookup table, and the echoes from adjacent distance cells are weighted and summed to obtain the complex echo value: ; The contribution of the current forward pulse to the complex echo of the imaging unit is: ; in, It is an oblique perspective. This represents the platform's azimuth position corresponding to the g-th azimuth pulse. To extend the initial distance value of the distance sampling sequence, The distance interval between adjacent sampling points; To extend the distance in the sampling sequence The distance value corresponding to each sampling point The number of subdivision points for the sinc interpolation; The length of the sinc interpolation kernel. sinc is the interpolation coefficient. For azimuth index, To sum the index, , This is the instantaneous slant distance. For distance-oriented integer sampling index, For radar wavelength, The imaginary unit, For distance coordinates, These are the original discrete complex echo sample values.

[0062] Step S13: The complex echo contribution is split into real and imaginary parts, and atomic addition operations are performed on the real and imaginary arrays of the corresponding imaging units in the output sub-aperture image obtained by back-projection of the complex echo data to obtain the sub-aperture image.

[0063] Since the same imaging unit needs to accumulate the echo contributions of multiple azimuth pulses within the same sub-aperture, different GPU threads may simultaneously write complex data to the same output address. To avoid concurrent write conflicts, this invention splits the complex echo contribution into real and imaginary parts, and performs atomic addition operations on the real and imaginary arrays of the corresponding imaging unit in the output sub-aperture image, respectively. This ensures that the results of multi-threaded parallel accumulation are consistent with the results of serial accumulation, avoiding amplitude or phase errors caused by the loss of echo contributions.

[0064] Specifically, during atomic addition operations, the complex echo contribution calculated by the current GPU thread is represented as: ; The output sub-aperture image matrix is ​​split into real and imaginary arrays, and atomic addition is performed on each array. ; ; in, and These represent the real and imaginary parts of the contribution from the complex echo, respectively. The imaginary unit; and These are the real and imaginary part arrays of the corresponding imaging unit in the output sub-aperture image, respectively. and This corresponds to the image after atomic addition; atomic addition is used to avoid data contention when multiple GPU threads write to the same imaging unit at the same time, and to ensure that the parallel accumulation result is consistent with the serial accumulation result.

[0065] Specifically, a GPU 3D thread structure is used to calculate the echo contribution of pulses in different orientations and different imaging units in parallel; temporal BP back projection imaging is achieved by combining sinc interpolation and phase compensation; atomic addition is performed on the real and imaginary parts of the complex result to avoid multi-threaded write conflicts.

[0066] In addition, in some optional embodiments of the present invention, a temporary accumulation array for the real part and a temporary accumulation array for the imaginary part are respectively allocated in the shared memory of each GPU thread block. All threads within the same thread block first accumulate the real and imaginary values ​​of the calculated complex echo contribution to the corresponding positions in the temporary accumulation arrays for the real and imaginary parts in the shared memory. After all threads within the same thread block have completed the accumulation in the shared memory, the corresponding thread within the thread block writes the results of the temporary accumulation of the real and imaginary parts in the shared memory to the real and imaginary arrays in the GPU global memory through atomic addition operations, respectively, thereby achieving two-level accumulation and reducing the number of conflicts in the atomic addition of global memory.

[0067] Furthermore, in some optional embodiments of the present invention, after the GPU 3D thread structure mapping is completed, for the sub-aperture local imaging region controlled by each thread block, a pixel mutual exclusion mask matrix is ​​pre-generated and bound to the real part temporary accumulation array and the imaginary part temporary accumulation array of the corresponding thread block. The mask matrix performs binary identification and masking on the effective imaging pixel range, the overlapping pixel range of the thread block boundary, and the invalid blank pixel range of the current thread block, forcibly limiting a single imaging pixel to be accumulated and managed only by the shared memory temporary array of a single thread block. This completely eliminates the repeated temporary accumulation and cross data interference of different thread blocks for the same imaging unit from the hardware thread scheduling and memory addressing level, avoiding the boundary pixel data superposition disorder problem that is very easy to occur in traditional multi-thread block layered accumulation. At the same time, the pixel data that is close to the overflow threshold during a single round of thread accumulation is summarized in real time with local dimensionality reduction. Data aggregation in the temporary array can be completed in segments without waiting for all threads of the thread block to complete the calculation, effectively adapting to the limitations of the shared memory capacity of embedded GPUs. Due to the limitations of hardware, this method avoids imaging distortion caused by data overflow in the temporary accumulation array during the calculation of large-size sub-aperture imaging. After all threads complete the parallel accumulation of the real and imaginary echo contributions of the corresponding pixels according to the masking rules, the two sets of temporary accumulation arrays in the shared memory of the thread blocks only retain the unique final accumulation result of each imaging unit. This eliminates the traditional method of repeatedly superimposing redundant data. Finally, the integrated real and imaginary results are written to the corresponding image array in global memory by a single atomic addition in a single thread block. Compared with the traditional two-level accumulation scheme, this method can not only continue to leverage the advantages of separating real and imaginary atomic addition to eliminate complex data read and write aliasing and hierarchical memory buffering to reduce global conflicts, but also solve the technical problems of crosstalk of boundary pixels of thread blocks, temporary memory overflow, and accuracy decay of multiple atomic superpositions. Under the premise of ensuring that the accuracy of SAR sub-aperture image amplitude and phase accumulation is completely consistent with the serial calculation results, it further reduces the frequency of atomic operation calls and memory read and write overhead, significantly improving the stability and computational efficiency of SAR real-time imaging on the embedded GPU.

[0068] For example, a two-dimensional binary mask matrix that perfectly matches the size of its own temporary accumulation array can be independently generated for each thread block. Each matrix element in the mask matrix corresponds one-to-one with the storage position of each pixel in the temporary accumulation array of the thread block. Binary values ​​are used to identify and define different pixel types. A binary value is uniformly set to mark the position of valid imaging pixels, and a binary value of zero is used to mark the position of overlapping pixels and invalid blank pixels. The complete construction of the mask matrix is ​​completed by assigning values ​​point by point across the entire domain, ensuring that the coverage area and pixel index arrangement rules of the mask matrix are completely aligned with the real part temporary accumulation array and the imaginary part temporary accumulation array. The constructed pixel mutual exclusion mask matrix is ​​fixedly bound to the real part temporary accumulation array and the imaginary part temporary accumulation array of the corresponding thread block. When the thread block performs all temporary accumulation read and write operations, it synchronously calls the identification rules of the mask matrix to determine the permission. Based on the binary identification result of the mask matrix, differentiated data processing is realized. For the positions marked as valid imaging pixels in the mask matrix, the GPU thread in the current thread block is allowed to perform normal read and accumulation storage operations of echo contribution values. For the positions marked as boundary overlapping pixels and invalid blank pixels in the mask matrix, the write and accumulation permissions of the current thread block are directly blocked, and the current thread block is prohibited from performing any temporary data write operations on such pixel positions.

[0069] Step S14: After performing phase compensation, frequency domain processing and azimuth zeroing on the sub-aperture images in sequence, the adjacent sub-aperture images are recursively fused to obtain a full-aperture SAR image.

[0070] Please see Figure 6 After the sub-aperture image is formed by time-domain back-projection, the present invention further performs phase compensation, frequency domain transformation, azimuth zero-padding expansion and sub-aperture recursive fusion on the sub-aperture image, and performs GPU-accelerated processing on these processes.

[0071] The process involves performing a first phase compensation on the sub-aperture image, followed by a range-directed fast Fourier transform and corresponding frequency domain shift on the sub-aperture image after the first phase compensation, so that the sub-aperture image enters the range wavenumber domain before performing a second phase compensation. The sub-aperture image after second phase compensation is subjected to azimuth fast Fourier transform and corresponding frequency domain shift, so that the sub-aperture image enters the azimuth wavenumber domain. In the azimuth wavenumber domain, the sub-aperture image is center-aligned and azimuth zero-filled, so that the number of azimuth sampling points is expanded to twice the original number. After completing the azimuth zero-filling, the sub-aperture image is subjected to azimuth inverse fast Fourier transform and normalization, followed by second phase conjugate compensation, range inverse fast Fourier transform and normalization, and first phase conjugate compensation to obtain the azimuth sampled and encrypted sub-aperture image. The two adjacent sub-aperture images are added together to form a new sub-aperture image, until all sub-aperture images are fused into a single full-aperture SAR image.

[0072] Specifically, firstly, a reference distance is calculated based on the sub-aperture center position, oblique angle, and imaging coordinates, and the sub-aperture image is subjected to first phase compensation based on the reference distance. Then, the sub-aperture image after first phase compensation is subjected to range-direction fast Fourier transform and corresponding frequency domain shift, so that the data enters the range wavenumber domain; and then, second phase compensation is performed based on the range wavenumber offset and azimuth imaging coordinates.

[0073] Subsequently, the compensated data undergoes an azimuth-directed Fast Fourier Transform (FFT) and corresponding frequency domain shifting to bring the data into the azimuth wavenumber domain. In the azimuth wavenumber domain, the data is center-aligned with azimuth zero-padding, doubling the number of azimuth sampling points. After azimuth zero-padding, the data undergoes an inverse azimuth FFT and normalization, followed by second phase conjugate compensation, range inverse FFT and normalization, and first phase conjugate compensation, resulting in a sub-aperture image with encrypted azimuth sampling. The aforementioned phase compensation, frequency domain transformation, azimuth zero-padding, and normalization processes can all be executed in parallel on the embedded GPU, thereby reducing data transmission overhead between the CPU, host, and device.

[0074] In subsequent recursive processing, adjacent sub-aperture images are added together to form a new sub-aperture image. Simultaneously, the center position of the new sub-aperture is calculated based on the center positions of the two merged sub-apertures, and the azimuth imaging coordinate interval is halved. Then, the new sub-aperture image undergoes repeated processing of the first phase compensation, range-direction fast Fourier transform, second phase compensation, azimuth-direction fast Fourier transform, azimuth zero-filling, inverse fast Fourier transform recovery, and phase conjugate compensation. With each recursion, the number of sub-apertures is halved, and the azimuth sampling density is increased, until all sub-apertures are fused into a single full-aperture SAR image.

[0075] In summary, the imaging method based on embedded GPU SAR echo data in the above embodiments of the present invention reads measured SAR echo data and performs GPU pulse compression based on the measured SAR echo data to obtain range-compressed complex echo data; the complex echo data is divided into sub-apertures, and a GPU three-dimensional thread structure is constructed, mapping the azimuth pulse index, azimuth imaging unit index, and range imaging unit index within the sub-aperture to the GPU three-dimensional thread structure; each GPU thread calculates the complex echo contribution of an azimuth pulse to an imaging unit, and multiple GPU threads perform parallel calculations of the complex echo contributions of different azimuth pulses to the imaging unit within the same sub-aperture; the complex echo contribution is split into real and imaginary parts, and atomic addition operations are performed on the real and imaginary part arrays of the corresponding imaging units in the output sub-aperture image obtained by back-projection of the complex echo data to obtain the sub-aperture image; phase compensation, frequency domain processing, and azimuth zero-padding are performed on the sub-aperture image in sequence, and then adjacent sub-aperture images are recursively fused to obtain a full-aperture SAR image. By employing pulse-centric 3D parallelism, the smallest computational unit is broken down into the contribution of a single pulse to a single pixel. The computational tasks corresponding to all pulses within the same pixel are distributed to a large number of independent threads for parallel execution. Each thread has the same computational load, eliminating the issue of varying thread workloads. Furthermore, by splitting complex numbers into real and imaginary parts and performing atomic addition separately, the data contention problem caused by multiple threads simultaneously writing to the same pixel is resolved. This addresses the problem of severely unbalanced load and extremely low GPU computing power utilization when performing rapid temporal imaging of measured SAR echo data on embedded platforms in existing technologies.

[0076] Example 2 This embodiment also proposes an imaging method for SAR echo data based on embedded GPUs. The difference between the imaging method for SAR echo data based on embedded GPUs in this embodiment and the imaging method for SAR echo data based on embedded GPUs in Embodiment 1 is as follows: The method further includes: The full-aperture SAR image is transmitted back to the CPU memory to complete the local storage and backup of the image data. Amplitude calculation, numerical normalization, and dynamic range compression are performed on full-aperture SAR images to generate visualized SAR images.

[0077] First, GPU image data backhaul and local storage are completed. After full-aperture SAR image fusion is performed on the GPU, the two-dimensional complex full-aperture image data stored in the GPU memory is backhauled in batches to the CPU memory, completing the data migration from the device to the host. The CPU encapsulates the received complete image data into files and performs local storage and data backup according to a common image data format to avoid imaging data loss and facilitate subsequent image playback, data analysis, and algorithm accuracy verification.

[0078] Secondly, complex image visualization preprocessing is performed. Since the raw SAR imaging results are complex matrices, they cannot be directly visualized and require post-processing. First, the modulus of each pixel in the complex image is calculated to obtain the image amplitude matrix, representing the echo strength characteristics of the target. Global numerical normalization is then performed on the amplitude matrix, uniformly mapping pixel values ​​to the standard range of zero to one, eliminating numerical deviations caused by differences in imaging gain. Finally, a logarithmic dynamic range compression algorithm is used to dynamically compress the normalized image data, suppressing bright areas of strong image clutter and enhancing details in dark areas of weak targets, ultimately generating a clear, detailed, and directly observable visualized SAR focused image.

[0079] In summary, the imaging method based on embedded GPU SAR echo data in the above embodiments of the present invention reads measured SAR echo data and performs GPU pulse compression based on the measured SAR echo data to obtain range-compressed complex echo data; the complex echo data is divided into sub-apertures, and a GPU three-dimensional thread structure is constructed, mapping the azimuth pulse index, azimuth imaging unit index, and range imaging unit index within the sub-aperture to the GPU three-dimensional thread structure; each GPU thread calculates the complex echo contribution of an azimuth pulse to an imaging unit, and multiple GPU threads perform parallel calculations of the complex echo contributions of different azimuth pulses to the imaging unit within the same sub-aperture; the complex echo contribution is split into real and imaginary parts, and atomic addition operations are performed on the real and imaginary part arrays of the corresponding imaging units in the output sub-aperture image obtained by back-projection of the complex echo data to obtain the sub-aperture image; phase compensation, frequency domain processing, and azimuth zero-padding are performed on the sub-aperture image in sequence, and then adjacent sub-aperture images are recursively fused to obtain a full-aperture SAR image. By employing pulse-centric 3D parallelism, the smallest computational unit is broken down into the contribution of a single pulse to a single pixel. The computational tasks corresponding to all pulses within the same pixel are distributed to a large number of independent threads for parallel execution. Each thread has the same computational load, eliminating the issue of varying thread workloads. Furthermore, by splitting complex numbers into real and imaginary parts and performing atomic addition separately, the data contention problem caused by multiple threads simultaneously writing to the same pixel is resolved. This addresses the problem of severely unbalanced load and extremely low GPU computing power utilization when performing rapid temporal imaging of measured SAR echo data on embedded platforms in existing technologies.

[0080] To further verify the effectiveness, imaging accuracy, and engineering applicability of the SAR echo data imaging method based on embedded GPU proposed in the embodiments of the present invention in the processing of measured SAR echo data, the technical effects of the present invention will be further explained below in conjunction with airborne measured SAR data.

[0081] Specifically, the measured SAR echo data acquired by the airborne platform is input into an embedded GPU processing platform, and rapid focusing imaging is performed using the parallel processing flow of this invention. This processing flow includes steps such as pulse compression, temporal backprojection, sinc interpolation, complex atomic addition and accumulation, phase compensation, azimuth zero-padding, and aperture-specific recursive fusion. Through the above processing, while maintaining the high-precision focusing capability and adaptability to complex geometries of the temporal imaging algorithm, the parallel computing resources of the embedded GPU are fully utilized to improve the processing efficiency of measured SAR data and reduce the real-time processing pressure caused by the large computational load, frequent data access, and parallel accumulation conflicts of traditional temporal imaging methods on embedded platforms.

[0082] The parameters of some airborne measured SAR data used in the experiments of this invention are shown in Table 1.

[0083] Table 1: Parameters of Some Airborne Measured SAR Data

[0084] In this embodiment, the airborne SAR system operates in the Ka band with a signal bandwidth of 200 MHz, a sampling frequency of 1 GHz, a pulse repetition frequency of 5000 Hz, an oblique angle of the airborne platform relative to the observation scene of -15°, a center action distance of 4.0416 km, and an equivalent motion speed of 58.15 m / s.

[0085] Based on the above measured parameters, two sets of range × azimuth imaging grids of 5120×2048 and 5120×4096 were selected for imaging processing.

[0086] The CPU serial imaging test in this embodiment was completed in the Matlab environment of a 64-bit Windows 11 system. The PC hardware platform used included an Intel i5-14500 CPU and 16 GB of memory. The embedded GPU parallel imaging test was completed on a Jetson Orin NX 16 GB platform, and the temporal imaging algorithm was accelerated in parallel by calling the CUDA library in the CMake environment in VS Code.

[0087] like Figure 7 As shown, Figure 7 (a) in the image is the output image after the CPU and embedded GPU perform pulse compression on the point target data; Figure 7 (b) in the image is the output image after the CPU and embedded GPU perform fast temporal imaging on the point target data; Figure 7 (c) in the figure is the output quality map of point targets in the temporal domain fast imaging of the embedded GPU; Figure 7 In the figure, (d) is the output image after the CPU and embedded GPU perform fast temporal imaging on the measured data.

[0088] First, point target tests were conducted on both the pulse compression and temporal fast imaging algorithms, and the results are as follows: Figure 7 (a) and Figure 7 As shown in (b) above; furthermore, the azimuth and range output quality of point targets in the embedded GPU temporal fast imaging was analyzed, and the results are as follows. Figure 7 As shown in (c) above. Finally, the measured airborne SAR parameters shown in Table 1 were used for fast temporal imaging processing. The imaging grid was 5120×4096, and the imaging results are as follows. Figure 7 As shown in (d) in the figure. Experimental results show that the SAR focused images obtained on the embedded GPU platform are consistent with the traditional CPU serial Matlab imaging results, indicating that the method of the present invention can maintain good imaging accuracy and focusing quality while improving processing efficiency.

[0089] Table 2 shows a comparison of processing time and speedup ratio between CPU serial imaging and embedded GPU parallel imaging based on the temporal fast imaging algorithm.

[0090] Table 2: Time and Comparison of Temporal Fast Imaging Algorithms

[0091] As shown in Table 2, compared with the traditional CPU-based serial Matlab imaging method, the embedded GPU parallel temporal fast imaging method adopted in this embodiment can significantly shorten the imaging processing time. With a 5120×2048 imaging grid, the processing time is reduced from 38.36 s to 1.34 s, a speedup of 28.63 times; with a 5120×4096 imaging grid, the processing time is reduced from 158.99 s to 4.95 s, a speedup of 32.12 times. As the imaging grid size increases, the speedup advantage of embedded GPU parallel computing becomes more pronounced, indicating that the method of this invention can effectively adapt to the computational requirements of large-scale SAR temporal imaging tasks. The above results demonstrate that this invention can reduce the processing time of large-scale SAR imaging tasks from minutes to seconds while maintaining temporal imaging accuracy and focusing quality, providing an effective implementation method for real-time or near-real-time SAR imaging on embedded platforms and possessing significant engineering application value.

[0092] Example 3 Please see Figure 8 The figure shows an imaging system based on embedded GPU SAR echo data proposed in the third embodiment of the present invention. The system includes: The reading module 100 is used to read the measured SAR echo data and perform GPU pulse compression based on the measured SAR echo data to obtain range-compressed complex echo data. Module 200 is used to divide complex echo data into sub-apertures, construct a GPU three-dimensional thread structure, and map the sub-aperture azimuth pulse index, azimuth imaging unit index, and range imaging unit index to the GPU three-dimensional thread structure. The calculation module 300 is used for each GPU thread to calculate the complex echo contribution of an azimuth pulse to an imaging unit. Multiple GPU threads can perform the calculation of the complex echo contribution of different azimuth pulses to the imaging unit within the same sub-aperture in parallel. The accumulation module 400 is used to split the complex echo contribution into real and imaginary parts, and perform atomic addition operations on the real and imaginary arrays of the corresponding imaging units in the output sub-aperture image obtained by back-projection of the complex echo data to obtain the sub-aperture image; The imaging module 500 is used to sequentially perform phase compensation, frequency domain processing, and azimuth zeroing on the sub-aperture images, and then recursively fuse adjacent sub-aperture images to obtain a full-aperture SAR image.

[0093] The functions or operation steps implemented by the above modules are largely the same as those in the above method embodiments, and will not be repeated here.

[0094] Example 4 In another aspect, the present invention provides a readable storage medium having a computer program stored thereon, wherein the program, when executed by a processor, implements the steps of the method described in any one of Embodiments 1 to 2 above.

[0095] Example 5 In another aspect, the present invention provides an electronic device, the electronic device including a memory, a processor, and a computer program stored in the memory and running on the processor, wherein the processor executes the program to implement the steps of any one of the methods described in Embodiments 1 to 2 above.

[0096] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0097] Those skilled in the art will understand that the logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered as a sequential list of executable instructions for implementing logical functions, and can be embodied in any computer-readable storage medium for use by, or in conjunction with, an instruction execution system, apparatus, or device (such as a computer-based system, a processor-included system, or other system that can fetch and execute instructions from, an instruction execution system, apparatus, or device). For the purposes of this specification, "computer-readable storage medium" can mean any means that can contain, store, communicate, propagate, or transmit programs for use by, or in conjunction with, an instruction execution system, apparatus, or device.

[0098] More specific examples (a non-exhaustive list) of computer-readable storage media include: electrical connections (electronic devices) having one or more wires, portable computer disk drives (magnetic devices), random access memory (RAM), read-only memory (ROM), erasable and editable read-only memory (EPROM or flash memory), fiber optic devices, and portable optical disc read-only memory (CDROM). Furthermore, computer-readable storage media can even be paper or other suitable media on which the program can be printed, since the program can be obtained electronically, for example, by optically scanning the paper or other medium, followed by editing, interpreting, or otherwise processing as necessary, and then stored in computer memory.

[0099] It should be understood that various parts of the present invention can be implemented in hardware, software, firmware, or a combination thereof. In the above embodiments, multiple steps or methods can be implemented in software or firmware stored in memory and executed by a suitable instruction execution system. For example, if implemented in hardware, as in another embodiment, it can be implemented using any one or a combination of the following techniques known in the art: discrete logic circuits having logic gates for implementing logical functions on data signals, application-specific integrated circuits (ASICs) having suitable combinational logic gates, programmable gate arrays (PGAs), field-programmable gate arrays (FPGAs), etc.

[0100] In the description of this specification, references to terms such as "one embodiment," "some embodiments," "example," "specific example," or "some examples," etc., indicate that a specific feature, structure, material, or characteristic described in connection with that embodiment or example is included in at least one embodiment or example of the invention. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples.

[0101] The embodiments described above are merely illustrative of several implementations of the present invention, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of the present invention. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of the present invention, and these modifications and improvements all fall within the scope of protection of the present invention. Therefore, the scope of protection of this patent should be determined by the appended claims.

Claims

1. An imaging method based on SAR echo data using embedded GPUs, characterized in that, The method includes: Read the measured SAR echo data, and perform GPU pulse compression based on the measured SAR echo data to obtain range-compressed complex echo data; The complex echo data is divided into sub-apertures, and a GPU three-dimensional thread structure is constructed. The azimuth pulse index, azimuth imaging unit index and range imaging unit index within the sub-aperture are mapped to the GPU three-dimensional thread structure. Each GPU thread calculates the complex echo contribution of an azimuth pulse to an imaging unit, and multiple GPU threads perform the calculation of the complex echo contribution of different azimuth pulses to the imaging unit within the same sub-aperture in parallel. The complex echo contribution is split into real and imaginary parts, and atomic addition operations are performed on the real and imaginary arrays of the corresponding imaging units in the output sub-aperture image obtained by back-projecting the complex echo data to obtain the sub-aperture image. After performing phase compensation, frequency domain processing, and azimuth zeroing on the sub-aperture images in sequence, the adjacent sub-aperture images are recursively fused to obtain the full-aperture SAR image.

2. The imaging method for SAR echo data based on embedded GPU according to claim 1, characterized in that, The step of calculating the complex echo contribution of an azimuth pulse to an imaging unit for each GPU thread includes: Each GPU thread reads the corresponding azimuth imaging coordinates, range imaging coordinates, and the platform azimuth position corresponding to the current azimuth pulse, and calculates the propagation distance from the current azimuth pulse to the imaging unit according to the instantaneous slant range relationship; When the instantaneous slope distance is within the set distance range, the distance-to-integer sampling index is determined based on the instantaneous slope distance, and the sinc interpolation kernel offset is determined; Based on the integer sampling index of the range and the offset of the sinc interpolation kernel, the interpolation coefficients are read from the preset sinc interpolation lookup table to obtain the complex echo values ​​at non-integer range sampling positions, and combined with the phase compensation factor to obtain the complex echo contribution of the current azimuth pulse to the imaging unit.

3. The imaging method for SAR echo data based on embedded GPU according to claim 2, characterized in that, The steps of reading interpolation coefficients from a preset sinc interpolation lookup table to obtain complex echo values ​​at non-integer distance sampling positions, and combining them with a phase compensation factor to obtain the complex echo contribution of the current azimuth pulse to the imaging unit include: The interpolation coefficients are read from the preset sinc interpolation lookup table, and the complex echoes of adjacent distance cells in the range echo matrix that have been zero-padded and expanded are weighted and summed to obtain the complex echo values ​​at non-integer distance sampling positions. Based on the complex echo values ​​at non-integer distance sampling positions, the complex echo contribution of the current azimuth pulse to the imaging unit is calculated according to the phase compensation factor.

4. The imaging method for SAR echo data based on embedded GPU according to claim 3, characterized in that, The expression for the complex echo value is: ; The expression for the contribution of the current forward pulse to the complex echo of the imaging unit is: ; in, The length of the sinc interpolation kernel. sinc is the interpolation coefficient. For azimuth index, To sum the index, , This is the instantaneous slant distance. For distance-oriented integer sampling index, For radar wavelength, The imaginary unit, For distance coordinates, These are the original discrete complex echo sample values.

5. The imaging method for SAR echo data based on embedded GPU according to claim 4, characterized in that, The thread index of the GPU's three-dimensional thread structure satisfies: in, Indicates the azimuth imaging unit index. Indicates the range-oriented imaging unit index. Indicates the orientation pulse index within the sub-aperture; for The current thread block number is in the direction. for The current thread block number is in the direction. for The current thread block number is in the direction. These represent the total number of threads across the three dimensions. This is the local index number of the thread within the current thread block.

6. The imaging method for SAR echo data based on embedded GPU according to claim 1, characterized in that, The steps of reading measured SAR echo data and performing GPU pulse compression based on the measured SAR echo data to obtain range-compressed complex echo data include: Read the measured SAR echo data in binary format and organize the measured SAR echo data into a two-dimensional complex matrix composed of range sampling points and azimuth pulse numbers; Check the available video memory of the embedded GPU, allocate unified memory or GPU global memory according to the data size, and prefetch the two-dimensional complex matrix to the GPU. Initialize radar system parameters, platform motion parameters, and range interception range; intercept the set range data according to the range interception range. Range-directed zero-filling is performed on a two-dimensional complex matrix to construct a time-domain linear frequency modulated reference signal. A range-directed matched filter is then generated through frequency domain transformation and conjugate processing. On the GPU, a batch fast Fourier transform is performed on the range data corresponding to all azimuth pulses, and then a dot product operation is performed with the matched filter. The results of the dot product operation are subjected to batch inverse fast Fourier transform, data normalization, and effective data truncation to obtain the distance-compressed complex echo data.

7. The imaging method for SAR echo data based on embedded GPU according to claim 1, characterized in that, The steps of sequentially performing phase compensation, frequency domain processing, and azimuth zero-padding on the sub-aperture images, and then recursively fusing adjacent sub-aperture images to obtain a full-aperture SAR image include: The sub-aperture image is subjected to first phase compensation, and then the sub-aperture image after first phase compensation is subjected to range-directed fast Fourier transform and corresponding frequency domain shift, so that the sub-aperture image enters the range wavenumber domain and then the second phase compensation is performed. The sub-aperture image after second phase compensation is subjected to azimuth fast Fourier transform and corresponding frequency domain shift, so that the sub-aperture image enters the azimuth wavenumber domain. In the azimuth wavenumber domain, the sub-aperture image is center-aligned and azimuth zero-filled, so that the number of azimuth sampling points is expanded to twice the original number. After completing the azimuth zero-filling, the sub-aperture image is subjected to azimuth inverse fast Fourier transform and normalization, followed by second phase conjugate compensation, range inverse fast Fourier transform and normalization, and first phase conjugate compensation to obtain the azimuth sampled and encrypted sub-aperture image. The two adjacent sub-aperture images are added together to form a new sub-aperture image, until all sub-aperture images are fused into a single full-aperture SAR image.

8. An imaging system based on SAR echo data embedded GPU, characterized in that, The system includes: The reading module is used to read measured SAR echo data and perform GPU pulse compression based on the measured SAR echo data to obtain range-compressed complex echo data. The module is used to divide complex echo data into sub-apertures, construct a GPU 3D thread structure, and map the sub-aperture azimuth pulse index, azimuth imaging unit index, and range imaging unit index to the GPU 3D thread structure. The calculation module is used for each GPU thread to calculate the complex echo contribution of an azimuth pulse to an imaging unit. Multiple GPU threads can perform the calculation of the complex echo contribution of different azimuth pulses to the imaging unit within the same sub-aperture in parallel. The accumulation module is used to split the complex echo contribution into real and imaginary parts, and perform atomic addition operations on the real and imaginary arrays of the corresponding imaging units in the output sub-aperture image obtained by back-projection of the complex echo data to obtain the sub-aperture image; The imaging module is used to sequentially perform phase compensation, frequency domain processing, and azimuth zeroing on the sub-aperture images, and then recursively fuse adjacent sub-aperture images to obtain a full-aperture SAR image.

9. A readable storage medium having a computer program stored thereon, characterized in that, When the program is executed by the processor, it implements the steps of the method as described in any one of claims 1 to 7.

10. An electronic device, characterized in that, The method includes a memory, a processor, and a computer program stored in the memory and running on the processor, wherein the processor, when executing the program, implements the steps of the method as described in any one of claims 1 to 7.

Citation Information

Patent Citations

  • SAR efficient BP imaging method and system based on TSU-ICSI combined with GPU

    CN118169681A