Spectrum peak estimation using Fourier coefficient interpolation

Through the generalized discrete Fourier transform interpolation method, the problem of low computing efficiency and insufficient accuracy caused by the specific relationship between the number of sensors and the number of DFT points in radar signal processing is solved, and flexible and efficient frequency and angle estimation is achieved, which improves the positioning performance of the radar system.

CN120294679APending Publication Date: 2025-07-11APTIV TECHNOLOGIES AG
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411550804.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2024-01-09
Filing Date
2024-11-01
Publication Date
2025-07-11

AI Technical Summary

Technical Problem

Existing radar signal processing methods have problems with low computational efficiency and insufficient flexibility in frequency domain peak estimation, especially when a specific relationship is required between the number of sensors and the number of DFT points, resulting in increased computational burden or reduced accuracy.

Method used

The generalized discrete Fourier transform (GDI) interpolation method is used to calculate the discrete Fourier transform of the input radar signal, identify the peak amplitude, select adjacent points and generate fine frequency estimates, which are suitable for any number of DFT points and sensors, combining phase adjustment and absolute value calculation to improve accuracy.

Benefits of technology

It enables the flexibility of using any number of DFT points and sensors without reducing accuracy, improving radar positioning performance, especially driver-assisted and autonomous driving applications in complex environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120294679A_ABST
    Figure CN120294679A_ABST
Patent Text Reader

Abstract

The method includes calculating a Discrete Fourier Transform (DFT) of a radar signal received by a radar element. The method comprises the following steps: identifying the peak amplitude of DFT; and designating a frequency corresponding to the peak amplitude of the DFT as an initial frequency estimate. The method includes selecting a first neighboring point and a second neighboring point of the DFT based on an initial frequency estimate. The method includes generating a first value and a second value based on a magnitude of a first adjacent point and a magnitude of a second adjacent point of the DFT. The method includes calculating a generalized interpolation value based on a generalized discrete DFT interpolation. The generalized discrete DFT interpolation is based on the first value, the second value, and the peak amplitude. The method includes generating a fine frequency estimate of the input radar signal by adding the initial frequency estimate and the generalized interpolation value.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to frequency domain signal processing and, more particularly, to estimating characteristics such as frequency or angle from an incoming radar signal. Background Art

[0002] Frequency domain (spectrum) peak estimation is useful in various technical applications such as frequency estimation and angle estimation. For example, a radar system transmits a signal and detects the signal when it bounces off an object. Frequency estimation can be used to determine the distance of the object from the radar system (more specifically, the distance from the sensor array of the radar system) (and in some implementations, can also be used to determine the speed of the object). The difference between the detected signal and the transmitted signal is determined based on the frequency estimation, and this difference is used to calculate the distance to the object and the speed of the object.

[0003] In various implementations, angle estimation can be used to determine the angular position of an object relative to the radar system. Angle estimation relies on the spatial difference between two or more elements in the radar sensor array. By measuring the difference in the arrival time of the detected signal at the sensor elements, the direction of arrival of the radar signal can be calculated.

[0004] Compared to other types of sensors such as cameras, radar provides improved performance in difficult environmental conditions such as low lighting, fog, and / or the presence of moving or overlapping objects. Thus, radar offers many advantages for driver assistance applications and / or autonomous driving applications, etc.

[0005] As described above, radar signals generally need to be processed and analyzed before the data can be used for driver assistance applications and / or autonomous driving applications. For example, the Fourier transform (FT) is an important part of direction-of-arrival (DOA) estimation (also known as angle estimation) and range-Doppler processing schemes. To achieve reasonable estimation accuracy, a fine FT grid is usually required, which increases the computational burden. Existing methods are either accurate but require specific criteria to be met, or inaccurate but do not require specific criteria to be met. For example, the interpolation method in fast iterative interpolation beamforming (FIIB) requires the number of discrete Fourier transform (DFT) points to be twice the number of data samples (when performing angle estimation, the number of data samples is determined by the number of array sensors or channels), for example, six time samples or spatial sensors require twelve DFT points. This requirement limits the system to a specific configuration and may reduce computational efficiency because the number of DFT points is typically expected to be a power of 2 (e.g., 2, 4, 8, 16, etc.). As another example, parabolic interpolation does not require a specific number of sensors or DFT points, but assumes the signal is a parabolic model, which results in errors when the signal is sinusoidal or otherwise non-parabolic. Therefore, a solution that can be applied to any number of DFT points and sensors and remain accurate is needed.

[0006] The background description provided herein is for the purpose of generally presenting the context of the present disclosure. Within the scope of the description in this background art section, the work of the presently named inventors and aspects of the specification that are not otherwise identified as prior art at the time of filing the application are neither expressly nor implicitly admitted as prior art with respect to the present disclosure. Summary of the Invention

[0007] A method of processing an input radar signal received by a plurality of radar elements includes: calculating a discrete Fourier transform (DFT) of the input radar signal. The method includes: identifying a peak amplitude of the DFT. The method includes: designating a frequency corresponding to the peak amplitude of the DFT as an initial frequency estimate. The method includes: selecting a first adjacent point of the DFT based on the initial frequency estimate; The method includes: selecting a second adjacent point of the DFT based on the initial frequency estimate; The method includes: generating a first value based on the amplitude of the first adjacent point of the DFT. The method includes: generating a second value based on the amplitude of the second adjacent point of the DFT. The method includes: calculating a generalized interpolation value based on generalized discrete DFT interpolation. The generalized discrete DFT interpolation is based on the first value, the second value, and the peak amplitude. The method includes: generating a fine frequency estimate of the input radar signal by adding the initial frequency estimate and the generalized interpolation value.

