A correlation direction finding system based on FPGA

By designing a correlation direction finding system with parallel computing and fast search modules on an FPGA, the real-time performance and bandwidth adaptability issues of the correlation interferometer algorithm were solved, and efficient DOA estimation was achieved.

CN119916294BActive Publication Date: 2026-01-27HARBIN ENG UNIV
View PDF 2 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

Existing interferometer algorithms cannot meet the real-time requirements of DOA estimation and have poor adaptability to bandwidth.

Method used

An FPGA-based correlation direction finding system is adopted. By designing multiple parallel computing modules and a fast maximum/minimum search module, phase correction, ideal phase difference vector parallel calculation, correlation parallel calculation and angle calculation are realized, and the parallel computing advantages of FPGA are utilized to improve computing efficiency.

Benefits of technology

While meeting the target DOA estimation accuracy, the computation time was shortened, the computation efficiency was improved, the real-time requirements were met, and the bandwidth adaptability to signals in the 2–18 GHz frequency range was enhanced.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119916294B_ABST
    Figure CN119916294B_ABST
Patent Text Reader

Abstract

The application relates to a correlation direction-finding system based on FPGA, and belongs to the field of electronic reconnaissance. The application solves the problems that the existing correlation interferometer algorithm cannot meet the real-time requirement of DOA estimation and is poor in adaptability to bandwidth. The application can improve the calculation efficiency by designing multiple parallel calculation modules in the FPGA under the condition of meeting the accuracy of target DOA estimation, and can quickly calculate the target DOA estimation value by designing a fast search module of extreme values, so that the calculation efficiency of DOA is improved, the calculation time is shortened, the real-time requirement of the correlation interferometer algorithm is met, and the application method is suitable for signals in the frequency range of 2-18GHz, so that the adaptability to bandwidth is improved. The application method can be applied to target DOA estimation.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of electronic reconnaissance, specifically relating to a correlation direction finding system based on FPGA. Background Technology

[0002] In modern military operations, the importance of electronic warfare is increasingly prominent. Accurately determining the direction and location of enemy electromagnetic radiation sources is crucial for understanding the battlefield situation, implementing effective jamming, and conducting anti-radiation strikes. Intercepting incoming targets necessitates high-precision, fast-response direction-of-arrival (DOA) estimation techniques, with interferometric direction-finding algorithms being the most typical. Unlike phase interferometric algorithms, which require deambiguity resolution, correlation interferometric algorithms determine the direction of the incident signal by matching the obtained measured phase difference with pre-stored phase difference samples. Currently, most correlation interferometric algorithms are implemented using multi-core DSPs, limiting processing speed to milliseconds, which still cannot meet the real-time requirements of DOA estimation. Furthermore, under the requirements of low power consumption, lightweight design, and miniaturization, existing systems struggle to meet the bandwidth adaptability needs of practical applications. Therefore, proposing a new direction-finding method to address the limitations of existing methods in meeting the real-time requirements of DOA estimation and their poor bandwidth adaptability is a pressing need. Summary of the Invention

[0003] The purpose of this invention is to address the problems that existing correlation interferometer algorithms cannot meet the real-time requirements of DOA estimation and have poor adaptability to bandwidth, and to propose a correlation direction finding system based on FPGA implementation.

[0004] The technical solution adopted by the present invention to solve the above-mentioned 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 extremum 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 extremum search module, and a second angle calculation module;

[0005] The first phase correction module is used to correct the phase difference actually acquired by each antenna in the antenna array based on the phase information in the first measured phase correction database, so as 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. 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 to normalize the inner product to obtain the correlation of each group of grid points.

[0008] The first relevance extremum search module includes an intra-group parallel comparison subunit and an inter-group extremum comparison subunit;

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

[0010] The inter-group maximum / minimum comparison unit is used to compare the P values ​​of each group of grid points. m,max Given m = 1, 2, ..., M, obtain P for each group of grid points. m,max The maximum value obtained is denoted as P. max And obtain the maximum value P max The corresponding group index values ​​m and P max The position index value n in the relevance vector;

[0011] The first angle calculation module is used to calculate based on the maximum value P. max The initial DOA estimation result of the target is obtained by using the corresponding group index value m and position index value n. The angle interval is then expanded from the initial DOA estimation result to obtain the angle interval for fine search. Finally, the angle interval for fine search is divided into grids to obtain the 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, and obtain the phase information processing result;

