# Electromagnetic Occlusion Algorithm Based on FPGA and Panel Grouping and Its Optimization

Authors: Junfeng Ge; Ning Li; Jianying Cao
Journal: Wireless Communications and Mobile Computing
 (2021)

---

## Abstract

With the development of digital signal processing and advanced algorithms, real-time signal processing based on FPGA and DSP is suitable for high-speed radar signal processing. With the rapid development of science and technology, war has entered the information age guided by high technology, and advanced science and technology has played a vital role in the trend of war. In recent years in the modern war, many countries invest a lot of research effort on the stealth technology, and advanced stealth technology can use a variety of technical means to alter or weaken the feature information of the target, confuse the enemy radar detection system effectively, reduce the chance of being detected to the largest extent, and prolong the lifecycle of aircraft and weapons. This research mainly discusses the electromagnetic occlusion algorithm and its optimization based on FPGA and panel grouping. The FPGA model selected for this study is XC6VLX240T-1FF1156I. Because the amount of data processed here is not very large, the cache part directly uses the on-chip storage resources of the FPGA, and the AD device is used to perform analog-to-digital/digital-to-analog conversion on the signal and perform digital up-down conversion. For a facet, it is necessary to first verify whether it is a bright facet and set the flag to mark it, then the facet needs to be occluded with the triangular facet marked as a bright facet, and all bright facets that have been marked need to be traversed. Open MP parallelization of the occlusion algorithm is as follows: The physical optics method is used to calculate the target RCS, and the focus of parallelism is placed on the part with a large amount of calculation. When using Open MP to design a program on a multicore computer, each group is assigned a thread to give full play to the core computing power. The total field is scattered and superimposed by each surface element. This part uses the parallel processing mode of Open MP, which allows the panel judgment in the group to be carried out at the same time. This part requires schedule to allocate resources and use different parallel mechanisms for different calculations to optimize debugging. In the angular range where there is multiple scattering at0°≤φ≤90°, the calculation results and the measurement results are in good agreement, and when the two planes are simulated with 1820 triangular faces, the fast multiple scattering in this paper only needs 4 minutes. This research has realized the general radar signal processing method based on FPGA structure, and the design has important engineering realization significance.


---

## Body

## 1. Introduction

