SOC architecture for realizing sinc interpolation
By designing the collaborative design of embedded processor and PL logic parts in the SOC architecture, uniform and non-uniform data interpolation in SAR imaging processing is achieved, and the problem that existing FPGA methods cannot handle non-uniform sampling orientation data is solved, improving the problem that the existing FPGA methods are unable to handle non-uniform sampling orientation data. Process efficiency and real-time performance.
Patent Information
- Application Number
- CN202411358842.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-27
- Publication Date
- 2025-01-10
- Estimated Expiration
- 2044-09-27
AI Technical Summary
The existing SAR imaging processing method based on FPGA cannot realize the processing of uniform sampling interpolation to non-uniform sampling orientation data, and cannot meet the new requirements of high resolution, large data volume and strong real-time.
A SOC architecture is designed, through the collaborative design of the embedded processor and the PL logic part, the distance between uniform sampling and interpolation to uniform sampling is realized to interpolate data and to interpolate the directional data from uniform sampling and to non-uniform sampling, using AXI- The lite protocol performs module configuration and data retrieval, and uses floating conversion, boundary judgment, subtraction, Sin window value retrieval and multiplication modules to calculate the interpolation results.
It realizes efficient interpolation of distance and orientation data in SAR processing based on PFA algorithm, meets the processing needs of high resolution, large data volume and strong real-time, and overcomes the shortcomings of the existing technology.
Smart Images