[0013] The second phase correction module is used to correct the phase difference actually acquired by each antenna in the antenna array based on the phase information in the second measured phase correction database and the initial DOA estimation result, so as 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 mesh division result;

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

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

[0017] The second correlation extremum search module is also used to compare the P values ​​of each group of grid points in the fine grid division results. m′,max Given m′=1,2,…,M′, obtain the P values ​​of each group of grid points in the fine mesh generation result. m′,max The maximum value obtained is denoted 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 maximum angle P. m ′ ax The corresponding group index value m′ and location index value n′ are used to 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 operation process of the first phase correction module is as follows:

[0021] Step S11: Calculate the corrected phase difference set:

[0022]

[0023] in, Let φ be the phase difference after correction for the k-th antenna. k Let be the phase difference actually acquired by the k-th antenna. The phase information corresponding to the k-th antenna in the first measured phase correction database is given by k = 1, 2, ..., K, where K is the number of antennas.

[0024] Then Convert to a 16-bit signed number to obtain the conversion result for the k-th antenna.

[0025] Step S12, according to 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 the imaginary unit, and exp(·) is the exponential operation on the corrected phase difference.

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

[0029] The pitch angle interval is denoted as [θ1, θ2], where θ1 and θ2 are both integers. The azimuth angle interval is denoted as [ψ1, ψ2], where ψ1 and ψ2 are both integers. The pitch angle interval and 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. The phase information storage unit stores the phase information corresponding to each grid point.

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

[0031] Step S21: Group all grid points within the two-dimensional angular grid:

[0032] The first to Nth grid points in the first row of the two-dimensional angle grid are grouped into a grid point group, the (N+1)th to 2Nth grid points in the first row are grouped into a grid point group, and so on, until the number of remaining grid points in the first row is less than or equal to N, at which point the remaining grid points in the first row are grouped into a grid point group.

[0033] Similarly, group the grid points within each row;

[0034] Step S22: Taking any set of grid points containing N network points as an example, convert the N network points into N parallel paths. In each path, divide the phase information corresponding to the network points of that path by the wavelength to obtain the ideal phase difference information of each antenna calculated for that path.

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

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

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

[0038]

[0039] Furthermore, the working process of the first relevance parallel calculation module is as follows:

[0040] Step S31: Calculate the ideal phase difference vector r i Modulus length ||r i ||and the corrected actual phase difference vector Length of the module

[0041] Step S32, according to ||r i ||and Calculate the relevance ρ i ;

[0042]

[0043] Where ||·|| represents the modulus, and the superscript H represents the conjugate transpose;

[0044]

[0045] The correlation vector ρ is constructed by using the correlations of all grid points within the same group:

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

[0047] Furthermore, the working process of the first relevance extremum search module is as follows:

[0048] Step S41: For the correlation vector corresponding to the m-th grid point, use parallel comparison sub-units to compare the values ​​of each element in the correlation vector to obtain the maximum value P in the correlation vector corresponding to the m-th grid point. m,max ;

[0049] Step S42: Use the inter-group maximum / minimum comparison element to compare the P values ​​of each group of grid points. m,max By comparison, we obtain P. m,max Find the maximum value among m = 1, 2, ..., M, and denote the obtained maximum value as P. max And record the maximum value P. maxThe group index value m and the maximum value P max The position index value n within the relevance vector is used to obtain the maximum value P. max The corresponding (m,n).

[0050] Furthermore, the step of expanding the angle interval from the initial DOA estimation result to obtain the fine-search angle interval, and then dividing the fine-search angle interval into a grid, specifically involves:

[0051] The initial DOA estimation result is denoted as (θ,ψ). The range centered at (θ,ψ) and within the azimuth interval [θ-3°,θ+3°] and the pitch 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 a fixed angle interval.

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

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

[0054] If the determined fine search angle interval does not exceed the pitch angle interval [θ1,θ2] or azimuth angle interval [ψ1,ψ2], then it is not necessary to process the phase information of the grid points within the fine search angle interval.

[0055] The beneficial effects of this invention are:

[0056] The method of this invention can improve computational efficiency by designing multiple parallel computing modules within an FPGA while meeting the target DOA estimation accuracy, and design a fast search module for the maximum and minimum values ​​to quickly calculate the target DOA estimate. Ultimately, under current hardware conditions, the computational efficiency of DOA is improved, the computation time is shortened, and the real-time requirements of the correlation interferometer algorithm are met. Moreover, the method of this invention is applicable to signals in the frequency range of 2 to 18 GHz, which can improve the adaptability to bandwidth. Attached Figure Description