The space target detection radar has basic functions such as measuring the distance, azimuth, elevation angle, and speed of the target. The complex system can also image the target and detect the target motion trajectory and other target-related information. In the process of development and design, the testing of the above-mentioned performance and indicators of space detection radar is a very important link. Computational electromagnetics takes the in-depth research and algorithm discovery of radar cross-section as a hot field. Scientific research scholars have important significance in the research of radar cross-section. Increasing or decreasing the characteristic value to control the radar characteristics of one’s own combat units is as follows: increase the radar cross-section of a unit target, which can be used for rapid positioning of aerial target aircraft; reduce the radar of unit target cross-section which can confuse the enemy’s detection system and improve the target’s life cycle.The basic principle and structure of DDS determine that its realization relies on high-speed, high-performance digital components. Digital programmable logic devices represented by FPGA, etc., benefit from their fast operating frequency, repeatable programming, and powerful electronic design automation software support. They are very suitable for realizing the digital part of DDS. Bin group coding is a strong correlation between adjacent pixels based on images, which can be predicted by pixel values in front of the current pixel values, and the prediction error can be obtained through the actual value minus the prediction to the prediction error of single symbol directly office code or to quantify the prediction error for entropy coding which is a kind of coding way, used to remove the spatial redundancy.Wavelet transform is a modern spectrum analysis tool. It is a local transform of space and frequency. It can extract signals and analyze local signals more effectively. Domain features, known as mathematics microscopes, are powerful tools for image multiresolution analysis and representation. In the field of image compression, DWT can concentrate the signal into a few coefficients more effectively than DCT. With the development of radar detection technology, electromagnetic scattering from random rough surfaces has gradually attracted people’s attention. Nabi believes that compiler technology must evolve into an automatically optimized application by converting a given original program. He developed a new method of type conversion based on the functional description of a given scientific kernel to generate correct structural design variants. He discussed how to use the roofline model in conjunction with an optimizing compiler; the purpose is to quickly obtain an accurate performance estimate from the design representation of the custom intermediate language. Although his cost model is more accurate, it lacks a certain degree of innovation [1]. Kumar and Bikshalu believe that cognitive radio (conceptive radio (CR)) is generally a wireless communication system that can increase the capacity of the network system. This kind of spectrum sensing supports cognitive radio users to adapt to the environment by identifying blank/vacant spaces without causing any interference to the main user’s communication. Traditional spectrum sensing filters such as finite impulse response (FIR) filters and median filters have achieved high area utilization in cognitive radio. In order to overcome this problem, he proposed a FIR-based adaptive absolute score (AAS) technology to improve the sensing function and radio sensitivity. In the design of FIR, he used the Wallace tree multiplier (WTM) and Ladner-Fischer adder (LFA) to increase the area and frequency of AAS. The spectral sensing architecture he proposed is named AAS-WTM-LFA. This AAS-WTM-LFA architecture was developed in the Xilinx tools for different Virtex devices. The performance of AAS-WTM-LFA is analyzed from the aspects of LUT, slice, trigger, bonding input and output block, frequency, and power. In addition, he also analyzed the signal quality after AAS-WTM-LFA structure processing, including bit error rate (BER) and false reception rate (FAR). Although his research content is relatively comprehensive, the accuracy is insufficient [2]. Zhou et al. believe that although the qualitative and quantitative evaluation of the electromagnetic shielding performance of braided shielded power cables uses a variety of measurement techniques, due to factors such as ground loop effects and dynamic range issues in the measurement, the existing measurement methods cannot directly evaluate the low-frequency shielding performance (usually less than 100 kHz). In order to solve this problem, he proposed an improved shielding-reduction coefficient method, which is based on gain (T/R) instead of scattering parameters and is used to evaluate the shielding performance of braided shielded power cables in the range of 25 Hz to 1 mHz. In this work, he emphasized the implementation of measuring devices to avoid the influence of ground loops and stray electromagnetic fields. At the same time, according to the definition of shielding-reduction factor, he simplified the test unit to obtain the gain (T/R) parameter and used this parameter to calculate the transmission impedance. Although his method is more effective, the specific experimental content is too few [3]. Zhu et al. proposed a real-time simulation method of cascaded static synchronous compensator (STATCOM) based on field programmable gate array (FPGA). In order to improve the fidelity of the small time step simulation, with the help of external circuit voltage calculation and comparison logic, the dead time period can be covered and the accuracy of model simulation can be improved. Taking into account hardware resource consumption and simulation steps, his model implementation uses a series-parallel combination design and deep pipeline technology. Although his method is relatively novel, it lacks necessary experimental data [4].Stealth technology does not mean that the target is invisible, but it makes the target’s return to the radar as small as possible so as not to be detected by the radar. Over the years, with the development of RCS analysis and prediction technology, the analysis target has expanded from small components to targets with complex structures and different sizes, which has put forward higher requirements and challenges for its computing capabilities, which also supervises scientific research in related fields. The personnel improve the algorithm level and programming ability and strive to catch up with the international advanced level.Full play is given to the advantages of multicore computer hardware, Open MP is used, parallel algorithms are combined with physical optics algorithms, and the speed of calculating the target radar cross-section through rigorous and reasonable program design is improved. The calculation program is optimized at the algorithm software level and the hardware level for multicore utilization, and the speedup and parallel efficiency are verified. The RCS calculation results of the complex model are given, and the results are almost the same as the software simulation results, which can be used as a reference in the research field of the physical optics method of the radar cross-section of the electrically large target. The FPGA model selected for this study is XC6VLX240T-1FF1156I. Because the amount of data processed here is not very large, the cache part directly uses the on-chip storage resources of the FPGA, and the AD device is used to perform analog-to-digital/digital-to-analog conversion on the signal and perform digital up-down conversion. Processing was waited for. For a facet, it is necessary to first verify whether it is a bright facet (which can be illuminated by the incident wave), the flag is set to mark it, and then the facet needs to be occluded with the triangular facet marked as a bright facet and needs to be traversed all bright facets that have been marked. Open MP parallelization of the occlusion algorithm is as follows: The physical optics method is used to calculate the target RCS, and the focus of parallelism is placed on the part with a large amount of calculation. When using Open MP to design a program on a multicore computer, each group is assigned a thread to give full play to the core computing power. The total field is scattered and superimposed by each surface element. This part uses the parallel processing mode of Open MP, which allows the panel judgment in the group to be carried out at the same time. This part requires schedule to allocate resources and uses different parallel mechanisms for different calculations to optimize debugging. This research has realized the general radar signal processing method based on FPGA structure, and the design has important engineering realization significance.


## 2. Electromagnetic Occlusion Algorithm

### 2.1. FPGA

Generally speaking, in FPGA design, there are two methods: top-down design and bottom-up design. The top-down design method is generally suitable for relatively large-scale system design. First, divide the system module, divide the system module into each submodule, and then continue to divide the submodule into the next level of submodules until the designer can easily implement the submodules. So far, the system designed in this way has high program readability, high logic synthesis efficiency, and good program portability. Without phase truncation, the output phase sequence of the phase accumulatorYn is as follows[5, 6]:
(1)Yn=MODnK,2N.In the formula,MODnK,2N represents the remainder operation of nK to 2N. After phase truncation, the output phase sequence YAn of the phase accumulator is as follows[7]:
(2)YAn=Yn−MODYn,2B=MODnK,2N−MODnK,2B.


### 2.2. Panel Grouping

Thanks to the high integration of FPGA, the digital module of DDS can be integrated as a subsystem and loaded into the same FPGA chip, realizing the system-on-chip that is popular in academia and industry today, reducing the chips required for the entire system, thereby greatly reducing the area and power consumption of the printed circuit board in the actual product, and further improving the reliability of the system. The definition of radar cross-section is based on the concept of isotropic scattering far field of the target under plane wave illumination, it is assumed that the target is equivalent to a point scatterer, and the scattering power density is used as the scattering fieldE⟶S; the radar cross-section can be expressed as follows [8]:
(3)σ=4πlimR⟶∞R2E⟶S2E⟶I2.Physical optics expression of RCS square root is as follows [9, 10]:
(4)σ=ikπ∫sn^⋅e^r×h^iexpikr′⟶⋅i^−s^dS′,where k=2π/λ is the free space wave number, n^ is the normal vector pointing to the source side, r′⟶ is the position vector, and i^ and s^ are the direction vectors of the incident and reflected waves [11]. The initial sampling point set obtained by three-dimensional scanning only records the spatial three-dimensional coordinates of each sampling point, and there is no connection relationship; in addition, in some three-dimensional point cloud data obtained by other methods, such as volume data extraction and implicit function sampling, it may not be possible to know the normal vector of the sampling point in advance. Therefore, solving the normal vector is the first step in processing point set data [12, 13]. The division of the large- and small-scale spectrum is defined according to the truncated wave number kc. For the large-scale part of the gravity spectrum, the low-frequency part of the unilateral ELH spectrum is selected, and its form can be expressed as follows [14]:
(5)SKAk=0,k>kcSk,k≤kc.


