A soc architecture implementing sinc interpolation

Through the collaborative design of the embedded processor and PL logic section of the SOC architecture, range data interpolation from uniform sampling to uniform sampling and non-uniform sampling to azimuth data interpolation were realized, solving the problem of high-resolution and large-volume SAR imaging that existing FPGA algorithms cannot handle, and meeting real-time requirements.

CN119291684BActive Publication Date: 2025-12-16LEIHUA ELECTRONICS TECH RES INST AVIATION IND OF CHINA
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411358842.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-09-27
Publication Date
2025-12-16
Estimated Expiration
2044-09-27

AI Technical Summary

Technical Problem

Existing FPGA-based sinc interpolation algorithms cannot perform azimuth data interpolation processing from uniform sampling interpolation to non-uniform sampling, and cannot meet the high resolution, large data volume, and real-time requirements of the new generation of SAR imaging processing platforms.

Method used

The system adopts an SOC architecture, with an embedded processor used for module configuration and azimuth coordinate value calculation, and a PL logic section used for retrieving raw data and sinc values ​​and calculating interpolation results. Time-division multiplexing is used to achieve uniform sampling interpolation to uniform sampling distance data interpolation and non-uniform sampling interpolation to azimuth data interpolation.

Benefits of technology

It realizes range and azimuth data interpolation in SAR processing based on PFA algorithm, which meets the processing requirements of high resolution, large data volume and real time.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119291684B_ABST
    Figure CN119291684B_ABST
Patent Text Reader

Abstract

The application belongs to the technical field of communication, and particularly relates to a SOC architecture for realizing sinc interpolation. The SOC architecture is designed in a way of cooperation between software and hardware. An embedded processor is used for module configuration and azimuth coordinate value operation, and a PL logic part is used for original data and sinc value retrieval and interpolation result operation. Through time division multiplexing of the interpolation module, uniform sampling interpolation is realized to distance direction data interpolation processing of uniform sampling, and to azimuth direction data interpolation processing of non-uniform sampling.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of communication technology, and specifically relates to a SOC architecture for implementing sinc interpolation. Background Technology

[0002] Synthetic Aperture Radar (SAR) performs high-resolution two-dimensional imaging of target areas by equating the spatial motion of radar with an antenna array. It is widely used in military and civilian fields. In military applications, SAR imaging is used for reconnaissance and surveillance, battlefield assessment and damage assessment, target guidance and direction finding, etc. In civilian applications, it is used for remote sensing mapping, disaster monitoring, ocean and ice layer observation, etc.

[0003] Spotlight SAR imaging achieves high-precision observation of a specific area by controlling the antenna beam pointing to ensure the beam is always focused on a single ground target area. Currently, a commonly used algorithm for spotlight SAR is the polar coordinate format algorithm (PFA), which stores data in polar coordinates and uses two-dimensional interpolation in the wavenumber domain to eliminate the coupling between range and azimuth. This two-dimensional interpolation can be decomposed into two independent one-dimensional sinc interpolations for range and azimuth, effectively reducing the computational load of the algorithm.

[0004] There are three main types of SAR imaging processing platforms: DSP-based processing platforms, GPU-based processing platforms, and SOC-based processing platforms. Using an SOC allows for the addition of large-capacity external memory, enabling SAR imaging processing with a large number of points and high resolution.

[0005] The new generation of Xilinx's SoC products uses an ARM+FPGA architecture, and the co-design of hardware and software makes the design more flexible and scalable. In Xilinx FPGAs, the AXI4 protocol is mainly used for interaction between the ARM and FPGA. AXI is part of the AMBA microcontroller bus family proposed by ARM in 1996, with the latest version released in 2010. The AXI bus protocol includes the AXI4 protocol, the AXI4-Stream protocol, and the AXI-lite protocol. The lightweight AXI-lite protocol is a scaled-down version of the AXI protocol, eliminating the Burst length setting. It has simpler features and limited functionality, but can be used for configuration.

[0006] In the past, sinc interpolation in SAR imaging processing was mainly performed by software or DSP. With the new requirements of high resolution, large data volume, and strong real-time performance, software and DSP processing methods have gradually become unable to meet the processing needs. Existing FPGA-based sinc interpolation algorithm implementations can only complete the range data interpolation processing from uniform sampling interpolation to uniform sampling, and cannot realize the azimuth data interpolation processing from uniform sampling interpolation to non-uniform sampling. Summary of the Invention

[0007] To address the aforementioned issues, this application provides a SOC architecture for implementing sinc interpolation, comprising:

[0008] An embedded processor is connected to a coordinate input module via a parameter configuration module, which is used to configure the parameters of the coordinate input module to either a range interpolation processing mode or an azimuth interpolation processing mode.