[0008] In other features, the method includes determining an angle estimate based on the refined frequency estimate. In other features, the first neighboring point corresponds to a lower frequency than the initial frequency estimate. The second neighboring point corresponds to a higher frequency than the initial frequency estimate. In other features, the DFT includes an ordered set of frequencies arranged from a lowest frequency to a highest frequency. The ordered set of frequencies includes the initial frequency estimate, the lower frequency, and the higher frequency. The lower frequency is immediately before the initial frequency estimate in the ordered set of frequencies. The higher frequency is immediately after the initial frequency estimate in the ordered set of frequencies.

[0009] In other features, generating the first value and generating the second value include: determining whether a set of phase adjustment criteria has been met. Generating the first value and generating the second value also include: in response to determining that the set of phase adjustment criteria has been met: calculating the real component of the first neighboring point of the DFT, and calculating the real component of the second neighboring point of the DFT. In other features, generating the first value and generating the second value include, in response to determining that the set of phase adjustment criteria has not been met: calculating the absolute value of the amplitude of the first neighboring point of the DFT, and calculating the absolute value of the amplitude of the second neighboring point of the DFT. In other features, the plurality of radar elements is N radar elements. The DFT has K frequency points. The set of phase adjustment criteria includes a criterion that is met when K is greater than or equal to N and less than 2N.

[0010] In other features, the method includes selectively performing a refinement operation, the refinement operation including: selecting a third neighboring point of the DFT based on the initial frequency estimate. The third neighboring point is between the first neighboring point and the initial frequency estimate. The refinement operation includes: selecting a fourth neighboring point of the DFT based on the initial frequency estimate. The fourth neighboring point is between the second neighboring point and the initial frequency estimate. The refinement operation includes: generating a third value based on the magnitude of the first neighboring point and the magnitude of the third neighboring point. The refinement operation includes: generating a fourth value based on the magnitude of the second neighboring point and the magnitude of the fourth neighboring point. The refinement operation includes: determining a refined peak magnitude of the DFT based on the third value and the fourth value. The refinement operation includes: designating a second frequency corresponding to the refined peak magnitude as the refined initial frequency estimate. The refinement operation includes: calculating a refined generalized interpolation value based on a refined generalized discrete DFT interpolation. The refined generalized discrete DFT interpolation is based on the third value, the fourth value, and the refined peak magnitude. The refinement operation includes generating a refined frequency estimate of the input radar signal by adding the refined initial frequency estimate and the refined generalized interpolation value.

[0011] Among other features, the plurality of radar elements are N radar elements. The DFT has K frequency points. The refinement operation is performed only in response to determining that (i) K is greater than or equal to N and (ii) less than 2N. Among other features, the refinement operation is performed only in response to determining that (i) K is greater than N and (ii) less than 2N. Among other features, the refinement operation is performed only in response to the existence of a configuration capable of implementing the refinement operation.

[0012] Among other features, the plurality of radar elements are N radar elements. The DFT has K frequency points. The generalized discrete DFT interpolation is based on N and K. Among other features, the generalized discrete DFT interpolation is based on: the quotient of one divided by K; the peak amplitude; the sum of a first value and a second value; and the difference between the first value and the second value. Among other features, the generalized discrete DFT interpolation is defined as: where δ is the generalized interpolation value, is the first value, is the second value, S 最大 is the peak amplitude, and x is the quotient of one divided by K.

[0013] A system includes: memory hardware configured to store instructions; and processor hardware configured to execute the instructions. The instructions include: computing a discrete Fourier transform (DFT) of an input radar signal received by a plurality of radar elements; The instructions include: identifying the peak amplitude of the DFT. The instructions include: designating the frequency corresponding to the peak amplitude of the DFT as an initial frequency estimate. The instructions include: selecting a first adjacent point of the DFT based on the initial frequency estimate. The instructions include: selecting a second adjacent point of the DFT based on the initial frequency estimate. The instructions include: generating a first value based on the amplitude of the first adjacent point of the DFT. The instructions include: generating a second value based on the amplitude of the second adjacent point of the DFT. The instructions include: computing a generalized interpolation value based on a generalized discrete DFT interpolation. The generalized discrete DFT interpolation is based on the first value, the second value, and the peak amplitude. The instructions include: generating a refined frequency estimate of the input radar signal by adding the initial frequency estimate and the generalized interpolation value.

[0014] Among other features, the system includes a plurality of radar elements. Among other features, a vehicle includes the system. Among other features, the first adjacent point corresponds to a frequency lower than the initial frequency estimate. The second adjacent point corresponds to a frequency higher than the initial frequency estimate. Among other features, the plurality of radar elements are N radar elements. The DFT has K frequency points. The generalized discrete DFT interpolation is based on N and K. Among other features, the generalized discrete DFT interpolation is based on: the quotient of one divided by K; the peak amplitude; the sum of a first value and a second value; and the difference between the first value and the second value.

[0015] Further applicable fields of the present disclosure will become apparent from the specific embodiments, claims, and drawings. The specific embodiments and specific examples are only for illustrative purposes and are not intended to limit the scope of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS

[0016] The present disclosure will be more fully understood through specific embodiments and the accompanying drawings.

[0017] Figure 1 is a functional block diagram of an exemplary radar system.

[0018] Figure 2A is a functional block diagram of an exemplary frequency estimation.

[0019] Figure 2B is a functional block diagram of an exemplary angle estimation.

[0020] Figures 3A - 3D is a graph comparing the errors of various interpolation methods in an exemplary scenario.

[0021] Figures 4A - 4D is a graph comparing the errors of various interpolation methods in an exemplary scenario.

[0022] Figures 5A - 5C is a graph graphically depicting variations of an interpolation scheme.

[0023] Figures 6A - 6D is a graph comparing the errors of various interpolation methods in an exemplary scenario.