### 2.3. Electromagnetic Occlusion Algorithm

The effect of positive and negative electron pairs is shown in Figure1. If the whole machine debugging and performance appraisal of the radar adopts field test, real targets (such as rockets and satellites) are used to provide test signals to the radar, financial, and material resources and increase the development cost. When the energy of the incident ray photon exceeds 1.02 MeV (equivalent to 2 times the rest mass of the electron), there will be a positive-negative electron pair effect, that is, the incident high-energy photon forms a positive-negative electron pair in the Coulomb field of the material nucleus with the energy equal to the incident photon energy [15, 16].Figure 1
Positive and negative electron pair effect.The incident ray photon energyEγ must satisfy the following [17]:
(6)hv=Ee++Ee−+2mc2.In the formula,Ee+ and Ee− are the kinetic energy of the positive and negative electron pair [18, 19]. In addition, according to the principle of conservation of momentum, the recoil energy of an atomic nucleus whose mass is greater than the mass of an electron can be almost negligible in the process of generating positive and negative electron pairs [20]. Suppose the plane wave is incident on a rough surface, and the incident surface is assumed to be in the x−z plane, so φi=0. The electric and magnetic fields of the incident wave are, respectively, as follows [21, 22]:
(7)Ei=p^E0expiki⋅r,Hi=k^i×Ei/η1.Among them,ki=k^ik1=x^k1x+y^k1y+z^k1z and k1=ωμ1ε1 are the spatial wave numbers, k^i is the wave vector of the incident wave, p^ is the unit polarization vector of the incident wave, E0 is the amplitude of the incident electric field, and η1=μ1ε1 is the wave impedance in the half space on the rough surface. For any two-dimensional rough sea surface where the height and slope of the rough surface are not correlated, the occlusion function in the case of backscattering can usually be expressed as follows [23]:
(8)Sv=Λ′×1Λ+1.Among them(9)Λ′=1−erfcv2,Λ=exp−v2−vπerfcv2vπ,v=cotθi2×α1+β1cos2φ.Suppose the induced current on the surface of the conductor under the excitation of the incident electric field isJr′; then the scattered electric field excited by the induced current at any point outside the conductor is as follows [24]:
(10)ESr=−jωAr−∇ϕr.In the formula,Ar is the magnetic vector potential, and ϕr is the electric scalar potential. According to the electromagnetic field theory, the far field can be obtained from the near field by the following formula [25]:
(11)E⟶=−jωA⟶−∇φ−1ε∇×A⟶εH⟶=−jωA⟶ε−∇φm+1μ∇×A⟶.Among them,A⟶ represents the vector magnetic potential, A⟶ε represents the vector potential, φm represents the scalar magnetic potential, and φ represents the scalar potential [26].


## 2.1. FPGA

Generally speaking, in FPGA design, there are two methods: top-down design and bottom-up design. The top-down design method is generally suitable for relatively large-scale system design. First, divide the system module, divide the system module into each submodule, and then continue to divide the submodule into the next level of submodules until the designer can easily implement the submodules. So far, the system designed in this way has high program readability, high logic synthesis efficiency, and good program portability. Without phase truncation, the output phase sequence of the phase accumulatorYn is as follows[5, 6]:
(1)Yn=MODnK,2N.In the formula,MODnK,2N represents the remainder operation of nK to 2N. After phase truncation, the output phase sequence YAn of the phase accumulator is as follows[7]:
(2)YAn=Yn−MODYn,2B=MODnK,2N−MODnK,2B.


## 2.2. Panel Grouping

Thanks to the high integration of FPGA, the digital module of DDS can be integrated as a subsystem and loaded into the same FPGA chip, realizing the system-on-chip that is popular in academia and industry today, reducing the chips required for the entire system, thereby greatly reducing the area and power consumption of the printed circuit board in the actual product, and further improving the reliability of the system. The definition of radar cross-section is based on the concept of isotropic scattering far field of the target under plane wave illumination, it is assumed that the target is equivalent to a point scatterer, and the scattering power density is used as the scattering fieldE⟶S; the radar cross-section can be expressed as follows [8]:
(3)σ=4πlimR⟶∞R2E⟶S2E⟶I2.Physical optics expression of RCS square root is as follows [9, 10]:
(4)σ=ikπ∫sn^⋅e^r×h^iexpikr′⟶⋅i^−s^dS′,where k=2π/λ is the free space wave number, n^ is the normal vector pointing to the source side, r′⟶ is the position vector, and i^ and s^ are the direction vectors of the incident and reflected waves [11]. The initial sampling point set obtained by three-dimensional scanning only records the spatial three-dimensional coordinates of each sampling point, and there is no connection relationship; in addition, in some three-dimensional point cloud data obtained by other methods, such as volume data extraction and implicit function sampling, it may not be possible to know the normal vector of the sampling point in advance. Therefore, solving the normal vector is the first step in processing point set data [12, 13]. The division of the large- and small-scale spectrum is defined according to the truncated wave number kc. For the large-scale part of the gravity spectrum, the low-frequency part of the unilateral ELH spectrum is selected, and its form can be expressed as follows [14]:
(5)SKAk=0,k>kcSk,k≤kc.