[0009] The coordinate input module includes a distance coordinate generation module and an azimuth coordinate input module, as well as a switch selection module. The switch selection module selects to connect the distance coordinate generation module or the azimuth coordinate input module to the intermediate point coordinate output module based on the distance interpolation processing mode or the azimuth interpolation processing mode. Both the distance coordinate generation module and the azimuth coordinate input module generate the target point coordinate sequence.

[0010] The intermediate point coordinate output module includes a floating-point conversion module, a boundary judgment module, and a subtraction module; wherein the floating-point conversion module is used to convert the target point coordinate sequence from floating-point numbers to fixed-point numbers, the boundary judgment module is used to output an integer sequence after judging the converted fixed-point numbers according to the boundary conditions, and the subtraction module outputs a decimal sequence based on the integer sequence and the target point coordinate sequence;

[0011] The raw data module retrieves the raw data sequence corresponding to the integer sequence from the raw data pre-stored in DDR memory;

[0012] The Sin window value retrieval module retrieves the sin window value sequence based on the decimal sequence and the built-in sin window table.

[0013] The division module is used to divide the sin windowed value sequence by the decimal sequence to obtain the sinc windowed value sequence;

[0014] The illegal value handling module is used to set the sinc window value obtained from a decimal sequence with a value of zero to 1;

[0015] The multiply-accumulate module calculates the interpolation result based on the original data sequence and the windowed value sequence.

[0016] Preferably, the target point coordinate sequence includes a distance coordinate point sequence generated by a distance coordinate generation module according to a first preset formula and an azimuth coordinate point sequence generated by a azimuth coordinate input module according to a second preset formula.

[0017] Preferably, the first preset formula includes:

[0018] K X =K1+(1:N) a _out)*Δ

[0019] In the formula, K1 is the initial input coordinate value, Δ is the step value, and N is the input coordinate value. a _out outputs the number of points, K X It is a sequence of coordinate points along the distance.

[0020] Preferably, the second preset formula includes:

[0021]

[0022] Where v is the forward speed of the radar platform, H is the altitude, and θ is the forward speed of the radar platform. s The angle of view is θ, R0 is the distance from the imaging center, and θ is the angle of view. ref f is the azimuth angle of the aperture center. c For the current frequency, f τ N is a constant. a _out outputs the number of points, N a is the number of input points in the range direction, pri is the pulse repetition period, and Ky is the sequence of coordinate points in the azimuth direction.

[0023] Preferably, the sin window table is generated by the following formula:

[0024]

[0025] x is the independent variable, a is a constant, and sin_d is the sin window value.

[0026] Preferably, the specific method for retrieving the original data sequence corresponding to the integer sequence includes:

[0027] The original data sequence is divided into N segments, and each segment is stored column-wise in N BRAMs of the data retrieval module;

[0028] The integer sequence is input into the data retrieval module and used as the address bit of the BRAM to retrieve the original data sequence, while obtaining N adjacent original data sequences including that address.

[0029] The advantages of this application include: The purpose of this invention is to overcome the shortcomings of the prior art and provide a sinc interpolation implementation method based on SOC. It adopts a SOC hardware and software co-design approach, where the embedded processor is used for module configuration and azimuth coordinate value calculation, and the PL logic part is used for retrieving raw data and sinc values ​​and calculating interpolation results. By time-division multiplexing the interpolation module, it achieves range data interpolation processing from uniform sampling interpolation to uniform sampling, and azimuth data interpolation processing from uniform sampling interpolation to non-uniform sampling. This is used to complete range and azimuth data interpolation in SAR processing based on the PFA algorithm. Attached Figure Description

[0030] Figure 1This is a block diagram illustrating the SOC architecture principle of a preferred embodiment of this application for implementing sinc interpolation;

[0031] Figure 2 This is a comparison diagram of sinc windowing according to a preferred embodiment of this application;

[0032] Figure 3 This is a block diagram of the raw data retrieval module;

[0033] Figure 4 This is a block diagram of the sin window value retrieval module. Detailed Implementation

[0034] To make the technical solution and advantages of this application clearer, the technical solution of this application will be described in a clearer and more complete manner below with reference to the accompanying drawings. It should be understood that the specific embodiments described herein are only some embodiments of this application, and are only used to explain this application, not to limit this application. It should be noted that, for ease of description, only the parts related to this application are shown in the accompanying drawings. Other related parts can be referred to the general design. In the absence of conflict, the embodiments and technical features in the embodiments of this application can be combined with each other to obtain new embodiments.

[0035] As shown in the figure

[0036] This application provides a SOC architecture for implementing sinc interpolation, including:

[0037] An embedded processor is connected to a coordinate input module via a parameter configuration module, which is used to configure the parameters of the coordinate input module to either a range interpolation processing mode or an azimuth interpolation processing mode.

[0038] The coordinate input module includes a distance coordinate generation module and an azimuth coordinate input module, as well as a switch selection module. The switch selection module selects to connect the distance coordinate generation module or the azimuth coordinate input module to the intermediate point coordinate output module based on the distance interpolation processing mode or the azimuth interpolation processing mode. Both the distance coordinate generation module and the azimuth coordinate input module generate the target point coordinate sequence.

[0039] The intermediate point coordinate output module includes a floating-point conversion module, a boundary judgment module, and a subtraction module; wherein the floating-point conversion module is used to convert the target point coordinate sequence from floating-point numbers to fixed-point numbers, the boundary judgment module is used to output an integer sequence after judging the converted fixed-point numbers according to the boundary conditions, and the subtraction module outputs a decimal sequence based on the integer sequence and the target point coordinate sequence;

[0040] The raw data module retrieves the raw data sequence corresponding to the integer sequence from the raw data pre-stored in DDR storage;

[0041] The Sin window value retrieval module retrieves the sin window value sequence based on the decimal sequence and the built-in sin window table.

[0042] The division module is used to divide the sin windowed value sequence by the decimal sequence to obtain the sinc windowed value sequence;

[0043] The illegal value handling module is used to set the sinc window value obtained from a decimal sequence with a value of zero to 1;

[0044] The multiply-accumulate module calculates the interpolation result based on the original data sequence and the windowed value sequence.

[0045] Preferably, the target point coordinate sequence includes a distance coordinate point sequence generated by a distance coordinate generation module according to a first preset formula and an azimuth coordinate point sequence generated by a azimuth coordinate input module according to a second preset formula.

[0046] Preferably, the first preset formula includes:

[0047] K X =K1+(1:N) a _out)*Δ

[0048] In the formula, K1 is the initial input coordinate value, Δ is the step value, and N is the input coordinate value. a _out outputs the number of points, K X It is a sequence of coordinate points along the distance.

[0049] Preferably, the second preset formula includes:

[0050]

[0051]

[0052] Where v is the forward speed of the radar platform, H is the altitude, and θ is the forward speed of the radar platform. s The angle of view is θ, R0 is the distance from the imaging center, and θ is the angle of view. ref f is the azimuth angle of the aperture center. c For the current frequency, f τ N is a constant. a _out outputs the number of points, N a is the number of input points in the range direction, pri is the pulse repetition period, and Ky is the sequence of coordinate points in the azimuth direction.

[0053] Preferably, the sin window table is generated by the following formula:

[0054]

[0055] x is the independent variable, a is a constant, and sin_d is the sin window value.

[0056] Preferably, the specific method for retrieving the original data sequence corresponding to the integer sequence includes:

[0057] The original data sequence is divided into N segments, and each segment is stored column-wise in N BRAMs of the data retrieval module;

[0058] The integer sequence is input into the data retrieval module and used as the address bit of the BRAM to retrieve the original data sequence, while obtaining N adjacent original data sequences including that address.

[0059] Based on the SOC architecture for implementing sinc interpolation described above, a sinc interpolation implementation method based on SOC is proposed:

[0060] Step 1: The embedded processor configures the parameters of the input module for the coordinates of the interpolation point using the standard AXI-lite protocol.

[0061] Step 2: If the current process is range interpolation, skip to step 2a; if the current process is azimuth interpolation, skip to step 2b.

[0062] Step 2a: In the data processing of a single line, the coordinate sequence is a monotonically increasing function. According to formula K... X =K1+(1:N) a )*Δ, by inputting the initial coordinates K1 and the step value Δ, the distance coordinate sequence K is calculated. X , where N a This represents the distance to the points.

[0063] Step 2b: According to the following formula, since the interpolation input coordinate axis t on the left side of the formula is equally spaced, the Sinc interpolation operation performed according to this interpolation expression is a resampling process from uniform to non-uniform, which conforms to the equally spaced discrete samples in the Shannon sampling theorem. Where the radar platform's forward speed is v, its height is H, and its oblique angle is θ. s R0 is the distance to the imaging center, and θ is the azimuth angle of the aperture center. ref f c For the current frequency, f τ It is a constant for each line.

[0064]

[0065] The azimuth coordinate sequence t is obtained by calculating t″ and t using an embedded processor.

[0066] Step 3: The interpolation coordinates obtained in Step 2 are converted to integers by the floating-point conversion module. The boundary judgment module keeps coordinates less than the lower limit as the lower limit value and coordinates greater than the upper limit value as the upper limit value, thus obtaining the integer part of the current intermediate point coordinates.