[0024] Figures 7A - 7D is a graph comparing the errors of various interpolation methods in an exemplary scenario.

[0025] Figure 8 is a functional block diagram of an exemplary frequency estimation system.

[0026] Figures 9A - 9D is a graph comparing the errors of various interpolation methods in an exemplary scenario.

[0027] Figures 10A - 10D is a graph comparing the errors of various interpolation methods in an exemplary scenario.

[0028] Figures 11A - 11B collectively form a flowchart of a method for frequency estimation and angle estimation.

[0029] In the drawings, reference numerals may be reused to identify similar and / or identical elements. DETAILED DESCRIPTION INTRODUCTION

[0030] The present disclosure provides an accurate estimate that does not require a specific relationship between the number of sensors and the number of DFT points (as required by the interpolation method in FIIB) and does not sacrifice accuracy (as required by parabolic interpolation). The interpolation method in FIIB is not flexible in terms of the number of sensors or the number of DFT points, but if the number of DFT points meets the requirements of the interpolation method in FIIB, the method is accurate. For example, when using the interpolation method in FIIB, six sensors require a 12-point DFT; a 16-point DFT would be inaccurate (i.e., there is a bias) because the FIIB equation is derived for K = 2N (where K is the number of DFT points and N is the number of data samples, radar array elements, and / or input signals).

[0031] The disclosed solution generally applies to any reasonable number of DFT points and sensors and is referred to as Generalized DFT Interpolation (GDI). For example, GDI allows the system to use six sensors with a 16-point DFT or even an 8-point DFT without sacrificing accuracy. After performing the DFT, an additional algorithm is used to fine-tune the estimate. An accurate DFT result is desired because it improves the radar's positioning performance. The technical solution is described below from the perspective of frequency estimation. However, the solution is equally applicable to angle estimation, such as direction-of-arrival (DOA) estimation.

[0032] When K = 2N is true, GDI reduces to the interpolation method in FIIB, resulting in the same results and accuracy. Table 1 summarizes the requirements and accuracy of the interpolation method in FIIB, parabolic interpolation, and GDI. Table 1

[0033] Figure 1 is a high-level block diagram of radar system 108. Radar system 108 can be mounted to vehicle 112 and / or integrated within vehicle 112. Radar system 108 is configured to detect one or more objects in the vicinity of vehicle 112. In various implementations, radar system 108 can be a forward-looking radar system.

[0034] In various implementations, the radar system 108 can be mounted on the top, bottom, front, rear, left, or right side of the vehicle 112. In various implementations, the radar system 108 includes a plurality of radar subsystems. For example, the radar system 108 can include a first front radar subsystem positioned near the left side of the vehicle 112 and a second front radar subsystem positioned near the right side of the vehicle. In various implementations, the (multiple) positions of the radar system 108 can be selected to provide a particular field of view that encompasses an area of interest where one or more objects may be present. For example, the field of view can include a 360-degree field of view, one or more 180-degree fields of view, and / or one or more 90-degree fields of view.

[0035] In various implementations, the vehicle 112 can include one or more systems that use the data provided by the radar system 108. For example, the vehicle 112 can include a driver assistance system and / or an autonomous driving system. The driver assistance system can use the data provided by the radar system 108 to monitor one or more blind spots of the vehicle 112 and / or warn the driver of the vehicle 112 of potential collisions with objects. The autonomous driving system can use the data provided by the radar system 108 to drive the vehicle 112, avoid collisions with objects, perform emergency braking, change lanes, and / or adjust the speed of the vehicle 112, etc.

[0036] In various implementations, the radar system 108 can include at least one antenna array 136 and at least one transceiver 140. In various implementations, the radar system 108 can include processor hardware 144 and memory hardware 148. The memory hardware 148 can include radar software 152. In various implementations, the radar software 152 can be configured to analyze radar signals, detect one or more objects, and / or determine one or more characteristics of the objects (such as position and / or velocity). In various implementations, the radar software is implemented fully or partially in hardware.

[0037] Figure 2A is a block diagram depicting frequency estimation. In various implementations, an incoming signal is received at the transducer module 204. The signal conditioning module 208 conditions the signal, such as by performing amplification, noise reduction, etc. The preprocessing module 212 performs actions such as analog filtering, downconversion, etc. The sampling module 214 converts the signal from analog to digital. The intermediate processing module 216 performs actions such as digital filtering. The frequency estimation module 218 generates a frequency estimate, as described in more detail below.

[0038] Figure 2B is a block diagram depicting direction-of-arrival (DOA) angle estimation and includes Figure 2AElements similar to those depicted. In various implementations, incoming signals are received at sensor array 230. The signal conditioning module 234 may be implemented similarly to signal conditioning module 208. The preprocessing module 238 may be implemented similarly to preprocessing module 212. The sampling module 242 may be implemented similarly to sampling module 214. The intermediate processing module 246 may be implemented similarly to intermediate processing module 216.

[0039] In various implementations, the intermediate processing module 246 may additionally or alternatively perform range-Doppler processing (e.g., estimating the ranging frequency based on data in the fast-time domain and estimating the Doppler frequency based on data in the slow-time domain), peak selection, or prioritization, etc. The frequency estimation module 250 may be implemented similarly to frequency estimation module 218. The angle estimation module 254 generates one or more angle estimates based on the (multiple) frequency estimates and data collected by radar array elements distributed in the spatial domain.

[0040] The following describes this technical solution from the perspective of frequency estimation. However, this solution is equally applicable to direction-of-arrival (DOA) estimation. In various implementations, the generalized DFT interpolation (GDI) uses Equation (1). In this equation, the signal consists of a complex sum of complex exponentials. In this form, the equation can be vectorized.