## 2.3. Electromagnetic Occlusion Algorithm

The effect of positive and negative electron pairs is shown in Figure1. If the whole machine debugging and performance appraisal of the radar adopts field test, real targets (such as rockets and satellites) are used to provide test signals to the radar, financial, and material resources and increase the development cost. When the energy of the incident ray photon exceeds 1.02 MeV (equivalent to 2 times the rest mass of the electron), there will be a positive-negative electron pair effect, that is, the incident high-energy photon forms a positive-negative electron pair in the Coulomb field of the material nucleus with the energy equal to the incident photon energy [15, 16].Figure 1
Positive and negative electron pair effect.The incident ray photon energyEγ must satisfy the following [17]:
(6)hv=Ee++Ee−+2mc2.In the formula,Ee+ and Ee− are the kinetic energy of the positive and negative electron pair [18, 19]. In addition, according to the principle of conservation of momentum, the recoil energy of an atomic nucleus whose mass is greater than the mass of an electron can be almost negligible in the process of generating positive and negative electron pairs [20]. Suppose the plane wave is incident on a rough surface, and the incident surface is assumed to be in the x−z plane, so φi=0. The electric and magnetic fields of the incident wave are, respectively, as follows [21, 22]:
(7)Ei=p^E0expiki⋅r,Hi=k^i×Ei/η1.Among them,ki=k^ik1=x^k1x+y^k1y+z^k1z and k1=ωμ1ε1 are the spatial wave numbers, k^i is the wave vector of the incident wave, p^ is the unit polarization vector of the incident wave, E0 is the amplitude of the incident electric field, and η1=μ1ε1 is the wave impedance in the half space on the rough surface. For any two-dimensional rough sea surface where the height and slope of the rough surface are not correlated, the occlusion function in the case of backscattering can usually be expressed as follows [23]:
(8)Sv=Λ′×1Λ+1.Among them(9)Λ′=1−erfcv2,Λ=exp−v2−vπerfcv2vπ,v=cotθi2×α1+β1cos2φ.Suppose the induced current on the surface of the conductor under the excitation of the incident electric field isJr′; then the scattered electric field excited by the induced current at any point outside the conductor is as follows [24]:
(10)ESr=−jωAr−∇ϕr.In the formula,Ar is the magnetic vector potential, and ϕr is the electric scalar potential. According to the electromagnetic field theory, the far field can be obtained from the near field by the following formula [25]:
(11)E⟶=−jωA⟶−∇φ−1ε∇×A⟶εH⟶=−jωA⟶ε−∇φm+1μ∇×A⟶.Among them,A⟶ represents the vector magnetic potential, A⟶ε represents the vector potential, φm represents the scalar magnetic potential, and φ represents the scalar potential [26].


## 3. Electromagnetic Occlusion Algorithm and Its Optimization Experiment

### 3.1. Improved Occlusion Judgment Algorithm

This paper adopts a grouping judgment algorithm. The core is to group facets. When performing occlusion judgment, only the comparison judgment within the group is performed, which reduces the amount of calculation and ensures the accuracy.


#### 3.1.1. Discretization of Target Model

The target is discretized into triangular facets, and the smooth surface is composed of a large number of triangular approximations. When calculating the radar cross-section, the surface element of the shadow area does not contribute to the calculation of the radar cross-section, so it is ignored, and only the surface element of the illuminated area is used. In the direction, the normal vector of the panel and the incident electromagnetic wave are at an obtuse angle, which is the panel that can be hit by the incident wave. As for the purpose of determining the target mesh score, intuitively speaking, the finer the mesh, the better, but it brings an increase in the amount of calculation. When the number of facets differs by an order of magnitude, the difference in the calculation of the radar cross-section will reach several orders of magnitude. We usually control the mesh density at 15-20 grids per wavelength, so that the accuracy requirements are met. With the help of the CAD software or 3DMax, CATIA, and other modeling software, the target object can be accurately modeled. Using its subdivision function, the target can be intelligently discretized into triangular facets.


#### 3.1.2. Self-Occlusion Judgment and Mutual Occlusion Judgment

The self-occlusion judgment is to judge whether the panel faces the direction of the incident wave. In addition to the self-occlusion judgment, the mutual occlusion judgment of the face elements is also required. To judge whether face element B is blocked by face element A, two triangular facets are first projected onto a plane perpendicular to the incident light, and then whether the two triangles on the projection surface intersect is judged. If there is no intersection, it means that the panel is not directly occluded. If it does, the depth of field of panel A and panel B is judged, that is, which of the two panels is close to the incident point, panel A is in front of panel B, indicating face element B is blocked by face element A, and vice versa.


#### 3.1.3. Judging the Optimization of Triangle Intersection Algorithm