Figure CN119291684A_ABST
Abstract
Description
Technical Field
[0001] The present application belongs to the field of communication technology, and in particular relates to a SOC architecture for implementing sinc interpolation. Background Art
[0002] Synthetic Aperture Radar (SAR) is widely used in military and civilian fields by converting the spatial motion of the radar into an antenna array to perform high-resolution two-dimensional imaging of the target area. In the military, SAR imaging is used for reconnaissance and surveillance, battlefield assessment and damage assessment, target guidance and guidance, etc. In the civilian field, it is used for remote sensing mapping, disaster monitoring, ocean and ice observation, etc.
[0003] The spotlight SAR imaging method is to control the antenna beam pointing so that the beam is always focused on a ground target range, achieving high-precision observation of a specific area. Currently, the commonly used algorithms for spotlight SAR are polar coordinate format algorithms (PFA), which use polar coordinate format to store data and eliminate the coupling relationship between distance and azimuth through two-dimensional interpolation in the wavenumber domain. Two-dimensional interpolation can be decomposed into two independent one-dimensional sinc interpolations of distance and azimuth, which can effectively reduce the amount of algorithm calculations.
[0004] There are three mainstream SAR imaging processing platforms: DSP-based processing platform, GPU-based processing platform, and SOC-based processing platform. Using SOC can plug in large-capacity external memory to achieve large-point, high-resolution SAR imaging processing.
[0005] The new generation of Xilinx SOC products is an ARM+FPGA architecture. The hardware-software co-design makes the design more flexible and more extensible. In Xilinx FPGA, the AXI4 protocol is mainly used for interaction between ARM and FPGA. AXI is a part of the microcontroller bus family AMBA proposed by ARM in 1996. The latest version was 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 shortened version of the AXI protocol. It cancels the setting of the Burst length, has simple features, and limited functions. The AXI-lite protocol can be used to configure functions.
[0006] In the past, sinc interpolation operations in SAR imaging processing were mainly completed 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 failed to meet the processing needs; the existing FPGA-based sinc interpolation algorithm implementation method can only complete the distance 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] In order to solve the above problems, the present application provides a SOC architecture for implementing s inc interpolation, including:
[0008] The embedded processor is connected to the coordinate input module through the parameter configuration module, and is used to configure the parameters of the coordinate input module into a distance interpolation processing mode or an azimuth interpolation processing mode;
[0009] A coordinate input module, comprising a range coordinate generation module, an azimuth coordinate input module, and a switch selection module; the switch selection module selects to connect the range coordinate generation module or the azimuth coordinate input module with the intermediate point coordinate output module based on the range interpolation processing mode or the azimuth interpolation processing mode, and both the range coordinate generation module and the azimuth coordinate input module generate a target point coordinate sequence;
[0010] An intermediate point coordinate output module, a floating-fixed conversion module, a boundary judgment module and a subtraction module; wherein the floating-fixed conversion module is used to convert the target point coordinate sequence from a floating point number to a fixed point number, the boundary judgment module is used to output an integer sequence after judging the converted fixed point number 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 original data module retrieves the original data sequence corresponding to the integer sequence from the original data pre-stored in the DDR memory;
[0012] Sin window value retrieval module, based on the decimal sequence and the built-in sin window table, obtains the sin window value sequence;
[0013] A division module, used for dividing the sin window value sequence by the decimal sequence to obtain a sinc window value sequence;
[0014] An illegal value processing module is used to set the sinc window value obtained when the value in the decimal sequence is zero to 1;
[0015] The multiplication-addition module calculates an interpolation result based on the original data sequence and the window 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 an azimuth coordinate generation 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 input initial coordinate value, Δ is the step value, N a _out distance output points, K X is a sequence of distance coordinate points.
[0020] Preferably, the second preset formula includes:
[0021]
[0022] Where v is the forward speed of the radar platform, H is the height, θ s is the oblique viewing angle, R0 is the imaging center distance, θ ref is the azimuth of the aperture center, f c is the current frequency, f τ is a constant, N a -out distance output 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] Divide the original data sequence into N segments, and store each segment in N BRAMs of the data retrieval module by column;
[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, and simultaneously obtains N adjacent original data sequences including the address.
[0029] The advantages of the present application include: The purpose of the present invention is to overcome the shortcomings of the prior art and provide a method for implementing sinc interpolation based on SOC. The SOC hardware and software collaborative design method is adopted, and the embedded processor is used for module configuration and azimuth coordinate value calculation, and the PL logic part is used for the retrieval of original data and sinc values and the calculation of interpolation results. Through time division multiplexing of the interpolation module, the interpolation processing of uniformly sampled interpolation to uniformly sampled range data, and the interpolation processing of uniformly sampled interpolation to non-uniformly sampled azimuth data are realized. It is used to complete the interpolation of range and azimuth data in SAR processing based on the PFA algorithm. BRIEF DESCRIPTION OF THE DRAWINGS
[0030] Figure 1This is a principle block diagram of a SOC architecture for implementing sinc interpolation in a preferred embodiment of the present application;
[0031] Figure 2 It is a sinc windowing comparison diagram of a preferred embodiment of the present application;
[0032] Figure 3 It is the block diagram of the raw data retrieval module;
[0033] Figure 4 This is the principle block diagram of the sin window value retrieval module. DETAILED DESCRIPTION
[0034] In order to make the technical solution and advantages of the present application clearer, the technical solution of the present application will be further described in detail in detail and in detail in conjunction with the accompanying drawings. It can be understood that the specific embodiments described here are only partial embodiments of the present application, which are only used to explain the present application, not to limit the present application. It should be noted that, for the convenience of description, only the parts related to the present application are shown in the accompanying drawings, and other related parts can refer to the general design. In the absence of conflict, the embodiments in the present application and the technical features in the embodiments can be combined with each other to obtain new embodiments.
[0035] As shown
[0036] The present application provides a SOC architecture for implementing sinc interpolation, including:
[0037] The embedded processor is connected to the coordinate input module through the parameter configuration module, and is used to configure the parameters of the coordinate input module into a distance interpolation processing mode or an azimuth interpolation processing mode;
[0038] A coordinate input module, comprising a range coordinate generation module, an azimuth coordinate input module, and a switch selection module; the switch selection module selects to connect the range coordinate generation module or the azimuth coordinate input module with the intermediate point coordinate output module based on the range interpolation processing mode or the azimuth interpolation processing mode, and both the range coordinate generation module and the azimuth coordinate input module generate a target point coordinate sequence;
[0039] An intermediate point coordinate output module, a floating-fixed conversion module, a boundary judgment module and a subtraction module; wherein the floating-fixed conversion module is used to convert the target point coordinate sequence from a floating point number to a fixed point number, the boundary judgment module is used to output an integer sequence after judging the converted fixed point number 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 original data module retrieves the original data sequence corresponding to the integer sequence from the original data pre-stored in the DDR memory;
[0041] Sin window value retrieval module, based on the decimal sequence and the built-in sin window table, obtains the sin window value sequence;
[0042] A division module, used for dividing the sin window value sequence by the decimal sequence to obtain a sinc window value sequence;
[0043] An illegal value processing module is used to set the sinc window value obtained when the value in the decimal sequence is zero to 1;
[0044] The multiplication-addition module calculates an interpolation result based on the original data sequence and the window 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 an azimuth coordinate generation 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 input initial coordinate value, Δ is the step value, N a _out distance output points, K X is a sequence of distance coordinate points.
[0049] Preferably, the second preset formula includes:
[0050]
[0051]
[0052] Where v is the forward speed of the radar platform, H is the height, θ s is the oblique viewing angle, R0 is the imaging center distance, θ ref is the azimuth of the aperture center, f c is the current frequency, f τ is a constant, N a _out distance output 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] Divide the original data sequence into N segments, and store each segment in N BRAMs of the data retrieval module by column;
[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, and simultaneously obtains N adjacent original data sequences including the address.
[0059] Based on the above SOC architecture for implementing sinc interpolation, a method for implementing sinc interpolation based on SOC is as follows:
[0060] Step 1: The embedded processor configures the parameters of the interpolation point coordinate input module through the standard AXI-lite protocol.
[0061] Step 2: If the current interpolation process is in the range direction, jump to step 2a; if the current interpolation process is in the azimuth direction, jump to step 2b.
[0062] Step 2a: In the data processing of a single line, the coordinate sequence is a monotonically increasing function. According to the formula K X =K1+(1:N a )*Δ, by inputting the initial coordinate K1 and the step value Δ, the distance coordinate sequence K is calculated X , where N a is the distance point number.
[0063] Step 2b: According to the following calculation formula, since the interpolation input coordinate axis t on the left side of the formula is distributed at equal intervals, 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 Shannon's sampling theorem. The forward speed of the radar platform is v, the height is H, and the oblique angle is θ s , R0 is the imaging center distance, and the azimuth angle of the aperture center is θ ref , f c is the current frequency, f τ It is a constant for each line.
[0064]
[0065] The embedded processor calculates t″ and t to obtain the azimuth coordinate sequence t.
[0066] Step 3: The coordinate value to be interpolated obtained in step 2 is passed through the floating conversion module to obtain the integer bit, and through the boundary judgment module, the coordinate value less than the lower limit is kept as the lower limit value, and the coordinate value greater than the upper limit is kept as the upper limit value, thereby obtaining the integer part of the coordinates of the current midpoint.
[0067] Step 4: Subtract the coordinate value to be interpolated 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 by column into N BRAMs of the data retrieval module.
[0069] Step 6: Input the integer part result of step 3 into the data retrieval module and use it as the address bit of the BRAM to retrieve the original data, and simultaneously obtain the adjacent N original data including the address.
[0070] Step 7, input the decimal part value of step 4 to the sin window value retrieval module, obtain the sin window value index of N adjacent points through N addition modules, and retrieve the sin window value in N BRAMs. Among them, the data stored in BRAM is the value of the sin function plus the Hamming window. The windowing formula is as follows.
[0071]
[0072] Step 8, divide the sin window value generated in step 7 by the decimal output to obtain the sinc window value.
[0073] Step 9: It can be seen from the formula that the value of the sinc windowed value at x=0 is 1. Therefore, when an illegal value is detected (the divisor is 0 in step 8) through the illegal value processing module, the result is forcibly set to 1.
[0074] Step 10, calculating the output of the sinc windowing interpolation module through the multiplication and addition module.
[0075] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any changes or substitutions that can be easily thought of by a person skilled in the art within the technical scope disclosed in the present application should be included in the protection scope of the present application. Therefore, the protection scope of the present application shall be based on the protection scope of the claims.
Claims
1. A SOC architecture for implementing sinc interpolation, characterized in that: include: The embedded processor is connected to the coordinate input module through the parameter configuration module, and is used to configure the parameters of the coordinate input module into a distance interpolation processing mode or an azimuth interpolation processing mode; A coordinate input module, comprising a range coordinate generation module, an azimuth coordinate input module, and a switch selection module; the switch selection module selects to connect the range coordinate generation module or the azimuth coordinate input module with the intermediate point coordinate output module based on the range interpolation processing mode or the azimuth interpolation processing mode, and both the range coordinate generation module and the azimuth coordinate input module generate a target point coordinate sequence; An intermediate point coordinate output module, a floating-fixed conversion module, a boundary judgment module and a subtraction module; wherein the floating-fixed conversion module is used to convert the target point coordinate sequence from a floating point number to a fixed point number, the boundary judgment module is used to output an integer sequence after judging the converted fixed point number 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 original data module retrieves the original data sequence corresponding to the integer sequence from the original data pre-stored in the DDR memory; Sin window value retrieval module, based on the decimal sequence and the built-in sin window table, obtains the sin window value sequence; A division module, used for dividing the sin window value sequence by the decimal sequence to obtain a sinc window value sequence; An illegal value processing module is used to set the sinc window value obtained when the value in the decimal sequence is zero to 1; The multiplication-addition module calculates an interpolation result based on the original data sequence and the window value sequence.
2. The SOC architecture for implementing sinc interpolation as claimed in claim 1, characterized in that: include: 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 an azimuth coordinate generation module according to a second preset formula.
3. The SOC architecture for implementing sinc interpolation as claimed 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 input initial coordinate value, Δ is the step value, N a- out distance output points, K X is a sequence of distance coordinate points.
4. The SOC architecture for implementing sinc interpolation as claimed in claim 2, characterized in that: The second preset formula includes: Where v is the forward speed of the radar platform, H is the height, θ s is the oblique viewing angle, R0 is the imaging center distance, θ ref is the azimuth of the aperture center, f c is the current frequency, f τ is a constant, N a- outNumber of output points in the distance direction, 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 claimed in claim 1, characterized in that: The sin window 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 claimed in claim 1, characterized in that: The specific method of retrieving the original data sequence corresponding to the integer sequence includes: Divide the original data sequence into N segments, and store each segment in N BRAMs of the data retrieval module by column; 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, and simultaneously obtains N adjacent original data sequences including the 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