Related direction finding system realized based on FPGA (Field Programmable Gate Array)

By designing a related direction finding system for parallel computing modules and most value fast search modules in FPGAs, the problem of poor real-time DOA estimation and bandwidth adaptability in the prior art is solved, and efficient DOA calculation and broad bandwidth adaptability are achieved.

CN119916294AActive Publication Date: 2025-05-02HARBIN ENG UNIV

Patent Information

Application Number
CN202510093290.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-01-21
Publication Date
2025-05-02
Estimated Expiration
2045-01-21

AI Technical Summary

Technical Problem

The existing related interferometer algorithms cannot meet the real-time requirements of DOA estimation and poor adaptability to bandwidth.

Method used

A related direction finding system based on FPGA is designed, and the computing efficiency and data processing throughput are improved by designing multiple parallel computing modules and the most value fast search module in FPGA.

Benefits of technology

When the target DOA estimation accuracy is met, the efficiency of DOA calculation is improved, the calculation time is shortened, the real-time requirements are met, and the adaptability to bandwidth is improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119916294A_ABST
    Figure CN119916294A_ABST
Patent Text Reader

Abstract

The invention discloses a related direction finding system realized based on an FPGA (Field Programmable Gate Array), belonging to the field of electronic reconnaissance. The problems that an existing correlation interferometer algorithm cannot meet the real-time requirement of DOA estimation and is poor in bandwidth adaptability are solved. According to the method, under the condition that the target DOA estimation precision is met, a plurality of parallel computing modules are designed in the FPGA to improve the computing efficiency, a fast search module of the extreme value is designed to fast compute and obtain the target DOA estimation value, and finally, under the current hardware condition, the DOA computing efficiency is improved, the computing time is shortened, and the target DOA estimation precision is improved. According to the method, the real-time requirement of a correlation interferometer algorithm is met, the method is suitable for signals in the frequency range of 2-18 GHz, and the adaptability to the bandwidth can be improved. The method can be applied to target direction-of-arrival estimation.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention belongs to the field of electronic reconnaissance, and in particular relates to a related direction finding system based on FPGA. Background Art

[0002] In modern military operations, the importance of electronic warfare is becoming increasingly prominent. Accurately grasping the direction and position information of the enemy's electromagnetic radiation source plays a key role in mastering the battlefield situation, implementing effective interference, and conducting anti-radiation strikes. To intercept incoming targets, high-precision and fast-response direction of arrival (DOA) estimation technology is urgently needed, among which the interferometer direction finding algorithm is the most typical. Unlike the phase interferometer algorithm in the interferometer direction finding algorithm, which requires deambiguation, the correlation interferometer algorithm determines the direction of the incident signal by matching the measured phase difference obtained with the pre-stored phase difference samples. At present, most correlation interferometer algorithms use DSP for multi-core computing, and the processing speed is limited to milliseconds, which still cannot meet the real-time requirements of DOA estimation. Moreover, under the requirements of low power consumption, lightweight and miniaturization, the adaptability of existing systems to bandwidth is difficult to meet the needs of practical applications. Therefore, it is an urgent need to propose a new direction finding method to solve the problem that the existing methods cannot meet the real-time requirements of DOA estimation and have poor adaptability to bandwidth. Summary of the invention

[0003] The purpose of the present invention is to solve the problem that the existing correlation interferometer algorithm cannot meet the real-time requirement of DOA estimation and has poor adaptability to bandwidth, and proposes a correlation direction finding system based on FPGA.

[0004] The technical solution adopted by the present invention to solve the above technical problems is: a correlation direction finding system based on FPGA, the system comprising a first measured phase correction database, a first phase correction module, a first ideal phase difference vector parallel calculation module, a first correlation parallel calculation module, a first correlation maximum value search module, a first angle calculation module, a second measured phase correction database, a second phase correction module, a boundary judgment module, a second ideal phase difference vector parallel calculation module, a second correlation parallel calculation module, a second correlation maximum value search module and a second angle calculation module;

[0005] The first phase correction module is used to correct the phase difference actually collected by each antenna in the antenna array according to the phase information in the first measured phase correction database to obtain the actual phase difference vector after the first correction

[0006] The first ideal phase difference vector parallel calculation module includes a phase information storage unit and an ideal phase difference vector parallel calculation unit, the phase information storage unit is used to store the phase information of each grid point in the two-dimensional angle grid formed by the pitch angle and the azimuth angle, and the ideal phase difference vector parallel calculation unit is used to calculate the ideal phase difference vector corresponding to each group of grid points according to the phase information;

[0007] The first correlation parallel calculation module is used to calculate the inner product of the ideal phase difference vector and the actual phase difference vector corresponding to each group of grid points, and normalize the inner product to obtain the correlation corresponding to each group of grid points;