[0041] For simplicity, the following derivation is for a single signal. In some implementations, to achieve higher accuracy, this method can be applied iteratively. For example, if there are two signals, there will be residuals and the resulting outcome may be less accurate; thus, the method can be repeated until the desired accuracy is achieved.

[0042] Consider a discrete-time uniformly sampled received signal s(n) of length N having the following form, where f is the digital signal frequency such that f ∈ [0 1) Hz / Hz, and φ is the initial phase: s(n) = Ae j(2πfn+φ) , n = 0,..., N - 1 (2)

[0043] In various implementations, a rectangular window is applied. In other implementations, no window is applied to the signal because the signal is already a correct sine curve. The rectangular window is given as follows, where N is the time index: In some implementations, it is convenient to define the window such that the DC gain is 1, in which case the definition of Equation (3) above needs to be multiplied by 1 / N.

[0044] The discrete-time Fourier transform of the signal s(n) is given as follows, where K is the frequency index: Using the geometric series formula, equation (4) becomes equation (5) below: Subsequent modifications result in the following formula:

[0045] The absolute value of S(k) is given as follows: The above result is also known as the aliased sinc function. The maximum value of |S(k)|, for k = 0, …, K-1, will occur at given as follows, where

[0046] In the subsequent discussion, assuming that the sampling frequency is sufficient such that the maximum value and the adjacent points have the same polarity (which is usually the case when K ≥ 2N), the absolute value operator |·| is omitted. The maximum FT magnitude S on the grid 最大 corresponds to a rough frequency estimate given by: At (i.e., δ = 0), the maximum magnitude of the FT spectrum lies at the th grid point, and the estimated frequency obtained is

[0047] However, this is usually not the case because the maximum value of the FT spectrum may not lie on the FT grid. Due to the symmetry of |S(k)| around the maximum value, δ lies within the given range as shown in equation (10): Using equation (7), the two adjacent coefficients of the peak FT spectrum can be found as follows: Further solving the above equation (11) gives the following equation (12):

[0048] Dividing the numerator and denominator of equation (12) by sinπδ gives equation (13a), which can be further simplified to equation (13c).

[0049] Simplifying equation (13c) gives: It can be decomposed as follows:

[0050] Adding the two equations represented in equation (14) gives: (S -x +S +x ) cos(πx)+(S -x -S +x ) cot(πδ) sin(πx)=2S 最大 cos(πNx) (15) The fractional bin estimate δ can thus be calculated as follows:

[0051] When S 最大 is the actual (whether on-grid or off-grid) maximum of the entire DFT spectrum, due to the symmetry of the DFT spectrum around the maximum, there is S +x =S -x . For this case, the above equation will yield δ = 0. All terms on the right side of the above equation are known. The amplitudes S 最大 , S +x , S -x are known from the DFT spectrum. On the other hand, when and N is the total number of samples of the input data, cos(πNx), cos(πx), and sin(πx) are also known.

[0052] When S -x ≈S +x , computational instability may occur in the calculation of the fractional bin δ. This can be alleviated by adopting the following formula equivalent to the above equation, as shown below:

[0053] The final frequency estimate is given as follows:

[0054] Figures 3A - 3D Shows a comparison of the estimation errors for an example implementation of the present disclosure (referred to as GDI) with the interpolation methods in parabolic interpolation and FIIB. The errors are measured in root mean square error (RMSE) and are plotted against frequency in Figures 3A - 3B and against signal-to-noise ratio (SNR) in Figures 3C - 3D . First, from Figures 3A - 3DAs can be seen, the interpolation method in FIIB and GDI have the same performance in this scenario. This is advantageous because the default configuration of GDI is a generalized interpolation method that can be applied to any case where K≥2N; however, the interpolation method in FIIB is most effective only for K = 2N or for K = N cases that require further refinement. Therefore, GDI is a general interpolation scheme, while the interpolation method in FIIB is limited to special cases.

[0055] In addition, Figure 3A it is shown that at SNR = 20 dB, as the frequency varies from -0.5 Hz / Hz to 0.5 Hz / Hz, the worst-case error of GDI is the same as that of parabolic interpolation. At Figure 3B it can be noted that at higher SNRs, the performance of GDI improves significantly relative to the parabola. Figure 3C and Figure 3D show the worst and best frequency cases of GDI. It can be observed that compared to GDI, parabolic interpolation either has a small performance gain or no performance gain at lower SNRs; however, at medium and higher SNRs, the performance of GDI is better than that of parabolic interpolation.

[0056] Figures 4A - 4D The performance of parabolic interpolation and an example GDI implementation for N = 6 and K = 16 was studied. Figures 4A - 4D The results are similar to those Figures 3A - 3D depicted in Figures 4A - 4D i.e., GDI has enhanced performance relative to parabolic interpolation. In the case of K = N

[0057] In some implementations, variants of GDI can be applied to specific scenarios. Figures 5A - 5C illustrates the basic concept of these variants compared to the default mode of GDI. In Figure 5A it shows the default scheme (as described relative to equation (1)). In the default mode (which can be used when K≥2N), the peak DFT points and the adjacent points to the left and right are selected.

[0058] In Figure 5B it depicts a GDI variant (for K = N). K = N is a special case where one of the adjacent DFT points of the DFT peak is outside the main lobe. When sampling this adjacent point, the absolute value operator |S ±x|It will convert the polarity of the negative adjacent point to positive. Equation (11) shows that the polarity of the sampling point is important for the GDI formula. For K≥2N, when the polarities of the peak and its adjacent points are the same, the polarity can be ignored. However, for K = N, one of the adjacent points will have a negative polarity.

[0059] The polarity of the adjacent point can be easily restored. The simulation analysis of several scenarios indicates that the adjacent point with the minimum amplitude has a negative polarity. Once the polarity of the adjacent point with the minimum amplitude is restored to negative, the GDI formula becomes effective.