Then, the center of gravity of the program calculation is shifted to determining whether the two triangles on the plane intersect. The traditional judgment method is as follows: two triangles have intersecting sides, or the vertices of one triangle are located inside the other triangle. According to statistics, the traditional calculation amount for judging the intersection of two triangles is 216 times of multiplications, 216 times of additions, and 118 sign judgments. The following introduces the principle of determining the disjointness of two triangles to reduce the number of operations such as program multiplication and improve efficiency.If the area of the two triangles is not separated by this line, and the two triangles are on the opposite side of the line, then it is called two triangles on the opposite side of the line. The necessary and sufficient condition for the disjointness of two triangles is as follows: two triangles on the plane do not intersect if and only if there is at least one side among all the sides of the two triangles, and the two triangles are located on the opposite side of the line on which this side is located.


### 3.2. FPGA Design

FPGA has a high level of integration, can complete complex circuit design, and is low in price, with strong computing power. The FPGA model selected here is XC6VLX240T-1FF1156I. The main resources in the FPGA include its internal resources, as shown in Table1.Table 1
Internal resources.
Logic cells241,152Slices (logic slices)37,680Max distributed RAM (kb) (max distributed RAM)3650DSP48E1 slices (DSP48E1 slices)768MMCMs (clock management)12Ethernet MACs (Ethernet MAC)4Total I/O banks (total I/O banks)18Max user I/O (max user input and output)720The FPGA signal processing hardware structure based on the target RCS measurement is shown in Figure2. Because the amount of data processed here is not very large, the cache part directly uses the on-chip storage resources of the FPGA, the flash memory (FLASH) is used to store the Verilog code, and the AD device is used to perform analog-to-digital/digital-to-analog conversion on the signal and perform digital up-down conversion. Finally, the AD9361 chip produced by ADI is selected. AD9361 is a high-performance and highly integrated radio frequency (RF) agile transceiver for 3G and 4G base station applications.Figure 2
FPGA signal processing hardware structure based on target RCS measurement.


### 3.3. Occlusion Comparison Group Optimization

For a facet, it is necessary to first verify whether it is a bright facet (which can be illuminated by the incident wave) and set the flag to mark it, and then the facet needs to be occluded with the triangular facet marked as a bright facet and needs to be traversed. All bright facets have been marked. For the actual situation, most of the occlusion comparisons are on triangular facets that are very far away, which is an unnecessary comparison behavior. Therefore, the grouping mechanism is introduced to remove these comparisons in the program. According to the actual target bin analysis, for a bin, the number of bins superimposed on it is generally less than fifteen. The idea of grouping is introduced to avoid occlusion judgments with bins with a long projection distance, and only close to the group. Judgment can greatly reduce the amount of calculation. A projection plane far away from the target is selected, and then a suitable rectangular area is taken on the plane. The area of the rectangular entrance surface is S, and all the facets are enclosed. The bright face elements whose projections intersect with the same mouth face element are grouped into a group. There will be such a situation where the same face element participates in multiple square entrance faces, so a face element may belong to different groups. For occlusion judgment of a face element, the face elements traversed for comparison are limited to the group.


### 3.4. Use Open MP Optimization Algorithm

Open MP is a multiprocessor, multithreaded parallel programming language for shared memory and distributed shared memory. Open MP is an application programming interface that can be used to display and guide multithreading and shared memory in parallel.Open MP parallelization of the occlusion algorithm is as follows: The physical optics method is used to calculate the target RCS, and the focus of parallelism is placed on the part with a large amount of calculation. It can be known that in the physical optics method, the occlusion judgment calculation accounts for a very large proportion, and thanks to the discrete type of physical optics calculation, this part can be processed in parallel. The parallel thinking is as follows: the target is modeled by triangular facets; thanks to the grouping algorithm, the amount of calculation within each group is not much different, so this part is parallelized. Reasonable load balancing, for example, 10,000 facets are divided into 100 groups; then in the for loop statement, the dynamic keyword can be used to dynamically allocate computing tasks, and the built-in mechanism of Open MP is used to handle load balancing between different threads. For the occlusion judgment in each group, this part can also use parallel acceleration. One of the advantages of the physical optics method is that the scattering between each surface element is independent of each other, and there is no connection. The total field is scattered and superimposed by each surface element. This part uses Open MP’s parallel for processing mode, which allows the panel judgment in the group to proceed at the same time. This part requires schedule to allocate resources and uses different parallel mechanisms for different calculations to optimize debugging.In parallel programming, two methods, grouping parallel and intragroup paralleling, are used to store the vertex coordinates, face number, and other data of the model after the CATIA software dissection and the simulation setting data as common variables in the shared storage space. Therefore, the calculation process of the parallel physical optics method based on Open MP mainly has the following steps:(1)
The main thread sets static variables(2)
The main thread reads the face metadata file, including the number and coordinates(3)
Reasonably allocate tasks to the CPU core to achieve load balance(4)
In Fork-Join mode, the derived child threads perform calculations(5)
After all the calculations of each thread are completed, the main thread collects the calculation results, performs the final processing, and outputs the results.


## 3.1. Improved Occlusion Judgment Algorithm

This paper adopts a grouping judgment algorithm. The core is to group facets. When performing occlusion judgment, only the comparison judgment within the group is performed, which reduces the amount of calculation and ensures the accuracy.


### 3.1.1. Discretization of Target Model