[0008] The first correlation maximum value search module includes an intra-group parallel comparison subunit and an inter-group maximum value comparison unit;

[0009] The intra-group parallel comparison subunit is used to obtain the maximum correlation value in the correlation vector corresponding to each group of grid points and the index value of the maximum correlation value in the correlation vector, and the maximum correlation value in the correlation vector corresponding to the mth group of grid points is recorded as P m,max , m=1,2,…,M, M is the number of grid point groups;

[0010] The inter-group maximum value comparison unit is used to compare the P of each group of grid points. m,max , m=1,2,…,M, obtain P of each group of grid points m,max The maximum value among them is recorded as P max , and obtain the maximum value P max The corresponding group index value m and P max The position index value n in the relevance vector;

[0011] The first angle calculation module is used to calculate the maximum value P max The corresponding group number index value m and position index value n are used to obtain the initial DOA estimation result of the target, and the angle interval is expanded from the initial DOA estimation result to obtain a fine search angle interval, and the fine search angle interval is grid-divided to obtain a fine grid division result;

[0012] The boundary judgment module is used to process the phase information of the grid points obtained by fine grid division according to the fine grid division result to obtain the phase information processing result;

[0013] The second phase correction module is used to correct the phase difference actually collected by each antenna in the antenna array according to the phase information in the second measured phase correction database and the initial DOA estimation result to obtain the actual phase difference vector after the second correction;

[0014] The second ideal phase difference vector parallel calculation module is used to calculate the ideal phase difference vector corresponding to each group of grid points in the fine grid division result;

[0015] The second correlation parallel calculation module is used to respectively calculate the inner product of the ideal phase difference vector corresponding to each group of grid points in the fine grid division result and the actual phase difference vector after the second correction, and normalize the inner product to obtain the correlation corresponding to each group of grid points in the fine grid division result;

[0016] The second correlation maximum value search module is used to obtain the maximum correlation value in the correlation vector corresponding to each group of grid points in the fine grid division result and the index value of the maximum correlation value in the correlation vector, and the maximum correlation value in the correlation vector corresponding to the m′th group of grid points in the fine grid division result is recorded as P m′,max , m′=1,2,…,M′, M′ is the number of grid point groups;

[0017] The second correlation maximum value search module is also used to compare the P of each group of grid points in the fine grid division result. m′,max , m′=1,2,…,M′, and obtain the P of each group of grid points in the fine grid division result m′,max The maximum value among them is recorded as P m ' ax , and obtain the maximum value P m ' ax The corresponding group index value m′ and P m ' ax The position index value n′ in the relevance vector;

[0018] The second angle calculation module is used to calculate the angle according to the maximum value P m ' ax The corresponding group number index value m′ and position index value n′ obtain the final DOA estimation result of the target.

[0019] Furthermore, the phase information in the first measured phase correction database and the phase information in the second measured phase correction database are stored in the RAM of the FPGA.

[0020] Furthermore, the working process of the first phase correction module is:

[0021] Step S11, calculating the correction phase difference group:

[0022]

[0023] in, is the phase difference after correction of the kth antenna, φ k is the phase difference actually collected by the kth antenna, is the phase information corresponding to the kth antenna in the first measured phase correction database, k=1, 2, …, K, K is the number of antennas;

[0024] Then Convert it into a 16-bit signed number and get the conversion result corresponding to the kth antenna

[0025] Step S12: Calculate the actual phase difference vector after the first correction

[0026]

[0027] in, is the actual phase difference vector after the first correction, j is an imaginary unit, and exp(·) is the exponential operation of the corrected phase difference.

[0028] Furthermore, the phase information storage unit specifically includes:

[0029] The pitch angle interval is denoted as [θ 1 ,θ 2 ],θ 1 and θ 2 are all integers, and the azimuth interval is recorded as [ψ 1 ,ψ 2 ],ψ 1 and ψ 2 are all integers, with α as a fixed angle interval, and the elevation angle interval and the azimuth angle interval are divided into two-dimensional angle grids. Each grid point in the two-dimensional angle grid corresponds to a set of elevation angles and azimuth angles, and the phase information corresponding to each grid point is stored in the phase information storage unit.

[0030] Furthermore, the working process of the first ideal phase difference vector parallel calculation unit is:

[0031] Step S21, grouping all grid points in the two-dimensional angle grid:

[0032] The 1st to Nth grid points in the first row of the two-dimensional angle grid are taken as a group of grid points, the N+1th to 2Nth grid points in the first row are taken as a group of grid points, and so on, until the number of remaining grid points in the first row is less than or equal to N, and the remaining grid points in the first row are taken as a group of grid points;

[0033] Similarly, the grid points in each row are grouped separately;