[0067] Step 4: Subtract the integer part of the interpolation coordinates obtained in Step 2 from the integer part obtained in Step 3 to obtain the decimal part.

[0068] Step 5: Divide the original input data into N segments, and store each segment in N BRAMs of the data retrieval module in columns.

[0069] Step 6: Input the integer part of the result from Step 3 into the data retrieval module, use it as the address bit of the BRAM to retrieve the original data, and obtain the N adjacent original data including that address.

[0070] Step 7: Input the decimal part of the value from Step 4 into the sin window value retrieval module. The module uses N addition modules to obtain the sin window value indices for N adjacent points, and then retrieves the sin window value from N BRAMs. The BRAMs store the values ​​of the sin function with a Hamming window. The windowing formula is as follows.

[0071]

[0072] Step 8: Divide the sin windowed value generated in Step 7 with the decimal output to obtain the sinc windowed value.

[0073] Step 9: As can be seen from the formula, the value of sinc windowed value at x = 0 is 1. Therefore, when an illegal value is detected by the illegal value processing module (the divisor is 0 in step 8), the result is forcibly set to 1.

[0074] Step 10: Calculate the output of the sinc windowed interpolation module using the multiply-accumulate module.

[0075] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A SOC architecture for implementing sinc interpolation, characterized in that, include: An embedded processor is connected to a coordinate input module via a parameter configuration module, which is used to configure the parameters of the coordinate input module to either a range interpolation processing mode or an azimuth interpolation processing mode. The coordinate input module includes a distance coordinate generation module and an azimuth coordinate input module, as well as a switch selection module. The switch selection module selects to connect the distance coordinate generation module or the azimuth coordinate input module to the intermediate point coordinate output module based on the distance interpolation processing mode or the azimuth interpolation processing mode. Both the distance coordinate generation module and the azimuth coordinate input module generate the target point coordinate sequence. The intermediate point coordinate output module includes a floating-point conversion module, a boundary judgment module, and a subtraction module; wherein the floating-point conversion module is used to convert the target point coordinate sequence from floating-point numbers to fixed-point numbers, the boundary judgment module is used to output an integer sequence after judging the converted fixed-point numbers according to the boundary conditions, and the subtraction module outputs a decimal sequence based on the integer sequence and the target point coordinate sequence; The raw data module retrieves the raw data sequence corresponding to the integer sequence from the raw data pre-stored in DDR memory; The Sin window value retrieval module retrieves the sin window value sequence based on the decimal sequence and the built-in sin window table. The division module is used to divide the sin windowed value sequence by the decimal sequence to obtain the sinc windowed value sequence; The illegal value handling module is used to set the sinc window value obtained from a decimal sequence with a value of zero to 1; The multiply-accumulate module calculates the interpolation result based on the original data sequence and the windowed value sequence.

2. The SOC architecture for implementing sinc interpolation as described in claim 1, characterized in that, include: The target point coordinate sequence includes a distance coordinate point sequence generated by the distance coordinate generation module according to a first preset formula and an azimuth coordinate point sequence generated by the azimuth coordinate input module according to a second preset formula.

3. The SOC architecture for implementing sinc interpolation as described in claim 2, characterized in that, The first preset formula includes: K X =K1+(1:N a _out)*D In the formula, K1 is the initial input coordinate value, Δ is the step value, and N is the input coordinate value. a _out outputs the number of points, K X It is a sequence of coordinate points along the distance.

4. The SOC architecture for implementing sinc interpolation as described in claim 2, characterized in that, The second preset formula includes: Where v is the forward speed of the radar platform, H is the altitude, and θ is the forward speed of the radar platform. s The angle of view is θ, R0 is the distance from the imaging center, and θ is the angle of view. ref f is the azimuth angle of the aperture center. c For the current frequency, f τ N is a constant. a _out outputs the number of points, N a is the number of input points in the range direction, pri is the pulse repetition period, and Ky is the sequence of coordinate points in the azimuth direction.

5. The SOC architecture for implementing sinc interpolation as described in claim 1, characterized in that, The sin windowed table is generated by the following formula: x is the independent variable, a is a constant, and sin_d is the sin window value.

6. The SOC architecture for implementing sinc interpolation as described in claim 1, characterized in that, Specific methods for retrieving the original data sequence corresponding to the integer sequence include: The original data sequence is divided into N segments, and each segment is stored column-wise in N BRAMs of the data retrieval module; The integer sequence is input into the data retrieval module and used as the address bit of the BRAM to retrieve the original data sequence, while obtaining N adjacent original data sequences including that address.

Citation Information

Patent Citations

  • Beaming SAR imaging method based on improved PFA and DSP implementation thereof

    CN111856461A

  • PFA imaging method based on improved Sinc interpolation technology

    CN113341412A