[0060] Figures 6A - 6D The performance of parabolic interpolation and the proposed GDI scheme in the case of N = 4 and K = 4 (that is, the K = N mode) was studied. Note that the interpolation method in FIIB is not applicable to this case because the FIIB interpolation method is most effective only when K = 2N. It can be observed that in most cases, the performance of the GDI scheme is better than that of parabolic interpolation. For Figure 6A and Figure 6B , in the case of SNR = 20dB and SNR = 30dB, the worst-case error of GDI is lower. Figure 6C Shows the worst-case frequency estimation situation of GDI, where the performance of GDI is better than that of parabolic interpolation above 20dB. On the other hand, Figure 6D Shows the best-case of GDI, where, regardless of the SNR, the performance of GDI is equivalent to or better than that of parabolic interpolation. Refinement mode

[0061] In Figure 5C , the figure shows the refinement mode, which can improve the accuracy in some implementations, such as when N < K < 2N. In various implementations, when K = N, or even within the entire range K≥N, the refinement mode can also be used.

[0062] In various implementations, the refinement mode includes calculating two additional sub-grid DFT points on both sides of the peak DFT position. For example, if the DFT peak appears at the grid point , then two additional DFT grid point calculations will be performed at . Subsequently, the five adjacent points given by and are selected. The max() operation is performed again on the selected five grid points to select a new maximum value. Subsequently, these five adjacent points are used to identify S 最大 and S +x , and the following modification is made to the GDI formula (this also applies to the case of K≥N): Note that a multiplier of 0.5 is used because the adjacent points on either side of the peak are at half-step distances, rather than full-step distances.

[0063] Figures 7A - 7D The figure shows the performance of an example implementation of parabolic interpolation and GDI in the refinement mode when N = 4 and K = 4. Note that the interpolation method in FIIB is not applicable to this case and, like GDI, further refinement is also required. The advantages of refinement also apply to parabolic interpolation to match the computational complexity of all algorithms. It can be observed that at medium SNR, the interpolation methods in GDI and FIIB have lower worst-case errors, while at high SNR, the performance of the interpolation methods in GDI and FIIB is better than that of parabolic interpolation. Complex Generalized DFT Interpolation

[0064] In some implementations, complex GDI is used in place of the previously described methods, and complex GDI can be applied to all the scenarios discussed previously, such as K ≥ N and K ≥ 2N. When needed, complex GDI includes a phase shift (such as when K < 2N). Complex GDI provides higher accuracy in many cases, but generally requires a greater computational burden. For example, when K = N, the absolute-value-based GDI may result in lower accuracy; complex GDI performs better in the case of K = N because complex GDI does not require an estimate of the polarity. In an implementation where K = N, is close to zero, which results in an unstable polarity. As another example, when N < K < 2N, the absolute-value-based GDI may be ineffective because the multiple for different frequencies are unpredictable.

[0065] Complex GDI can be described by the following derivation. Equation (6) describes the maximum value of the FT at the th bin as shown in Equation (19), where represents the phase of S given by the following formula: 最大

[0066] The adjacent values of S ±x can take the following form:

[0067] Since and are known, these terms are removed, resulting in the following equation:

[0068] Subsequently, the process previously used to find δ results in the following equation:

[0069] Compared with the absolute value formula of GDI above, the complex number formula requires estimating the dominant phase φ 最大 , and eliminating the subsequent phase from S 最大 and S +x . Once S 最大 and S +x are estimated, and are found and used to calculate and In addition, since in some systems, and include complex parts due to the presence of noise, the real{·} operator is used to force and to be real elements.

[0070] The complex form of GDI can also be used in other modes. For K = N, the complex GDI does not require estimating the sign of S +x , because by compensating the phase part in Equation (20), the sign has been retrieved in Equation (21). Similarly, the complex GDI is also applicable to the refinement mode, and δ can be found similar to Equation (18) as follows: Block diagram

[0071] Figure 8 is a functional block diagram of frequency estimation implemented according to an example of GDI. Figure 8 The modules in Figure 2A can implement the frequency estimation module 218 of Figure 2B and / or the frequency estimation module 250 of

[0072] The coarse DFT module 804 calculates a coarse grid Fourier transform (FT), such as a discrete Fourier transform (DFT), for a set of input signals (such as time series radar data).

[0073] The peak detection module 808 identifies the peak amplitude of the FT spectrum; the frequency at which the peak amplitude appears is designated as the coarse frequency estimate. The peak detection module 808 then identifies two adjacent points of the coarse frequency estimate (one adjacent point on each side of the coarse frequency estimate).In an implementation of performing phase adjustment, the phase adjustment is performed by the phase adjustment module 812. For example, the phase adjustment can be performed when K = N or N < K < 2N. The absolute value module 816 determines the absolute value of one or more of the peak amplitude, the first adjacent point amplitude, and the second adjacent point amplitude. In various implementations, the mode selection module 818 determines which GDI variant (such as complex GDI, refine GDI, or K = N) to use based on K and N. The mode selection module 818 controls the multiplexer module 820 to select whether to use the output of the phase adjustment module 812 or the output of the absolute value module 816. The multiplexer is shown as a visual representation only for illustration. In actual operation, the mode selection module 818 can activate one of the phase adjustment module 812 or the absolute value module depending on the mode and disable the other.

[0074] In fact, in some implementations, a specific mode of GDI can be hard-coded, such as if the values of K and N are fixed for a particular system, or if they vary only within a specific range that does not affect the desired operating mode. In such implementations, the mode selection module 818 and the multiplexer module 820 can be omitted, and one or both of the phase adjustment module 812 and the absolute value module 816 can also be omitted.