[0034] Step S22, taking any group of grid points including N network points as an example, converting the N network points into N parallel paths, and in each path, dividing the phase information corresponding to the network points of the path by the wavelength to obtain the ideal phase difference information of each antenna calculated for the path;

[0035] For the i-th path, the ideal phase difference information of each antenna calculated by the i-th path is recorded as according to Calculate the ideal phase difference vector r of the i-th path i :

[0036] Similarly, the ideal phase difference vector calculated for each group of grid points is calculated respectively.

[0037] Furthermore, in step S22, the ideal phase difference vector r of the i-th path i The calculation process is:

[0038]

[0039] Furthermore, the working process of the first correlation parallel calculation module is:

[0040] Step S31, calculate the ideal phase difference vector r i The modulus length || r i || and the actual phase difference vector after correction Length of mold

[0041] Step S32: According to ||r i || and Calculate the correlation ρ i ;

[0042]

[0043] Among them, ||·|| is modulus, and the superscript H is conjugate transpose;

[0044]

[0045] The correlation vector ρ is formed by using the correlations corresponding to all grid points in the same group:

[0046] ρ=[ρ 1 ,ρ 2 ,…,ρ N ].

[0047] Furthermore, the working process of the first correlation maximum value search module is as follows:

[0048] Step S41: for the correlation vector corresponding to the mth group of grid points, use the parallel comparison subunit to compare the values ​​of each element in the correlation vector to obtain the maximum value P in the correlation vector corresponding to the mth group of grid points. m,max ;

[0049] Step S42: Use the inter-group maximum value comparison unit to compare the P values ​​corresponding to each group of grid points. m,max Compare and get P m,max , m=1,2,…,the maximum value among M, and record the obtained maximum value as P max , and record the maximum value P max The group index value m and the maximum value P max The position index value n in the correlation vector is the maximum value P. max Corresponding to (m,n).

[0050] Further, the angle interval is expanded from the initial DOA estimation result to obtain the angle interval for fine search, and the angle interval for fine search is grid-divided; specifically:

[0051] The initial DOA estimation result is recorded as (θ, ψ), and the range centered at (θ, ψ) in the azimuth angle interval [θ-3°, θ+3°] and in the elevation angle interval [ψ-3°, ψ+3°] is selected as the angle interval for fine search. Then, the angle interval for fine search is divided into two-dimensional grids with α′ as the fixed angle interval.

[0052] Furthermore, the working process of the boundary judgment module is:

[0053] If the determined fine search angle interval exceeds the pitch angle interval [θ 1 ,θ 2 ] or azimuth interval [ψ 1 ,ψ 2 ], the pitch angle interval [θ 1 ,θ 2 ] or azimuth interval [ψ 1 ,ψ 2 The phase information of grid points outside ] is set to 0;

[0054] If the determined fine search angle interval does not exceed the pitch angle interval [θ 1 ,θ 2 ] or azimuth interval [ψ 1 ,ψ 2 ], there is no need to process the phase information of the grid points in the fine search angle interval.

[0055] The beneficial effects of the present invention are:

[0056] The method of the present invention can design multiple parallel computing modules in FPGA to improve computing efficiency while meeting the target DOA estimation accuracy, and design a fast search module for the maximum value to quickly calculate the target DOA estimation value. Ultimately, under the current hardware conditions, the computing efficiency of DOA is improved, the computing time is shortened, and the real-time requirements of the related interferometer algorithm are met. Moreover, the method of the present invention is applicable to signals in the frequency range of 2 to 18 GHz, and can improve the adaptability to bandwidth. BRIEF DESCRIPTION OF THE DRAWINGS

[0057] Figure 1 It is a block diagram of a related direction finding system based on FPGA;

[0058] Figure 2 is a flow chart of the phase correction module;

[0059] Figure 3 It is a flow chart of the ideal phase difference vector parallel calculation module;

[0060] Figure 4 It is a flowchart of the correlation parallel calculation module;

[0061] Figure 5 Flowchart of the maximum relevance search module. DETAILED DESCRIPTION

[0062] Specific implementation method 1: Combination Figure 1 The present embodiment is described in detail. The present embodiment is a correlation direction finding system based on FPGA, the system comprising a first measured phase correction database, a first phase correction module, a first ideal phase difference vector parallel calculation module, a first correlation parallel calculation module, a first correlation maximum value search module, a first angle calculation module, a second measured phase correction database, a second phase correction module, a boundary judgment module, a second ideal phase difference vector parallel calculation module, a second correlation parallel calculation module, a second correlation maximum value search module, and a second angle calculation module;

[0063] The first phase correction module is used to correct the phase difference actually collected by each antenna in the antenna array according to the phase information in the first measured phase correction database to obtain the actual phase difference vector after the first correction