[0057] Figure 1 This is a block diagram of a correlation direction finding system implemented based on FPGA;

[0058] Figure 2 This is a flowchart of the phase correction module;

[0059] Figure 3 A flowchart of the ideal phase difference vector parallel calculation module;

[0060] Figure 4This is a flowchart of the correlation parallel computing module;

[0061] Figure 5 This is a flowchart for the relevance extremum search module. Detailed Implementation

[0062] Specific implementation method one: Combining Figure 1 This embodiment describes a correlation direction finding system implemented based on FPGA. The system includes 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 extremum 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 extremum search module, and a second angle calculation module.

[0063] The first phase correction module is used to correct the phase difference actually acquired by each antenna in the antenna array based on the phase information in the first measured phase correction database, so as 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. 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 to normalize the inner product to obtain the correlation of each group of grid points. A built-in counter is used to record the batch of correlation output.

[0066] The first relevance extremum search module includes an intra-group parallel comparison subunit and an inter-group extremum comparison subunit;

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

[0068] The inter-group maximum / minimum comparison unit is used to compare the P values ​​of each group of grid points. m,max Given m = 1, 2, ..., M, obtain P for each group of grid points.m,max The maximum value obtained is denoted as P. max And obtain the maximum value P max The corresponding group index value m (i.e., obtaining P) max (Specifically, from which set of grid points does the correlation vector originate) and P max The position index value n in the relevance vector;

[0069] The first angle calculation module is used to calculate based on the maximum value P. max The initial DOA estimation result of the target is obtained by using the corresponding group index value m and position index value n. The angle interval is then expanded from the initial DOA estimation result to obtain the angle interval for fine search. Finally, the angle interval for fine search is divided into grids to obtain the 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, and obtain the phase information processing result;

[0071] The second phase correction module is used to correct the phase difference actually acquired by each antenna in the antenna array based on the phase information in the second measured phase correction database and the initial DOA estimation result, so as to 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 mesh division result (in this invention, the number of grid points in each group is taken as 5);

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

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

[0075] The second correlation extremum search module is also used to compare the P values ​​of each group of grid points in the fine grid division results. m′,max Given m′=1,2,…,M′, obtain the P values ​​of each group of grid points in the fine mesh generation result. m′,max The maximum value obtained is denoted 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 maximum angle P. m ′ ax The corresponding group index value m′ and location index value n′ are used to 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 / minimum search module, and the second angle calculation module operate in the same way as the first ideal phase difference vector parallel calculation module, the first correlation parallel calculation module, the first correlation maximum / minimum search module, and the first angle calculation module.

[0078] This invention implements an efficient FPGA hardware solution for a correlation algorithm of 2D DOA estimation. By leveraging the parallel computing advantages of FPGA, the computational efficiency of the algorithm is greatly improved. Through the overall pipeline design, the throughput of data processing is increased, meeting the real-time processing requirements under high-density signal conditions.

[0079] Specific Implementation Method Two: This implementation method differs from Specific Implementation Method One 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 in Specific Implementation Method 1.

[0081] The first measured phase correction database stores zero-point phase correction data at different frequencies, while the second measured phase correction database stores phase correction data corresponding to different DOAs and frequencies. During the first correction, after actually acquiring the phase difference, we can select a set of phase correction data from the first measured phase correction database based on the frequency to perform the first correction on the acquired phase difference. During the second correction, based on the first DOA estimation result and the frequency, we can select a set of phase correction data from the second measured phase correction database to perform the second correction on the acquired phase difference.

[0082] Specific implementation method three: Combining Figure 2 This embodiment is described below. The difference between this embodiment and specific embodiments one or two is that the operation of the first phase correction module is as follows:

[0083] Step S11: Calculate the corrected phase difference set:

[0084]

[0085] in, Let φ be the phase difference of the k-th antenna after correction (a single-precision floating-point number). k Let be the phase difference actually acquired by the k-th antenna. The phase information corresponding to the k-th antenna in the first measured phase correction database is given by k = 1, 2, ..., K, where K is the number of antennas.

[0086] Then Convert to a 16-bit signed number to obtain the conversion result for the k-th antenna. The conversion can further reduce the amount of subsequent calculations without affecting the accuracy;

[0087] Step S12, according to 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 the imaginary unit, and exp(●) is the exponential operation on the corrected phase difference.

