NLS using bounded linear initial search space and fixed grid with pre-calculated variables
By introducing the linear initial search space in the NLS method and the fixed grid of the pre -calculated variable, the initial guessing dependencies and calculation dense problems in the NLS method have been solved, and more efficient signal elevation angle determination and computing resource management have been achieved.
Patent Information
- Application Number
- CN202311389924.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-07-27
- Filing Date
- 2023-10-24
- Publication Date
- 2025-01-28
AI Technical Summary
The NLS method relies on good initial guesses when determining the elevation angle of the incoming signal and may result in performance degradation due to computational intensiveness, especially in crowded environments.
Through the use of boundaries of linear initial search space and fixed grids with pre -calculated variables, the implementation of the NLS method is simplified. Specific steps include receiving reflected signals to determine the initial elevation angle pair, use search algorithms along the specific line to find the initial elevation pair, and refine the height of the object to determine the object through the NLS.
The search space is reduced, the local minimum value is avoided, the consumption of computing resources is reduced, and the system's computing burden is reduced through linear operation.
Smart Images

Figure CN119377537A_ABST
Abstract
Description
Background Art
[0001] Determining the properties of an incoming signal (e.g., a radar signal) can be difficult without other information. Nonlinear least squares (NLS) methods are often used under the assumption of a deterministic unknown signal. For example, NLS methods can be used to determine the elevation angle of an incoming signal.
[0002] Although the NLS method is very powerful, it relies on a good initial guess, which is then refined iteratively to arrive at a final determination. Good techniques have been developed for generating initial guesses; however, they often suffer from large search spaces. Many times, they do not take into account physical and environmental constraints, which can significantly reduce the search space.
[0003] Furthermore, NLS methods can be computationally expensive due to the large number of calculations associated with the various matrices. Performing multiple iterations of the NLS method in a crowded environment can burden the associated system and result in degraded performance. Summary of the invention
[0004] This document relates to methods and systems for implementing NLS using a bounded linear initial search space and a fixed grid with pre-computed variables. Some aspects described below include a method comprising: receiving, via a sensor, a first signal reflected by an object, wherein the first signal has a first elevation angle relative to a boresight of the sensor. The method also includes: receiving, via the sensor, a second signal reflected by the object and a ground plane, wherein the second signal has a second elevation angle relative to a boresight of the sensor. The method further includes: determining a distance to the object based on at least one of the first signal or the second signal; and establishing a maximum height corresponding to an estimated maximum height of the object. The method also includes: establishing a line of the second elevation angle as a function of the first elevation angle, sensor height, and distance, wherein the first elevation angle is between a function of sensor height and distance and a function of sensor height, distance, and maximum height. The method further includes: determining an initial elevation angle pair of one of the first elevation angles and one of the second elevation angles using a search algorithm along the line. The method also includes: refining the initial elevation angle pair using an NLS method to determine the first elevation angle and the second elevation angle. The method further includes: calculating the height of the object based on at least one of the first elevation angle or the second elevation angle and the sensor height. Other aspects described below include a system configured to perform the above method and a computer-readable storage medium including instructions that, when executed, cause at least one processor to perform the above method.
[0005] Other aspects described below include a method comprising: receiving an initial elevation angle pair of an initial first elevation angle and an initial second elevation angle corresponding to a corresponding signal that has been reflected from an object. The first elevation angle corresponds to a direct path reflection from the object, and the second elevation angle corresponds to a multipath reflection from the object and the ground. The method also includes: receiving a grid including pre-calculated variables for each of a plurality of grid points. The grid points correspond to corresponding angle pairs of the first elevation angle and the second elevation angle. The method further includes: for each iteration of one or more iterations, refining the initial elevation angle pair by: determining the grid point closest to the current elevation angle pair, wherein the initial elevation angle pair is the current elevation angle pair for the first iteration, and performing NLS iterations on the closest grid point using the pre-calculated variables of the closest grid point to determine a next angle pair. The next angle pair becomes the current elevation angle pair for the next iteration. The method also includes: determining a final elevation angle pair based on the iteration. The final elevation angle pair is one of the grid points. The method further includes: calculating the height of the object based on the final elevation angle pair. Other aspects described below include a system configured to perform the above method and a computer-readable storage medium including instructions that, when executed, cause at least one processor to perform the above method.
[0006] This summary introduces a simplified concept of implementing NLS using a bounded linear initial search space and a fixed grid with pre-computed variables, which is further described in the detailed description and figures. This summary is not intended to identify essential features of the claimed subject matter, nor is it intended to be used to determine the scope of the claimed subject matter. BRIEF DESCRIPTION OF THE DRAWINGS
[0007] Methods and systems for implementing NLS using a bounded linear initial search space and a fixed grid with precomputed variables are described with reference to the following figures, some of which use the same reference numerals throughout to refer to examples of similar or similar features and components. Figure 1 An example environment is shown in which an NLS using a bounded linear initial search space and a fixed grid with precomputed variables may be used in accordance with the techniques of this disclosure. Figure 2 An example system of a host vehicle configured for implementing NLS using a bounded linear initial search space and a fixed grid with pre-computed variables in accordance with the techniques of this disclosure is shown. Figure 3 An example flow of NLS using a bounded linear initial search space according to the techniques of this disclosure is shown. Figure 4 An example of a bounded linear initial search space according to the techniques of this disclosure is shown. Figure 5 An example flow of NLS using a fixed grid with pre-computed variables in accordance with the techniques of this disclosure is shown. Figure 6 An example diagram showing an NLS using a fixed grid with pre-computed variables in accordance with the techniques of this disclosure. Figure 7 An example method of NLS using a bounded linear initial search space according to the techniques of this disclosure is shown. Figure 8 An example method of using NLS with a fixed grid of pre-computed variables in accordance with the techniques of this disclosure is shown. DETAILED DESCRIPTION Overview
[0008] The NLS method can be used to determine the elevation angle of the incoming signal. Although the NLS method is very powerful, it relies on a good initial guess. A key factor in determining a reliable initial guess without excessive computational burden is a small search space. Otherwise, the search space may be the entire field of view of the sensor.
[0009] For automotive applications, the vast majority of detections have direct path reflections and multipath reflections from the ground. Physics dictates that the elevation angles of reflections are related to each other. In addition, there is information about the environment that can be used to define the first angle to be smaller than the gap between the sensor limits.
[0010] Another problem with conventional NLS techniques is that the iterations of conventional NLS techniques are computationally expensive due to the nonlinear operations. Specifically, the calculation of the Hessian matrix and the gradient vector may place a burden on the associated system, especially in a crowded environment.
[0011] Described herein is NLS using a bounded linear initial search space and a fixed grid with pre-computed variables. The first part of the invention receives a first signal and a second signal having an unknown first elevation angle and a second elevation angle, respectively, which have been reflected by an object, wherein the second signal has also been reflected from the ground. Then, a line of the second angle is established as a function of the first angle, sensor height, and distance to the object. The first angle is defined by a function of sensor height and distance, and a function of sensor height, distance, and maximum height. A search algorithm (e.g., greedy search) is then used to search for an initial elevation angle pair along the line. The initial elevation angle pair can then be refined (e.g., using NLS iterations, but not necessarily using a grid with pre-computed variables as described in the second part of the invention) to determine the object height.
[0012] The second part of the invention receives an initial elevation angle pair (not necessarily calculated using a bounded linear initial search space as described with respect to the first part of the invention) and refines the initial elevation angle pair for one or more iterations by determining the closest grid point to the current elevation angle pair and performing NLS iterations on the closest grid point using pre-computed variables of the closest grid point to determine the next elevation angle pair. When the iterations converge, the object height is calculated based on the final elevation angle pair.
[0013] By exploiting physical aspects (e.g., the second angle is a function of the associated first angle) and environmental aspects (e.g., the first angle is bounded between functions of altitude and distance), a smaller search space (e.g., a line whose range is completely within the sensor limits) can be established. This can avoid local minima and minimize the required computational resources. Moreover, by using a fixed grid with pre-computed variables, the computational burden of the associated system can be reduced by requiring a smaller number of only linear operations than conventional approaches. Example Environment
[0014] Figure 1 An example environment 100 is shown in which NLS using a bounded linear initial search space and a fixed grid with precomputed variables may be used. The example environment 100 includes a host vehicle 102 having a vehicle system 104 and a portion of a target 106 (hereinafter referred to as target 106).
[0015] The host vehicle 102 may be any type of system (automobile, car, truck, motorcycle, electric bicycle, boat, air vehicle, etc.) The target 106 may be a part of any moving or stationary object.
[0016] The vehicle system 104 transmits a transmission signal (not shown) and receives reflections of the transmission signal that have been reflected by an object, such as target 106. For example, the vehicle system 104 receives a first signal 108 and a second signal 110 that have been reflected from target 106. The second signal 110 has also been reflected from ground 112. In other words, the first signal 108 is a direct path reflection, while the second signal 110 is a multipath reflection.
[0017] The vehicle system 104 includes at least one sensor (e.g., a radar sensor) that detects the first signal 108 and the second signal 110. The sensor has a viewing axis 114 with a misalignment angle 116 (δ). If the viewing axis 114 is angled toward the ground (as shown), the misalignment angle 116 is negative, and if the viewing axis 114 is angled away from the ground, the misalignment angle 116 is positive. If there is no misalignment, the misalignment angle 116 is zero.
[0018] First signal 108 has a first angle 118 (θ1) relative to viewing axis 114. Second signal 110 has a second angle 120 (θ2) relative to viewing axis 114. In the example shown, second angle 120 is necessarily less than zero because it has been reflected by ground 112, and first angle 118 is necessarily greater than the second angle.
[0019] The first signal 108 has a first distance 122 (r d ) and the second signal 110 has a second distance 124 (r m ). For purposes of this disclosure, it is assumed that the first range and the second range are similar enough to be replaced with the range (r) estimated according to the range-Doppler process (eg, they share similar range values or bins).
[0020] The sensor has a sensor height 126 (h r Target 106 has a target height 128 (h ) relative to ground 112. t There is also a minimum height 130 (h ) relative to ground 112 that corresponds to an estimated minimum height of target 106. l ) and a maximum height 132 (h ) relative to ground 112 corresponding to an estimated maximum height of target 106 v ). The minimum height 130 and the maximum height 132 will be discussed further below.
[0021] The vehicle system 104 includes an initial angle module 134, an NLS module 136, and a vehicle component 138. The initial angle module 134 is configured to perform a search (e.g., a greedy search) along a line 140 of a second angle as a function of degrees of a first angle to determine an initial angle pair 142 (θ1, θ2). The line 140 is defined based on the minimum height 130 and the maximum height 132. The line 140 and its boundaries are discussed further below.
[0022] The NLS module 136 is configured to perform NLS iterations starting from an initial angle pair 142 using an angle grid 144. The angle grid 144 has pre-calculated variables for each grid point that are used to simplify (e.g., vectorize) the NLS iterations. When the NLS iterations converge on a final angle pair, the NLS module 136 is further configured to calculate a target height 128 based on the final angle pair.
[0023] The target altitude 128 may then be received by a vehicle component 138 configured to perform a vehicle function based on the target altitude 128. For example, the vehicle component 138 may be an advanced driver assistance system (ADAS) or an autonomous driving function that provides information about the target 106 and / or controls a function (e.g., speed, trajectory) of the host vehicle 102 based on the target altitude 128. Example System
[0024] Figure 2 An example of a vehicle system 104 is shown. Components of the vehicle system 104 may be arranged anywhere within or on the host vehicle 102. The vehicle system 104 may include at least one processor 200, a computer-readable storage medium 202 (e.g., a medium, a media, a plurality of media), and a vehicle component 138. The components are operatively and / or communicatively coupled via a link 204.
[0025] The processor 200 (e.g., an application processor, a microprocessor, a digital signal processor (DSP), a controller) is coupled to a computer-readable storage medium 202 via a link 204 and executes instructions (e.g., code) stored in the computer-readable storage medium 202 (e.g., a non-volatile storage device such as a hard drive, a solid-state drive (SSD), a flash memory, a read-only memory (ROM)) to implement or otherwise cause the initial angle module 134 and the NLS module 136 (or a portion thereof) to perform the techniques described herein.
[0026] Although shown as being within the computer-readable storage medium 202, the initial angle module 134 and the NLS module 136 (or a portion thereof) may be separate components (e.g., having a dedicated computer-readable storage medium that includes instructions and / or executes on dedicated hardware (such as a dedicated processor, a pre-programmed field programmable gate array (FPGA), a system on a chip (SOC), etc.). The processor 200 and the computer-readable storage medium 202 may be any number of components, including multiple components distributed throughout the host vehicle 102, remote from the host vehicle 102, dedicated or shared with other components, modules, or systems of the host vehicle 102, and / or configured in a manner different from that shown without departing from the scope of the present disclosure.
[0027] The computer-readable storage medium 202 also contains sensor data 206 generated by one or more sensors or one or more types of sensors (not shown), which may be located locally in the vehicle system 104 or remotely from the vehicle system 400. The sensor data 206 indicates or otherwise enables the determination of information that may be used to perform the techniques described herein. For example, one or more sensors (e.g., radar) may generate sensor data 206 that may be used to determine properties of the first signal 108 and the second signal 110.
[0028] The vehicle component 138 includes one or more systems or components that are communicatively coupled to the NLS module 136 and are configured to perform a vehicle function using the target altitude 128. For example, the vehicle component 138 may include a downstream processing module or an advanced driver assistance system (ADAS) having means for accelerating, steering, or braking the host vehicle 102. The vehicle component 138 is communicatively coupled to the NLS module 136 via a link 204. Although shown as separate components, the initial angle module 134 and the NLS module 136 may be part of the vehicle component 138, and the vehicle component 118 may also be part of the initial angle module 134 and the NLS module 136. Example initial angle pair lookup
[0029] Figure 3 An example flow for determining the initial angle pair 142 is shown at 300. The modules described below may be combined, separated, or rearranged without departing from the scope of the present disclosure. The line generation module 302 of the initial angle module 134 receives the misalignment angle 116, the distance 304 (r) to the target 106, the minimum height 130, and the maximum height 132, and forms the line 140 using the above variables and the sensor height 126 (the sensor height 126 is fixed). The misalignment angle 116 may come from the misalignment module 306 and may be determined using any technique known to one of ordinary skill in the art.
[0030] The distance 304 may come from a distance module 308 that determines the distance 304 to the target 106 based on a range-Doppler process. Assume that the first distance 122 and the second distance 124 are close enough to each other that they are registered in a similar range interval. Therefore, the first distance 122 is equal to the second distance 124 and is equal to the distance 304.
[0031] Minimum altitude 130 and maximum altitude 132 may come from altitude module 310 (e.g., if they are not fixed). Minimum altitude 130 and maximum altitude 132 may be a function of distance 304, whether target 106 is moving or stationary, distance 304 and the azimuth of target 106, and / or whether target 106 can be identified in a target list.
[0032] As an example of a function of distance 304, the maximum height 132 of a more distant target may be higher than the maximum height 132 of a closer target. As an example of a function of whether the target is moving or stationary, if the target is moving, the maximum height may be set to the maximum vehicle height. As an example of a function of distance 304 and azimuth, the coordinates of target 106 and whether it is located on a current road may be determined. The maximum height of a target on a road may be less than the maximum height of a target off a road.
[0033] As an example of a function of whether the target 106 can be identified in the target list, the attributes of the first signal 108 and / or the second signal 110 can be compared to the attributes or properties of the targets in the tracked target list maintained by the fusion tracking system (e.g., fused camera, radar, lidar, etc. data). In response to matching one or more of the attributes or properties (e.g., range, rate of change of range, signal-to-noise ratio, azimuth), the object data associated with the tracked target in the tracked target list can be used to determine the minimum altitude 130 and / or the maximum altitude 132. For example, if the particular target being tracked is a car, and the attributes of the first signal 108 and / or the second signal 110 match the attributes stored with the car entry, the minimum altitude 130 and / or the maximum altitude 132 can be set based on typical values for cars.
[0034] Regardless of how minimum altitude 130 and maximum altitude 132 are determined, they are used with misalignment angle 116 , distance 304 , and sensor height 126 to form line 140 of second angle as a function of first angle according to Equation 1 based on the physical relationship between elevation angles. Among them, line 140 is composed of Defined (e.g. based on environmental aspects).
[0035] It can be noted that, especially for long distances, the bounds of the search space are significantly reduced compared to the sensor limit. Further, misalignment is taken into account, which is often neglected in conventional techniques.
[0036] Equation 1 is the general case. If misalignment and minimum height are not considered, Equation 1 becomes Equation 2. in
[0037] Line 140 is received by search module 312 of initial angle module 134, which performs a search along line 140 to determine initial angle pair 142. To do so, search module 312 may utilize steering matrix 314 (A) and measurement matrix 316 (Y) (e.g., received from a sensor) and solve Equation 3 using a search algorithm (e.g., a greedy search). in (projecting the measurement matrix 316 onto the orthogonal complement of the column space of the steering matrix 314), H represents the conjugate transpose, -1 represents the reverse transposition, ‖‖ F represents the Frobenius norm.
[0038] Although a greedy search has been used above, other search algorithms may be used without departing from the scope of the present disclosure. Most, if not all, search algorithms will benefit from a reduced search space using the techniques described above.
[0039] The solution to equation 3 is the initial angle pair 142. Because the line 140 is defined by a function based on the minimum height 130 and the maximum height 132, the search space is significantly reduced compared to conventional techniques. This not only results in a lower probability that the search algorithm will get stuck in a local minimum, but also makes it faster to determine the initial angle pair 142 and reduces the computational burden.
[0040] Figure 4 Line 140 is shown at 400. As shown, line 140 is based on Equation 1. Again, physical aspects dictate that second angle 120 is a function of first angle 118, misalignment angle 116, sensor height 126, and distance 304 (e.g., The environmental aspect dictates that the first angle 118 is greater than a function of the minimum height 130, the sensor height 126, the distance 304, and the misalignment angle 116 (eg, Environmental aspects also dictate that first angle 118 is less than a function of maximum height 132, sensor height 126, distance 304, and misalignment angle 116 (e.g., As a result, the search space is misaligned and significantly reduced from the sensor field of view, especially at long distances. Target height determination example
[0041] Figure 5An example process for determining the target height 128 is shown at 500. The modules described below may be combined, separated, or rearranged without departing from the scope of the present disclosure. An update module 502 of the NLS module 136 receives the measurement matrix 316, the initial angle pairs 142, and the angle grid 144, and uses NLS iterations to determine the final angle pairs 504. It should be noted that the initial angle pairs 142 are not necessarily determined using prior art techniques. Any known technique for determining / finding the initial angle pairs may be used without departing from the scope of the present disclosure.
[0042] Angle grid 144 contains angles with corresponding variables Grid points 506 may be predefined angle pairs within the sensor field of view (e.g., possible pairs of first angle 118 and second angle 120), or grid points 506 may be placed based on some prior information (e.g., sensor height 126, minimum height 130, maximum height 132, distance 304). Each grid point 506 contains a set of variables 508 that have been calculated for that grid point. Variables 508 are defined according to Equation 4. C=(A H A) -1 where D is the first-order derivative matrix of A, is the pseudo-inverse matrix of A.
[0043] In some implementations, some of the variables 508 may be pre-calculated and stored in the angle grid 144, and some of the variables 508 may be calculated in real time. For example, F = BB H Thus, variable B may be stored in the angle grid 144 and variable F may be calculated in real time. In other words, any number of variables 508 may be stored for each grid point 506.
[0044] The update module 502 starts from the initial angle pair 142 and performs NLS iterations using variables 508. To do so, the update module 502 determines the grid point 506 closest to the current angle pair (e.g., the initial angle pair 142 of the first iteration), receives the variable 508 associated with the grid point 506, and calculates the Hessian matrix (H) and the gradient vector (g) according to Formula 5 and Formula 6, respectively. in Returns the real part of the complex matrix, where ⊙ represents the Hadamard product.
[0045] It should be noted that by using variable 508, the operation of calculating the Hessian matrix and the gradient vector at each iteration is linear (e.g., it is vectorized). This makes the calculation of the Hessian matrix and the gradient vector more simplified compared to traditional methods. Therefore, computing resources can be preserved.
[0046] Using the Hessian matrix, the gradient vector, and the current angle pair (e.g., the initial angle pair 142 of the first iteration), the update module 502 then determines the next angle pair based on a line search (based on Equation 7) or a trust region function (based on Formula 8), and repeats the process until convergence. θ (l+1) =θ (l) -μH -1 g (7) θ (l+1) =θ (l) -(H+μ*diag(H)) -1 g (8) where θ (l) is the current angle pair, μH -1 g and (H+μ*diag(H)) -1 g corresponds to the offset or distance to the next angle pair, and μ is the damping factor, which is a non-negative scalar and determines the size of the trust region (also known as the Levenberg-Marquardt algorithm).
[0047] Once the iteration has converged, the latest grid point 506 becomes the final angle pair 504. Convergence can be determined in any number of ways. For example, if the next angle pair is closest to the current angle pair, convergence can be assumed. (For example, the closest grid point is the previous closest grid point).
[0048] The final angle pair 504 is then received by the altitude module 510, which calculates the target altitude 128 based on the final angle pair 504. For example, the altitude module 510 may calculate the target altitude 128 using one of Equation 9 or Equation 10. h t =r d sin(θ1+δ)+h r (9) h t =r m sin(-θ2-δ)-h r (10)
[0049] Figure 6An example of NLS iteration using an angle grid 144 with variables 508 is shown at 600. The iteration starts with an initial angle pair 142. The grid point 506 (e.g., 506-1) closest to the initial angle pair 142 is determined, and the variable 508 of the grid point 506-1 is used to calculate the Hessian matrix and the gradient vector. The Hessian matrix and the gradient vector are then used to determine the next angle pair based on the initial angle pair 142 (e.g., angle pair 602-1). The process determines the grid point 506 closest to the angle pair 602-1 (e.g., 506-2). The variable 508 of the grid point 506-2 is used to calculate the Hessian matrix and the gradient vector. The Hessian matrix and the gradient vector are then used to determine the next angle pair based on the current angle pair (e.g., angle pair 602-2). The process determines the grid point 506 closest to the angle pair 602-2 (e.g., 506-3). The process then determines the next angle pair from the previous angle pair by calculating the Hessian matrix and gradient vector using the variables of grid point 506-3. In the example shown, the next angle pair is 602-3.
[0050] Because the closest grid point 506 to angle pair 602-3 is 506-3, the process can determine that convergence has occurred. Therefore, grid point 506-3 becomes the final angle pair 504. Other techniques can be used to determine convergence without departing from the scope of this disclosure. In some implementations, angle pair 602-3 can be considered to be the final angle pair 504. Example Method
[0051] Figure 7 An example method 700 of NLS using a bounded linear initial search space is shown. The example method 700 can be implemented in any of the environments previously described, by any of the systems or components previously described, and by utilizing any of the data flows, process flows, or techniques previously described. The order in which the operations are shown and / or described is not intended to be construed as limiting, and the order may be rearranged without departing from the scope of the present disclosure. In addition, any number of operations may be combined with any other number of operations to implement the example process flow or an alternative process flow.
[0052] At 702, a first signal reflected by an object is received at a first elevation angle relative to a boresight of the sensor, and a second signal reflected by the object and a ground plane is received at a second elevation angle relative to the boresight of the sensor. For example, the initial angle module 134 may receive the measurement matrix 316 corresponding to the first signal 108 and the second signal 110.
[0053] At 704 , a distance to the object is determined based on at least one of the first signal or the second signal. For example, the distance module 308 can calculate the distance 304 through range-Doppler processing of the first signal 108 and / or the second signal 110 .
[0054] At 706 , a maximum height corresponding to the estimated maximum height of the object is established. For example, the height module 310 can establish the maximum height 132 .
[0055] At 708, a line of a second elevation angle is established as a function of the first elevation angle, the sensor height, and the distance. The first elevation angle is between the function of the sensor height and the distance and the function of the sensor height, the distance, and the maximum height. For example, the line generation module 302 can establish the line 140 based on the sensor height 126 and the distance 304 (e.g., according to Equation 2). The first elevation angle can be a function of the sensor height 126 and the distance 304 (e.g., ) and a function of sensor height 126, distance 304, and maximum height 132 (e.g., )between.
[0056] At 710, an initial elevation angle pair of one of the first elevation angles and one of the second elevation angles is determined along the line using a search algorithm. For example, the search module 312 can determine the initial angle pair 142 along the line 140 using a greedy search algorithm (eg, via Equation 3).
[0057] At 712, the initial elevation angle pair is refined using an NLS method to determine a first elevation angle and a second elevation angle. For example, the NLS module 136 may apply an NLS method to determine a final elevation angle pair. The NLS method may or may not use an angle grid 144 with pre-calculated variables. In other words, a conventional NLS method may be applied to determine a final elevation angle pair (e.g., final angle pair 504).
[0058] At 714, the height of the object is calculated based on at least one of the first elevation angle or the second elevation angle and the sensor height. For example, the height module 510 can calculate the target height 128 using Equation 9 or Equation 10.
[0059] Figure 8is an example method 800 of NLS using a fixed grid of pre-computed variables. The example method 800 can be implemented in any of the environments previously described, by any of the systems or components previously described, and by utilizing any of the data flows, process flows, or techniques previously described. The order in which the operations are shown and / or described is not intended to be construed as limiting, and the order may be rearranged without departing from the scope of the present disclosure. Furthermore, any number of the operations may be combined with any other number of the operations to implement the example process flow or an alternative process flow.
[0060] At 802, an initial elevation angle pair of an initial first elevation angle and an initial second elevation angle corresponding to respective signals that have been reflected from an object is received. The first elevation angle corresponds to a direct path reflection from the object and the second elevation angle corresponds to a multipath reflection from the object and the ground. For example, the NLS module 136 may receive an initial angle pair 142 corresponding to the first signal 108 and the second signal 110. The initial angle pair 142 may be determined via any number of techniques, including with respect to Figure 1 , Figure 3 , Figure 4 and Figure 7 Those techniques described as well as conventional techniques.
[0061] At 804, a grid including pre-computed variables for each of a plurality of grid points is received. The grid points correspond to respective angle pairs of a first elevation angle and a second elevation angle. For example, the update module 502 may receive the angle grid 144 including the grid points 506 having associated variables 508 (e.g., calculated according to Equation 4).
[0062] At 806, for each of the one or more iterations, the initial elevation angle pair is refined by determining the closest grid point to the current elevation angle pair, wherein the initial elevation angle pair is the current elevation angle pair for the first iteration, and performing NLS iterations on the closest grid point using the pre-computed variables of the closest grid point to determine the next elevation angle pair. The next elevation angle pair becomes the current elevation angle pair for the next iteration. For example, the update module 502 may perform NLS iterations along the grid points 506 (e.g., using Equation 7 or Equation 8) by using the corresponding variables 508 of the grid points to update the Hessian matrix and the gradient vector (e.g., using Equation 5 and Equation 6) starting from the grid point 506 closest to the initial angle pair 142.
[0063] At 808, based on the iterations, a final elevation angle pair is determined. The final elevation angle pair is one of the grid points. For example, the update module 502 can determine the final angle pair 504 by determining that the NLS iterations have achieved convergence. The final elevation angle pair 504 is one of the grid points 506.
[0064] At 810 , the height of the object is calculated based on the final elevation angle pair. For example, the height module 510 may calculate the target height 128 using Equation 9 or Equation 10. Example
[0065] Example 1a: A method, comprising: receiving a first signal reflected by an object via a sensor and at a first elevation angle relative to a visual axis of the sensor; receiving a second signal reflected by the object and a ground plane via the sensor and at a second elevation angle relative to the visual axis of the sensor; determining a distance to the object based on at least one of the first signal or the second signal; establishing a maximum height corresponding to an estimated maximum height of the object; establishing a second elevation line as a function of the first elevation angle, sensor height, and distance, wherein the first elevation angle is between a first value based on the sensor height and the distance and a second value based on the sensor height, the distance, and the maximum height; determining an initial elevation pair of one of the first elevation angles and one of the second elevation angles using a search algorithm along the line; refining the initial elevation pair using an NLS method to determine the first elevation angle and the second elevation angle; and calculating the height of the object based on at least one of the first elevation angle or the second elevation angle and the sensor height.
[0066] Example 2a: The method of Example 1a, further comprising performing a vehicle function based on the height of the object.
[0067] Example 3a: The method of Example 2a, wherein the vehicle functionality comprises an advanced driver assistance system or an autonomous driving functionality.
[0068] Example 4a: The method of Example 1a, wherein the function comprises the negative inverse sine of the sine of the first elevation angle plus a ratio of two times the sensor height to the distance.
[0069] Example 5a: The method of Example 1a, wherein the first value comprises a negative inverse sine of a ratio of sensor height to distance.
[0070] Example 6a: The method of example 1a, wherein the second value comprises an arcsine of a ratio of a difference between the maximum height and the sensor height to the distance.
[0071] Example 7a: The method of Example 1a, further comprising determining a misalignment angle between the sensor and the ground plane, wherein: the line of the second elevation angle is further a function of the misalignment angle, the first value is further based on the misalignment angle, and the second value is further based on the misalignment angle.
[0072] Example 8a: The method of Example 1a, further comprising establishing a minimum height corresponding to an estimated minimum height of the object, wherein the first value is further based on the minimum height.
[0073] Example 9a: The method of Example 1a, wherein the search algorithm is a greedy search algorithm.
[0074] Example 10a: The method of method 1a, wherein the maximum height is based on distance.
[0075] Example 11a: The method of Example 10a, wherein the maximum height is further based on an azimuth of the object.
[0076] Example 12a: The method of Example 1a, further comprising receiving a target list of tracked targets, wherein the maximum altitude is based on the target list.
[0077] Example 13a: The method of Example 12a further includes: comparing attributes of at least one of the first signal or the second signal with attributes of the tracked targets in the target list; and in response to determining that the attributes of at least one of the first signal or the second signal match the attributes of one of the tracked targets, determining the maximum height based on the attributes of one of the tracked targets.
[0078] Example 14a: The method of Example 13a, wherein: the attribute of one of the tracked targets includes an altitude of the one of the tracked targets; and the maximum altitude is set to the altitude of the one of the tracked targets.
[0079] Example 15a: A system, comprising: at least one processor configured to: receive a first signal reflected by an object via a sensor and at a first elevation angle relative to a visual axis of the sensor; receive a second signal reflected by the object and a ground plane via the sensor and at a second elevation angle relative to a visual axis of the sensor; determine a distance to the object based on at least one of the first signal or the second signal; establish a maximum height corresponding to an estimated maximum height of the object; establish a second elevation line as a function of the first elevation angle, sensor height, and distance, wherein the first elevation angle is between a first value based on the sensor height and the distance and a second value based on the sensor height, the distance, and the maximum height; determine an initial elevation pair of one of the first elevation angles and one of the second elevation angles using a search algorithm along the line; refine the initial elevation pair using an NLS method to determine the first elevation angle and the second elevation angle; and calculate the height of the object based on at least one of the first elevation angle or the second elevation angle and the sensor height.
[0080] Example 16a: The system of Example 15a, further comprising a sensor, wherein the sensor is a radar sensor.
[0081] Example 17a: The system of Example 15a, wherein the maximum altitude is based on a distance, an azimuth of the object, or an attribute in a list of tracked targets.
[0082] Example 18a: The system of Example 15a, wherein the processor is further configured to receive or determine a misalignment angle between the sensor and the ground plane, wherein: the second elevation line is further a function of the misalignment angle, the first value is further based on the misalignment angle, and the second value is further based on the misalignment angle.
[0083] Example 19a: The system of Example 15a, wherein the search algorithm is a greedy search algorithm.
[0084] Example 20a: A non-transitory computer-readable storage medium, the computer-readable storage medium comprising instructions that, when executed, cause at least one processor to: receive a first signal reflected by an object via a sensor and at a first elevation angle relative to a visual axis of the sensor; receive a second signal reflected by the object and a ground plane via the sensor and at a second elevation angle relative to a visual axis of the sensor; determine a distance to the object based on at least one of the first signal or the second signal; establish a maximum height corresponding to an estimated maximum height of the object; establish a line of second elevation angles as a function of the first elevation angle, sensor height, and distance, wherein the first elevation angle is between a first value based on sensor height and distance and a second value based on sensor height, distance, and maximum height; determine an initial elevation angle pair of one of the first elevation angles and one of the second elevation angles along the line using a search algorithm; refine the initial elevation angle pair using an NLS method to determine the first elevation angle and the second elevation angle; and calculate the height of the object based on at least one of the first elevation angle or the second elevation angle and the sensor height.
[0085] Example 1b: A method, the method comprising: receiving an initial elevation angle pair, the initial elevation angle pair comprising an initial first elevation angle and an initial second elevation angle corresponding to respective signals from an object, the initial first elevation angle corresponding to a direct path reflection from the object, and the initial second elevation angle corresponding to a multipath reflection from the object and the ground; receiving a grid comprising pre-computed variables for each of a plurality of grid points, the grid points corresponding to respective angle pairs of possible first and second elevation angles; refining the initial elevation angle pair by: for a first iteration: determining a first grid point that is closest to the initial elevation angle pair; using the pre-computed variables for the first closest grid point Performing NLS iterations on the first closest grid point to determine a second elevation pair; and determining a grid point that is second closest to the second elevation pair; and for each subsequent iteration in one or more subsequent iterations: performing NLS iterations on the current grid point using pre-calculated variables of the current grid point to determine a next elevation pair, the current grid point being the second closest grid point of the first subsequent iteration; and determining a subsequent closest grid point of the next elevation pair, the subsequent closest grid point becoming the current grid point of the next iteration; and determining a final subsequent closest grid point as a final elevation pair based on the iteration; and calculating the height of the object based on the final elevation pair.
[0086] Example 2b: The method of Example 1b, wherein the NLS iteration uses only linear operations.
[0087] Example 3b: The method of Example 1b, wherein the NLS iterations include computing a Hessian matrix and a gradient vector using pre-computed variables and a measurement matrix corresponding to the corresponding signal.
[0088] Example 4b: The method of Example 3b, wherein the NLS iteration further comprises using the Hessian matrix and the gradient vector to determine an offset from a closest grid point.
[0089] Example 5b: The method of Example 4b, wherein the offset comprises a function of a Hessian matrix, a gradient vector, and a damping factor.
[0090] Example 6b: The method of Example 5b, wherein the NLS iteration includes a line search or a confidence region function.
[0091] Example 7b: The method of Example 1b, wherein the pre-calculated variables include four variables.
[0092] Example 8b: The method of Example 7b, wherein the pre-calculated variables include: a first variable based on a first derivative of the steering matrix and the steering matrix; a second variable based on the steering matrix; a third variable based on the first derivative of the steering matrix and the steering matrix; a fourth variable based on the steering matrix;
[0093] Example 9b: The method of Example 1b, wherein one of the precomputed variables comprises a pseudo-inverse of a steering matrix.
[0094] Example 10b: The method of Example 1b, wherein one of the pre-computed variables comprises the product of the conjugate transpose of the first-order derivative of the steering matrix and a function that projects the measurement matrix onto the orthogonal complement of the column space of the steering matrix.
[0095] Example 11b: The method of Example 10b, wherein another pre-computed variable comprises the conjugate transpose of the first-order derivative of the steering matrix, the product of the function and the first-order derivative of the steering matrix.
[0096] Example 12b: The method of Example 1b, wherein one of the pre-computed variables comprises the inverse of the product of the conjugate transpose of the steering matrix and the steering matrix.
[0097] Example 13b: The method of Example 1b, wherein subsequent iterations are performed until the subsequent closest grid point is the current grid point.
[0098] Example 14b: The method of Example 1b, wherein the corresponding signal is a radar signal.
[0099] Example 15b: A system, comprising: at least one processor, the at least one processor configured to: receive an initial elevation angle pair, the initial elevation angle pair comprising an initial first elevation angle and an initial second elevation angle corresponding to respective signals from an object, the initial first elevation angle corresponding to a direct path reflection from the object, and the initial second elevation angle corresponding to a multipath reflection from the object and the ground; receive a grid of pre-calculated variables comprising each of a plurality of grid points, the grid points corresponding to respective angle pairs of possible first and second elevation angles; refine the initial elevation angle pair by: for a first iteration: determining a first grid point that is closest to the initial elevation angle pair; using the first closest grid point to refine the initial elevation angle pair; Pre-calculated variables of the grid points perform NLS iterations on the first closest grid point to determine a second elevation pair; and determine the second closest grid point to the second elevation pair; and for each subsequent iteration in one or more subsequent iterations: use the pre-calculated variables of the current grid point to perform NLS iterations on the current grid point to determine the next elevation pair, the current grid point being the second closest grid point of the first subsequent iteration; and determine the subsequent closest grid point of the next elevation pair, which becomes the current grid point of the next iteration; and determine the final subsequent closest grid point as the final elevation pair based on the iteration; and calculate the height of the object based on the final elevation pair.
[0100] Example 16b: The system of Example 15b, wherein the NLS iteration uses only linear operations.
[0101] Example 17b: The system of Example 15b, wherein the NLS iterations include computing a Hessian matrix and a gradient vector using pre-computed variables and a measurement matrix corresponding to the corresponding signal.
[0102] Example 18b: The system of Example 15b, wherein subsequent iterations are performed until the subsequent closest grid point is the current grid point.
[0103] Example 19b: The system of Example 15b, wherein at least one of the following: one of the precomputed variables comprises the pseudo-inverse of the steering matrix; one of the precomputed variables comprises the product of the conjugate transpose of the first-order derivative of the steering matrix and a function that projects the measurement matrix into the orthogonal complement of the column space of the steering matrix; one of the precomputed variables comprises the product of the conjugate transpose of the first-order derivative of the steering matrix, a function, and the first-order derivative of the steering matrix; or one of the precomputed variables comprises the inverse of the product of the conjugate transpose of the steering matrix and the steering matrix.
[0104] Example 20b: A non-transitory computer-readable storage medium comprising instructions that, when executed, cause at least one processor to: receive an initial elevation angle pair, the initial elevation angle pair comprising an initial first elevation angle and an initial second elevation angle corresponding to respective signals from an object, the initial first elevation angle corresponding to a direct path reflection from the object, the initial second elevation angle corresponding to a multipath reflection from the object and the ground; receive a grid comprising pre-computed variables for each of a plurality of grid points, the grid points corresponding to respective angle pairs of possible first and second elevation angles; refine the initial elevation angle pair by: for a first iteration: determining a first grid point that is closest to the initial elevation angle pair; a grid point; performing NLS iterations on the first closest grid point using pre-calculated variables of the first closest grid point to determine a second elevation pair; and determining a grid point that is second closest to the second elevation pair; and for each subsequent iteration in one or more subsequent iterations: performing NLS iterations on the current grid point using pre-calculated variables of the current grid point to determine a next elevation pair, the current grid point being the second closest grid point of the first subsequent iteration; and a subsequent closest grid point of the next elevation pair, the subsequent closest grid point becoming the current grid point of the next iteration; determining a final subsequent closest grid point as a final elevation pair based on the iteration; and calculating the height of the object based on the final elevation pair. Conclusion
[0105] Although various embodiments of the present disclosure are described in the foregoing description and shown in the accompanying drawings, it should be understood that the present disclosure is not limited thereto but can be implemented as practice in various ways within the scope of the following claims. Although various embodiments of the present disclosure are described in the foregoing description and shown in the accompanying drawings, it should be understood that the present disclosure is not limited thereto but can be implemented as practice in various ways within the scope of the following claims.
[0106] Unless the context clearly dictates otherwise, the use of "or" and grammatically related terms represents unlimited, non-exclusive alternatives. As used herein, a phrase referring to "at least one" of a list of items refers to any combination of those items, including individual members. For example, "at least one of a, b, or c" is intended to cover: a, b, c, ab, ac, bc, and abc, as well as any combination with multiple identical elements (e.g., aa, aaa, aab, aac, abb, acc, bb, bbb, bbc, cc, and ccc, or any other ordering of a, b, and c).
Claims
1. A method, comprising: receiving, via a sensor and at a first elevation angle relative to a boresight of the sensor, a first signal reflected by an object; receiving, via the sensor and at a second elevation angle relative to the boresight of the sensor, a second signal reflected by the object and a ground plane; determining a distance to the object based on at least one of the first signal or the second signal; establishing a maximum height corresponding to the estimated maximum height of the object; establishing a line of a second elevation angle as a function of the first elevation angle, the sensor height, and the distance, wherein the first elevation angle is between a first value based on the sensor height and the distance and a second value based on the sensor height, the distance, and the maximum height; determining an initial elevation angle pair of one of the first elevation angles and one of the second elevation angles along the line using a search algorithm; Refining the initial elevation angle pair using a nonlinear least squares method to determine the first elevation angle and the second elevation angle; and The height of the object is calculated based on at least one of the first elevation angle or the second elevation angle and the sensor height. 2 . The method of claim 1 , further comprising performing a vehicular function based on the height of the object.
3. The method according to claim 2, characterized in that The vehicle functionality includes an advanced driver assistance system or an autonomous driving functionality.
4. The method according to claim 1, characterized in that The function comprises the negative inverse sine of the sine of the first elevation angle plus a ratio of two times the sensor height to the distance.
5. The method according to claim 1, characterized in that The first value comprises the negative inverse sine of a ratio of the sensor height to the distance.
6. The method according to claim 1, characterized in that The second value comprises an arcsine of a ratio of a difference between the maximum height and the sensor height to the distance.
7. The method of claim 1, further comprising determining a misalignment angle between the sensor and the ground plane, characterized in that: The line of the second elevation angle is further a function of the misalignment angle, The first value is further based on the misalignment angle, and The second value is further based on the misalignment angle.
8. The method of claim 1, further comprising establishing a minimum height corresponding to an estimated minimum height of the object, wherein: The first value is further based on the minimum height.
9. The method according to claim 1, characterized in that The search algorithm is a greedy search algorithm.
10. The method according to claim 1, characterized in that The maximum height is based on the distance.
11. The method according to claim 10, characterized in that The maximum altitude is further based on an azimuth angle of the object.
12. The method of claim 1, further comprising receiving a target list of tracked targets, wherein: The maximum height is based on the target list.
13. The method of claim 12, further comprising: comparing an attribute of at least one of the first signal or the second signal with an attribute of the tracked target in the target list; as well as In response to determining that a property of at least one of the first signal or the second signal matches a property of one of the tracked targets, determining the maximum altitude based on the property of the one of the tracked targets.
14. The method according to claim 13, characterized in that: The attributes of one of the tracked targets include an altitude of one of the tracked targets; and The maximum altitude is set to the altitude of one of the tracked targets.
15. A system, comprising: at least one processor configured to: receiving, via a sensor and at a first elevation angle relative to a boresight of the sensor, a first signal reflected by an object; receiving, via the sensor and at a second elevation angle relative to the boresight of the sensor, a second signal reflected by the object and a ground plane; determining a distance to the object based on at least one of the first signal or the second signal; establishing a maximum height corresponding to an estimated maximum height of the object; establishing a line of a second elevation angle as a function of the first elevation angle, the sensor altitude, and the distance, wherein the first elevation angle is between a first value based on the sensor altitude and the distance and a second value based on the sensor altitude, the distance, and the maximum altitude; determining an initial elevation angle pair of one of the first elevation angles and one of the second elevation angles along the line using a search algorithm; Refining the initial elevation angle pair using a nonlinear least squares method to determine the first elevation angle and the second elevation angle; as well as The height of the object is calculated based on at least one of the first elevation angle or the second elevation angle and the sensor height.
16. The system of claim 15, further comprising the sensor, characterized in that The sensor is a radar sensor.
17. The system of claim 15, wherein: The maximum altitude is based on the distance, the azimuth of the object, or an attribute in a list of tracked targets.
18. The system of claim 15, wherein: The processor is further configured to receive or determine a misalignment angle between the sensor and the ground plane, wherein: The line of the second elevation angle is further a function of the misalignment angle, The first value is further based on the misalignment angle, and The second value is further based on the misalignment angle.
19. The system of claim 15, wherein: The search algorithm is a greedy search algorithm.
20. A non-transitory computer-readable storage medium comprising instructions that, when executed, cause at least one processor to: receiving, via a sensor and at a first elevation angle relative to a boresight of the sensor, a first signal reflected by an object; receiving, via the sensor and at a second elevation angle relative to the boresight of the sensor, a second signal reflected by the object and a ground plane; determining a distance to the object based on at least one of the first signal or the second signal; establishing a maximum height corresponding to an estimated maximum height of the object; establishing a second elevation line as a function of a first elevation angle, a sensor altitude, and the distance, wherein the first elevation angle is between a first value based on the sensor altitude and the distance and a second value based on the sensor altitude, the distance, and the maximum altitude; determining an initial elevation angle pair of one of the first elevation angles and one of the second elevation angles along the line using a search algorithm; Refining the initial elevation angle pair using a nonlinear least squares method to determine the first elevation angle and the second elevation angle; as well as The height of the object is calculated based on at least one of the first elevation angle or the second elevation angle and the sensor height.