[0064] The first ideal phase difference vector parallel calculation module includes a phase information storage unit and an ideal phase difference vector parallel calculation unit, the phase information storage unit (Rom) is used to store the phase information of each grid point in the two-dimensional angle grid formed by the pitch angle and the azimuth angle, and the ideal phase difference vector parallel calculation unit is used to calculate the ideal phase difference vector corresponding to each group of grid points according to the phase information;

[0065] The first correlation parallel calculation module is used to calculate the inner product of the ideal phase difference vector and the actual phase difference vector corresponding to each group of grid points, and normalize the inner product to obtain the correlation corresponding to each group of grid points, and record the batches of correlation outputs by a built-in counter;

[0066] The first correlation maximum value search module includes an intra-group parallel comparison subunit and an inter-group maximum value comparison unit;

[0067] The intra-group parallel comparison subunit is used to obtain the maximum correlation value in the correlation vector corresponding to each group of grid points and the index value of the maximum correlation value in the correlation vector, and the maximum correlation value in the correlation vector corresponding to the mth group of grid points is recorded as P m,max , m=1,2,…,M, M is the number of grid point groups;

[0068] The inter-group maximum value comparison unit is used to compare the P of each group of grid points. m,max , m=1,2,…,M, obtain P of each group of grid points m,max The maximum value among them is recorded as P max , and obtain the maximum value P max The corresponding group index value m (that is, obtain P max Specifically, which group of grid points the correlation vector comes from) and P max The position index value n in the relevance vector;

[0069] The first angle calculation module is used to calculate the maximum value P max The corresponding group number index value m and position index value n are used to obtain the initial DOA estimation result of the target, and the angle interval is expanded from the initial DOA estimation result to obtain a fine search angle interval, and the fine search angle interval is grid-divided to obtain a fine grid division result;

[0070] The boundary judgment module is used to process the phase information of the grid points obtained by fine grid division according to the fine grid division result to obtain the phase information processing result;

[0071] The second phase correction module is used to correct the phase difference actually collected by each antenna in the antenna array according to the phase information in the second measured phase correction database and the initial DOA estimation result, and obtain the actual phase difference vector after the second correction (the correction method is the same as the first correction);

[0072] The second ideal phase difference vector parallel calculation module is used to calculate the ideal phase difference vector corresponding to each group of grid points in the fine grid division result (the number of grid points in each group is 5 in the present invention);

[0073] The second correlation parallel calculation module is used to respectively calculate the inner product of the ideal phase difference vector corresponding to each group of grid points in the fine grid division result and the actual phase difference vector after the second correction, and normalize the inner product to obtain the correlation corresponding to each group of grid points in the fine grid division result;

[0074] The second correlation maximum value search module is used to obtain the maximum correlation value in the correlation vector corresponding to each group of grid points in the fine grid division result and the index value of the maximum correlation value in the correlation vector, and the maximum correlation value in the correlation vector corresponding to the m′th group of grid points in the fine grid division result is recorded as P m′,max , m′=1,2,…,M′, M′ is the number of grid point groups;

[0075] The second correlation maximum value search module is also used to compare the P of each group of grid points in the fine grid division result. m′,max , m′=1,2,…,M′, and obtain the P of each group of grid points in the fine grid division result m′,max The maximum value among them is recorded as P m ' ax , and obtain the maximum value P m ' ax The corresponding group index value m′ and P m ' ax The position index value n′ in the relevance vector;

[0076] The second angle calculation module is used to calculate the angle according to the maximum value P m ' ax The corresponding group number index value m′ and position index value n′ obtain the final DOA estimation result of the target.

[0077] The second ideal phase difference vector parallel calculation module, the second correlation parallel calculation module, the second correlation maximum value search module and the second angle calculation module work in the same manner as the first ideal phase difference vector parallel calculation module, the first correlation parallel calculation module, the first correlation maximum value search module and the first angle calculation module, respectively.

[0078] The present invention realizes an FPGA efficient hardware solution for the related algorithm of 2D DOA estimation, and greatly improves the operation efficiency of the algorithm by utilizing the parallel computing advantage of FPGA; through the overall pipeline design, the data processing throughput is improved to meet the real-time processing requirements under high-density signal conditions.

[0079] Specific implementation method 2: This implementation method is different from specific implementation method 1 in that the phase information in the first measured phase correction database and the phase information in the second measured phase correction database are stored in the RAM of the FPGA.

[0080] The other steps and parameters are the same as those in the first embodiment.

[0081] The first measured phase correction database stores the zero-point phase correction data corresponding to different frequencies, and the second measured phase correction database stores the phase correction data corresponding to different DOAs and frequencies. During the first correction, after we actually collect the phase difference, we can select a set of phase correction data from the first measured phase correction database according to the frequency for the first correction of the collected phase difference. During the second correction, we can select a set of phase correction data from the second measured phase correction database according to the first DOA estimation result and frequency for the second correction of the collected phase difference.