[0090] Other steps and parameters are the same as in specific implementation method one or two.

[0091] Specific Implementation Method Four: This implementation method differs from Specific Implementation Methods One to Three in that the phase information storage unit specifically includes:

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

[0093] The other steps and parameters are the same as those in one of the specific implementation methods one to three.

[0094] Within 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, with the angles corresponding to the grid points in the last row being (θ2,ψ1), (θ2,ψ1+1), (θ2,ψ1+2), ..., (θ2,ψ2).

[0095] Specific Implementation Method Five: Combining Figure 3 This embodiment is described below. The difference between this embodiment and one of the specific embodiments one to four is that the working process of the first ideal phase difference vector parallel computing unit is as follows:

[0096] Step S21: Group all grid points within the two-dimensional angular grid:

[0097] The first to Nth grid points in the first row of the two-dimensional angle grid are grouped into a grid point group, the (N+1)th to 2Nth grid points in the first row are grouped into a grid point group, and so on, until the number of remaining grid points in the first row is less than or equal to N, at which point the remaining grid points in the first row are grouped into a grid point group.

[0098] Similarly, group the grid points within each row;

[0099] Step S22: Taking any set of grid points containing N network points as an example, convert the N network points into N parallel paths. In each path, divide the phase information corresponding to the network points of that path by the wavelength (the wavelength information can be obtained according to the frequency of the signal received by the antenna) to obtain the ideal phase difference information of each antenna calculated for that path.

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

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

[0102] The other steps and parameters are the same as those in one of the specific implementation methods one to four.

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

[0104] Specific Implementation Method Six: This implementation method differs from Specific Implementation Methods One to Five in that, in step S22, the ideal phase difference vector r of the i-th path... i The calculation process is as follows:

[0105]

[0106] The other steps and parameters are the same as those in one of the specific implementation methods one to five.

[0107] Specific implementation method seven: Combining Figure 4 This embodiment is described below. The difference between this embodiment and one of the specific embodiments one through six is ​​that the working process of the first correlation parallel computing module is as follows:

[0108] Step S31: Calculate the ideal phase difference vector r i Modulus length ||r i ||and the corrected actual phase difference vector Length of the module

[0109] Step S32, according to ||r i ||and Calculate the relevance ρ i ;

[0110]

[0111] Where ||·|| represents the modulus, and the superscript H represents the conjugate transpose;

[0112]

[0113] The correlation vector ρ is constructed by using the correlations of all grid points within the same group:

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

[0115] The other steps and parameters are the same as those in one of the specific implementation methods one to six.

[0116] Specific implementation method eight: Combination Figure 5This embodiment is described below. The difference between this embodiment and any one of embodiments one through seven is that the working process of the first relevance extremum search module is as follows:

[0117] Step S41: For the correlation vector corresponding to the m-th grid point, use parallel comparison sub-units to compare the values ​​of each element in the correlation vector to obtain the maximum value P in the correlation vector corresponding to the m-th grid point. m,max ;

[0118] The specific comparison method is as follows: Elements of the correlation vector ρ corresponding to the m-th grid point are input into a parallel comparison subunit for pairwise comparison. Taking a correlation vector ρ containing 9 elements as an example, firstly, the sizes of the 0th and 8th elements, the 1st and 7th elements, the 2nd and 6th elements, and the 3rd and 5th elements are compared in parallel, resulting in four sets of comparison results. The larger value between the 0th and 8th elements is denoted as 'a', the larger value between the 1st and 7th elements is denoted as 'b', the larger value between the 2nd and 6th elements is denoted as 'c', and the larger value between the 3rd and 5th elements is denoted as 'd'. Then, the sizes of 'a' and 'b' are compared in parallel, and the larger value between 'c' and 'd' is compared. The larger value between 'a' and 'b' is compared with the 4th element in the correlation vector ρ. Finally, the larger value in the comparison results is taken as the maximum value P in the correlation vector ρ. m,max And obtain the maximum value P in the relevance vector ρ. m,max The corresponding position index (i.e., P) m,max Specifically, it refers to the nth element in the relevance vector ρ.

[0119] Step S42: Use the inter-group maximum / minimum comparison element to compare the P values ​​of each group of grid points. m,max By comparison, we obtain P. m,max Find the maximum value among m = 1, 2, ..., M, and denote 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 within the relevance vector is used to obtain the maximum value P. max The corresponding (m,n).