The target is discretized into triangular facets, and the smooth surface is composed of a large number of triangular approximations. When calculating the radar cross-section, the surface element of the shadow area does not contribute to the calculation of the radar cross-section, so it is ignored, and only the surface element of the illuminated area is used. In the direction, the normal vector of the panel and the incident electromagnetic wave are at an obtuse angle, which is the panel that can be hit by the incident wave. As for the purpose of determining the target mesh score, intuitively speaking, the finer the mesh, the better, but it brings an increase in the amount of calculation. When the number of facets differs by an order of magnitude, the difference in the calculation of the radar cross-section will reach several orders of magnitude. We usually control the mesh density at 15-20 grids per wavelength, so that the accuracy requirements are met. With the help of the CAD software or 3DMax, CATIA, and other modeling software, the target object can be accurately modeled. Using its subdivision function, the target can be intelligently discretized into triangular facets.


### 3.1.2. Self-Occlusion Judgment and Mutual Occlusion Judgment

The self-occlusion judgment is to judge whether the panel faces the direction of the incident wave. In addition to the self-occlusion judgment, the mutual occlusion judgment of the face elements is also required. To judge whether face element B is blocked by face element A, two triangular facets are first projected onto a plane perpendicular to the incident light, and then whether the two triangles on the projection surface intersect is judged. If there is no intersection, it means that the panel is not directly occluded. If it does, the depth of field of panel A and panel B is judged, that is, which of the two panels is close to the incident point, panel A is in front of panel B, indicating face element B is blocked by face element A, and vice versa.


### 3.1.3. Judging the Optimization of Triangle Intersection Algorithm

Then, the center of gravity of the program calculation is shifted to determining whether the two triangles on the plane intersect. The traditional judgment method is as follows: two triangles have intersecting sides, or the vertices of one triangle are located inside the other triangle. According to statistics, the traditional calculation amount for judging the intersection of two triangles is 216 times of multiplications, 216 times of additions, and 118 sign judgments. The following introduces the principle of determining the disjointness of two triangles to reduce the number of operations such as program multiplication and improve efficiency.If the area of the two triangles is not separated by this line, and the two triangles are on the opposite side of the line, then it is called two triangles on the opposite side of the line. The necessary and sufficient condition for the disjointness of two triangles is as follows: two triangles on the plane do not intersect if and only if there is at least one side among all the sides of the two triangles, and the two triangles are located on the opposite side of the line on which this side is located.


## 3.1.1. Discretization of Target Model

The target is discretized into triangular facets, and the smooth surface is composed of a large number of triangular approximations. When calculating the radar cross-section, the surface element of the shadow area does not contribute to the calculation of the radar cross-section, so it is ignored, and only the surface element of the illuminated area is used. In the direction, the normal vector of the panel and the incident electromagnetic wave are at an obtuse angle, which is the panel that can be hit by the incident wave. As for the purpose of determining the target mesh score, intuitively speaking, the finer the mesh, the better, but it brings an increase in the amount of calculation. When the number of facets differs by an order of magnitude, the difference in the calculation of the radar cross-section will reach several orders of magnitude. We usually control the mesh density at 15-20 grids per wavelength, so that the accuracy requirements are met. With the help of the CAD software or 3DMax, CATIA, and other modeling software, the target object can be accurately modeled. Using its subdivision function, the target can be intelligently discretized into triangular facets.


## 3.1.2. Self-Occlusion Judgment and Mutual Occlusion Judgment

The self-occlusion judgment is to judge whether the panel faces the direction of the incident wave. In addition to the self-occlusion judgment, the mutual occlusion judgment of the face elements is also required. To judge whether face element B is blocked by face element A, two triangular facets are first projected onto a plane perpendicular to the incident light, and then whether the two triangles on the projection surface intersect is judged. If there is no intersection, it means that the panel is not directly occluded. If it does, the depth of field of panel A and panel B is judged, that is, which of the two panels is close to the incident point, panel A is in front of panel B, indicating face element B is blocked by face element A, and vice versa.


## 3.1.3. Judging the Optimization of Triangle Intersection Algorithm

Then, the center of gravity of the program calculation is shifted to determining whether the two triangles on the plane intersect. The traditional judgment method is as follows: two triangles have intersecting sides, or the vertices of one triangle are located inside the other triangle. According to statistics, the traditional calculation amount for judging the intersection of two triangles is 216 times of multiplications, 216 times of additions, and 118 sign judgments. The following introduces the principle of determining the disjointness of two triangles to reduce the number of operations such as program multiplication and improve efficiency.If the area of the two triangles is not separated by this line, and the two triangles are on the opposite side of the line, then it is called two triangles on the opposite side of the line. The necessary and sufficient condition for the disjointness of two triangles is as follows: two triangles on the plane do not intersect if and only if there is at least one side among all the sides of the two triangles, and the two triangles are located on the opposite side of the line on which this side is located.


## 3.2. FPGA Design

FPGA has a high level of integration, can complete complex circuit design, and is low in price, with strong computing power. The FPGA model selected here is XC6VLX240T-1FF1156I. The main resources in the FPGA include its internal resources, as shown in Table1.Table 1
Internal resources.
Logic cells241,152Slices (logic slices)37,680Max distributed RAM (kb) (max distributed RAM)3650DSP48E1 slices (DSP48E1 slices)768MMCMs (clock management)12Ethernet MACs (Ethernet MAC)4Total I/O banks (total I/O banks)18Max user I/O (max user input and output)720The FPGA signal processing hardware structure based on the target RCS measurement is shown in Figure2. Because the amount of data processed here is not very large, the cache part directly uses the on-chip storage resources of the FPGA, the flash memory (FLASH) is used to store the Verilog code, and the AD device is used to perform analog-to-digital/digital-to-analog conversion on the signal and perform digital up-down conversion. Finally, the AD9361 chip produced by ADI is selected. AD9361 is a high-performance and highly integrated radio frequency (RF) agile transceiver for 3G and 4G base station applications.Figure 2
FPGA signal processing hardware structure based on target RCS measurement.