[0082] Specific implementation method three: Combination Figure 2 The present embodiment is different from the first or second embodiment in that the working process of the first phase correction module is as follows:

[0083] Step S11, calculating the correction phase difference group:

[0084]

[0085] in, is the phase difference of the kth antenna after correction (single-precision floating point number), φ k is the phase difference actually collected by the kth antenna, is the phase information corresponding to the kth antenna in the first measured phase correction database, k=1, 2, …, K, K is the number of antennas;

[0086] Then Convert it into a 16-bit signed number and get the conversion result corresponding to the kth antenna Through conversion, the amount of subsequent calculations can be further reduced without affecting the accuracy;

[0087] Step S12: Calculate the actual phase difference vector after the first correction

[0088]

[0089] in, is the actual phase difference vector after the first correction, j is an imaginary unit, and exp(●) is the exponential operation on the corrected phase difference.

[0090] The other steps and parameters are the same as those in the first or second embodiment.

[0091] Specific implementation method 4: This implementation method is different from any one of specific implementation methods 1 to 3 in that the phase information storage unit specifically includes:

[0092] The pitch angle interval is denoted as [θ 1 ,θ 2 ],θ 1 and θ 2 are all integers, and the azimuth interval is recorded as [ψ 1 ,ψ 2 ],ψ 1 and ψ 2 They are all integers, with α as a fixed angle interval (the value of α in the present invention is 1°), and the pitch angle interval and the azimuth angle interval are divided into two-dimensional angle grids, each grid point in the two-dimensional angle grid corresponds to a set of pitch angles and azimuth angles, and the phase information corresponding to each grid point is stored in the phase information storage unit.

[0093] The other steps and parameters are the same as those in Specific Embodiments 1 to 3.

[0094] In the two-dimensional angle grid, the angles corresponding to the grid points in the first row are (θ 1 ,ψ 1 ), (θ 1 ,ψ 1 +1)、(θ 1 ,ψ 1 +2)、…、(θ 1 ,ψ 2 ); the angles corresponding to the grid points in the second row are (θ 2 ,ψ 1 ), (θ 2 ,ψ 1 +1)、(θ 2 ,ψ 1 +2)、…、(θ 2 ,ψ 2 ); and so on, the angles corresponding to the grid points in the last row are (θ 2 ,ψ 1 ), (θ 2 ,ψ 1 +1)、(θ 2 ,ψ 1 +2)、…、(θ 2 ,ψ 2 ).

[0095] Specific implementation method five: Combination Figure 3 The present embodiment is different from any one of the specific embodiments 1 to 4 in that the working process of the first ideal phase difference vector parallel calculation unit is as follows:

[0096] Step S21, grouping all grid points in the two-dimensional angle grid:

[0097] The 1st to Nth grid points in the first row of the two-dimensional angle grid are taken as a group of grid points, the N+1th to 2Nth grid points in the first row are taken as a group of grid points, and so on, until the number of remaining grid points in the first row is less than or equal to N, and the remaining grid points in the first row are taken as a group of grid points;

[0098] Similarly, the grid points in each row are grouped separately;

[0099] Step S22, taking any group of grid points including N network points as an example, the N network points are converted into N parallel paths, and in each path, the phase information corresponding to the network point of the path is divided by the wavelength (the wavelength information can be obtained according to the frequency of the antenna receiving signal), to obtain the ideal phase difference information of each antenna calculated for the path;

[0100] For the i-th path, the ideal phase difference information of each antenna calculated by the i-th path is recorded as according to Calculate the ideal phase difference vector r of the i-th path i :

[0101] Similarly, the ideal phase difference vector calculated for each group of grid points is calculated respectively.

[0102] The other steps and parameters are the same as those in Specific Embodiments 1 to 4.

[0103] In the actual azimuth estimation process, the target azimuth is generally in the pitch angle interval (-30°, 30°) and the azimuth angle interval (-30°, 30°). In order to fully cover the above two-dimensional angle interval range, the present invention uses θ 1 The value of is set to -31°, θ 2 The value of is set to 31°, and ψ 1 The value of is set to -31°, and ψ 2 The value of is set to 31°, and the value of the number N of each group of grid points can be set to 9.

[0104] Specific implementation method 6: This implementation method is different from any one of the specific implementation methods 1 to 5 in that in step S22, the ideal phase difference vector r of the i-th path i The calculation process is:

[0105]

[0106] The other steps and parameters are the same as those in Specific Implementation Methods 1 to 5.

[0107] Specific implementation method seven: Combination Figure 4The present embodiment is different from the first to sixth embodiments in that the working process of the first correlation parallel calculation module is as follows:

[0108] Step S31, calculate the ideal phase difference vector r i The modulus length || r i || and the actual phase difference vector after correction Length of mold

[0109] Step S32: According to ||r i || and Calculate the correlation ρ i ;

[0110]

[0111] Among them, ||·|| is modulus, and the superscript H is conjugate transpose;

[0112]

[0113] The correlation vector ρ is formed by using the correlations corresponding to all grid points in the same group:

[0114] ρ=[ρ 1 ,ρ 2 ,…,ρ N ]

[0115] The other steps and parameters are the same as those in Specific Embodiments 1 to 6.

[0116] Specific implementation method eight: Combination Figure 5 The present embodiment is different from the first to seventh embodiments in that the working process of the first correlation maximum value search module is as follows:

[0117] Step S41: for the correlation vector corresponding to the mth group of grid points, use the parallel comparison subunit to compare the values ​​of each element in the correlation vector to obtain the maximum value P in the correlation vector corresponding to the mth group of grid points. m,max ;

[0118] The specific comparison method is as follows: the elements in the correlation vector ρ corresponding to the mth group of grid points are input into the parallel comparison subunit for pairwise comparison. Taking the correlation vector ρ containing 9 elements as an example, firstly, the size of the 0th element and the 8th element, the size of the 1st element and the 7th element, the size of the 2nd element and the 6th element, and the size of the 3rd element and the 5th element are compared in parallel to obtain four groups of comparison results. The larger value between the 0th element and the 8th element is recorded as a, the larger value between the 1st element and the 7th element is recorded as b, the larger value between the 2nd element and the 6th element is recorded as c, and the larger value between the 3rd element and the 5th element is recorded as d. Then, the size of a and b are compared in parallel, and the size of c and d are compared. The larger value between a and b is recorded as a', and the larger value between c and d is recorded as b'. Then, the size of a' and b' is compared, and the larger value between a' and b' is compared with the 4th element in the correlation vector ρ. Then, the larger value in the comparison result is taken as the maximum value P in the correlation vector ρ. m,max , and get the maximum value P in the correlation vector ρ m,max The corresponding position index (i.e. P m,max Specifically, it is the nth element in the correlation vector ρ);

[0119] Step S42: Use the inter-group maximum value comparison unit to compare the P values ​​corresponding to each group of grid points. m,max Compare and get P m,max , m=1,2,…,the maximum value among M, and record the obtained maximum value as P max , and record the maximum value P max The group index value m and the maximum value P max The position index value n in the correlation vector is the maximum value P. max Corresponding to (m,n).

[0120] The other steps and parameters are the same as those in Specific Embodiments 1 to 7.

[0121] According to the distribution of the index (m, n) in the two-dimensional angle grid, the azimuth angle and pitch angle position corresponding to the index (m, n) are calculated, and the initial DOA estimation value (θ, ψ) is obtained. This implementation method uses the parallel comparison method in the FPGA to improve the efficiency of DOA estimation to meet the real-time requirements.

[0122] Specific implementation method 9: This implementation method is different from any one of specific implementation methods 1 to 8 in that the angle interval is expanded from the initial DOA estimation result to obtain a fine search angle interval, and the fine search angle interval is grid-divided; specifically:

[0123] The initial DOA estimation result is recorded as (θ, ψ), and the range centered at (θ, ψ) and in the azimuth angle interval [θ-3°, θ+3°] and in the pitch angle interval [ψ-3°, ψ+3°] is selected as the angle interval for fine search, and then α′ is used as a fixed angle interval (the value of α′ in the present invention is 0.2°) to divide the angle interval for fine search into two-dimensional grids.

[0124] The other steps and parameters are the same as those in Specific Embodiments 1 to 8.

[0125] Specific implementation method 10: This implementation method is different from the specific implementation methods 1 to 9 in that the working process of the boundary judgment module is as follows:

[0126] If the determined fine search angle interval exceeds the pitch angle interval [θ 1 ,θ 2 ] or azimuth interval [ψ 1 ,ψ 2 ], the pitch angle interval [θ 1 ,θ 2 ] or azimuth interval [ψ 1 ,ψ 2 The phase information of grid points outside ] is set to 0;

[0127] If the determined fine search angle interval does not exceed the pitch angle interval [θ 1 ,θ 2 ] or azimuth interval [ψ 1 ,ψ 2 ], there is no need to process the phase information of the grid points in the fine search angle interval.

[0128] The other steps and parameters are the same as those in Specific Embodiments 1 to 9.