[0120] The other steps and parameters are the same as those in any of the specific implementation methods one to seven.

[0121] Based on the distribution of indices (m,n) within a two-dimensional angle grid, the azimuth and pitch angles corresponding to indices (m,n) are calculated, thus obtaining the initial DOA estimate (θ,ψ). This implementation utilizes a parallel comparison method in FPGAs, which can improve the efficiency of DOA estimation to meet real-time requirements.

[0122] Specific Implementation Method Nine: This implementation method differs from Specific Implementation Methods One through Eight in that the angle interval expansion from the initial DOA estimation result is used to obtain the fine search angle interval, and the fine search angle interval is then divided into grids; specifically:

[0123] The initial DOA estimation result is denoted as (θ,ψ). The range centered at (θ,ψ) and within the azimuth interval [θ-3°, θ+3°] and the pitch 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 a fixed angle interval (the value of α′ in this invention is 0.2°).

[0124] The other steps and parameters are the same as those in one of the specific implementation methods one to eight.

[0125] Specific Implementation Method Ten: This implementation method differs from Specific Implementation Methods One to Nine 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 angle interval [ψ1,ψ2], then the phase information of the grid points outside the pitch angle interval [θ1,θ2] or azimuth angle interval [ψ1,ψ2] will be set to 0.

[0127] If the determined fine search angle interval does not exceed the pitch angle interval [θ1,θ2] or azimuth angle interval [ψ1,ψ2], then it is not necessary to process the phase information of the grid points within the fine search angle interval.

[0128] The other steps and parameters are the same as those in any of the specific implementation methods one to nine.

[0129] The above examples of the present invention are merely illustrative of the computational model and process of the present invention, and are not intended to limit the implementation of the present invention. Those skilled in the art will recognize that other variations or modifications can be made based on the above description. It is impossible to exhaustively list all possible implementations here. Any obvious variations or modifications derived from the technical solutions of the present invention are still within the scope of protection of the present invention.

Claims

1. A correlation direction finding system based on FPGA, characterized in that, The system includes 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 / minimum 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 / minimum search module, and a second angle calculation module. The first phase correction module is used to correct the phase difference actually acquired by each antenna in the antenna array based on the phase information in the first measured phase correction database, so as 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. 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 to normalize the inner product to obtain the correlation of each group of grid points. The first relevance extremum search module includes an intra-group parallel comparison subunit and an inter-group extremum comparison subunit; The intra-group parallel comparison subunit is used to obtain the maximum relevance value and the index of the maximum relevance value in the relevance vector corresponding to each group of grid points. The maximum relevance value in the relevance vector corresponding to the m-th group of grid points is denoted as P. m,max m = 1, 2, ..., M, where M is the number of grid point groups; The inter-group maximum / minimum comparison unit is used to compare the P values ​​of each group of grid points. m,max Given m = 1, 2, ..., M, obtain P for each group of grid points. m,max The maximum value obtained is denoted as P. max And obtain the maximum value P max The corresponding group index values ​​m and P max The position index value n in the relevance vector; The first angle calculation module is used to calculate based on the maximum value P. max The initial DOA estimation result of the target is obtained by using the corresponding group index value m and position index value n. The angle interval is then expanded from the initial DOA estimation result to obtain the angle interval for fine search. Finally, the angle interval for fine search is divided into grids to obtain the 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, and obtain the phase information processing result; The second phase correction module is used to correct the phase difference actually acquired by each antenna in the antenna array based on the phase information in the second measured phase correction database and the initial DOA estimation result, so as 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 mesh division result; The second correlation parallel calculation module is used to calculate the inner product of the ideal phase difference vector and the actual phase difference vector after the second correction for each group of grid points in the fine grid division result, and to normalize the inner product to obtain the correlation of each group of grid points in the fine grid division result. The second correlation extremum search module is used to obtain the maximum correlation value and the index of the maximum correlation value in the correlation vector corresponding to each group of grid points in the fine mesh partitioning result. The maximum correlation value in the correlation vector corresponding to the m′-th group of grid points in the fine mesh partitioning result is denoted as P. m′,max m′=1,2,…,M′, where M′ is the number of grid point groups; The second correlation extremum search module is also used to compare the P values ​​of each group of grid points in the fine grid division results. m′,max Given m′=1,2,…,M′, obtain the P values ​​of each group of grid points in the fine mesh generation result. m′,max The maximum value obtained is denoted 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 maximum angle P. m ′ ax The corresponding group index value m′ and location index value n′ are used to obtain the final DOA estimation result of the target.