## 3.3. Occlusion Comparison Group Optimization

For a facet, it is necessary to first verify whether it is a bright facet (which can be illuminated by the incident wave) and set the flag to mark it, and then the facet needs to be occluded with the triangular facet marked as a bright facet and needs to be traversed. All bright facets have been marked. For the actual situation, most of the occlusion comparisons are on triangular facets that are very far away, which is an unnecessary comparison behavior. Therefore, the grouping mechanism is introduced to remove these comparisons in the program. According to the actual target bin analysis, for a bin, the number of bins superimposed on it is generally less than fifteen. The idea of grouping is introduced to avoid occlusion judgments with bins with a long projection distance, and only close to the group. Judgment can greatly reduce the amount of calculation. A projection plane far away from the target is selected, and then a suitable rectangular area is taken on the plane. The area of the rectangular entrance surface is S, and all the facets are enclosed. The bright face elements whose projections intersect with the same mouth face element are grouped into a group. There will be such a situation where the same face element participates in multiple square entrance faces, so a face element may belong to different groups. For occlusion judgment of a face element, the face elements traversed for comparison are limited to the group.


## 3.4. Use Open MP Optimization Algorithm

Open MP is a multiprocessor, multithreaded parallel programming language for shared memory and distributed shared memory. Open MP is an application programming interface that can be used to display and guide multithreading and shared memory in parallel.Open MP parallelization of the occlusion algorithm is as follows: The physical optics method is used to calculate the target RCS, and the focus of parallelism is placed on the part with a large amount of calculation. It can be known that in the physical optics method, the occlusion judgment calculation accounts for a very large proportion, and thanks to the discrete type of physical optics calculation, this part can be processed in parallel. The parallel thinking is as follows: the target is modeled by triangular facets; thanks to the grouping algorithm, the amount of calculation within each group is not much different, so this part is parallelized. Reasonable load balancing, for example, 10,000 facets are divided into 100 groups; then in the for loop statement, the dynamic keyword can be used to dynamically allocate computing tasks, and the built-in mechanism of Open MP is used to handle load balancing between different threads. For the occlusion judgment in each group, this part can also use parallel acceleration. One of the advantages of the physical optics method is that the scattering between each surface element is independent of each other, and there is no connection. The total field is scattered and superimposed by each surface element. This part uses Open MP’s parallel for processing mode, which allows the panel judgment in the group to proceed at the same time. This part requires schedule to allocate resources and uses different parallel mechanisms for different calculations to optimize debugging.In parallel programming, two methods, grouping parallel and intragroup paralleling, are used to store the vertex coordinates, face number, and other data of the model after the CATIA software dissection and the simulation setting data as common variables in the shared storage space. Therefore, the calculation process of the parallel physical optics method based on Open MP mainly has the following steps:(1)
The main thread sets static variables(2)
The main thread reads the face metadata file, including the number and coordinates(3)
Reasonably allocate tasks to the CPU core to achieve load balance(4)
In Fork-Join mode, the derived child threads perform calculations(5)
After all the calculations of each thread are completed, the main thread collects the calculation results, performs the final processing, and outputs the results.


## 4. Results and Discussion