[0075] The generalized DFT interpolation module 822 receives the values of the peak and the adjacent points, which may have been adjusted by the phase adjustment module 812 or the absolute value module 816. The generalized DFT interpolation module 822 calculates δ (delta), such as calculating according to one of the equations above. The summation module 824 adds the difference to the rough frequency estimate (from the peak detection module 808) to generate an accurate estimate (fine frequency estimate) of the frequency of the input signal.

[0076] Figures 9A - 9D And Figures 10A - 10D The figure shows the performance advantages of complex GDI. Figures 9A - 9D Shows the results for the case of K = N, while Figures 10A - 10D Shows the accuracy of various interpolations for the case of N < K < 2N.

[0077] Figures 11A - 11B Collectively form a flowchart of an example method for performing frequency estimation or angle estimation of a radar signal. At 1104, the control receives an input radar signal. At 1108, a rough DFT is performed. At 1112, the peak of the DFT is determined, and the frequency at which the peak of the DFT occurs is designated as the initial frequency estimate. At 1116, two points adjacent to the DFT peak are found.

[0078] At 1120, the control determines whether N < K < 2N is true (where K is the number of DFT points and N is the number of inputs, channels, radar elements, etc.). If N < K < 2N is true, the control moves to 1124; otherwise, the control moves to Figure 11B 1132 in Figure 11B . At 1124, the control determines whether the refinement operation is enabled. If the refinement operation is enabled, the control moves to 1128 and refines the adjacent points and the peak of the DFT. The control continues at Figure 11B 1132 in Figure 11B . Referring back to 1124, if the refinement operation is not enabled, the control moves to 1132. Whether the refinement operation is enabled can be a design decision based on considerations of accuracy, computational availability, and speed.

[0079] At 1132, the control determines whether N ≤ K < 2N is true. If N ≤ K < 2N is true, the control moves to 1136 and performs a phase shift by determining the real parts of the adjacent points, thereby generating a first value and a second value. Then, the control continues to 1144. Referring back to 1132, if N ≤ K < 2N is false, the control moves to 1140 and generates a first value and a second value based on the absolute values of the adjacent points of the DFT, and then continues to 1144. At 1144, the control calculates a difference based on the first value, the second value, and the DFT peak, as described in more detail above. The difference calculation can depend on whether the refinement operation is enabled. At 1148, the control adds the difference and the initial frequency estimate to generate a fine frequency estimate. In various implementations, at 1152, the control uses the frequency estimate to generate an angle estimate. Conclusion

[0080] The foregoing description is merely illustrative in nature and is in no way intended to limit the disclosure, its application, or uses. The broad teachings of the disclosure can be implemented in a variety of forms. Thus, while the disclosure includes specific examples, the true scope of the disclosure should not be so limited since other modifications will become apparent upon study of the drawings, the specification, and the following claims. In the written description and claims, one or more steps within a method can be performed in a different order (or simultaneously) without changing the principles of the disclosure. Similarly, one or more instructions stored on a non-transitory computer-readable medium can be executed in a different order (or simultaneously) without changing the principles of the disclosure. Unless otherwise specified, the numbering or other labeling of instructions or method steps is for convenience of reference and is not intended to indicate a fixed order.

[0081] In addition, while each of the above-described embodiments has been described as having certain features, any one or more of those features described with respect to any embodiment of the present disclosure can be implemented in and / or combined with the features of any one of the other embodiments, even if the combination is not explicitly described. In other words, the described embodiments are not mutually exclusive, and arrangements of one or more of the embodiments with respect to each other are still within the scope of the present disclosure.

[0082] Spatial and functional relationships between elements (e.g., between modules) are described using various terms, including "connected", "engaged", "interface", and "coupled". Unless explicitly described as "direct", when describing the relationship between a first element and a second element in the above disclosure, the relationship encompasses both a direct relationship where no other intermediate element exists between the first element and the second element and an indirect relationship (either spatially or functionally) where one or more intermediate elements exist between the first element and the second element.

[0083] As described below, the term "set" generally refers to a grouping of one or more elements. However, in various implementations, a "set" can in some cases be an empty set (in other words, the set has zero elements in those cases). As an example, depending on the query, the set of search results produced by the query can be an empty set. In cases of ambiguity, the term "non-empty set" can be used to explicitly indicate the exclusion of the empty set - that is, a non-empty set will always have one or more elements.

[0084] A "subset" of a first set generally includes some elements of the first set. However, in various implementations, a subset of the first set may not be a proper subset: in some cases, the subset may be coextensive with (equal to) the first set. In cases of ambiguity, the term "proper subset" can be used to explicitly indicate that a subset of the first set must exclude at least one element of the first set. Additionally, in various implementations, the term "subset" does not necessarily exclude the empty set. As an example, consider a subset of a candidate set selected based on a first criterion and a candidate set selected based on a second criterion; if no element in the candidate set satisfies the second criterion, the subset may be an empty set. In cases of ambiguity, the term "non-empty subset" can be used to explicitly indicate the exclusion of the empty set.

[0085] In the figures, the direction of an arrow as indicated by the arrowhead generally shows the flow of information of interest in the illustration (such as data or instructions). For example, when element A and element B exchange various information, but the information transmitted from element A to element B is relevant to the illustration, the arrow can point from element A to element B. This one-way arrow does not mean that no other information is transmitted from element B to element A. Additionally, for the information sent from element A to element B, element B can send a request for that information or receive an acknowledgement.

[0086] In this application, the following definitions are included. The term "module" may be replaced with the term "controller" or the term "circuit". In this application, the term "controller" may be replaced with the term "module".

[0087] The term "module" may refer to processor hardware (shared, dedicated, or grouped), be part of processor hardware, or include processor hardware that executes code coupled to memory hardware (shared, dedicated, or grouped), where the memory hardware stores the code executed by the processor hardware.