2. The correlation direction finding system based on FPGA 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 correlation direction finding system based on FPGA according to claim 1, characterized in that, The working process of the first phase correction module is as follows: Step S11: Calculate the corrected phase difference set: in, Let φ be the phase difference after correction for the k-th antenna. k This represents the phase difference actually acquired by the k-th antenna. The phase information corresponding to the k-th antenna in the first measured phase correction database is given by k = 1, 2, ..., K, where K is the number of antennas. Then Convert to a 16-bit signed number to obtain the conversion result for the k-th antenna. Step S12, according to Calculate the actual phase difference vector after the first correction. in, is the actual phase difference vector after the first correction, j is the imaginary unit, and exp(·) is the exponential operation on the corrected phase difference.

4. The correlation direction finding system based on FPGA according to claim 1, characterized in that, The phase information storage unit specifically includes: The pitch angle interval is denoted as [θ1, θ2], where θ1 and θ2 are both integers. The azimuth angle interval is denoted as [ψ1, ψ2], where ψ1 and ψ2 are both integers. The pitch angle interval and 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. The phase information storage unit stores the phase information corresponding to each grid point.

5. The correlation direction finding system based on FPGA according to claim 3, characterized in that, The working process of the first ideal phase difference vector parallel computing unit is as follows: Step S21: Group all grid points within the two-dimensional angular grid: The first to Nth grid points in the first row of the two-dimensional angle grid are grouped into a grid point group, the (N+1)th to 2Nth grid points in the first row are grouped into a grid point group, and so on, until the number of remaining grid points in the first row is less than or equal to N, at which point the remaining grid points in the first row are grouped into a grid point group. Similarly, group the grid points within each row; Step S22: Taking any set of grid points containing N network points as an example, convert the N network points into N parallel paths. In each path, divide the phase information corresponding to the network points of that path by the wavelength to obtain the ideal phase difference information of each antenna calculated for that path. For the i-th path, the ideal phase difference information of each antenna calculated for the i-th path is denoted as follows: according to Calculate the ideal phase difference vector r of the i-th path i : Similarly, the ideal phase difference vector for each path of each group of grid points is calculated.

6. The correlation direction finding system based on FPGA 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 as follows:

7. The correlation direction finding system based on FPGA according to claim 6, characterized in that, The working process of the first relevance parallel computing module is as follows: Step S31: Calculate the ideal phase difference vector r i Modulus length ||r i ||and the corrected actual phase difference vector Length of the module Step S32, according to ||r i ||and Calculate the relevance ρ i ; Where ||·|| represents the modulus, and the superscript H represents the conjugate transpose; The correlation vector ρ is constructed by using the correlations of all grid points within the same group: p=[p1,p2,…,p N ]。 8. The correlation direction finding system based on FPGA according to claim 7, characterized in that, The working process of the first relevance extremum search module is as follows: Step S41: For the correlation vector corresponding to the m-th grid point, use parallel comparison sub-units to compare the values ​​of each element in the correlation vector to obtain the maximum value P in the correlation vector corresponding to the m-th grid point. m,max ; Step S42: Use the inter-group maximum / minimum comparison element to compare the P values ​​of each group of grid points. m,max By comparison, we obtain P. m,max Find the maximum value among m = 1, 2, ..., M, and denote the obtained maximum value as P. max And record the maximum value P. max The group index m and the maximum value P max The position index value n within the relevance vector is used to obtain the maximum value P. max The corresponding (m,n).

9. The correlation direction finding system based on FPGA according to claim 8, characterized in that, The process involves expanding the angle interval from the initial DOA estimation result to obtain the fine-search angle interval, and then dividing the fine-search angle interval into a grid; specifically: The initial DOA estimation result is denoted as (θ,ψ). The range centered at (θ,ψ) and within the azimuth interval [θ-3°,θ+3°] and the pitch 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 a fixed angle interval.

10. A correlation direction finding system based on FPGA 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 pitch angle interval [θ1,θ2] or azimuth angle interval [ψ1,ψ2], then the phase information of the grid points outside the pitch angle interval [θ1,θ2] or azimuth angle interval [ψ1,ψ2] will be set to 0. If the determined fine search angle interval does not exceed the pitch angle interval [θ1,θ2] or azimuth angle interval [ψ1,ψ2], then 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