It can be seen that the improved algorithm has reduced the amount of program calculations by an order of magnitude. This section does not seem to have high complexity, but for the algorithm program of this paper, especially the number of facets of the model segmentation is very large (100,000 to million), speed increase brought by it is very significant. The comparison of the triangle intersection judgment algorithm is shown in Table2.Table 2
Comparison of triangle intersection judgment algorithms.
Measure to judgeNumber of multiplicationsNumber of additionsSymbol comparison timesTraditional method216216118Ways to improve484824To simulate the traditional and improved methods in Table2, use the time command in Linux to count the execution time of the command. The hardware environment is as follows: Ubuntu 12.0464 bit, 521 M memory, 20 GSSD. In the simulation cloud, it is calculated as one million, ten million, and one hundred million. The comparison of the two methods is shown in Table 3.Table 3
Comparison of the two methods in the simulation of cloud calculation as one million, ten million, and one hundred million.
Number of operationsMillionMillions of timesBillion timesTraditional method0.951 s9. 490 s110.534 sWays to improve0.218 s1.949 s22.414 sFor the program example in this paper, the program is written in C language. When the file is read, the triangular face dat file is divided, and the output is the RCS value corresponding to the angle. In order to facilitate the intuitive description, the generated result is drawn. The resulting result is shown in Figure3.Figure 3
Generated result.The parallel optimization algorithm was tested, and the sphere and the aircraft model were compared longitudinally. The triangulation software was used to divide the triangle with different strengths, and the speedup and parallel efficiency were tested with dual threads. The test hardware environment is as follows: CPU: i5-2450, memory: 4 GB DDR3, graphics card: GT 630, and operating system: Ubuntu 12.04 32 bit. The evaluation results of the speedup ratio are shown in Table4.Table 4
Evaluation results of speedup.
ModelModel 1Model 2Model 3Number of facets283812,54634,970Serial calculation time1.98 s18.07 s33.27Parallel running time1.29 s9.81 s18.22Speedup ratio1.531.841.82The target model is opening two threads and four threads, and the test results are shown in Table5. It can be seen that after the parallel optimization, the computational efficiency of the target model RCS has been significantly improved, giving full play to the core advantages of multicore computers, spanning the computer field and the field of computational electromagnetics, and the combination of advantages in this cross-field is for computational electromagnetics. The new direction is a step forward.Table 5
The model is opening two threads and four threads, and the test results.
ModelDual thread parallelFour threads are parallelSerial calculation time180.08 s152.67Parallel running time96.81 s43.62Speedup ratio1.83.5The size of the square ideal conductor plate in the YOZ plane is5meters×5meters. The RCS calculation range is θ=90°, 0°≤φ≤360°. The RCS calculation result is shown in Figure 4. The peak value of the calculated result is 38.95082 dBsm, and the peak value of the theoretical result is 38.9509 dBsm. The calculated result is in good agreement with the theoretical value. In addition, because the physical optics method has nothing to do with the polarization, it can be predicted that the horizontal polarization RCS estimated by the physical optics method will be consistent with the vertical polarization. Therefore, the horizontal polarization RCS result graph is not given here.Figure 4
RCS calculation results.The RCS calculation result of the quadrangular pyramid model is shown in Figure5. For a quadrangular pyramid frustum model, the side lengths of the upper and lower bottom surfaces of the frustum are 2 m and 1 m, respectively, the height of the frustum is 1 m, the incident wave frequency is 1.2 GHz, horizontal polarization, and the receiving antenna is the same polarization. The RCS calculation range is φ=90°, 0°≤θ≤360°. The comparison between the RCS calculation result using the improved occlusion algorithm and the simulation result of the commercial software FEKO is shown. It can be seen from the figure that the two agree very well.Figure 5
RCS calculation results of the quadrangular pyramid model.The radar cross-section (RCS) results of the round table and cube combined model are shown in Figure6. The size of the model is as follows: the radii of the upper and lower bottom surfaces of the round table are 0.5 m and 1.0 m, respectively, and the height is 1.0 m. The length, width, and height of the cube are 2.4 m, 2.4 m, and 0.25 m, respectively. Calculate φ=90°. Cross-section single-station RCS. It can be seen from Figure 6 that the calculation results obtained by applying the PO method of the occlusion judgment algorithm proposed in this article are in good agreement with the software simulation results, and the improved triangle occlusion algorithm is very good.Figure 6
Radar cross-section (RCS) results calculated by the combined model of round table and cube.The RCS calculation result of the two-part spherical model is shown in Figure7. The model consists of two partial spheres with a distance of 1 m in the first quadrant. The radius of the sphere is 1 m. The opening angles of the partial spheres in the elevation and azimuth planes are both 90°. The two partial spheres are simulated by 3958 triangular faces. ρ=45° cross-section single-station RCS (calculate a point every 1°) is calculated.Figure 7
RCS calculation results of the two-part spherical model.The model is a 90° angle reflector, which is composed of two0.179m×0.179m square plates, the incident wave frequency is 9.4 GHz, the electric field is vertically polarized, and the receiving antenna is the same polarization. The scanning surface is θ=90°, the scanning range is −45°≤φ≤135°, and the single-station radar cross-section is shown in Figure 8. It can be seen from Figure 8 that in the angular range of 0°≤φ≤90° where there is multiple scattering, the calculation results and the measurement results are in good agreement, and when the two planes are simulated using 1820 triangular faces, this paper fast multiple scattering only takes 4 minutes, while the original calculation takes more than 40 minutes. The above calculations are done on a Dell personal computer with a Pentium(R) 4 CPU, and the main frequency is 3.0 GHz. It can be seen that the algorithm in this article is still very effective. In addition, we see that the results at other corners are not very good. That is because we did not consider the diffraction field here. This is also our follow-up work in the future.Figure 8
Single-station radar cross-section.


## 5. Conclusion

The FPGA model selected for this study is XC6VLX240T-1FF1156I. Because the amount of data processed here is not very large, the cache part directly uses the on-chip storage resources of the FPGA, the flash memory (FLASH) is used to store the Verilog code, and the AD device is used to perform analog-to-digital/digital-to-analog conversion on the signal and perform digital up-down conversion. Processing is waited for. For a facet, it is necessary to first verify whether it is a bright facet (which can be illuminated by the incident wave), and then the facet needs to be occluded with the triangular facet marked as a bright facet and needs to be traversed all bright facets that have been marked. Open MP parallelization of the occlusion algorithm is as follows: The physical optics method is used to calculate the target RCS, and the focus of parallelism is placed on the part with a large amount of calculation. When using Open MP to design a program on a multicore computer, each group is assigned a thread to give full play to the core computing power. This research has realized the general radar signal processing method based on FPGA structure, and the design has important engineering realization significance. Due to limited time and capacity, there are still many ill-conceived problems in the process of simulating radar signals, such as the inability of real-time transmission of targets and echoes. In order to improve the reality of radar simulation and the practicability of the simulator, follow-up work can study the effects of space target motion characteristics, signal polarization mode, and scattering center distribution on target echo.



---

*Source: 2048777-2021-12-30.xml*