[0088] A module may include one or more interface circuits. In some examples, the (multiple) interface circuits may implement a wired or wireless interface to connect to a local area network (LAN) or a wireless personal area network (WPAN). Examples of a LAN are the Institute of Electrical and Electronics Engineers (IEEE) standards 802.11-2020 (also known as the WIFI wireless network standard) and IEEE standard 802.3-2018 (also known as the ETHERNET wired network standard). Examples of a WPAN are the IEEE standard 802.15.4 (including the ZIGBEE standard from the ZigBee Alliance) and the BLUETOOTH wireless network standard from the Bluetooth Special Interest Group (SIG) (including core specification versions 3.0, 4.0, 4.1, 4.2, 5.0, and 5.1 from the Bluetooth SIG).

[0089] A module may communicate with other modules using the (multiple) interface circuits. Although a module may be depicted as logically communicating directly with other modules in this disclosure, in various implementations, a module may actually communicate via a communication system. The communication system includes physical and / or virtual network equipment, such as hubs, switches, routers, and gateways. In some implementations, the communication system is connected to or traverses a wide area network (WAN) such as the Internet. For example, the communication system may include multiple LANs connected to each other via the Internet or point-to-point leased lines using technologies including Multiprotocol Label Switching (MPLS) and Virtual Private Network (VPN).

[0090] In various embodiments, the functions of a module may be distributed among multiple modules connected via a communication system. For example, multiple modules may implement the same function distributed by a load balancing system. In a further example, the functions of a module may be divided between a server (also known as a remote or cloud) module and a client (or user) module. For example, a client module may include a native or network application that executes on a client device and communicates with the server module over a network.

[0091] As used above, the term code can include software, firmware, and / or microcode, and can refer to programs, routines, functions, classes, data structures, and / or objects. Shared processor hardware encompasses a single microprocessor that executes some or all of the code from multiple modules. Group processor hardware encompasses microprocessors that, in combination with additional microprocessors, execute some or all of the code from one or more modules. References to multiple microprocessors include multiple microprocessors on discrete chips, multiple microprocessors on a single chip, multiple cores of a single microprocessor, multiple threads of a single microprocessor, or combinations of the above.

[0092] Memory hardware can also store data either with or separate from the code. Shared memory hardware encompasses a single memory device that stores some or all of the code from multiple modules. An example of shared memory hardware can be a level 1 cache on or near a microprocessor die that can store code from multiple modules. Another example of shared memory hardware can be a persistent storage device, such as a solid state drive (SSD) or a magnetic hard disk drive (HDD), that can store code from multiple modules. Group memory hardware encompasses memory devices that, in combination with other memory devices, store some or all of the code from one or more modules. An example of group memory hardware is a storage area network (SAN) that can store the code of a particular module across multiple physical devices. Another example of group memory hardware is the random access memory of each server in a collection of servers that, when combined, store the code of a particular module. The term "memory hardware" is a subset of the term "computer-readable medium".

[0093] The devices and methods described in this application can be implemented in part or in whole by a special-purpose computer created by configuring a general-purpose computer to execute one or more specific functions embodied in a computer program. Such devices and methods can be described as computerized or computer-implemented devices and methods. The above functional blocks and flowchart elements serve as software specifications that can be converted into a computer program by the routine work of a skilled technician or programmer.

[0094] A computer program includes processor-executable instructions stored on at least one non-transitory computer-readable medium. A computer program can also include or rely on stored data. A computer program can include a basic input / output system (BIOS) that interacts with the hardware of the special-purpose computer, device drivers that interact with specific devices of the special-purpose computer, one or more operating systems, user applications, background services, background applications, etc.

[0095] A computer program may include: (i) descriptive text to be parsed, such as HTML (HyperText Markup Language), XML (eXtensible Markup Language), or JSON (JavaScript Object Notation), (ii) assembly code, (iii) object code generated from source code by a compiler, (iv) source code for execution by an interpreter, (v) source code for compilation and execution by a just-in-time compiler, etc. By way of example only, source code may be written in the syntax of languages including C, C++, C#, Objective-C, Swift, Haskell, Go, SQL, R, Lisp, Fortran, Perl, Pascal, Curl, OCaml, HTML5 (the fifth edition of the HyperText Markup Language), Ada, ASP (Active Server Pages), PHP (PHP: Hypertext Preprocessor), Scala, Eiffel, Smalltalk, Erlang, Ruby, Visual Lua, MATLAB, SIMULINK, and the like.

[0096] The term “non-transitory computer-readable medium” does not cover transitory electrical or electromagnetic signals propagated through a medium, such as on a carrier wave. Non-limiting examples of non-transitory computer-readable media are: non-volatile memory circuits (such as flash memory circuits, erasable programmable read-only memory circuits, or mask read-only memory circuits), volatile memory circuits (such as static random access memory circuits or dynamic random access memory circuits), magnetic storage media (such as analog or digital tapes or hard disk drives), and optical storage media (such as CDs, DVDs, or Blu-ray discs).

[0097] The term “set” generally denotes a grouping of one or more elements. The elements in a set do not necessarily need to have any common characteristics or otherwise belong together. The phrase “at least one of A, B, and C” should be interpreted to mean the logic (A or B or C) using non-exclusive logic “or”, and should not be interpreted to mean “at least one of A, at least one of B, and at least one of C”. The phrase “at least one of A, B, or C” should be interpreted to mean the logic (A or B or C) using non-exclusive logic “or”.

Claims

