Angle of arrival estimation for automotive radar systems
By optimizing the support set using the Single Best Exchange (SBX) algorithm, the problems of high computational overhead and numerous spurious sidelobes in AoA estimation in automotive radar systems are solved, achieving efficient and accurate AoA estimation.
Patent Information
- Application Number
- CN202510617973.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-05-20
- Filing Date
- 2025-05-14
- Publication Date
- 2025-11-21
AI Technical Summary
Existing automotive radar systems suffer from high computational overhead, numerous cluttered sidelobes, and high ambiguity when estimating the angle of arrival (AoA), making it difficult to effectively solve AoA estimation under highly sparsity characteristics.
The Single Best Exchange (SBX) algorithm is employed to optimize the support set in each iteration through exchange operations, and combined with the ULA and SLA array geometries, to achieve efficient AoA estimation.
It improves the accuracy of AoA estimation, reduces stray object identification, lowers computational overhead, and is robust enough to adapt to different task requirements.
Smart Images

Figure CN120993405A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present disclosure relates generally to civilian automotive radar systems and associated methods of operation. In one aspect, the present disclosure relates to an automotive radar system configured to perform angle of arrival estimation using a single best swap iteration algorithm. BACKGROUND
[0002] A radar system transmits electromagnetic signals and receives back reflections of the transmitted signals. A time delay between the transmitted signals and the received signals can be determined, and the time delay can be used to calculate a distance and / or velocity of an object causing the reflection. For example, in a civilian automotive application, such a radar system can be used to determine a distance and / or velocity of oncoming vehicles and other obstacles, such as pedestrians, road features (e.g., bridges, road signs), and the like.
[0003] Civilian automotive radar systems enable implementation of advanced driver assistance system (ADAS) functionality that can enable increasingly safe driving and eventually a fully autonomous driving platform. As part of its operation, an automotive radar system determines an estimated angle of arrival (AoA) of nearby objects. That is, an angle at which an object is approaching a vehicle, or an angle at which a vehicle is approaching an object. Using this information, a control system can take autonomous action to, in some cases, avoid collisions with those objects, or provide other ADAS operations. SUMMARY
[0004] In some aspects, the technology described herein relates to a radar system comprising: a plurality of transmitter modules configured to transmit a plurality of transmitted radar signals; a plurality of receiver modules configured to receive reflections of the plurality of transmitted radar signals reflected by at least one object and produce signals based on the received reflections; and a controller configured to: determine a measurement vector using the signals received by the plurality of receiver modules; determine a steering vector matrix; determine a plurality of supports using the measurement vector; perform a regression algorithm to determine a weight vector defining a relationship between the measurement vector and the steering vector matrix by: defining a set of selected supports among the plurality of supports; performing a swap operation to determine a set of optimized selected supports by removing a first support from the set of selected supports and adding a second support to the set of selected supports; and calculating the weight vector using the set of optimized selected supports; and determine an estimated angle of arrival of the first object by relating the steering vector matrix to the measurement vector using the weight vector.
[0005] In some aspects, the technology described herein relates to a radar system, wherein the regression algorithm is associated with an optimization problem, and a first value of the optimization problem calculated using the set of optimized selected supports is less than a second value of the optimization problem calculated using the set of selected supports.
[0006] In some aspects, the techniques described herein relate to a radar system, wherein to perform the regression algorithm, the controller is configured to: perform an insertion test to determine a second set of selected supports by adding a third support to a set of optimized selected supports; and determine that a third value of an optimization problem calculated using the second set of selected supports is less than the second value of the optimization problem calculated using the set of selected supports.
[0007] In some aspects, the techniques described herein relate to a radar system, wherein the controller is configured to recompute the weight vector using the second set of selected supports.
[0008] In some aspects, the techniques described herein relate to a radar system, wherein to perform the regression algorithm, the controller is configured to: perform a removal test to determine a third set of selected supports by removing a fourth support from a set of selected supports; and determine whether a fourth value of an optimization problem calculated using the third set of selected supports is less than the second value of the optimization problem calculated using the set of selected supports.
[0009] In some aspects, the techniques described herein relate to a radar system, wherein the controller is configured to recompute the weight vector using the third set of selected supports.
[0010] In some aspects, the techniques described herein relate to a radar system, wherein the steering vector matrix includes a plurality of spatial frequencies associated with an array pattern.
[0011] In some aspects, the techniques described herein relate to a radar system, wherein a relationship between a steering matrix and a measurement vector has a form y = Ax + e, where y is a measurement vector, A is a steering vector matrix, x is a spatial frequency vector, and e is a noise factor.
[0012] In some aspects, the techniques described herein relate to a radar system comprising: at least one receiver module configured to receive radar signals; and a controller configured to: determine a measurement vector using the radar signals; determine a steering vector matrix; determine a plurality of supports using the measurement vector; perform a regression algorithm to determine a weight vector defining a relationship between the measurement vector and the steering vector matrix by: defining a set of selected supports, wherein the set of selected supports comprises a first subset of the plurality of supports, wherein a second subset of the supports comprises supports of the plurality of supports that are not in the first subset; performing a swap operation to determine a set of optimized selected supports by removing a first support from the set of selected supports and adding a second support from the second subset to the set of optimized selected supports, wherein the regression algorithm is associated with an optimization problem and a first value of the optimization problem computed using the set of optimized selected supports is less than a second value of the optimization problem computed using the set of selected supports; and computing the weight vector using the set of optimized selected supports; and determining an estimated angle of arrival of a first object by associating the steering vector matrix with the measurement vector using the weight vector.
[0013] In some aspects, the techniques described herein relate to a radar system, wherein, to perform the regression algorithm, the controller is configured to: perform an insertion test to determine a second set of selected supports by adding a third support from the second subset to the set of optimized selected supports; and determine that a third value of the optimization problem computed using the second set of selected supports is less than the second value of the optimization problem computed using the set of selected supports.
[0014] In some aspects, the techniques described herein relate to a radar system, wherein the controller is configured to recompute the weight vector using the second set of selected supports.
[0015] In some aspects, the techniques described herein relate to a radar system, wherein, to perform the regression algorithm, the controller is configured to: perform a removal test to determine a third set of selected supports by removing a fourth support from the set of selected supports; and determine whether a fourth value of the optimization problem computed using the third set of selected supports is less than the second value of the optimization problem computed using the set of selected supports.
[0016] In some aspects, the techniques described herein relate to a radar system, wherein the controller is configured to recompute the weight vector using the third set of selected supports.
[0017] In some aspects, the techniques described herein relate to a radar system, wherein the steering vector matrix comprises a plurality of spatial frequencies associated with an array pattern.
[0018] In some aspects, the techniques described herein relate to a radar system, where a relationship between a steering matrix and a measurement vector has a form y = Ax + e, where y is a measurement vector, A is a steering vector matrix, x is a spatial frequency vector, and e is a noise factor.
[0019] In some aspects, the techniques described herein relate to a method comprising: receiving, using a radar system receiver module, a radar signal; determining, using the radar signal, a measurement vector; determining a steering vector matrix; determining, using the measurement vector, a plurality of supports; performing a regression algorithm to determine a weight vector defining a relationship between the measurement vector and the steering vector matrix by: defining a set of selected supports, where the set of selected supports comprises a first subset of the plurality of supports, where a second subset of the supports comprises supports of the plurality of supports that are not in the first subset; performing a swap operation to determine a set of optimized selected supports by removing a first support from the set of selected supports and adding a second support from the second subset to the set of optimized selected supports, where the regression algorithm is associated with an optimization problem, and a first value of the optimization problem computed using the set of optimized selected supports is less than a second value of the optimization problem computed using the set of selected supports; and computing the weight vector using the set of optimized selected supports; and determining an estimated angle of arrival of a first object by associating the steering vector matrix with the measurement vector using the weight vector.
[0020] In some aspects, the techniques described herein relate to a method further comprising: performing an insertion test to determine a second set of selected supports by adding a third support from the second subset to the set of optimized selected supports, and determining that a third value of the optimization problem computed using the second set of selected supports is less than the second value of the optimization problem computed using the set of selected supports.
[0021] In some aspects, the techniques described herein relate to a method further comprising recomputing the weight vector using the second set of selected supports.
[0022] In some aspects, the techniques described herein relate to a method further comprising: performing a removal test to determine a third set of selected supports by removing a fourth support from the set of selected supports, and determining whether a fourth value of the optimization problem computed using the third set of selected supports is less than the second value of the optimization problem computed using the set of selected supports.
[0023] In some aspects, the techniques described herein relate to a method further comprising recomputing the weight vector using the third set of selected supports. BRIEF DESCRIPTION OF DRAWINGS
[0024] A more complete understanding of the subject matter can be obtained by reference to the following detailed description in conjunction with the drawings, wherein like reference numerals refer to like elements throughout and wherein:
[0025] Figure 1A A simplified schematic block diagram of an automotive radar system including a radar device connected to a radar controller processor is depicted.
[0026] Figure 1B A flowchart depicting processing steps that can be implemented by a processor to process digital signals received from an automotive radar system. Figure 1A
[0027] Figure 2 A flowchart for a flowchart depicting a single best swap algorithm for implementing a single best swap algorithm for solving a linear regression problem to enable estimation of an AoA of an object associated with a received radar signal.
[0028] Figures 3A to 3F A plot of radar signal amplitude (vertical axis) versus angle (horizontal axis) showing an example implementation of the single best swap algorithm for radar signal processing. DETAILED DESCRIPTION
[0029] The following detailed description is merely illustrative in nature and is not intended to limit the embodiments of the subject matter of the application and uses of such embodiments. As used herein, the words "exemplary" and "example" mean "serving as an example, instance, or illustration." Any implementation or embodiment described herein as exemplary or example is not necessarily to be construed as preferred or advantageous over other implementations or embodiments. Furthermore, there is no intention to be bound by any expressed or implied theory presented in the preceding technical field, background, or the following detailed description.
[0030] In the context of the present disclosure, it will be appreciated that a radar system can be used as a sensor in a civil automotive radar sensor for road safety and vehicle control systems, such as advanced driver assistance systems (ADAS) and autonomous driving (AD) systems.
[0031] As an example, an automotive radar system can be implemented as a frequency-modulated continuous wave (FMCW) radar system that transmits a frequency-modulated signal (chirp) and receives its echo as a reflection from nearby objects. After down-mixing the received signal to a baseband frequency, the resulting signal is composed of a number of sinusoidal waves, each with a beat frequency proportional to the distance of a particular object. Within each sinusoidal wave, an additional phase term carries Doppler phase information of each object in the vicinity of the radar system. This Doppler phase typically changes slowly and encodes information about the relative velocity of the respective object.
[0032] FMCW radar signal processing attempts to identify both the range and Doppler components of the received reflection signals for each nearby object (e.g., other cars, road signs) that produced the reflection signals. This processing involves arranging the sampled data values of the received chirp signals into a form that is arranged into a number of horizontal vectors that form a range-Doppler matrix. The row length of the matrix is equal to the number of samples per chirp signal (typically a power of two, e.g., 1024 values), and the column length of the range-Doppler matrix is the number of measured chirps (also typically a power of two, e.g., 256 values). These two-dimensional matrices are produced for each receive antenna in the radar system. The number of two-dimensional matrices for each receive antenna are arranged together into a three-dimensional matrix having dimensions of number of samples x number of chirps x number of receive antennas and is referred to as a "radar cube."
[0033] Once the complete radar cube is available, additional processing steps are performed to process the radar cube to identify potential objects and the attributes of those objects (e.g., AoA and velocity). Such processing initially involves a Fast Fourier Transform (FFT) performed on the range dimension of the radar cube (referred to as a "fast-time" FFT or "R-FFT"), and an FFT performed on the Doppler dimension of the radar cube (referred to as a "slow-time" FFT or "D-FFT"). Peak detection methods are performed on the entire three-dimensional data set containing the data processed by the fast-time FFT and the slow-time FFT.
[0034] To illustrate the design and operation of a vehicle radar system, reference is now made to Figure 1A , Figure 1A A simplified schematic block diagram depicting a signal processing system for the automotive radar system 100, including the radar device 10 connected to the radar controller processor 20. In selected embodiments, the radar device 10 can be embodied as a line-replaceable unit (LRU) or modular assembly designed for rapid replacement in the field. Similarly, the radar controller processor 20 can be embodied as a line-replaceable unit (LRU) or modular assembly. Although a single or monostatic radar device 10 is shown, it should be appreciated that additional distributed radar devices can be used to form a distributed or multistatic radar. In addition, the depicted radar system 100 can be implemented in integrated circuit form, with the device 10 and radar controller processor 20 formed by separate integrated circuits (chips) or by a single chip, depending on the application.
[0035] Within the radar system 100, each radar device 10 comprises one or more transmit antenna elements 102 and receive antenna elements 104 connected to one or more radio frequency (RF) transmitter (TX) units 11 and receiver (RX) units 12, respectively. For example, each radar device (e.g., 10) is shown as comprising individual antenna elements 102, 104 (e.g., TX1,i, RX1,j) connected to three transmitter modules (e.g., 11) and four receiver modules (e.g., 12), respectively, although these numbers are not limiting and other numbers are possible, such as four transmitter modules 11 and six receiver modules 12, or a single transmitter module 11 and / or a single receiver module 12.
[0036] Each radar device 10 further comprises a chirp generator 112 configured and connected to supply a chirp input signal to the transmitter modules 11. To this end, the chirp generator 112 is connected to receive a separate and independent local oscillator (LO) signal and a chirp start trigger signal. The operation of the transmitter modules 11 can be controlled by a controller 110, which can be fully or partially implemented by the processor 20. A chirp signal 113 is generated and typically transmitted to the transmitter modules 11 in accordance with a predefined transmission schedule, wherein the chirp signal 113 is filtered at an RF conditioning module 114 and amplified at a power amplifier 115 before being fed to the corresponding transmit antennas 102 (TX1,i) and radiated. By sequentially using each transmit antenna 102 to transmit successive pulses in the chirp signal 113, each transmitter module 11 operates in a time-multiplexed manner with respect to the other transmitter modules 11 to transmit radar signals in different transmission channels, as it is programmed to transmit the same waveform in a time-separated schedule, i.e., in different transmission channels.
[0037] Radar signals transmitted by the transmitter antenna elements 102 (TX1,i, TX2,i) can be reflected by objects, and parts of the reflected radar signals arrive at the receiver antenna elements 104 (RX1,i) at the radar device 10. At each receiver module 12, the received (radio frequency) antenna signal is amplified by a low noise amplifier (LNA) 120 and then fed to a mixer 121, where it is mixed with the transmitted chirp signal generated by the RF regulation module 114. The resulting intermediate frequency signal is fed to a first high pass filter (HPF) 122. The resulting filtered signal is fed to a first variable gain amplifier 123, which amplifies the signal before it is fed to a first low pass filter (LPF) 124. This re-filtered signal is fed to an analog-to-digital converter (ADC) 125 and output as a digital signal 126 (D1) by each receiver module 12. The receiver modules compress the object echo signals with various delays into a plurality of sinusoidal tones, the frequencies of which correspond to the round-trip delays of the echoes.
[0038] The radar system 100 further comprises a radar controller processing unit 20, which is connected to supply input control signals to the radar device 10 (e.g. via the controller 110) and to receive digital output signals (e.g. the digital signals 126) generated by the receiver modules 12 therefrom.
[0039] In selected embodiments, the radar controller processing unit 20 can be embodied as a microcontroller unit (MCU) or other processing unit configured and arranged for signal processing tasks such as, but not limited to, object identification; calculation of object distance, object speed, and object direction; and generation of control signals. For example, the radar controller processing unit 20 can be configured to generate calibration signals, receive data signals, receive sensor signals, generate spectrum shaping signals (e.g. ramp generation in the case of FMCW radar), and / or enable sequence registration programming or state machine signals for radio frequency (RF) circuitry. In addition, the radar controller processor 20 can be configured to program the transmitter modules 11 to operate in a time-division manner by sequentially transmitting chirps for coordinated communication between the transmission antenna elements 102 TX1,i, RX1,j.
[0040] The radar controller processor 20 is configured to process the digital signals 126 to ultimately identify distances to objects and angular positions of those objects relative to the radar system 100. The digital signals 126 comprise a series of digital values representing magnitudes of radar signals received by the receiving antenna elements 104 captured over time. Typically, each digital value is associated with a particular chirp number and sample number.
[0041] Figure 1A A series of signal processing steps are shown, which are implemented by the processor 20 in order to properly process the digital signals 126 received from the radar device 10 to identify potential nearby objects. To supplement Figure 1A , Figure 1B The processing steps that can be implemented by the processor 20 to process the digital signals 126 are depicted in a graphical manner at a high level.
[0042] The content of the digital signals 126 is comprised of a series of data frames comprising a plurality of digital sample values (e.g., captured by the ADC 125 of the receiver unit 12), where the sample values are arranged in a two-dimensional matrix produced based on a series of pulsed signals, as described above. The data structure comprising a single captured frame is depicted by matrix 150 in Figure 1B As depicted, the single frame data in matrix 150 comprises a two-dimensional matrix having a first dimension, referred to as the “fast-time” dimension and representing data values captured from different pulsed signals. The second dimension of matrix 150 is referred to as the “slow-time” dimension and represents data values captured in response to different chirp signals, which can be included within a particular pulsed signal transmitted by the transmitter module 11. As shown in Figure 1B The signal processing can involve processing a plurality of data frames represented by several matrices 150, as shown in Figure 1B depicts a plurality of matrices 150, each associated with a different receive channel and can be received as input data to the signal processing chain.
[0043] For a sub-section of radar cube data that can include all or a portion of one or more of the data represented by the matrix 150, the radar controller processor 20 initially performs a fast-time range Fast Fourier Transform (FFT) 21 Figure 1A to produce new frame data represented by matrix 152. The FFT 21 is performed on a one-dimensional array of data (i.e., a signal) associated with each different chirp in the original input matrix 150 to produce a one-dimensional transformed signal having the same length. The FFT of each chirp in the original input frame represented by matrix 150 is combined to produce a transformed frame as indicated by matrix 152. This process is repeated for each frame associated with each receive channel. The resulting data frame representing a range map is represented in Figure 1B as matrix 152 and can be used to determine a range to a particular object, as reflected in the range map.
[0044] In a next step, the radar controller processor 20 performs an additional Fast Fourier Transform (FFT) 22 Figure 1A) to produce a new range-Doppler frame of data represented by matrix 154. However, in this step, FFT 22 is applied along the opposite dimension to FFT 21. Thus, FFT 22 is performed on a one-dimensional array of data (i.e., a signal) associated with each range bin in matrix 152 to produce a one-dimensional transformed signal of the same length. The FFT of each signal in the frame of matrix 152 is combined to produce a range-Doppler frame of data as indicated by matrix 154. This process is repeated for each frame associated with each receive channel. The range-Doppler frame of data associated with matrix 154 provides information about potential objects moving from one sample number to the next over time. With the frame of data associated with the produced matrix 154, the data encoded therein can be processed to begin identifying potential objects, and in the case of a detected object, determining its velocity and direction of arrival.
[0045] Thus, radar controller processor 20 performs constant false alarm rate (CFAR) object detection Figure 1A of step 23, Figure 1B of step 156).
[0046] If a potential object has been detected, radar controller processor 20 performs MIMO array measurement construction (in step 24, Figure 1A ). The array measurement vector 159 is extracted from the reconstructed MIMO virtual array and provided to an AoA estimation 158 block Figure 1B ) configured to determine the AoA of each detected object (in step 25, Figure 1A , in step 160, Figure 1B ). The final object information, which can include an object identifier, its AoA, and other related information, is then passed by radar controller processor 20 to an ADAS or other system configured to utilize the object information to control one or more vehicle systems (in step 26, Figure 1A , in step 162, Figure 1B ).
[0047] In performing AoA estimation, the array measurement vector 159 typically belongs to one of two categories due to different antenna array designs: uniform linear array (ULA) and sparse linear array (SLA). To achieve high angular resolution at a relatively low cost, SLA antenna configurations are often used to increase the effective size of the radar aperture of a radar system at the cost of increasing AoA ambiguities in the resolved angular spectrum in the form of spurious sidelobes or grating lobes.
[0048] To mitigate the spurious sidelobes, sparsity constraints can be imposed on the angular spectrum, which leads to L-0 or L-1 norm minimization problems for AoA estimation. Known techniques, such as matching pursuit (MP) and orthogonal matching pursuit (OMP), can be used to resolve the sparse angular spectrum to perform AoA estimation. However, the performance of the MP and OMP algorithms can be affected by the sensitivity of the algorithms to antenna array geometry and support selection, sensitivity to angle quantization, and the least square (LS) computation burden in OMP that increases as more objects are discovered. Both MP and OMP are referred to as forward algorithms because they start from an empty set and then add one support to the set at each iteration.
[0049] In this disclosure, an improved single best exchange (SBX) algorithm is proposed to efficiently and effectively estimate the angles of arrival (AoA) of objects as determined from radar signals received by a typical FMCW automotive radar. In an improvement over conventional algorithms that cannot be effectively used to solve the automotive radar AoA estimation problem due to the sparsity of the angular domain, the present SBX-based estimator provides an innovative exchange operation that is configured to address the mentioned deficiencies in conventional approaches. In particular, as described herein, the present SBX estimator can provide more accurate object estimates and a lower number of spurious object identifications than conventional approaches.
[0050] The present AoA estimator implements a novel exchange test (hence the name single best exchange (SBX), as used herein) as part of an iterative algorithm that effectively and efficiently performs both forward and backward operations (i.e., insertion and removal) for both ULA and SLA array geometries. Benefiting from the high sparsity characteristics typically observed in automotive radar AoA estimation, the present exchange test can have a relatively small computational overhead compared to conventional SBR approaches.
[0051] In addition, the present SBX algorithm is generally robust to hyperparameter settings. Methods for selecting the hyperparameter λ are described herein. In addition to the particular hyperparameter, the present SBX algorithm generally does not require adjustment of any other parameters, such as stopping criteria (e.g., as required by the OMP algorithm).
[0052] Because the present SBX algorithm is implemented as a straightforward sequential algorithm, it can be easily adjusted to make specific improvements according to the requirements of a particular task, such as finding two objects with a high dynamic range, solving a two-dimensional AoA estimation problem, and solving optimization problems with block / group sparsity. The present SBX algorithm can be used in conjunction with both ULA and SLA radar system array geometries.
[0053] In automotive radar systems, the array measurement vector y (e.g., Figure 2The array measurement vector 159) can be modeled as the product of an array steering matrix A with a spatial frequency vector x plus white Gaussian noise ε, where each column of the matrix A is a steering vector of the array steered to a spatial frequency (f1, f2...f M ), which is desired to be evaluated from the spatial frequencies (see equations (1) and (2) below). In order to achieve a relatively high angular resolution, a relatively large grid can be established by dividing the [0, 2π) unit circle spatial frequency spectrum into M segments, resulting in a "wide" A matrix (i.e., a matrix with a relatively large number of columns, which corresponds to a support number M that is significantly larger than the number of rows (by a factor of several), which corresponds to the number of array measurements N). Since A is a wide matrix, this means that the unknown (i.e., the vector x) is larger than the known (i.e., the vector y), and the solution of the equation y = Ax + ε is an underdetermined linear regression problem, as defined in equation (1) below, where y and ε (the noise factor) are n x 1 vectors, A is an N x M matrix, and x is an M x 1 vector. Since x is assumed to be sparse, the underdetermined linear system can be converted to a least squares problem in equation (2) below, where the number of non-zero elements does not exceed a certain number K, where ||x||0is the L-0 norm of x.
[0054]
[0055] For forward greedy regression algorithms, such as matching pursuit (MP) and orthogonal matching pursuit (OMP), the next step in solving the linear regression problem is to identify the most likely support (i.e., the non-zero element indices in the vector x) and measure the most likely amplitude of the support. This support, once identified, is inserted into a set of selected current or "active" supports. The contribution of the support from the array measurement vector is then canceled to obtain a residual array measurement vector r. Based on the residual measurement vector, this iteration process is repeated until all supports are identified or a stopping criterion is met. The main difference between various types of forward greedy algorithms is how they identify the optimal support and measure the amplitude of the support.
[0056] Another method for solving the above linear regression problem is to use a forward-backward greedy algorithm, such as the single best replacement (SBR). In such algorithms, the initial step in solving the regression problem is to make a decision whether to insert a support into the selected support set or remove a support from the selected support set. The choice depends on which operation results in a greater reduction of a predefined cost function. After making this decision, the selected support set is updated. This procedure is repeated until no further decision can reduce the cost function, at which point it can be determined that the algorithm has converged to a valid solution.
[0057] In the case of forward greedy regression algorithms (e.g., MP and OMP), once a support has been identified and added to a set of selected vectors, the algorithm typically cannot remove the support from the set of selected vectors. Thus, if a false support is selected in the initial iteration of the algorithm, the decision is typically irreversible in subsequent iterations of the algorithm, resulting in a suboptimal result.
[0058] This drawback of forward-only algorithms led to the development of forward-backward algorithms, such as SBR, which allow not only support insertion but also support removal at each iteration step of the algorithm. Finding an exact solution to the sparse linear regression problem in (2) is NP-hard. Instead, the SBR algorithm approximates the sparse linear regression problem of equations (1) and (2) with an L-0 norm regularized linear regression problem, minimizing the cost function which is defined as:
[0059]
[0060] In equation (3), ε Q represents the least squares error (LSE) of the support set Q, λ is a hyperparameter that controls the trade-off between the two terms in the equation (i.e., the data fitting term and the sparsity term), and Card[Q] = ||x Q ||0 is the cardinality of the set Q. In SBR, the support set Q that minimizes is the optimal support set.
[0061] In one method for determining the value ε Q , the LSE for all candidate supports can be computed to find the support that produces the smallest LSE. However, the computational cost of this method can be extremely high. Thus, in many embodiments, the determination of the value ε Q is simplified by sequentially building Q by inserting or removing one support at a time, while computing the change in ε Q for the support set operation at each step.
[0062] For the kth iteration of the SBR algorithm, the optimal kth support index i k is found by the following equations (4) and (5):
[0063]
[0064] In equations (4) and (5), the symbol represents the set operation—insertion or removal:
[0065]
[0066] The algorithm is iterated to continue inserting or removing supports from a set of selected supports until neither insertion nor removal reduces and the algorithm is considered to have converged and terminated. Once the SBR algorithm terminates, the amplitudes of the supports in the set of selected supports can be estimated by least squares fitting.
[0067] In this disclosure, a novel SBX algorithm is presented. In contrast to the conventional approach above for solving the linear regression problem expressed in equations (1) and (2) via sparse linear regression, where candidates can only be added to a set of selected supports considered in the current iteration of the algorithm (i.e., a forward greedy algorithm) or added to or removed from the set of selected supports (i.e., a forward-backward algorithm), the present SBX algorithm adds a new swap operation that swaps one support from the set of selected supports to an unselected support in one single operation. In SBX, the ° operation represents three support set operations: insertion, removal, and swap, which are presented below in equation (7).
[0068]
[0069] Figure 2 To depict a flowchart of a flowchart for implementing the present SBX algorithm for solving a linear regression problem to enable estimation of the AoA of an object associated with a received radar signal. Figure 1A Method 200 of FIG. 1 can be implemented by a radar controller of a car radar system to process a received radar signal. For example, method 200 can be implemented by Figure 2 controller 110 of radar system 100 of FIG. 1. In that case, method 200 can be implemented as part of or in conjunction with the DOA estimation 25 step performed by controller 110.
[0070] In contrast to the SBR approach, method 200 enables further minimization of the objective function at each iteration of the algorithm by swapping one particular selected support with another unselected column index rather than simply adding or removing a support As described herein, this can result in more accurate AoA estimates with less sparsity. In some cases, this ability of the SBX algorithm can further enable the algorithm to converge more quickly, resulting in significant potential computational efficiency.
[0071] Referring to Figure 1B At block 202, an initialization step is performed in which the weight vector x (e.g., a spatial frequency vector) is set to an initial value such that Because the SBX outputs a support set Q of x Q rather than the full vector x. The set of selected supports Q is reset such that determining an input measurement vector y (e.g., Figure 2 an array measurement vector 159). A hyperparameter λ is determined (a method for determining the hyperparameter λ is described below). An M-support construction steered vector matrix A is constructed. M can be a parameter specified by a user. Larger values of M result in a finer grid, which can result in higher accuracy in the AoA estimation, but also increases memory and computational cost. In an initialization step, the matrix A is constructed from the spatial frequencies and array pattern in equation (1). The cost function J() can be initialized to as described above.
[0072] After the method 200 is initialized at block 202, the method performs blocks 204 and 206. As Figure 2 indicated, blocks 204 and 206 can be performed in parallel, but it is not required that the blocks be performed simultaneously, but rather the blocks can be performed in series or in any other order.
[0073] At block 204, an insertion test is performed to identify the change in the optimized cost function that would result from adding each of the unselected supports to the selected support set Q. This operation results in an array of delta values that indicate the change in the value of the optimized cost function if each unselected support I were individually added to the set Q.
[0074] In a similar manner, at block 206, a removal test is performed to identify the change in the optimized cost function that would result from removing an individual support from the set Q. This operation results in an array of delta values that indicate the change in the value of the optimized cost function if each support m were individually removed from the set Q.
[0075] Thus, at the end of blocks 204 and 206, the method 200 has determined the effect on the optimized cost function of adding unselected supports to the set Q and removing supports from the set Q. With this information, the radar controller performs some analysis of the resulting data sets and .
[0076] In particular, at block 208, the controller determines whether the smallest delta value observed in either of the data sets and falls below 0. If not, this indicates that the algorithm has converged, since none of the unselected supports can be added to the set Q to reduce the optimized cost function the value of the optimization cost function Essentially, the support set Q has been optimized as much as possible. Thus, if the minimum increment value observed in either of the data sets and does not drop to zero, this indicates that the method 200 has converged and the method can exit at block 210. The algorithm outputs the following values: the support set Q and the estimated complex amplitudes x Q Q is a set of selected column indices of A. In the construction of the steering matrix A, a table relating column indices and AoA is provided to enable the determination of the AoA of an object given Q.
[0077] However, if it is determined at block 208 that the minimum increment value observed in either of the data sets and does not drop below zero, this indicates that the set Q can be optimized. Accordingly, at block 212, it is determined whether the lowest increment value in the set of candidate insertion increments is less than the lowest increment value in the set of candidate removal increments If so, at block 214, the support i associated with the lowest value in the set is added to the set Q. At this point, L Q is updated to remove i from the set Q. If not, at block 216, the support m associated with the lowest value in the set is removed from the set Q. At this point, L Q is updated to insert m into the set Q.
[0078] At block 218, in the event that the set Q is modified by either block 214 or 216, the weight vector x is recalculated using the new support set Q according to the equation The weight vector x is recalculated using the new support set Q according to the equation
[0079] At this point, the potential support swap sub-loop is executed as a loop defined by blocks 220, 222 and 224.
[0080] In the initial step of the support swap sub-loop, at block 220, a swap test is implemented in which the value is determined for each support m in Q (as modified by either block 214 or 216) and for each i not in Q (again, as modified by either block 214 or 216). The m and i are denoted by The data set represents all increment values that would result if each support m currently in the set Q were to swap with each support i not in the set Q. These increment values represent how the value of the optimization cost function would change. The data set This includes the value for every possible combination of supports in the set Q that are not in Q.
[0081] At box 222, define the dataset. Does any of the values in the expression represent a value less than 0? If so, this indicates that the supported potential swaps can be used to reduce the optimization cost function. To improve the estimation, therefore, at box 224, an implementation is used to generate the dataset. The lowest value in the set is supported by the swap (i.e., support i is added to set Q while support m is removed from Q), and according to the equation The weight vector x is recomputed using the new support set Q (i.e., determined after the support swap in box 224), where L Q for The lower triangular matrix of the Cholesky decomposition result. In SBX, L is iteratively computed. Q : L Q Initialize L to an empty matrix and update it via boxes 214, 206, and 224. Q Method 200 then loops back to box 220 to evaluate other potential exchanges.
[0082] If the dataset is determined at box 222 If none of the values in the set are less than 0, this indicates that other support swaps will not improve the current set Q, and the method returns to boxes 204 and 206 to re-evaluate potential support additions to set Q and potential support removals from set Q.
[0083] Table 1 below describes the implementation via swapping functions. Figures 3A to 3F The pseudocode for the swap loops in boxes 220, 222, and 224 is shown in Table 1. The swap functions implement the swap loops in boxes 220, 222, and 224. These swap functions further depend on two additional functions: update_L_ins and update_L_rm, both included in Table 1. `cholupdate` is a Matlab function that performs a rank-1 update of the Choreski decomposition.
[0084]
[0085]
[0086] Table 1
[0087] In many automotive radar applications, the linear regression problem described herein often requires highly sparse solutions (e.g., only 2 or 4 objects). Therefore, the hyperparameter λ is usually large in order to produce sparse solutions. Under those conditions, if only the support insertion or removal is used (i.e., as in the case of the SBR method), the algorithm will converge to a solution where neither insertion nor removal can further minimize the optimization cost function However, studies show that there are many cases where the first least square error (LSE) term is still large when the SBR algorithm terminates with only the insertion and removal functions, even though the solution can be further optimized. The reason that the solution found by the SBR algorithm cannot be further minimized is that even adding one more low-magnitude support will still make the λ increase, which can be quite large.
[0088] Therefore, the swapping operation in the proposed SBX algorithm attempts to keep the second term constant while further minimizing the first term (i.e., the LSE term) of equation (6), where the first term is ε Q (LSE term or data fitting term). The second term is λCard[Q] (L-0 norm regularization term or sparsity term) in equation (5). This is especially useful and effective when the selected supports are slightly deviated from the true values due to interference between objects across the spectrum. This interference is more severe when a sparse linear array is used.
[0089] For real-time applications in dynamic environments, such as those found in automotive radar applications, it can be preferable to implement the linear regression analysis in a way that is insensitive to the setting of the hyperparameter λ or to automatically adjust the parameter λ in some strategic way. The proposed SBX algorithm is essentially solving an optimization problem with the L-0 norm regularization term. Based on the recent development of the L-0 parameter setting, the optimal allowable range of the parameter λ in SBX can be set between its lower and upper bounds according to the following equation:
[0090]
[0091] In equation (8), c1(y) is the minimum square error with one support, c2(y) is the least square error with the true values (two supports), and c3(y) is the minimum square error with one additional support.
[0092] An example implementation of the present SBX algorithm is described below with reference to Figure 2 An example implementation of the present SBX algorithm is described below with reference to Figures 3A to 3F The simulated measurement vectors are processed according to the method 200 of Figures 3A to 3FA plot of radar signal amplitude (vertical axis) versus angle (horizontal axis) is shown. In Figures 3A to 3F the vertical lines represent the currently supported AoA and magnitude. The circles indicate the true reference AoA and magnitude. The traces represent the change in the cost function of each unselected AoA of the current insertion / removal / exchange operation.
[0093] In Figures 3A to 3F the circles 302 and 304 in the plot indicate the true AoA of the objects (i.e., the reference truth), which in this example are -19.2 and -16.2 degrees, respectively. The estimated AoA of the objects using SBX is represented by the vertical lines 306, 308. The curves in the plot represent the change when adding, removing, or exchanging the corresponding support. Since the main goal of SBX is to minimize the estimated AoA of the objects is generally aligned with the global minimum of the curves in Figure 3A .
[0094] After initializing the SBX algorithm, the selected support set Q is initialized by setting . In Figure 3B , it can be observed that the strongest object (as indicated by the vertical line 306) is resolved at the first iteration, but not accurately according to the reference truth 302, 304. This is due to the fact that the true peak position of this object is interfered by another object. Specifically, the sidelobes of one object interfere with the correct AoA determination of another object. If a sparse linear array is used and there are more objects, this interference becomes even more severe. In considering regular algorithms (e.g., MP, OMP, OLS, and SBR), the resolving performance of such algorithms can be particularly sensitive to this interference. This is the reason why those prior art algorithms typically resolve one strong clutter in between two objects or report a suboptimal result with several low amplitude clutters.
[0095] Referring to Figure 3C , it can be observed that now both objects are resolved at the second iteration, but still not completely accurately. Without the exchange operation, the SBR estimation algorithm would typically terminate here and converge to the SBR solution, since neither inserting an additional support nor removing either of these two supports can further minimize
[0096] However, in the case of the exchange operation described above with respect to the method 200, in the present SBX algorithm, the estimate of the first object is updated to a more accurate support (i.e., closer to the true position), as shown in Figure 3D . The selected support at -15.4 degrees is removed, and a support at -15.9 degrees, which is closer to the reference truth of -16.2 degrees, is inserted into Q. In Figure 3FIn the middle, the AoA estimate of the other object is also updated by the exchange operation and results in a better result. Figure 3B The final results shown in the middle depict a much more accurate result of the determined object (identified by vertical lines 308 and 306) relative to the reference true value object (identified by circles 302 and 304). Compared to the results depicted in the left and right columns Figure 3B The results depicted in the middle ( depicting results achieved by a conventional SBR algorithm), it can be seen that the SBX algorithm provides a superior estimate.
[0097] Although examples have been described with reference to automotive radar systems, the systems and methods described herein can be implemented in conjunction with other types of radar systems. Devices or components described as separate can be integrated in a single physical device. In addition, units and circuits can be suitably combined in one or more semiconductor devices. That is, the devices described herein can be implemented as a single integrated circuit, or as multiple integrated circuits.
[0098] The foregoing detailed description has been presented for purposes of illustration and description only. It is not intended to be exhaustive or to limit the subject embodiments to the precise form disclosed, and various modifications and variations are possible in the light of the above teachings or can be acieved from practice of the subject technology.
[0099] As used herein, the word “exemplary” means “serving as an example, instance, or illustration.” Any implementation described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other implementations. Furthermore, to the extent that the
[0100] The connecting lines shown in the various figures presented herein are intended to represent exemplary functional relationships and / or physical couplings between the various elements. It should be noted that many alternatives or additional functional relationships or physical connections can be present in a subject embodiment. Moreover, while a particular terminology is used in here, such terminology is merely used for the sake of clarity in
[0101] As used herein, “node” means any internal or external reference point, connection point, junction point, signal line, conductive element, and so on, at which a given signal, logic level, voltage, data pattern, current, or quantity exists. Moreover, two or more nodes can be implemented by one physical element (and although received or output at a common node, two or more signals can still be multiplexed, modulated, or otherwise distinguished).
[0102] The above description refers to elements or nodes or features being "connected" or "coupled" together. As used herein, unless expressly stated to the contrary, "connected" means that one element is directly or indirectly in contact with (or is not mechanically separate from) another element (or is in electrical or other working contact with another element). As used herein, unless expressly stated to the contrary, "coupled" means that one element is directly or indirectly in contact with (or is not mechanically separate from) another element (or is in electrical or other working contact with another element). Accordingly, although an illustrative diagram can depict one exemplary arrangement of elements, additional intervening elements, devices, features, or components can be present in an embodiment of the depicted subject matter.
[0103] While at least one example embodiment has been presented in the foregoing detailed description, it should be appreciated that a multitude of modifications can be made. It should also be appreciated that the example embodiment or embodiments described herein are not intended to limit the scope, applicability or configuration of the claimed subject matter in any way. Rather, the foregoing detailed description will provide those skilled in the art with a convenient road map for implementing one or more embodiments of the described example. It should be understood that various changes can be made in the function and arrangement of elements without departing from the scope of what is claimed, which is manifested in the claims.
Claims
1. A radar system, characterized by including: a plurality of transmitter modules configured to transmit a plurality of transmitted radar signals; a plurality of receiver modules configured to receive reflections of the plurality of transmitted radar signals reflected by at least one object and to produce signals based on the received reflections; and a controller configured to: determine a measurement vector using the signals received by the plurality of receiver modules, determine a steering vector matrix, determine a plurality of supports using the measurement vector, execute a regression algorithm to determine a weight vector defining a relationship between the measurement vector and the steering vector matrix by: defining a set of selected supports among the plurality of supports, performing a swap operation to determine a set of optimized selected supports by removing a first support from the set of selected supports and adding a second support to the set of selected supports; and using the set of optimized selected supports to compute the weight vector, and determining an estimated angle of arrival of a first object by correlating the steering vector matrix with the measurement vector using the weight vector.
2. The radar system of claim 1, wherein, The regression algorithm is associated with an optimization problem, and a first value of the optimization problem computed using the set of optimized selected supports is less than a second value of the optimization problem computed using the set of selected supports.
3. The radar system of claim 1, wherein, To execute the regression algorithm, the controller is configured to: perform an insertion test to determine a second set of selected supports by adding a third support to the set of optimized selected supports, and determine that a third value of an optimization problem computed using the second set of selected supports is less than the second value of the optimization problem computed using the set of selected supports.
4. A radar system, characterized by including: at least one receiver module configured to receive radar signals; and a controller configured to: determine a measurement vector using the radar signals, determine a steering vector matrix, determine a plurality of supports using the measurement vector, execute a regression algorithm to determine a weight vector defining a relationship between the measurement vector and the steering vector matrix by: defining a set of selected supports, wherein the set of selected supports comprises a first subset of the plurality of supports, wherein a second subset of supports comprises supports of the plurality of supports that are not in the first subset; performing a swap operation to determine a set of optimized selected supports by removing a first support from the set of selected supports and adding a second support from the second subset to the set of optimized selected supports, wherein the regression algorithm is associated with an optimization problem, and a first value of the optimization problem computed using the set of optimized selected supports is less than a second value of the optimization problem computed using the set of selected supports; and using the set of optimized selected supports to compute the weight vector, and determining an estimated angle of arrival of a first object by correlating the steering vector matrix with the measurement vector using the weight vector.
5. The radar system of claim 4, wherein, To execute the regression algorithm, the controller is configured to: perform an insertion test to determine a second set of selected supports by adding a third support from the second subset to the set of optimized selected supports, and determine that a third value of an optimization problem computed using the second set of selected supports is less than the second value of the optimization problem computed using the set of selected supports. determining whether a third value of the optimization problem computed using the second set of selected supports is less than the second value of the optimization problem computed using the set of selected supports.
6. The radar system of claim 5, wherein, To perform the regression algorithm, the controller is configured to: perform a removal test to determine a third set of selected supports by removing a fourth support from the set of selected supports, and determine whether a fourth value of the optimization problem computed using the third set of selected supports is less than the second value of the optimization problem computed using the set of selected supports.
7. A method characterized by, comprising: receiving radar signals using a radar system receiver module, determining a measurement vector using the radar signals, determining a steering vector matrix, determining a plurality of supports using the measurement vector, performing a regression algorithm to determine a weight vector defining a relationship between the measurement vector and the steering vector matrix by: defining a set of selected supports, wherein the set of selected supports comprises a first subset of the plurality of supports, wherein a second subset of supports comprises supports of the plurality of supports that are not in the first subset; performing a swap operation to determine a set of optimized selected supports by removing a first support from the set of selected supports and adding a second support from the second subset to the set of optimized selected supports, wherein the regression algorithm is associated with an optimization problem and a first value of the optimization problem computed using the set of optimized selected supports is less than a second value of the optimization problem computed using the set of selected supports; and computing the weight vector using the set of optimized selected supports, and determining an estimated angle of arrival of a first object by relating the steering vector matrix to the measurement vector using the weight vector.
8. The method of claim 7, wherein, further comprising: performing an insertion test to determine a second set of selected supports by adding a third support from the second subset to the set of optimized selected supports, and determining whether a third value of the optimization problem computed using the second set of selected supports is less than the second value of the optimization problem computed using the set of selected supports.
9. The method of claim 8, wherein, further comprising: performing a removal test to determine a third set of selected supports by removing a fourth support from the set of selected supports, and determining whether a fourth value of the optimization problem computed using the third set of selected supports is less than the second value of the optimization problem computed using the set of selected supports.
10. The method of claim 9, wherein, further comprising recomputing the weight vector using the third set of selected supports.