[0129] The above calculation examples of the present invention are only used to explain the calculation model and calculation process of the present invention in detail, and are not intended to limit the implementation methods of the present invention. For ordinary technicians in the relevant field, other different forms of changes or modifications can be made based on the above description. It is impossible to list all the implementation methods here. All obvious changes or modifications derived from the technical solution of the present invention are still within the scope of protection of the present invention.

Claims

1. A related direction finding system based on FPGA, characterized in that: The system comprises a first measured phase correction database, a first phase correction module, a first ideal phase difference vector parallel calculation module, a first correlation parallel calculation module, a first correlation maximum value search module, a first angle calculation module, a second measured phase correction database, a second phase correction module, a boundary judgment module, a second ideal phase difference vector parallel calculation module, a second correlation parallel calculation module, a second correlation maximum value search module and a second angle calculation module; The first phase correction module is used to correct the phase difference actually collected by each antenna in the antenna array according to the phase information in the first measured phase correction database to obtain the actual phase difference vector after the first correction The first ideal phase difference vector parallel calculation module includes a phase information storage unit and an ideal phase difference vector parallel calculation unit, the phase information storage unit is used to store the phase information of each grid point in the two-dimensional angle grid formed by the pitch angle and the azimuth angle, and the ideal phase difference vector parallel calculation unit is used to calculate the ideal phase difference vector corresponding to each group of grid points according to the phase information; The first correlation parallel calculation module is used to calculate the inner product of the ideal phase difference vector and the actual phase difference vector corresponding to each group of grid points, and normalize the inner product to obtain the correlation corresponding to each group of grid points; The first correlation maximum value search module includes an intra-group parallel comparison subunit and an inter-group maximum value comparison unit; The intra-group parallel comparison subunit is used to obtain the maximum correlation value in the correlation vector corresponding to each group of grid points and the index value of the maximum correlation value in the correlation vector, and the maximum correlation value in the correlation vector corresponding to the mth group of grid points is recorded as P m,max , m=1,2,…,M, M is the number of grid point groups; The inter-group maximum value comparison unit is used to compare the P of each group of grid points. m,max , m=1,2,…,M, obtain P of each group of grid points m,max The maximum value among them is recorded as P max , and obtain the maximum value P max The corresponding group index value m and P max The position index value n in the relevance vector; The first angle calculation module is used to calculate the maximum value P max The corresponding group number index value m and position index value n are used to obtain the initial DOA estimation result of the target, and the angle interval is expanded from the initial DOA estimation result to obtain a fine search angle interval, and the fine search angle interval is grid-divided to obtain a fine grid division result; The boundary judgment module is used to process the phase information of the grid points obtained by fine grid division according to the fine grid division result to obtain the phase information processing result; The second phase correction module is used to correct the phase difference actually collected by each antenna in the antenna array according to the phase information in the second measured phase correction database and the initial DOA estimation result to obtain the actual phase difference vector after the second correction; The second ideal phase difference vector parallel calculation module is used to calculate the ideal phase difference vector corresponding to each group of grid points in the fine grid division result; The second correlation parallel calculation module is used to respectively calculate the inner product of the ideal phase difference vector corresponding to each group of grid points in the fine grid division result and the actual phase difference vector after the second correction, and normalize the inner product to obtain the correlation corresponding to each group of grid points in the fine grid division result; The second correlation maximum value search module is used to obtain the maximum correlation value in the correlation vector corresponding to each group of grid points in the fine grid division result and the index value of the maximum correlation value in the correlation vector, and the maximum correlation value in the correlation vector corresponding to the m′th group of grid points in the fine grid division result is recorded as P m′,max , m′=1,2,…,M′, M′ is the number of grid point groups; The second correlation maximum value search module is also used to compare the P of each group of grid points in the fine grid division result. m′,max , m′=1,2,…,M′, and obtain the P of each group of grid points in the fine grid division result m′,max The maximum value among them is recorded as P m ' ax , and obtain the maximum value P m ' ax The corresponding group index value m′ and P m ' ax The position index value n′ in the relevance vector; The second angle calculation module is used to calculate the angle according to the maximum value P m ' ax The corresponding group number index value m′ and position index value n′ obtain the final DOA estimation result of the target.

2. The FPGA-based direction finding system according to claim 1, characterized in that: The phase information in the first measured phase correction database and the phase information in the second measured phase correction database are stored in the RAM of the FPGA.

3. The FPGA-based direction finding system according to claim 1, characterized in that: The working process of the first phase correction module is: Step S11, calculating the correction phase difference group: in, is the phase difference after correction of the kth antenna, φ k is the phase difference actually collected by the kth antenna, is the phase information corresponding to the kth antenna in the first measured phase correction database, k=1, 2, …, K, K is the number of antennas; Then Convert it into a 16-bit signed number and get the conversion result corresponding to the kth antenna Step S12: Calculate the actual phase difference vector after the first correction in, is the actual phase difference vector after the first correction, j is an imaginary unit, and exp(·) is the exponential operation of the corrected phase difference.