1. A method for processing input radar signals received by a plurality of radar elements, the method comprising: Calculating a discrete Fourier transform (DFT) of the input radar signals; Identifying a peak amplitude of the DFT; Designating a frequency corresponding to the peak amplitude of the DFT as an initial frequency estimate; Selecting a first adjacent point of the DFT based on the initial frequency estimate; Selecting a second adjacent point of the DFT based on the initial frequency estimate; Generating a first value based on an amplitude of the first adjacent point of the DFT; Generating a second value based on an amplitude of the second adjacent point of the DFT; Calculating a generalized interpolation value based on a generalized discrete DFT interpolation, wherein the generalized discrete DFT interpolation is based on the first value, the second value, and the peak amplitude; And Generating a fine frequency estimate of the input radar signals by adding the initial frequency estimate and the generalized interpolation value.

2. The method according to claim 1, the method further comprising determining an angle estimate based on the fine frequency estimate.

3. The method according to claim 1, wherein: The first adjacent point corresponds to a frequency lower than the initial frequency estimate; and The second adjacent point corresponds to a frequency higher than the initial frequency estimate.

4. The method according to claim 3, wherein: The DFT includes an ordered set of frequencies arranged from a lowest frequency to a highest frequency; The ordered set of frequencies includes the initial frequency estimate, the lower frequency, and the higher frequency; The lower frequency is immediately before the initial frequency estimate in the ordered set of frequencies; and The higher frequency is immediately after the initial frequency estimate in the ordered set of frequencies.

5. The method according to claim 1, wherein Generating the first value and generating the second value includes: Determining whether a set of phase adjustment criteria has been satisfied; and In response to determining that the set of phase adjustment criteria has been satisfied: Calculating a real component of the first adjacent point of the DFT, and Calculating a real component of the second adjacent point of the DFT.

6. The method according to claim 5, characterized in that, Generating the first value and generating the second value includes, in response to determining that the set of phase adjustment criteria has not been satisfied: Calculating an absolute value of an amplitude of the first adjacent point of the DFT, and Calculating an absolute value of an amplitude of the second adjacent point of the DFT.

7. The method according to claim 5, wherein: The plurality of radar elements are N radar elements; The DFT has K frequency points; and The set of phase adjustment criteria includes criteria satisfied when K is greater than or equal to N and less than 2N.

8. The method according to claim 1, the method further comprising selectively performing a refinement operation, the refinement operation including: Selecting a third adjacent point of the DFT based on the initial frequency estimate, wherein the third adjacent point is between the first adjacent point and the initial frequency estimate; Selecting a fourth adjacent point of the DFT based on the initial frequency estimate, wherein the fourth adjacent point is between the second adjacent point and the initial frequency estimate; Generate a third value based on the amplitude of the first adjacent point and the amplitude of the third adjacent point; Generate a fourth value based on the amplitude of the second adjacent point and the amplitude of the fourth adjacent point; Determine the refined peak amplitude of the DFT based on the third value and the fourth value; Designate the second frequency corresponding to the refined peak amplitude as the refined initial frequency estimate; Calculate a refined generalized interpolation value based on a refined generalized discrete DFT interpolation, where the refined generalized discrete DFT interpolation is based on the third value, the fourth value, and the refined peak amplitude; and Generate a refined frequency estimate of the input radar signal by adding the refined initial frequency estimate and the refined generalized interpolation value.

9. The method according to claim 8, wherein: The plurality of radar elements are N radar elements; The DFT has K frequency points; and The refinement operation is performed only in response to determining that K(i) is greater than or equal to N and (ii) is less than 2N.

10. The method according to claim 9, wherein The refinement operation is performed only in response to determining that K(i) is greater than N and (ii) is less than 2N.

11. The method according to claim 9, characterized in that, The refinement operation is performed only in response to the existence of a configuration capable of implementing the refinement operation.

12. The method according to claim 1, wherein: The plurality of radar elements are N radar elements; The DFT has K frequency points; and The generalized discrete DFT interpolation is based on N and K.

13. The method according to claim 12, wherein The generalized discrete DFT interpolation is based on: The quotient of one divided by K; The peak amplitude; The sum of the first value and the second value; and The difference between the first value and the second value.

14. The method according to claim 13, wherein: The generalized discrete DFT interpolation is defined as: δ is the generalized interpolation value; is the first value; is the second value; S 最大 is the peak amplitude; and x is the quotient of one divided by K.

15. A system, the system comprising: Memory hardware configured to store instructions; Processor hardware configured to execute the instructions, wherein the instructions include: Calculate the discrete Fourier transform DFT of an input radar signal received by a plurality of radar elements; Identify the peak amplitude of the DFT; Designate the frequency corresponding to the peak amplitude of the DFT as the initial frequency estimate; Select a first adjacent point of the DFT based on the initial frequency estimate; Select a second adjacent point of the DFT based on the initial frequency estimate; Generate a first value based on the amplitude of the first adjacent point of the DFT; Generate a second value based on the amplitude of the second adjacent point of the DFT; Calculate a generalized interpolation value based on a generalized discrete DFT interpolation, where the generalized discrete DFT interpolation is based on the first value, the second value, and the peak amplitude; and Generate a fine frequency estimate of the input radar signal by adding the initial frequency estimate and the generalized interpolation value.

16. The system according to claim 15, the system further comprising the plurality of radar elements.

17. A vehicle, the vehicle comprising the system according to claim 15.

18. The system according to claim 15, wherein: The first adjacent point corresponds to a frequency lower than the initial frequency estimate; and The second adjacent point corresponds to a frequency higher than the initial frequency estimate.

19. The system according to claim 15, wherein: The plurality of radar elements are N radar elements; The DFT has K frequency points; and The generalized discrete DFT interpolation is based on N and K.

20. The system according to claim 19, wherein The generalized discrete DFT interpolation is based on: The quotient of one divided by K; The peak amplitude; The sum of the first value and the second value; and The difference between the first value and the second value.