4. The FPGA-based direction finding system according to claim 1, characterized in that: The phase information storage unit specifically includes: The pitch angle interval is recorded as [θ1, θ2], where θ1 and θ2 are both integers; the azimuth angle interval is recorded as [ψ1, ψ2], where ψ1 and ψ2 are both integers. The pitch angle interval and the azimuth angle interval are divided into two-dimensional angle grids with α as a fixed angle interval. Each grid point in the two-dimensional angle grid corresponds to a set of pitch angles and azimuth angles, and the phase information corresponding to each grid point is stored in the phase information storage unit.

5. The FPGA-based direction finding system according to claim 3, characterized in that: The working process of the first ideal phase difference vector parallel calculation unit is as follows: Step S21, grouping all grid points in the two-dimensional angle grid: The 1st to Nth grid points in the first row of the two-dimensional angle grid are taken as a group of grid points, the N+1th to 2Nth grid points in the first row are taken as a group of grid points, and so on, until the number of remaining grid points in the first row is less than or equal to N, and the remaining grid points in the first row are taken as a group of grid points; Similarly, the grid points in each row are grouped separately; Step S22, taking any group of grid points including N network points as an example, converting the N network points into N parallel paths, and in each path, dividing the phase information corresponding to the network points of the path by the wavelength to obtain the ideal phase difference information of each antenna calculated for the path; For the i-th path, the ideal phase difference information of each antenna calculated by the i-th path is recorded as according to Calculate the ideal phase difference vector r of the i-th path i : Similarly, the ideal phase difference vector calculated for each group of grid points is calculated respectively.

6. The FPGA-based direction finding system according to claim 5, characterized in that: In step S22, the ideal phase difference vector r of the i-th path i The calculation process is:

7. The FPGA-based direction finding system according to claim 6, characterized in that: The working process of the first correlation parallel calculation module is as follows: Step S31, calculate the ideal phase difference vector r i The modulus length || r i || and the actual phase difference vector after correction Length of mold Step S32: According to ||r i || and Calculate the correlation ρ i ; Among them, ||·|| is modulus, and the superscript H is conjugate transpose; The correlation vector ρ is formed by using the correlations corresponding to all grid points in the same group: ρ=[ρ1,ρ2,…,ρ N ]。 8. The FPGA-based direction finding system according to claim 7, characterized in that: The working process of the first correlation maximum value search module is as follows: Step S41: for the correlation vector corresponding to the mth group of grid points, use the parallel comparison subunit to compare the values ​​of each element in the correlation vector to obtain the maximum value P in the correlation vector corresponding to the mth group of grid points. m,max ; Step S42: Use the inter-group maximum value comparison unit to compare the P values ​​corresponding to each group of grid points. m,max Compare and get P m,max , m=1,2,…,the maximum value among M, and record the obtained maximum value as P max , and record the maximum value P max The group index value m and the maximum value P max The position index value n in the correlation vector is the maximum value P. max Corresponding to (m,n).

9. The FPGA-based direction finding system according to claim 8, characterized in that: The angle interval is expanded from the initial DOA estimation result to obtain a fine search angle interval, and the fine search angle interval is grid-divided; specifically: The initial DOA estimation result is recorded as (θ, ψ), and the range centered at (θ, ψ) in the azimuth angle interval [θ-3°, θ+3°] and in the elevation angle interval [ψ-3°, ψ+3°] is selected as the angle interval for fine search. Then, the angle interval for fine search is divided into two-dimensional grids with α′ as the fixed angle interval.

10. The FPGA-based direction finding system according to claim 9, characterized in that: The working process of the boundary judgment module is as follows: If the determined fine search angle interval exceeds the elevation angle interval [θ1, θ2] or the azimuth angle interval [ψ1, ψ2], the phase information of the grid points outside the elevation angle interval [θ1, θ2] or the azimuth angle interval [ψ1, ψ2] is set to 0; If the determined fine search angle interval does not exceed the elevation angle interval [θ1, θ2] or the azimuth angle interval [ψ1, ψ2], it is not necessary to process the phase information of the grid points within the fine search angle interval.

Citation Information

Patent Citations

  • Receiver device and receiving method

    CN102648591A

  • Far-field narrow-band DOA estimation method based on covariance matrix sparse representation

    CN103983944A

  • Measurement method based on visual array antenna

    CN111273224A

  • Interferometer direction finding method based on FPGA

    CN117129940A

  • Rapid direction finding method, system, equipment and terminal for correlation interferometer

    CN117518073A

Cited By

  • Field programmable gate array (FPGA)-based broadband high-precision quadratic correlation interferometer direction finding method

    CN120254752A