Target objects detection system
Patent Information
- Authority / Receiving Office
- CA · CA
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-01-30
- Publication Date
- 2025-08-07
Abstract
Description
TARGET OBJECTS DETECTION SYSTEMCROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of U.S. Provisional Application Serial No. 63 / 548,716, titled “FALSE CLUSTERS IDENTIFICATION AND COMBINATION SYSTEM,” filed by David S. Anderson , et al., on February 1, 2024.
[0002] This application claims the benefit of U.S. Provisional Application Serial No. 63 / 551 ,380, titled “STATIC RE-CLUTTERING FOR FMCW RADAR,” filed by David S. Anderson, on February 8, 2024.
[0003] This application also claims the benefit of U.S. Provisional Application Serial No. 63 / 549,302, titled “MULTI STAGE DYNAMIC ANGLE OF ARRIVAL MEASUREMENT SYSTEM,” filed by David S. Anderson, et al., on February 2, 2024.
[0004] This application incorporates the entire contents of the foregoing application(s) herein by reference.TECHNICAL FIELD
[0005] Various embodiments relate generally to FMCW radars in identifying dynamic targets within a field of view.BACKGROUND
[0006] Radar technology has played a pivotal role in various applications, providing the ability to detect and track objects by emitting electromagnetic waves and analyzing their reflections. Radar systems are utilized in diverse fields, including aviation, defense, weather monitoring, and automotive industries, among others.
[0007] Frequency Modulated Continuous Wave (FMCW) radar is a significant advancement in radar technology. FMCW radar operates by continuously modulating the frequency of the transmitted signal over time. This modulation creates a continuous wave with a varying frequency, enabling FMCW radar systems to simultaneously measure the range and velocity of multiple targets. This dual functionality makes FMCW radar well-suited for applications such as distance measurement, speed detection, and target tracking.
[0008] The use of the Doppler Fast Fourier Transform (FFT) is a crucial aspect of radar signal processing. The Doppler effect, based on the shift in frequency of the reflected signals from moving targets, allows for the determination of their radial velocity. By employing FFT, a radar system can efficiently convert the time-domain radar signals into frequency-domain representations, making it possible to extract valuable information about the velocity andmovement of targets. This process enhances the precision and accuracy of radar systems in detecting and analyzing dynamic objects.SUMMARY
[0009] Apparatus and associated methods relate to a multi-pass object detection system (MODS). In an illustrative example, a MODS may include a signal processor configured to receive signals reflected from one or more target objects. For example, the signal processor may generate a multidimensional point cloud. The signal processor may identify N clusters from the multi-dimensional point cloud. A cluster processing unit, for example, may associate a boundary for each of the N clusters. In one implementation, the boundary may be determined as a predetermined multiple of a standard deviation of the points of a corresponding cluster. For example, based on the boundary, a cluster combining module may generate a detection result by combining clusters of the N clusters if the overlapping clusters are associated with overlapping spaces contained within the boundaries. Various embodiments may reduce falsely identified objects from over-clustering of a single object.
[0010] Apparatus and associated methods relate to a dynamic target measurement system (DTMS) configured for measuring moving targets. In an illustrative example, a DTMS includes a processor configured to automatically measure precise information of a slow moving object amongst static objects. The operations include, for example, receiving measurement signals from a direction and ranging measurement device. A first component (e.g., a DC offset) of the measurement signals may be extracted from the measurement signal. For example, a first FFT of the clutter removed signal may be generated. For example, a peak within a first few frequency bins of the first FFT may be identified. If there are any bins identified within the first few frequency bins, the first component may, for example, be added back to the clutter removed signal to measure the slowly moving targets (SMTs). Various embodiments may advantageously detect the SMTs at a high degree of precision.
[0011] Apparatus and associated methods relate to an object detection system (ODS) using a multi-stage method to compute an angle of arrival of a detected object (e.g., within a particular range). In an illustrative example, the ODS may generate a first spectral energy representation (SER) of object detection signals based on a first computation method (FCM). An amplitude threshold, for example, may be applied to the first SER to dynamically determine a region of interest (ROI) within the first SER. The RDS may generate, for example, a second SER using a second computation method (SCM) based on signals within the ROI. For example, the SCM may require more computation costs than the FCM to produce a higher resolution result. Various embodiments may advantageously generate an object detection measurement with false objectdetection rate lower than the FCM and require less computation costs than applying the SCM to the object detection signals entirely.
[0012] Various embodiments may achieve one or more advantages. For example, some embodiments may advantageously predict potential collision. Some embodiments, for example, may improve processing speed in measuring high speed targets. For example, some embodiments may advantageously improve the linearity and precision of the velocity measurement to obtain precise measurements in a Doppler FFT bin. Various embodiments may achieve one or more advantages. Some embodiments may, for example, remove false object detection due to inherent error features from a single object detection method. For example, some embodiments may advantageously mitigate object detection errors at predetermined angles. Some embodiments, for example, may advantageously provide a fast response for applications requiring quick decision making based on the object detection measurement. For example, some embodiments may advantageously reduce a minimum detectable separation of multiple objects.
[0013] The details of various embodiments are set forth in the accompanying drawings and the description below. Other features and advantages will be apparent from the description and drawings, and from the claims.BRIEF DESCRIPTION OF THE DRAWINGS
[0014] FIG. 1 depicts an exemplary Multi-pass Object Detection Sensor (MODS) employed in an illustrative use-case scenario.
[0015] FIG. 2A and FIG. 2B are schematic diagrams showing one example of exemplary clustering outputs in various steps of the MODS.
[0016] F1G.3 shows another example of exemplary clustering outputs in various steps of the MODS.
[0017] FIG. 4 is a flowchart illustrating an exemplary multi-pass object detection method.
[0018] FIG. 5 is a flowchart illustrating an exemplary MODS configuration method.
[0019] FIG. 6A and FIG. 6B depicts an exemplary static and dynamic matching object detection system (SDMODS).
[0020] FIG. 7 depicts an exemplary dynamic target measurement system (DTMS) employed in an illustrative use-case scenario.
[0021] FIG. 8 depicts an exemplary re-cluttering Doppler FFT generation process using an exemplary slow target identifier (STI).
[0022] FIG. 9 A and FIG. 9B depict exemplary error curves of the DTDU before and after recluttering.
[0023] FIG. 10 is a flowchart illustrating an exemplary moving object detection method.100241 FIG. 11 depicts an exemplary Angle of Arrival Module (AOAM) employed in an illustrative use-case scenario.
[0025] FIG. 12A and FIG. 12B depict exemplary heatmaps for a single target having a region of interest dynamically selected in a first heatmap to generate a second heatmap.
[0026] FIG. 12C and FIG. 12D depict exemplary heatmaps for multiple targets within a dynamically selected region of interest.
[0027] FIG. 13 is a flowchart illustrating an exemplary dynamic target detection method.
[0028] FIG. 14 is a flowchart illustrating an exemplary AOAM configuration method.
[0029] FIG. 15 is a block diagram depicting an exemplary target object detection system (TODS 1500).
[0030] Like reference symbols in the various drawings indicate like elements.DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS10031 1 Throughout this specification, the notation (underscore) denotes a subscript unless otherwise specified. Similarly, the symbol ' ' (caret) denotes a superscript unless otherwise indicated. This consistent convention fosters clarity and facilitates accurate interpretation of mathematical and chemical formulae presented herein.
[0032] FIG. 1 depicts an exemplary Multi-pass Object Detection Sensor (MODS 100) employed in an illustrative use-case scenario. For example, the MODS 100 may include a system for detecting objects by transmitting and receiving a signal (e.g., an electromagnetic signal, a radio signal, a sound wave, a light signal, a static / varying wave between 0.000001 Hz and 10000 GHz). For example, the MODS 100 may include a time-of-flight (ToF) sensor. For example, the MODS 100 may include a radar system. For example, the MODS 100 may include a sonar system.
[0033] In this example, the MODS 100 includes an emitter 105 and a receiver 110. In some implementations, the emitter 105 may transmit an emitted signal 115. For example, the emitter 105 may include one or more emitting elements. For example, each of the emitting elements may be configured to independently generate a signal. For example, the receiver 110 may include one or more receiving elements. For example, each of the receiving elements may receive a signal independently.
[0034] For example, the emitted signal 115 may be reflected at a target object 120. For example, the receiver 110 may receive a reflection signal 125 from the target object 120. Based on the reflection signal 125 and / or the emitted signal 1 15, the MODS 100 may determine a presence or an absence object (e.g., the target object 120 or an absence thereof) within a field of view of the MODS 100. For example, the MODS 100 may determine, if an object is present, a position, velocity, and / or other information of the target object 120.|0035 | As shown, the MODS 100 includes a multi-pass clustering unit (MCU 130) and a signal processing and clustering module (SPACM 135). The SPACM 135, for example, may receive signals (e.g., the reflection signal 125) from the receiver 110. In some embodiments, the SPACM 135 may process the received signal. For example, the SPACM 135 may identify noise from the reflection signal 125. For example, the SPACM 135 may also receive signals from the emitter 105. For example, the SPACM 135 may receive an original waveform of the emitted signal 115.
[0036] In some implementations, the SPACM 135 may generate a point cloud as a function of the reflection signal 125. For example, the point cloud may include a multi-dimensional point cloud. For example, from the point cloud, the SPACM 135 may identify N clusters (C_l, C_2, ..., C_i, . . ., C_N), where N is an integer >= 0. For example, the SPACM 135 may include a noise removal algorithm to advantageously remove noise data before clustering. For example, each i-th of the N clusters comprises M_i points (CAl_i, CA2_i, ..., CAj_i, ..., CAM_i).
[0037] In some implementations, the MODS 100 may be a frequency modulated continuous wave (FMCW) radar. For example, the MODS 100 may be configured to detect static (e.g., stationary) targets. For example, the MODS 100 may be configured to detect moving (e.g., dynamic) targets. In some implementations, the SPACM 135 may identify static objects using a range and an angular position of the target object 120 (e.g., using a fast Fourier transform analysis and / or other signal processing techniques). In some implementations, the SPACM 135 may identify dynamic objects using, in addition to the range and angular position of the target object 120, a target differentiation (e.g., velocity) information determined from the reflection signal 125.
[0038] In some implementations, the SPACM 135 may determine a presence of the target object 120 based on signals received from the emitter 105 and the receiver 110. For example, the SPACM 135 may apply a clustering algorithm (e.g., a K-means clustering, a Hierarchical clustering, a mean shift clustering, a Density-Based Spatial Clustering of Application with Noise (DSCAN) algorithms). For example, the SPACM 135 may identify one or more clusters from the reflection signal 125. For example, the MCU 130 may determine a number of objects within a field of view of the emitter 105 as a function of the identified number of clusters.
[0039] In some implementations, the SPACM 135 may include a distance parameter (e.g., epsilon in the case of DBSCAN). For example, the distance parameter may be related to a sensitivity of the SPACM 135. For example, the SPACM 135 may use the distance parameter to determine whether to assign a given point (e.g., retrieved from the signals from the receiver 110) to a cluster. For example, a larger distance parameter may reduce the number of clusters identified from the reflection signal 125. In some examples, a smaller distance parameter may increase the number of clusters identified from the reflection signal 125.|0040| The MODS 100, for example, may be used to detect multiple objects within the field of view of the emitter 105. In some implementations, the target object 120 may include multiple surfaces. For example, the multiple surfaces may generate multiple separate reflection signals. In some examples, the multiple separate return signals may be interpreted as different objects within the field of view.
[0041] In this example, the MCU 130 includes a dynamic cluster boundary identifier (DCBI 140) and a cluster combining module (CBM 145). For example, the DCBI 140 and the CBM 145 may advantageously differentiate between a single complex object (e.g., having multiple surfaces) and multiple objects within the field of view.
[0042] In some implementations, the SPACM 135 may generate an initial clustering result using the received signals and a (relatively) distance parameter. For example, the distance parameter may be selected to be small. For example, the small distance parameter may generate false detection of objects. For example, the SPACM 135 may generate multiple clusters that may be the same object.
[0043] In some implementations, the DCBI 140 may dynamically generate a boundary for each cluster identified in an initial clustering result. For example, the DCBI may determine a boundary of a k-th cluster (e.g., within the identified N clusters as discussed above) as a function of each of M dynamic points of the k-th cluster (CAl_k, CA2_k, . . ., CAj_k, . . ., CAM_k).
[0044] In some implementations, the DCBI 140 may generate a surface function (e.g., a polynomial function) for each cluster in the initial cluster result. For example, the MCU 130 may use the surface function to generate a boundary of each of the clusters. In some implementations, the DCBI 140 may compute a statistical measurement of a tightness amongst data points within the cluster. For example, the statistical measurement may include a multi-dimensional statistical measurement of the data points. For example, the DCBI 140 may define a boundary of any cluster to be a 2-dimensional standard deviations variation from a center of the cluster multiplied by a predetermined threshold (e.g., 1.5, 2.5, 4.5, 8.5).
[0045] In some implementations, the CBM 145 may use the surface function to determine whether any two or more of the clusters in the initial clustering result are to be combined. For example, the CBM 145 may check if there are any overlapping boundaries. For example, any clusters having overlapping boundaries may be combined and / or grouped. For example, the CBM 145 may advantageously identify and reduce false detection of objects (e.g., resulting from over-clustering of a single object).
[0046] As shown, the CBM 145 may generate an object detection result to an object generation unit 150. For example, the object generation unit 150 may be operably connected to another device. For example, the object detection result may include detected object’s information after combiningclusters of the N clusters. For example, the object detection result may include position (e.g., range) information of each detected object. For example, the object detection result may include angular information (e.g., within the field of view of the MODS 100) of each detected object. For example, the object detection result may include velocity information of each detected object. For example, the object detection result may include other information (e.g., historical information, intensity information, color information) of each detected object.
[0047] In some implementations, the MODS 100 may be connected to a device for determining an angular position of the target object 120. For example, the connected device may control movement based on the object detection result. For example, the connected device may be a robot. For example, the connected device may include a self-driving vehicle. For example, the connected device may include a vehicle guidance system. For example, the connected device may include a loading dock. For example, the loading dock may control and / or influence movement of an approaching vehicle. For example, the loading dock may use the MODS 100 to determine a position and / or velocity of surrounding objects and generate instructions to an approaching vehicle.
[0048] In various implementations, using a predetermined distance parameter, the MODS 100 may dynamically adjust a boundary of each detected object based on signals received. For example, the MODS 100 may advantageously identify a number of objects within the field of view. In some implementations, the MCU 130 may generate a statistical distribution of each identified cluster from an initial clustering stage (e.g., generated by the SPACM 135) to determine whether a cluster may be combined with an adjacent cluster.
[0049] In some implementations, the DCBI 140 may generate the statistical distribution of a cluster as a function of data points within the cluster. For example, the DCBI 140 may advantageously conserve computation power compared to determining a statistical distribution of the entire dataset to generate the cluster boundaries. In various examples, the MODS 100 may advantageously be used in real-time applications.
[0050] In various implementations, a multi pass clustering method (e.g., the MODS 100) may use a first relatively small distance parameter to generate a plurality of first clusters (e.g., the SPACM 135), computes, for each of the plurality of first clusters, a cluster area based on a statistical boundary and a statistical center of each of the plurality of first clusters (e.g., by the DCBI 140), and combines one or more of the plurality of first clusters with overlapping cluster areas (e.g., by the CBM 145). For example, if both a static object and a dynamic object are detected within a matching distance threshold (e.g., 0.25 m), the dynamic object may be selected and the static object is discarded. For example, duplicated detections for slowly moving objects may be reduced. Forexample, the matching distance may be generated based on a statistical distribution of a dynamic object cluster of the dynamic object.
[0051] FIG. 2A and FIG. 2B are schematic diagrams showing one example of exemplary clustering outputs in various steps of the MODS. As shown in FIG. 2A, a point cloud 200 may, for example, be generated by the SPACM 135. For example, based on signal received from the receiver 110, the SPACM 135 may generate the point cloud 200 using a DBSCAN algorithm. For example, the SPACM 135 may apply the DBSCAN algorithm using a relatively small distance parameter. In some implementations, a small distance parameter may be determined based on specific targets in an application of the MODS 100.
[0052] For example, the relatively small distance parameter may include a distance parameter smaller than an expected gap between points received from a single object containing multiple reflecting surfaces. For example, the expected gap may be predetermined by an experimental process. For example, the experimental process may be coordinated based on application of the MODS 100. For example, the point cloud 200 may be generated using a dynamic object identification method.
[0053] As shown, the point cloud 200 includes three identified clusters 205 A-C of dynamic points. The point cloud 200 also includes noise 210. In this example, each of the identified clusters 205 A- C may include a center 215A-C, respectively. In some implementations, the centers 215A-C may be determined based on (multi-dimensional) average of the dynamic points within each of the clusters 205A-C. In some examples, the centers 215A-C may be determined as a median point of the dynamic points within each of the clusters 205A-C. In some examples, the centers 215A-C may be determined as a weighted average of the dynamic points within each of the clusters 205A- C.
[0054] As shown in FIG. 2B, the DCBI 140 may generate boundaries 220A-C for each of the clusters 205A-C, respectively. For example, the boundaries 220A-C may be determined as a distance from the centers 215A-C, respectively, where the distance is a multiple of a standard deviation of the dynamic points of each of the clusters 205 A-C, respectively.
[0055] As an illustrative example without limitation, suppose the cluster 205A includes N dynamic points (p_l , p_2, . . . , p_N), and the center 215A is the point c. For example, the distance between the boundary 220 A to the center 215 A may be given by: sigma = sqrt(sum((p_i-c)A2) / N)
[0056] For example, a point x within the point cloud 200 is within the boundary 220A when f(x) < lx - cl - K*sigma = 0, where K is a predetermined multiple (e.g., 4.5).
[0057] Based on the boundaries 220A-C, the CBM 145 may determine the overlapping boundaries of the clusters 205A-C. For example, the boundary associated with the function f(x) may beconsidered to have spaces defined by f(x) < 0. In this example, the boundaries of the clusters 205A- C are all overlapping. For example, if boundaries of 205 A-C are represented by f_A(x) = 0, f_B(x) = 0, and f_C(x) = 0 there may be spaces / point x_k that f_A(x_k) < 0, f_B(x_k) < 0, and f_C(x_k) < 0. In some implementations, the CBM 145 may combine the clusters 205 A-C. For example, the MCU 130 may identify the clusters 205 A-C as one object.
[0058] FIG.3 shows another example of exemplary clustering outputs in various steps of the MODS (e.g., the MODS 100 of FIG. 1). In this example, the SPACM 135 may determine two initial clusters 305 A-B in a point cloud 300. For example, the SPACM 135 may identify dynamic points of the initial clusters 305A-B and noise 310. Next, the DCBI 140 may generate boundaries 315A-B using the dynamic points of the initial clusters 3O5A-B, respectively. For example, the DCBI 140 may determine the centers 320A-B and a statistical distribution of the dynamic points of the initial clusters 3O5A-B. In some examples, the DCBI 140 may generate the boundaries 315 A-B based on a standard deviation of the initial clusters 305 A-B. In this example, because the boundaries 315A and 315B do not overlap, the CBM 145 may determine that the clusters 305A-B are distinct objects, in some embodiments.
[0059] FIG. 4 is a flowchart illustrating an exemplary multi-pass object detection method. For example, the MCU 130 may perform the method 400 to determine a number of objects detected within a field of view of the emitter 105. In this example, the method 400 begins when a reflection signal of a field of view is received in step 405. For example, the reflection signal may include signals reflected from a dynamic object. For example, the reflection signal may be received from a complex surface object.
[0060] Next, a point cloud is generated based on the reflection signal in step 410. For example, the SPACM 135 may generate the point cloud 200 using a range data, a velocity data, and an angular data determined based on the reflection signal 125 from the target object 120. In step 415, initial cluster(s) are determined in the point cloud using a predetermined distance parameter. For example, the SPACM 135 may determine the initial clusters 205 A-C using the DBSCAN algorithm using a relatively small distance parameter.
[0061] After the initial clusters are identified, in a decision point 420, it is determined whether more than one initial cluster is identified. If only one initial cluster is identified, the method 400 ends. If more than one initial cluster is identified, in step 425, a boundary is determined for each of the initial clusters. For example, the DCBI 140 may determine the boundary 220 A based on the position of the center 215 A and a standard deviation of positions of the dynamic points in the cluster 205A.
[0062] In a decision point 430, it is determined whether any two or more boundaries are overlapping. For example, the boundaries 220A-C are overlapping. If no boundary is overlapping,the method 400 ends. In step 435, if any boundaries are overlapping, the initial clusters with overlapping boundaries are combined, and the method 400 ends. For example, the CBM 145 may combine the clusters 205A-C because they all have overlapping boundaries. For example, the CBM 145 may not combine the initial clusters 305 A-B because their boundaries do not overlap.
[0063] FIG. 5 is a flowchart illustrating an exemplary MODS configuration method 500. For example, the method 500 may be performed during a calibration step of the MODS 100. In some examples, the exemplary MODS configuration method 500 may be performed in a factory during manufacturing of the MODS 100.
[0064] In this example, the method 500 begins in step 505 when a distance parameter is received for initial clustering. For example, the SPACM 135 may be configured to perform clustering operations (e.g., DBSCAN) based on the distance parameter. Next, a boundary multiplier is received in step 510. For example, the boundary multiplier may be a constant multiplier. In some implementations, the boundary multiplier may include a function definition. For example, the boundary multiplier may include one or more parameters of a polynomial function. For example, the polynomial function may be applied to one or more statistical distributions of a cluster to compute a boundary. In step 515, the distance parameter and the boundary multiplier is saved in a data store, and the method 500 ends. For example, in operation, the SPACM 135 may retrieve the distance parameter and the boundary multiplier from the data store.
[0065] FIG. 6A and FIG. 6B depicts an exemplary static and dynamic matching object detection system (SDMODS). As shown in FIG. 6A, a SDMODS 600 includes an FMCW radar 605 and the MCU 130. For example, the FMCW radar 605 may independently identify static (e.g., stationary and / or very slowly moving) objects and dynamic targets based on the reflection signal 125. For example, a slowly moving object may be an object having a speed less than 0.1 m / s. In some implementations, the FMCW radar 605 may generate a noise removed signal to the MCU 130. For example, the FMCW radar 605 may include an analog-to-digital circuit. For example, the FMCW radar 605 may include a digital signal processing circuit. For example, the FMCW radar 605 may include an analog signal processing circuit.
[0066] In this example, the MCU 130 detects dynamic objects 610 and static objects 615. For example, the dynamic objects 610 and the static objects 615 may include a speed and / or a position (e.g., within the field of view) of each of the identified objects.
[0067] The SDMODS 600 includes a static target suppression engine (STSE 620). In some implementations, the STSE 620 may identify duplicate objects detected in the list of identified dynamic objects 610 and the list of identified static objects 615. For example, the STSE 620 may compare the static objects 615 and the dynamic objects 610. For example, the STSE 620 may determine an overlap between tracked static and dynamic objects. For example, the STSE 620 mayselect some or all objects from the list of identified dynamic objects 610 and the list of identified static objects 615 to generate the Object Detection Result 625.
[0068] In some implementations, the STSE 620 may determine that an object is considered the same object if the object is identified and within a predetermined proximity (e.g., within 0.25m, 0.3m, 0.1m) in the list of identified dynamic objects 610 and the list of identified static objects 615. For example, if an object in the list of identified dynamic objects 610 and an object in the list of identified static objects 615 are considered the same, the STSE 620 may select the object in the list of identified dynamic objects 610 and remove the object from the list of identified static objects 615. In some implementations, the predetermined proximity may be extended to either two- or three-dimensional space in multi-dimensional measurement systems. Accordingly, the STSE 620 may advantageously present a list of all detected objects in the measurement range, without duplication for slowly moving objects.
[0069] In various embodiments, the STSE 620 may use statistical information to determine static and dynamic matching of object detection. For example, the SDMODS 600 may collect statistical information determined in a clustering algorithm (e.g., using various methods as described with reference to FIGS. 1-4) to dynamically adjust the predetermined proximity for static target suppression.
[0070] As an illustrative example, FIG. 6B shows an exemplary point cloud 630 having clusters of dynamic points. In some implementations, the clusters 635 may be processed by the MCU 130 to generate boundaries 640. For example, the boundaries 640 (e.g., as shown as circles in this example) may indicate a multiple of the standard deviation of corresponding identified clusters (e.g., the clusters 635). In some embodiments, the MCU 130 may use the boundaries 640 to compute a probability function. For example, the probability function may provide a probability that a given static point in the exemplary point cloud 630 may belong to an object characterized by any one of the clusters 635. For example, the probability function of a k-th cluster may be determined as a function of the M dynamic points of the k-th cluster.
[0071] For example, the STSE 620 may identify duplicate objects from the list of identified dynamic objects 610 and the list of identified static objects 615 based on the probability function. Accordingly, for example, the MCU 130 may advantageously enhance the MODS 100 to identify static objects near tightly clustered dynamic objects by dynamically adjusting the probability function based on the identified dynamic clusters, while reducing false multiple detections in the case of loosely grouped dynamic clusters.
[0072] FIG. 7 depicts an exemplary dynamic target measurement system (DTMS) employed in an illustrative use-case scenario. In this example, a control assistant system 700 is embedded in a vehicle 705. For example, the control assistant system 700 may be used to accurately measuredistances to objects in a predetermined proximity of the vehicle 705. For example, the control assistant system 700 may detect another vehicle (e.g., a vehicle 710A in this example). In some examples, the control assistant system 700 may be used to detect nearby vehicles, pedestrians 710B, and / or obstacles 710C around the vehicle 705. Various embodiments may advantageously determine a precise distance information of detected targets (e.g., objects) to assist in, as illustrative examples without limitations, collision avoidance and / or adaptive cruise control systems.
[0073] As shown, the vehicle 705 includes a dynamic object direction and ranging device (DODAR device 715). For example, the DODAR device 715 may identify moving objects (targets) near the vehicle 705. For example, the DODAR device 715 may simultaneously measure a velocity of detected objects, in addition to a range and angular position of the detected objects. In some examples, the velocity information may advantageously be used to predict potential collisions.
[0074] In this example, the DODAR device 715 includes a FMCW transmit and receive elements (FTRE 720). For example, the FTRE 720 may be configured to transmit a frequency modulated signal (e.g., Doppler chirps). For example, the DODAR device 715 may generate velocity information of a dynamic target based on a Doppler effect measured from reflected signals received from the dynamic target.
[0075] In various examples, the FTRE 720 may be configured to transmit various types of signals. For example, the FTRE 720 may be configured to transmit a radio signal. For example, the FTRE 720 may be configured to transmit a light signal. For example, the FTRE 720 may be configured to transmit a sound wave. For example, the FTRE 720 may be configured to transmit an electromagnetic wave.
[0076] The DODAR device 715 includes a DC-offset extractor 725 and a Doppler FFT processor 730. The Doppler FFT processor 730, for example, may generate a decluttered Doppler FFT 735 using processed (e.g., background removed) Doppler chirps from the DC-offset extractor 725. For example, the DC-offset extractor 725 may receive signals from the FTRE 720. In some implementations, the DC-offset extractor 725 may process the received signals from the FTRE 720 to be used by the Doppler FFT processor 730 to generate the decluttered Doppler FFT 735 of the processed signals.
[0077] In various implementations, the DODAR device 715 may be configured to identify moving (dynamic) targets in the presence of many stationary (static) objects within a field of view of the FTRE 720. For example, the DODAR device 715 may use the DC-offset extractor 725 to remove DC offset from each Doppler chirp received from the FTRE 720. For example, the DC-offset extractor 725 may remove the DC offset from the Doppler chirp prior to performing generating a Doppler FFT. In some examples, the process may be referred to as “static decluttering.” In someimplementations, the DC-offset extractor 725 may remove the DC offset to advantageously improve processing speed. For example, without the DC offset, the Doppler FFT processor 730 may process the Doppler chirp without a large number of static objects within the field of view. For example, the DC-offset extractor 725 may remove the DC offset to prevent increasing a detection threshold (e.g., if a dynamic threshold calculation method such as a Constant False Alarm Rate (CFAR) is used) caused by a presence of a static object. In various examples, a lower detection threshold may advantageously enhance detection of smaller dynamic objects.
[0078] The DODAR device 715 includes an object detection unit 740 to process the decluttered Doppler FFT 735 of the Doppler FFT processor 730. In some implementations, the object detection unit 740 may identify one or more peaks in the decluttered Doppler FFT 735. Once a peak in the decluttered Doppler FFT 735 has been identified, for example, the object detection unit 740 may generate velocity measurements of the peak by applying an interpolation technique to the decluttered Doppler FFT 735. In some embodiments, the object detection unit 740 may apply more than one interpolation techniques (e.g., polynomial interpolation, least-mean-square, radial basis function interpolation, spline interpolation) to advantageously improve the linearity and precision of the velocity measurement to obtain precise measurements in a Doppler FFT bin. Some examples of the decluttered Doppler FFT 735 are described with reference to FIG. 8.
[0079] In some implementations, the object detection unit 740 may be configured to detect a range, a direction, and / or a speed of a dynamic object. For example, the peak in the decluttered Doppler FFT 735 may indicate a direction (e.g., an angle of arrival) of the dynamic object. For example, the peak may indicate a range (e.g., a position with reference to the DODAR device 715) of the dynamic object. For example, the peak may indicate a speed of the dynamic object. In some examples, the Doppler FFT processor 730 may generate multiple of the decluttered Doppler FFT 735 to the object detection unit 740 to determine various measurements of the dynamic object.
[0080] In some examples, the object detection unit 740 may be configured to detect static objects and / or dynamic objects. For example, the object detection unit 740 may include the SDMODS 600 described in FIG. 6A to identify objects. For example, the object detection unit 740 may perform the multi-pass object detection method as described with reference to FIGS. 1-4.
[0081] As shown, the DODAR device 715 includes a memory module 750 and a slow target identifier (STI 755). The DC-offset extractor 725 and the STI 755 are both operably connected to the memory module 750 in this example. For example, the DC-offset extractor 725 may extract a cluttering data 760 from the Doppler chirp to be stored in the memory module 750.
[0082] In some implementations, the STI 755 may process the decluttered Doppler FFT 735 generated by the Doppler FFT processor 730. For example, the STI 755 may process the decluttered Doppler FFT 735 in low frequency Doppler FFT bins (e.g., first few Doppler bins) inthe decluttered Doppler FFT 735. For example, the STI 755 may process the decluttered Doppler FFT 735 using a peak detection technique. In some examples, the STI 755 may use a dynamic threshold technique to identify potential peaks in the decluttered Doppler FFT 735 (e.g., using a (dynamically determined) Constant False Alarm Rate).
[0083] In some implementations, if the STI 755 identified any peak in the first few Doppler bins, the STI 755 may retrieve the cluttering data 760 from the memory module 750. For example, the Doppler FFT processor 730 may receive the cluttering data 760. For example, the Doppler FFT processor 730 may add the cluttering data 760 back into the processed Doppler chirps. For example, the Doppler FFT processor 730 may use Doppler chirp with an addition of the cluttering data 760 to recompute a re-cluttered Doppler FFT 765 without removal of the DC offset.
[0084] The object detection unit 740, for example, may identify a new peak from the re-cluttered Doppler FFT 765. In some implementations, the object detection unit 740 may perform an interpolation on the velocity calculation using the new peak.
[0085] In some implementations, the object detection unit 740 may generate an object direction and ranging result at a communication interface 770. For example, the communication interface 770 may transmit the signal to a control system of the vehicle 705. As an illustrative example, without limitation, the control system may be embedded in a loading dock of the vehicle 705. For example, the loading dock may measure the vehicle 705 slowly approaching and generate guidance to avoid collisions with the loading dock or surround static or moving obstacles.
[0086] FIG. 8 depicts an exemplary re-cluttering Doppler FFT generation process using an exemplary slow target identifier (STI). In this example, a re-cluttering Doppler FFT generation process 800 may be performed by the STI 755 as described with reference to FIG. 7. The STI 755 may receive a decluttered Doppler FFT data 805. In this example, the STI 755 includes a peak detection module 810 and a CFAR generator 815. For example, the decluttered Doppler FFT data 805 may be configured to identify a peak and a bin number and frequency of a peak in the decluttered Doppler FFT data 805. For example, the peak detection module 810 may be configured to dynamically generate an amplitude threshold 820 in the decluttered Doppler FFT data 805. In some implementations, the STI 755 may use the amplitude threshold 820 to determine whether the re-cluttered Doppler FFT 765 is to be generated.
[0087] As an illustrative example without limitation, based on the decluttered Doppler FFT data 805, the peak detection module 810 may determine a decluttered peak 825 (e.g., at frequency = 0.981 in bin 1). For example, the peak detection module 810 may include a predetermined bin threshold 830. For example, the peak detection module 810 may determine that the re-cluttered Doppler FFT 765 is to be generated when the amplitude threshold 820 is less than or equal to the predetermined bin threshold 830. In some embodiments, the predetermined bin threshold 830 maybe a fixed number (e.g., 2, 3, 5). In some embodiments, the predetermined bin threshold 830 may be dynamically determined. For example, the predetermined bin threshold 830 may be determined based on the CFAR generated by the CFAR generator 815.
[0088] In some implementations, a size of a Doppler FFT bin may be determined as a function of a number of measurements in the Doppler chirps and a timing in between the measurements. For example, the object detection unit 740 may apply multiple interpolation techniques to determine the size based on the DC offset being re-added.
[0089] In this example, the peak detection module 810 also includes the amplitude threshold 820. For example, the peak detection module 810 may determine that the re-cluttered Doppler FFT 765 is to be generated if any bins less than the predetermined bin threshold 830 includes a magnitude (e.g., energy) higher than the amplitude threshold 820. For example, the CFAR generator 815 may generate the amplitude threshold 820 based on signals and noise received from the FTRE 720.
[0090] As shown, the distortion is removed. The expected linearity of the re-cluttering approach is shown in FIG. 9B. For example, the linearity may be restored to an original linearity measurement without performing static de-cluttering.
[0091] In this illustrative example, the STI 755 may determine that a re-cluttered Doppler FFT data 840 may be calculated. For example, the STI 755 may determine to generate the re-cluttered Doppler FFT data 840 because a location of the decluttered peak 825 is in a bin less than the predetermined bin threshold 830. For example, the STI 755 may determine to generate the recluttered Doppler FFT data 840 because there are magnitudes in the decluttered Doppler FFT data 805 exceeding the amplitude threshold 820 within the predetermined bin threshold 830.
[0092] In this example, the object detection unit 740 may identify a re-cluttered peak 845 (e.g., at frequency = 0.338 at bin 0) different from the decluttered peak 825. For example, the re-cluttered peak 845 may be represented in the decluttered Doppler FFT data 805 as a point 850 with a magnitude less than the decluttered peak 825 due to error introduced by removing background noise from the data received from the FTRE 720. Accordingly, for example, the STI 755 may advantageously reduce error and enhance position and velocity measurement of slowly moving objects.
[0093] FIG. 9 A and FIG. 9B depict exemplary error curves of the DTMS before and after recluttering. As shown in FIG. 9A, an error curve 900 of a Doppler FFT with clutter removed data (e.g., after signals processed by the DC-offset extractor 725) shows a relatively high error rate at low input frequencies 905. For example, the error curve 900 may be generated to measure a linearity of the Doppler FFT after interpolation is applied (e.g., by the object detection unit 740 as described with reference to FIG. 7). For example, the low input frequencies 905 may correspond to lower bin numbers. For example, the removal of the DC component of received signals mayintroduce a significant distortion in the decluttered Doppler FFT 735. For example, the distortion may be generated by removing signals in the O-Velocity FFT bin. For example, when there is any slow moving object in the field of view, the clutter removal may induce a distortion on the measurement linearity. In some examples, for targets with sufficient speed, the effect on velocity linearity is mitigated because the O-Doppler FFT bin is not near the interpolated peak representing the moving speed.
[0094] FIG. 9B shows an exemplary error curve 910 of a Doppler FFT with clutter data re-added. For example, the clutter data may be re-added by the STI 755 using the cluttering data 760 stored in the memory module 750. As shown, a linearity of the error curve appears to be a sine wave along varying frequency. For example, the sine wave may be a target response of error after interpolation is applied to a Doppler FFT. In this example, the error oscillates between + / -0.06. For example, the error shown in the exemplary error curve 910 is smaller than the error shown in the error curve 900 among the low input frequencies 905 (e.g., > 0.2). For example, in the recluttered Doppler FFT data 840, a distortion indicated by the point 850 is removed. For example, a linearity may be restored to an original linearity measurement without performing static decluttering as shown in FIG. 9B.
[0095] FIG. 10 is a flowchart illustrating an exemplary moving object detection method. For example, the method 1000 may be performed by the DODAR device 715 as described with reference to FIG. 7. In this example, the method 1000 begins when measurement signals are received from a direction and ranging measurement device in step 1005. For example, the measurement signals may include doppler measurements. For example, the measurement signals may be received from a FMCW radar. For example, the radar may be a FMCW radar. In some examples, the Doppler measurements may be received from other directions and ranging devices that emit signals. In step 1010, a first component of the measurement signals may be generated. For example, a first component may include a DC offset (e.g., static clutter) of the Doppler measurements. For example, the DC offset may be extracted from the Doppler measurements. For example, the DC -offset extractor 725 may identify background signals from the Doppler measurements.
[0096] Next, the first component is saved to a data store in step 1015. For example, the cluttering data 760 is saved to the memory module 750. After the first component is saved, in step 1020, a second component of the measurement signal is generated by removing the first component from the measurement signals. For example, the second component may include the measurement signals having static clutter removed. For example, the DC-offset extractor 725 may remove the static clutter from signals received from the FTRE 720. In step 1025, a first FFT representation (e.g., a Doppler FFT) is generated from the second component of the measurement signals (e.g.,the static clutter removed Doppler measurements). For example, the Doppler FFT processor 730 may generate a Doppler FFT using the DC-removed signals.
[0097] Next, a bin threshold (B) is determined in step 1030. For example, the predetermined bin threshold 830 may be retrieved from the memory module 750. In some implementations, the bin threshold may be determined by the CFAR generator 815 based on the Doppler measurements.
[0098] In step 1035, a magnitude threshold (M) is determined. For example, the STI 755 may dynamically determine the magnitude threshold using the CFAR generator 815. For example, the magnitude threshold may be a fixed number stored in the memory module 750.
[0099] In a decision point 1040, it is determined whether, in the generated Doppler FFT, any bin M. If there is no bin M, in step 1045, interpolation is performed to the first FFT representation to identify fast dynamic targets, and the method 1000 ends.
[0100] If any of the bin M (e.g., or if there is any peak identified in bin < B), the first component of the measurement signal is retrieved from the data store in step 1050. For example, the cluttering data 760 may be retrieved from the memory module 750. Next, an aggregated measurement signal is generated by adding the first and the second components of the measurement signals. For example, the Doppler FFT processor 730 may restore Doppler measurements by adding the static clutter back to the clutter removed Doppler measurements in step 1055. A second FFT representation (e.g., a Doppler FFT) is generated from the aggregated measurement signal in step 1060. For example, the re-cluttered Doppler FFT 765 may be generated using the restored Doppler measurements. In step 1065, interpolation is performed to the second FFT representation to identify the slow dynamic target, and the method 1000 ends. For example, the object detection unit 740 may identify a slowly approaching vehicle using the re-cluttered Doppler FFT 765.
[0101] FIG. 11 depicts an exemplary Angle of Arrival Measurement Unit employed in an illustrative use-case scenario. In this example, a target precision measurement system (TPMS 1100) includes a wave direction and range measurement device (WAD AR 1105) and a precision measurement unit (PMU 1110). For example, the TPMS 1100 may include an object detection system. For example, the WAD AR 1105 may include a phased array antenna system and ranging device. For example, the TPMS 1100 may use the WAD AR 1105 to generate an angle of arrival measurement of a detected object. As shown, the WAD AR 1105 may be detecting a target object 1115. For example, the TPMS 1100 may include a time-of-flight (ToF) system. For example, the WAD AR 1105 may include a frequency modulated continuous wave (FMCW) radar. For example, the ToF system may be configured to measure an angle and a range of the target object 1115 with respect to the WAD AR 1105.101021 In some implementations, the PMU 1110 may receive measurement signals from the WAD AR 1105. For example, the WADAR 1105 may transmit the measurement signals to the PMU 1110 via a communication cable. In some examples, the WADAR 1105 and the PMU 1110 may be connected wirelessly. For example, the WADAR 1105 may transmit the measurement signals to the PMU 1110 via a wireless network. For example, the measurement signals may include whether the target object 1115 exists within a field of view (FOV) of the WADAR 1105. For example, the measurement signals may include a distance (e.g., range) of the target object 1115 from the WADAR 1105. For example, the measurement signals may include an angular position of the target object 1115 from the WADAR 1105. For example, the measurement signals may include a detection of whether the target object 1 115 is a dynamic (e.g., moving) object or a static (e.g., stationary) object. For example, the measurement signals may include a speed and an angle of arrival of the target object 1115 if it is determined to be a dynamic object.
[0103] In this example, the WADAR 1105 includes a transmit element 1120 and N receiving elements 1125 (e.g., N > 1). For example, the transmit element 1120 may transmit a signal 1130 to the target object 11 15. Based on a reflection of the signal 1 1 0 received at the receiving elements 1125, the TPMS 1100 may determine an angular position and / or an angle of arrival of the target object 1115. For example, the TPMS 1100 may determine the angular position and / or the angle of arrival of the target object 1115 as a function of phase differences of the reflection of the signal 1130 received at some or all of the receiving elements 1125.
[0104] The WADAR 1105, in some implementations, may include a frequency modulated continuous wave (FMCW) radar. For example, the signal 1130 may include a sinusoidal wave of electro-magnetic radiation. For example, the WADAR 1105 may measure an arrival time of a wave reflected from the target object 1115 to determine a distance of the target object 1115. For example, the WADAR 1105 may measure a change of frequency of a reflected wave from the target object 1115.
[0105] By using more than one receiving element 1125, for example, the PMU 1110 may compute differences in the arrival times of a reflection of the signal 1130 between each of the receiving elements 1125 to determine the direction of the target object 1115. For example, the PMU 1110 may compute differences in the arrival times of a reflection of the signal 1130 between each of the receiving elements 1125 using a corresponding phase of each received measurement from the receiving elements 1125. In various implementations, the WADAR 1105 may include more than one transmit element 1120. For example, the PMU 1110 may be configured to determine the direction of the target object 1115 based on reflections of multiple transmitted signals (e.g., multiple of the signal 1130 transmitted from more than one of the transmit element 1120) frommultiple transition elements. In some implementations, the PMU 1110 may be configured to determine the direction using a combination of multiple transmit and multiple receive elements.
[0106] As shown, the PMU 1110 includes an angle of arrival module (AO AM 1135) and a data store 1140. For example, the AO AM 1135 may include a storage module. The storage module may, for example, include one or more storage modules (e.g., non-volatile memory). The AO AM 1135 includes a fast spectral energy computation module (FSECM 1145) and a detailed spectral energy computation module (DSECM 1150). The PMU 1110, as shown, includes a processor 1142. The processor 1142 may, for example, include one or more processors. The processor 1142 is operably coupled to the AO AM 1135 and the data store 1140.
[0107] As an illustrative example, the signal 1130 returned from the target object 1115 may be received by the receiving elements 1125. For example, the signal 1130 may include radio frequency (RF) signals. In some embodiments, the processor 1142 may first convert the received signal 1155 to baseband signals. For example, the 142 may digitize the received signal 1155 for object detection, range, angular of arrival measurement, or a combination thereof. For example, the processor 1 142 may include a digital signal processor (DSP) and / or one or more microprocessors.
[0108] In some implementations, the FSECM 1145 and the DSECM 1150 may be configured to compute an arrival angle of a measured object (e.g., the target object 1115). For example, the FSECM 1145 and the DSECM 1150 may include distinct computation methods for determining the arrival angle. For example, the computation methods may include frequency based algorithms (e.g., Fast Fourier Transform (FFT), Discrete Fourier Transform (DFT)). For example, the computation methods may include digital beamformer approaches (e.g., Bartlett beamformer, delay-and-sum beamformer, adaptive beamformer, Capon beamformer). For example, the computation methods may include sub-space based approaches (e.g., Multiple Signal Classification (MUSIC) methods).
[0109] In various implementations, the FSECM 1145 and the DSECM 1150 may include different performance characteristics (e.g., in computational cost, in precision of the angular calculation, in resistance to false detection, in minimum detectable separation of multiple objects). In some implementations, compared to the DSECM 1150, the FSECM 1145 may include a rougher performance in precision, in resistance to false detection, and in minimum detectable separation of multiple objects. In some implementations, the FSECM 1145 may include a lower requirement for computation cost than the DSECM 1150. For example, the DSECM 1150 may be more computationally intensive than the FSECM 1145.
[0110] In this example, the PMU 1110 stores a received signal 1155 from the WAD AR 1105 in the data store 1140. Based on the received signal 1155, the FSECM 1145 generates a first heatmap1160 for each distance range. Exemplary heatmap generated by the FSECM 1145 are described with reference to FIGS. A-C.
[0111] For example, the DSECM 1150 may use a higher performance, but more computationally expensive method to determine precise location of the target object 1115. As shown, the AOAM 1135 also includes a range selector 1165. For example, the range selector 1165 may be advantageously used for reducing the computation costs of the DSECM 1 150.
[0112] In some implementations, the DSECM 1150 may be configured to process only a region of interest (ROI 1195) of the received signal 1155. For example, the ROI 1195 may be selected by the range selector 1165. In some implementations, the range selector 1165 may select the ROI 1195 based on an amplitude threshold 1170. For example, the range selector 1165 may apply, for each distance range, the amplitude threshold 1170 to the first heatmap 1160 to generate the ROI 1195. For example, the DSECM 1150 may process the ROI 1195 of the received signal 1155 to generate a second heatmap 1175.
[0113] As an illustrative example without limitation, the AOAM 1135 may process the received signal 1155 in multiple stages. In a first stage, the FSECM 1145 may generate a low resolution angular heatmap (e.g., the first heatmap 1160) of spectral energy received for each distance and angle combinations. For example, the AOAM 1135 may determine that a region in the first heatmap 1160 above the amplitude threshold 1170 is considered a potential object location. In various examples, the amplitude threshold 1170 may include a predetermined (e.g., fixed) amplitude threshold (PAT 1180), a dynamically determined threshold (DDT 1185), or a combination thereof. For example, the DDT 1185 may be determined using a dynamic approach (e.g., by determining a Constant False Alarm Rate (CFAR) threshold).
[0114] In some implementations, the range selector 1165 may compare values from (e.g., an entire field of view of) the first heatmap 1160 against the amplitude threshold 1170 to determine the ROI 1195. For example, the range selector 1165 may apply the amplitude threshold 1170 to dynamically determine a size of the ROI 1195 for a high-resolution search around an identified peak from the first heatmap 1160. For example, the range selector 1165 may dynamically generate the DDT 1185 as a function of signals information at each frequency bin of the first heatmap 1160 and also frequency bins adjacent to the frequency bin. In some implementations, the range selector 1165 may apply a full 2-dimensional CFAR to the first heatmap 1160 to generate the DDT 1185.
[0115] In a second stage, for example, the DSECM 1150 may be configured to determine a precise object location by processing the ROI 1195. In this example, the AOAM 1135 also includes a false detection mitigation module (FDMM 1190). For example, the FDMM 1190 may use the second heatmap 1175 and the first heatmap 1160 to search for objects that do not meet the required minimum separation for a low-resolution algorithm of the FSECM 1145.|0116| In some embodiments, the FDMM 1190 may require a positive detection of the target object 1115 to be generated only when it is detected in both the first heatmap 1160 and the second heatmap 1175. In some examples, the FDMM 1190 may advantageously eliminate false detection cases in any one of the FSECM 1145 and the DSECM 1150 by combining results from both. Accordingly, for example, the ROI 1195 may advantageously allow a more aggressive object detection threshold (e.g., a lower value for the PAT 1180 or a parameter to generate the DDT 1185 with lower values) without increasing a false object detection rate.
[0117] In various implementations, using the FSECM 1145 in the first stage to first identify potential object(s), the AOAM 1135 may advantageously reduce a number of high computation costs calculations. For example, the DSECM 1150 may be configured to perform more computationally expensive methods to determine a higher precision peak at only the ROI 1195 that is selected to have a potential object identified (e.g., by the range selector 1165). In various examples, the reduction in the number of high computation costs calculations may advantageously reduce processing time and allow a faster measurement rate to be achieved.
[0118] In some examples, the TPMS 1100 may be embedded in a moving system (e.g., a vehicle, a conveyor belt, a crate being transported by a forklift). For example, a moving system controller may use the TPMS 1100 to advantageously generate a faster response based on the fast but high resolution measurement rate generated by the PMU 1110.
[0119] In some implementations, a moving target measurement system (e.g., the AOAM 1135) may be configured to generate, sequentially, N spectral energy heatmaps (e.g., the first heatmap 1160 and the second heatmap 1175) using N independent detection algorithms (e.g., using the FSECM 1145 and the DSECM 1150). For example, each spectral energy heatmap may be generated based on raw sensor data (e.g., received from the receiving elements 1125) independent of values of other spectral energy heatmaps. For example, values of each spectral energy heatmap may be generated based on the raw sensor data independent of values of other spectral energy heatmaps. For example, the moving target measurement system may validate the target (e.g., using the FDMM 1190) when a target is identified in at least two of N spectral energy heatmaps.
[0120] In some examples, an (i-l)-th detection algorithm may be less computationally expensive than an i-th detection algorithm. For example, the i-th detection algorithm may be applied to generate a spectral energy heatmap in regions of interest (e.g., the ROI 1195) identified based on an amplitude threshold (fixed or dynamically determined). For example, the raw sensor data may include multiple data streams (e.g., from the receiving elements 1125). For example, each received an independent physical antenna. For example, at least two subsets of the multiple data streams are used to generate the N spectral energy heatmaps, such that location of false detections can be adjusted at each stage of the calculation.10121 1 FIG. 12A and FIG. 12B depict exemplary heatmaps for a single target having a region of interest dynamically selected in a first heatmap to generate a second heatmap. In this example, a low resolution heatmap 1200 (e.g., the first heatmap 1160) is shown in FIG. 12 A. For example, the FSECM 1145 may generate the low resolution heatmap 1200 using a fast computation method (e.g., FFT, DFT).
[0122] The range selector 1165 may process the low resolution heatmap 1200 by generating a dynamic CFAR threshold 1205 (e.g., the DDT 1185) to the low resolution heatmap 1200. As shown, the range selector 1165 may identify a ROI 1210 based on a region in the low resolution heatmap 1200 having an amplitude above the dynamic CFAR threshold 1205.
[0123] In this example, a high resolution heat map 1215 is generated. After the ROI 1210 is identified, for example, the DSECM 1150 may generate the high resolution heat map 1215 by processing the ROI 1210 using a higher precision method (e.g., Capon, MUSIC). As shown, the high resolution heat map 1215 may include a narrower peak 1220 and compared to a peak 1225 in the low resolution heatmap 1200. For example, the narrower peak 1220 may advantageously enhance minimum object separation (e.g., nearby objects are less likely to contain overlapping peaks in the high resolution heat map 1215). Also, using the ROI 1210, the high resolution heat map 1215 may include a reduced number of shearing vectors 1230. For example, the shearing vectors 1230 may include peaks besides the peak 1225. For example, reducing shearing vectors may advantageously reduce false object detection.
[0124] FIG. 12B shows a decibel scale heatmap 1260 of the low resolution heatmap 1200. In some embodiments, the ROI 1210 may be selected after the 205 is applied to the decibel scale heatmap 1260. As shown, the reduced number of shearing vectors 1230, in some examples, may be filtered out before being processed by the DSECM 1150. Accordingly, for example, a selection of the ROI 1210 may advantageously reduce false object detection.
[0125] FIG. 12C and FIG. 12D depict exemplary heatmaps for multiple targets within a dynamically selected region of interest. As shown in FIG. 12C, a low resolution heatmap 1235 may be generated by the FSECM 1145. As an illustrative example, the low resolution heatmap 1235 may be a result from a FOV having two targets with different signal strengths present at + / - 12 degrees. In some examples, separate targets placed close to each other (e.g., within 25 degrees, within 20 degrees, within 15 degrees) may result in a widened peak in the low resolution heatmap 1235 as shown in a green plot 1240.
[0126] In this example, the low resolution heatmap 1235 includes a dynamically selected ROI 1245. For example, the dynamically selected ROI 1245 may be determined based on signals in the received signal 1155. For example, the dynamically selected ROI 1245 may vary from measurement to measurement (e.g., at + / - 10 degrees, at + / - 12.5 degrees, + / - 15 degrees, at + / - 20degrees). Based on the dynamically selected ROI 1245, the DSECM 1150 may generate the high resolution heatmap 1250 as shown in FIG. 12D. Here, the high resolution heatmap 1250 shows two peaks 1255A, 1255B. In some examples, with a fixed width of a selection range, a high resolution algorithm may identify only the object with higher amplitude. For example, the dynamically selected ROI 1245 may advantageously improve a minimum detectable separation of multiple objects of the PMU 1110.
[0127] FIG. 13 is a flowchart illustrating an exemplary dynamic target detection method 1300. For example, the dynamic target detection method 1300 may be performed by the PMU 1110 to determine a precision measurement (e.g., range, angular position, speed, angle of arrival) of one or more of the target object 1115. The dynamic target detection method 1300 in step 1305 when a first spectral energy representation of a first set of object detection signals is generated based on a first computation method in this example. For example, the PMU 1110 may receive the received signal 1155 from the WAD AR 1105. For example, the AOAM 1135 may use the received signal 1155 to generate the first heatmap 1160 using the FSECM 1145.
[0128] In step 1310, an amplitude threshold is retrieved. For example, the amplitude threshold 1170 may be retrieved by the range selector 1165. Next, the amplitude threshold is applied to the first spectral energy representation in step 1315. For example, the range selector 1165 may apply the amplitude threshold 1170 to the first heatmap 1160. In some examples, the amplitude threshold 1170 may include a fixed predetermined threshold (e.g., the PAT 1180). In some examples, the amplitude threshold 1170 may include a dynamically determined threshold (e.g., the DDT 1185). In some examples, the amplitude threshold 1170 may be a linear combination of a fixed threshold and a dynamic threshold.
[0129] In a decision point 1320, it is determined whether any region within the first spectral energy representation includes an amplitude larger than the amplitude threshold. For example, the range selector 1165 may apply the dynamic CFAR threshold 1205 to the low resolution heatmap 1200. For example, the range selector 1165 may determine that the ROI 1210 (e.g., including the peak 1225) may include an amplitude higher than the dynamic CFAR threshold 1205. If there is no region within the first spectral energy representation with an amplitude larger than the amplitude threshold, the dynamic target detection method 1300 ends.
[0130] If there is any region within the first spectral energy representation with an amplitude larger than the amplitude threshold, in step 1325, a region of interest is determined with the first spectral energy representation. For example, the range selector 1165 may determine the ROI 1210 from the low resolution heatmap 1200. In some examples, the region of interest may be disjoint regions within the first spectral energy representation. For example, there may be multiple objects within the FOV of the WAD AR 1105. As a result, for example, the first heatmap 1160 may appear to havemultiple peaks. For example, the ROI 1195 may include ranges including these areas with multiple peaks.
[0131] In step 1330, a second spectral energy representation of a second set of object detection signals is generated based on a second computation method. For example, the DSECM 1150 may generate the amplitude threshold 1170 using a subset of the received signal 1155. For example, the subset of the received signal 1155 may be determined by the ROI 1195 of the received signal 1155. Next, in step 1335 an object detection measurement is generated based on the second spectral energy representation and the dynamic target detection method 1300 ends. For example, the object detection measurement may be generated based on the second heatmap 1175. For example, the object detection measurement may include an object detection result indicating a relative position of objects within the FOV of the WADAR 1105. For example, the object detection result may include an Ao A of each of the detected object(s).
[0132] In some implementations, the PMU 1110 may vary a number of effective antennas used in the step 1305 and the step 1330 to reduce detection error caused by the first and the second computation methods. For example, in some false-detection cases, a location of false object detections may be a function of a number of antennas (e.g., the effective antennas) used for processing in a computation process. For instance, if 8 antennas are used for the processing, then false detections may, as an illustrative example, occur at multiples of 180 degrees / 8 antennas = 22.5 degrees. In some examples, by choosing to only process data from a subset of the antennas available in different stages, the location of these false detections may be adjusted. For instance, if data from only 7 antennas are processed in the step 1330, false detections in the second computation method may occur at multiples of 180 degrees / 7 antennas = 25.7 degrees. Accordingly, in some embodiments, the PMU 1110 may use a different number of effective antennas in each stage (1st, 2nd, ..., N-th stage, where N >=2) to advantageously reduce false detections at the same location. For example, by varying the effective antennas in different stages, the PMU 1110 may advantageously allow for more aggressive object detection thresholds without increasing the probability of false object detection.
[0133] FIG. 14 is a flowchart illustrating an exemplary AOAM configuration method 1400. For example, the PMU 1110 may be configured using the AOAM configuration method 1400 during a manufacturing process. In some examples, a user may configure the PMU 1110 using the AOAM configuration method 1400. In this example, the exemplary AOAM configuration method 1400 begins when a first spectral energy computation method is selected in step 1405. For example, the FSECM 1145 may be selected. Next, a second spectral energy computation method is selected in step 1410. For example, the DSECM 1150 may be selected. In some embodiments, the second spectral energy computation method may require a higher computation power than the first spectralenergy computation method. In some embodiments, the second spectral energy computation method may produce a higher precision result than the first spectral energy computation method.
[0134] In step 1415, a predetermined amplitude threshold is selected. For example, the amplitude threshold 1170 may be selected. For example, the predetermined amplitude threshold may include a fixed threshold. For example, the fixed threshold may be determined based on experimental data. For example, the fixed threshold may be determined based on heuristic data. In a decision point 1420, it is determined whether a dynamic amplitude threshold is to be included. If it is determined that no dynamic amplitude threshold is to be included, a selected amplitude threshold is set to be the predetermined amplitude threshold in step 1425. After the selected amplitude threshold is set, in step 1430, the first and the second spectral energy computation method and the selected amplitude threshold are saved to a data store, and the AOAM configuration method 1400 ends. For example, the FSECM 1145 and the DSECM 1150 may be stored in the AOAM 1135. For example, the amplitude threshold 1170 may be stored in the data store 1140.
[0135] If, in the decision point 1420, a dynamic amplitude threshold is to be included, in step 1435, a computation method for determining the dynamic amplitude threshold is selected. For example, the PMU 1110 may determine the DDT 1185 based on a noise level of the received signal 1155. For example, the PMU 1110 may use a multi-dimensional CFAR technique to determine the DDT 1185. In step 1440, an amplitude threshold is set to be a combination of the predetermined amplitude threshold and the dynamic amplitude threshold, and the step 1430 is performed For example, the first and the second spectral energy computation methods and the selected amplitude threshold may be saved to the data store. In some examples, the selected amplitude threshold may depend on a dynamic component only. For example, in that case, the predetermined amplitude threshold may be set to 0.
[0136] FIG. 15 is a block diagram depicting an exemplary target object detection system (TODS 1500). The TODS 1500 includes a processor 1505. The processor 1505 may, for example, include one or more processing units. The processor 1505 is operably coupled to a communication module 1510. The communication module 1510 may, for example, include wired communication. The communication module 1510 may, for example, include wireless communication. For example, the communication module 1510 may include the communication interface 770. In the depicted example, the communication module 1510 is operably coupled to a radar 1515. For example, the radar 1515 may include the emitter 105 and the receiver 110. For example, the radar 1515 may include the FTRE 720. For example, the radar 1515 may include the WAD AR 1105.
[0137] The processor 1505 is operably coupled to a memory module 1520. The memory module 1520 may, for example, include one or more memory modules (e.g., random-access memory (RAM)). The processor 1505 includes a storage module 1525. The storage module 1525 may, forexample, include one or more storage modules (e.g., non-volatile memory). In the depicted example, the storage module 1525 includes an object clusters combination engine (OCCE 1530), a slow dynamic target measurement engine (SDTME 1535), and a target AOA determination engine (TADE 1540). The processor 1505 is further operably coupled to a data store 1545. The data store 1545 includes a statistical boundary rules 1550, a signal DC components 1555, a fast spectral energy computation rules 1560, and a detailed spectral energy computation rules 1565.
[0138] For example, the OCCE 1530 may apply a statistical distribution (e.g., the statistical boundary rules 1550) to signal clusters to determine cluster boundaries. For example, the OCCE 1530 may perform one or more of the methods described with reference to FIGS. 1-6B.
[0139] For example, the SDTME 1535 may be configured to, upon identifying a slow dynamic target, reapply the signal DC components 1555 received from signal received from the radar 1515 to obtain a more precise measurement of the target. For example, the SDTME 1535 may perform one or more of the methods described with reference to FIGS. 7-10.
[0140] For example, the TADE 1540 may apply first the fast spectral energy computation rules 1560 to generate a first heatmap. For example, the TADE 1540 may generate, at identified area of interest, a second heatmap using the detailed spectral energy computation rules 1565. For example, the TADE 1540 may perform one or more of the methods described with reference to FIGS. 11- 14.
[0141] Although various embodiments have been described with reference to the figures, other embodiments are possible. In various embodiments, the SPACM 135 may dynamically determine a number of clusters in the point of view. For example, the SPACM 135 may identify a cluster based on whether an intensity of one or more reflection signals is above a predetermined threshold.
[0142] In some embodiments, a boundary of a cluster may include other shapes. For example, the boundary may be a rectangular box. In some examples, the boundary may include an elliptical shape. In some implementations, the boundary may be a triangular shape. In some implementations, the boundary may include a cylindrical shape. For example, when identifying the boundaries (e.g., the boundaries 220A-C), the statistical distribution function of each identified cluster may be determined using a single 2-dimensional distribution function (e.g., in a circular shape in a 2-dimensional point cloud, a sphere in a 3 -dimensional point cloud). In some examples, the statistical distribution function may include a distribution function computed separately (e.g., independently) in each dimension (e.g., a rectangular or other arbitrary distribution shape).
[0143] In some implementations, the PMU 1110 may process the received signal 1155 in three or more stages. For example, after generating the second heatmap 1175, the PMU 1110 may select another ROI within the second heatmap 1175 to be processed by other processing methods. For example, the PMU 1110 with more stages may advantageously further reduce false detection rate.101441 Although an exemplary system has been described with reference to the figures, other implementations may be deployed in other industrial, scientific, medical, commercial, and / or residential applications.
[0145] In some embodiments, the TPMS 1100 may be used in a loading dock. For example, the loading dock may detect objects in an environment. For example, based on the detected object’s measurement, the loading dock may determine whether it is available for loading.
[0146] In some embodiments, a Car park may use the TPMS 1100 to determine an availability of the parking spaces. For example, because the TPMS 1100 may have small minimum detectable separation of multiple objects, a single TPMS 1100 may be used to monitor multiple parking spaces.
[0147] In some embodiments, the TPMS 1 100 may advantageously be used in a counting application (e.g., a filling machine). For example, the TPMS 1100 may be used to monitor a crate and count a number of items being placed in the crate.
[0148] In some embodiments, the TPMS 1100 may be used in a conveyor belt system. For example, the TPMS 1100 may be used to detect moving speed and angle of objects on the conveyor belt system. For example, the TPMS 1100 may advantageously be used in detecting jamming in the conveyor belt system.
[0149] In various examples, the MODS 100, the DODAR device 715, and the PMU 1110 may be implemented in any combination within a system. For example, the DODAR device 715 may include the MODS 100 to improve object identification accuracy by using the MCU 130. For example, the DODAR device 715 may be connected to the PMU 1110 to provide recluttered data for generating a more precise measurement of a slow moving object. In some examples, the 1MODS 100 may be embodied with the MODS 100 in a same vehicle control system to advantageously improve dynamic target measurement to enhance, for example, automatic driving capabilities.
[0150] In various embodiments, some bypass circuits implementations may be controlled in response to signals from analog or digital components, which may be discrete, integrated, or a combination of each. Some embodiments may include programmed, programmable devices, or some combination thereof (e.g., PLAs, PLDs, ASICs, microcontroller, microprocessor), and may include one or more data stores (e.g., cell, register, block, page) that provide single or multi-level digital data storage capability, and which may be volatile, non-volatile, or some combination thereof. Some control functions may be implemented in hardware, software, firmware, or a combination of any of them.
[0151] Computer program products may contain a set of instructions that, when executed by a processor device, cause the processor to perform prescribed functions. These functions may beT1performed in conjunction with controlled devices in operable communication with the processor. Computer program products, which may include software, may be stored in a data store tangibly embedded on a storage medium, such as an electronic, magnetic, or rotating storage device, and may be fixed or removable (e.g., hard disk, floppy disk, thumb drive, CD, DVD).
[0152] Although an example of a system, which may be portable, has been described with reference to the above figures, other implementations may be deployed in other processing applications, such as desktop and networked environments.
[0153] Temporary auxiliary energy inputs may be received, for example, from chargeable or single use batteries, which may enable use in portable or remote applications. Some embodiments may operate with other DC voltage sources, such as (nominal) batteries, for example. Alternating current (AC) inputs, which may be provided, for example from a 50 / 60 Hz power port, or from a portable electric generator, may be received via a rectifier and appropriate scaling. Provision for AC (e.g., sine wave, square wave, triangular wave) inputs may include a line frequency transformer to provide voltage step-up, voltage step-down, and / or isolation.
[0154] Although particular features of an architecture have been described, other features may be incorporated to improve performance. For example, caching (e.g., LI, L2, . . .) techniques may be used. Random access memory may be included, for example, to provide scratch pad memory and or to load executable code or parameter information stored for use during runtime operations. Other hardware and software may be provided to perform operations, such as network or other communications using one or more protocols, wireless (e.g., infrared) communications, stored operational energy and power supplies (e.g., batteries), switching and / or linear power supply circuits, software maintenance (e.g., self-test, upgrades), and the like. One or more communication interfaces may be provided in support of data storage and related operations.
[0155] Some systems may be implemented as a computer system that can be used with various implementations. For example, various implementations may include digital circuitry, analog circuitry, computer hardware, firmware, software, or combinations thereof. Apparatus can be implemented in a computer program product tangibly embodied in an information carrier, e.g., in a machine-readable storage device, for execution by a programmable processor; and methods can be performed by a programmable processor executing a program of instructions to perform functions of various embodiments by operating on input data and generating an output. Various embodiments can be implemented advantageously in one or more computer programs that are executable on a programmable system including at least one programmable processor coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system, at least one input device, and / or at least one output device. A computer program is a set of instructions that can be used, directly or indirectly, in a computer to perform a certain activity orbring about a certain result. A computer program can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.
[0156] Suitable processors for the execution of a program of instructions include, by way of example, both general and special purpose microprocessors, which may include a single processor or one of multiple processors of any kind of computer. Generally, a processor will receive instructions and data from a read-only memory or a random-access memory or both. The essential elements of a computer are a processor for executing instructions and one or more memories for storing instructions and data. Generally, a computer will also include, or be operatively coupled to communicate with, one or more mass storage devices for storing data files; such devices include magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and optical disks. Storage devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory, including, by way of example, semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor and the memory can be supplemented by, or incorporated in, ASICs (applicationspecific integrated circuits).
[0157] In some implementations, each system may be programmed with the same or similar information and / or initialized with substantially identical information stored in volatile and / or nonvolatile memory. For example, one data interface may be configured to perform auto configuration, auto download, and / or auto update functions when coupled to an appropriate host device, such as a desktop computer or a server.
[0158] In some implementations, one or more user-interface features may be custom configured to perform specific functions. Various embodiments may be implemented in a computer system that includes a graphical user interface and / or an Internet browser. To provide for interaction with a user, some implementations may be implemented on a computer having a display device. The display device may, for example, include an LED (light-emitting diode) display. In some implementations, a display device may, for example, include a CRT (cathode ray tube). In some implementations, a display device may include, for example, an LCD (liquid crystal display). A display device (e.g., monitor) may, for example, be used for displaying information to the user. Some implementations may, for example, include a keyboard and / or pointing device (e.g., mouse, trackpad, trackball, joystick), such as by which the user can provide input to the computer.
[0159] In various implementations, the system may communicate using suitable communication methods, equipment, and techniques. For example, the system may communicate with compatibledevices (e.g., devices capable of transferring data to and / or from the system) using point-to-point communication in which a message is transported directly from the source to the receiver over a dedicated physical link (e.g., fiber optic link, point-to-point wiring, daisy-chain). The components of the system may exchange information by any form or medium of analog or digital data communication, including packet-based messages on a communication network. Examples of communication networks include, e.g., a LAN (local area network), a WAN (wide area network), MAN (metropolitan area network), wireless and / or optical networks, the computers and networks forming the Internet, or some combination thereof. Other implementations may transport messages by broadcasting to all or substantially all devices that are coupled together by a communication network, for example, by using omni-directional radio frequency (RF) signals. Still other implementations may transport messages characterized by high directivity, such as RF signals transmitted using directional (i.e., narrow beam) antennas or infrared signals that may optionally be used with focusing optics. Still other implementations are possible using appropriate interfaces and protocols such as, by way of example and not intended to be limiting, USB 2.0, Firewire, ATA / IDE, RS-232, RS-422, RS-485, 802.11 a / b / g, Wi-Fi, Ethernet, IrDA, FDDI (fiber distributed data interface), token-ring networks, multiplexing techniques based on frequency, time, or code division, or some combination thereof. Some implementations may optionally incorporate features such as error checking and correction (ECC) for data integrity, or security measures, such as encryption (e.g., WEP) and password protection.
[0160] In various embodiments, the computer system may include Internet of Things (loT) devices. loT devices may include objects embedded with electronics, software, sensors, actuators, and network connectivity which enable these objects to collect and exchange data. loT devices may be in-use with wired or wireless devices by sending data through an interface to another device. loT devices may collect useful data and then autonomously flow the data between other devices.
[0161] Various examples of modules may be implemented using circuitry, including various electronic hardware. By way of example and not limitation, the hardware may include transistors, resistors, capacitors, switches, integrated circuits, other modules, or some combination thereof. In various examples, the modules may include analog logic, digital logic, discrete components, traces and / or memory circuits fabricated on a silicon substrate including various integrated circuits (e.g., FPGAs, ASICs), or some combination thereof. In some embodiments, the module(s) may involve execution of preprogrammed instructions, software executed by a processor, or some combination thereof. For example, various modules may involve both hardware and software.
[0162] In an illustrative aspect, a first object detection system may include a signal transmission and receiving device may include a transmitter and a receiver. For example, the transmitter maybe configured to transmit a predetermined waveform towards a target object and the receiver may be configured to receive reflection signals reflected from a surface of the target object.
[0163] For example, the object detection system may include a signal processor operably coupled to the signal transmission and receiving device. For example, the signal processor may be configured to receive the reflection signals and generate a multi-dimensional point cloud, and, within the multi-dimensional point cloud, identify N clusters (C_l, C_2, ..., C_i, ..., C_N) based on a clustering algorithm, where N may be an integer >= 0 and each i-th of the N clusters, i < N, may include M_i points (PAi_l, PAi_2, . . ., PAij, . . ., PAi_M).
[0164] For example, the object detection system may include a cluster processing unit operably coupled to the signal processor. For example, the signal processor may include a cluster boundary engine configured to associate a boundary for each of the N clusters. For example, the boundary of a k-th cluster may be determined as a predetermined multiple of a standard deviation of points of the k-th cluster (PAk_l, CAk_2, ..., PAk_J, . .., PAk_M). For example, the predetermined multiple may be larger than 4. For example, the signal processor may include a cluster combining module operably coupled to the cluster boundary engine. For example, the cluster combining module may be configured to generate a detection result comprising detected object information by combining clusters of the N clusters when any two or more of the N clusters may be associated with overlapping spaces within corresponding boundaries. For example, the cluster combining module may reduce falsely identified objects from over-clustering of a single object.
[0165] For example, the first object detection system may include one or more of the following features:• For example, the signal transmission and receiving device may include an FMCW radar.• For example, the clustering algorithm may include a DBSCAN algorithm. For example, the signal processor performs the DBSCAN algorithm using a small distance parameter smaller than a predetermined gap between points received from the single object containing multiple reflecting surfaces.• For example, the cluster boundary engine determines the boundary for each of the N clusters as a statistical distribution function of the points of a corresponding cluster of the N clusters. For example, the statistical distribution function may be computed independently in each dimension of the multi-dimensional point cloud.• For example, the object detection system may include a static target suppression module. For example, the object detection system may be configured to independently detect a static object and a dynamic object. For example, detection of an object may include identifying a position of the object. For example, the static target suppression module may be configured to compare the static object and the dynamic object, and the static object maybe removed when the static object may be within a proximity threshold of the dynamic object.• For example, the proximity threshold may be dynamically determined based on a probability function associated with each of the N clusters. For example, the probability function of the k-th cluster may be determined as a function of the points of the k-th cluster.• For example, the proximity threshold may be less than 0.25m.
[0166] In an illustrative aspect, a second object detection system may include a signal processor operably coupled to a signal transmission and receiving device. For example, the signal processor may be configured to receive signals from the signal transmission and receiving device and generate a multi-dimensional point cloud, and, within the multi-dimensional point cloud, identify N clusters (C_l, C_2, ..., C_i, ..., C_N) based on a clustering algorithm, where N may be an integer >- 0 and each i-th of the N clusters, i < N, may include M_i points (PAi_ 1 , PAi_2, . . . , PAi _j, ..., PAi_M).
[0167] For example, the object detection system may include a cluster processing unit operably coupled to the signal processor. For example, the signal processor may include a cluster boundary engine configured to associate a boundary for each of the N clusters. For example, the boundary of a k-th cluster may be determined as a function of points of the k-th cluster (PAk_l, CAk_2, . . ., PAkJ, ..., PAk_M), k < N. For example, the signal processor may include a cluster combining module operably coupled to the cluster boundary engine. For example, the cluster combining module may be configured to generate a detection result comprising detected object information by combining clusters of the N clusters when any two or more of the N clusters may be associated with overlapping spaces within corresponding boundaries. For example, the cluster combining module may reduce falsely identified objects from over-clustering of a single object.
[0168] For example, the second object detection system may include one or more of the following features:• For example, the signal transmission and receiving device may include an FMCW radar.• For example, the clustering algorithm may include a DBSCAN algorithm. For example, the signal processor performs the DBSCAN algorithm using a distance parameter smaller than a predetermined gap between points received from the single object containing multiple reflecting surfaces.• For example, the cluster boundary engine determines the boundary for each of the N clusters as a statistical distribution function of the points of a corresponding cluster of the N clusters. For example, the statistical distribution function may be computed independently in each dimension of the multi-dimensional point cloud.• For example, the cluster boundary engine determines the boundary for each of the N clusters as a predetermined multiple of a standard deviation of the points of the corresponding cluster in each dimension of the multi-dimensional point cloud.• For example, the predetermined multiple may be 4.5.• For example, the signals received from the signal transmission and receiving device may include a signal reflected from a dynamic target and the multi-dimensional point cloud may include dynamic points.• For example, the object detection system may include a static target suppression module. For example, the object detection system may be configured to independently detect a static object and a dynamic object. For example, detection of an object may include identifying a position of the detected objects. For example, the static target suppression module may be configured to compare the static object and the dynamic object, and the static object may be removed when the static object may be within a proximity threshold of the dynamic object.• For example, the proximity threshold may be dynamically determined based on a probability function associated with each of the N clusters. For example, the probability function of the k-th cluster may be determined as a function of the points of the k-th cluster.• For example, the proximity threshold may be less than 0.25m.
[0169] In an illustrative aspect, an object detection method may include receive a signal from a field of view. For example, the object detection method may include identify N initial clusters within a multi-dimensional point cloud based on the signal received from the field of view. For example, each i-th of the N initial clusters, i < N, may include M_i points (PAi_l, PAi_2, . . ., PAi _j, . . . , PAi_M). For example, the object detection method may include determine and associate a statistical cluster boundary for each of the N initial clusters. For example, the statistical cluster boundary of a k-th cluster may be determined as a function of points of the k-th cluster (PAk_l, CAk_2, ..., PAk_j, ..., PAk_M), k < N. For example, the object detection method may include generate a detection result comprising detected object information by combining the N initial clusters when any two or more clusters of the N initial clusters may be associated with overlapping spaces contained corresponding cluster boundaries. For example, falsely identified objects from over-clustering of a single object may be reduced.
[0170] For example, the object detection method may include one or more of the following features:For example, determine the statistical cluster boundary may include determine a statistical distribution function of the points of a corresponding cluster of the N initial clusters. Forexample, the statistical distribution function may be computed independently in each dimension of the multi-dimensional point cloud.• For example, the statistical distribution function may include a predetermined multiple of a standard deviation of points of a corresponding clusters.
[0171] In an illustrative aspect, a dynamic target measurement system may include a first data store comprising a program of instructions. For example, the dynamic target measurement system may include a processor operably coupled to the first data store such that, when the processor executes the program of instructions, the processor causes operations to be performed to automatically generate a multi-dimensional precision measurement of a slow moving object amongst static objects.
[0172] For example, the operations may include receive measurement signals from a direction and ranging measurement device. For example, the operations may include generate a first component of the measurement signals. For example, the operations may include save the first component to a second data store. For example, the operations may include generate a second component of the measurement signals by subtracting the first component from the measurement signals. For example, the operations may include generate a first fast Fourier transform (FFT) representation of the second component. For example, the operations may include apply a threshold to the first FFT representation to determine whether there may be a slow target.
[0173] For example, the operations may include, when there may be a slow target from the first FFT representation, retrieve the first component from the second data store. For example, the operations may include aggregate the first component and the second component to generate an aggregated measurement signal. For example, the operations may include generate a second FFT representation of the aggregated measurement signal. For example, the operations may include apply interpolation operations to the second FFT representation. For example, the operations may include measure a velocity of the slow target based on the second FFT representation.
[0174] For example, the dynamic target measurement system may include one or more of follow features:• For example, the direction and ranging measurement device may include a frequency modulated continuous wave radar operably connected to the processor.• For example, the measurement signals may include Doppler chirps.• For example, the first component of the measurement signals may include a DC offset extracted from the measurement signals.• For example, the first and the second FFT representations may include a Doppler FFT representation.• For example, apply a threshold to the first FFT representation to determine whether there may be a slow target from the first FFT representation may include retrieve a bin threshold from a third data store. For example, the determination may include retrieve a magnitude threshold from a fourth data store. For example, the determination may include identify a peak in the first FFT representation. For example, the peak may be identified as a magnitude of a corresponding FFT bin of the first FFT representation larger than the magnitude threshold. For example, the determination may include determine a bin number of the corresponding FFT bin of the peak that may be identified. For example, the determination may include compare the bin number to the bin threshold. For example, the determination may include generate a signal representing an identification of the slow target when the bin number may be less than the bin threshold.• For example, the magnitude threshold may be dynamically generated using a Constant False Alarm Rate (CFAR) method as a function of the measurement signals.
[0175] In an illustrative aspect, a computer implemented method performed by at least one processor to automatically generate a multi-dimensional precision measurement of a slow moving object amongst static objects, the method may include generate a first component of measurement signals received from a direction and ranging measurement device.
[0176] For example, the method may include store the first component to a first data store; generate a second component of the measurement signals by subtracting the first component from the measurement signals. For example, the method may include generate a first fast Fourier transform (FFT) representation of the second component.
[0177] For example, the method may include determine whether there may be a slow target from the first FFT representation based on identifying an existence of a peak in small FFT bins in the first FFT representation.
[0178] For example, the method may include when there may be a slow target from the first FFT representation, retrieve the first component from the first data store, aggregate the first component and the second component to generate an aggregated measurement signal, generate a second FFT representation of the aggregated measurement signal, apply interpolation operations to the second FFT representation, and / or measure a velocity of the slow target based on the second FFT representation. For example, interpolation errors in the small FFT bins may be reduced.
[0179] For example, the computer implemented method may include one or more of follow features:For example, the measurement signals may include Doppler chirps.For example, the first component of the measurement signals may include a DC offset extracted from the measurement signals.• For example, the first and the second FFT representations may include Doppler FFT representation.• For example, determine whether there may be a slow target from the first FFT representation may include retrieve a bin threshold from a second data store. For example, the determination may include retrieve a magnitude threshold from a third data store. For example, the determination may include identify a peak in the first FFT representation. For example, the peak may be identified as a magnitude of a corresponding FFT bin of the first FFT representation larger than the magnitude threshold. For example, the determination may include determine a bin number of the corresponding FFT bin of the peak that may be identified. For example, the determination may include compare the bin number to the bin threshold. For example, the determination may include generate a signal representing an identification of the slow target when the bin number may be less than the bin threshold.• For example, the magnitude threshold may be dynamically generated using a Constant False Alarm Rate (CFAR) method as a function of the measurement signals.
[0180] In an illustrative aspect, a computer program product comprising a program of instructions tangibly embodied on a non-transitory computer readable medium wherein, when the instructions may be executed on a processor, the processor causes detection operations to be performed to automatically generate a multi-dimensional precision measurement of a slow moving object amongst static objects, the operations may include receive measurement signals from a direction and ranging measurement device. For example, the operations may include generate a first component of the measurement signals. For example, the operations may include store the first component to a first data store. For example, the operations may include generate a second component of the measurement signals by subtracting the first component from the measurement signals. For example, the operations may include generate a first fast Fourier transform (FFT) representation of the second component. For example, the operations may include determine whether there may be a slow target from the first FFT representation based on identifying an existence of a peak in small FFT bins in the first FFT representation.
[0181] For example, when there may be a slow target from the first FFT representation, the operations may include retrieve the first component from the first data store, aggregate the first component and the second component to generate an aggregated measurement signal, generate a second FFT representation of the aggregated measurement signal, apply interpolation operations to the second FFT representation, and / or measure a velocity of the slow target based on the second FFT representation. For example, interpolation errors in the small FFT bins may be reduced.
[0182] For example, the computer program product may include one or more of follow features:• For example, the measurement signals may include Doppler chirps.• For example, the first component of the measurement signals may include a DC offset extracted from the measurement signals.• For example, the first and the second FFT representations may include Doppler fast Fourier Transform representation.• For example, determine whether there may be a slow target from the first fast Fourier transform representation may include retrieve a bin threshold from a second data store. For example, the determination may include retrieve a magnitude threshold from a third data store. For example, the determination may include identify a peak in the first FFT representation. For example, the peak may be identified as a magnitude of a corresponding FFT bin of the first FFT representation larger than the magnitude threshold. For example, the determination may include determine a bin number of the corresponding FFT bin of the identified peak. For example, the determination may include compare the bin number to the bin threshold. For example, the determination may include generate a signal representing an identification of the slow target when the bin number may be less than the bin threshold.• For example, the magnitude threshold may be dynamically generated using a Constant False Alarm Rate (CFAR) method as a function of the measurement signals.• For example, the interpolation operations may include apply a plurality of interpolation techniques to the second FFT representation such that a linearity and a precision of velocity measurements of the slow target to obtain precise measurements in each Doppler FFT bin may be improved.
[0183] In an illustrative aspect, a system may include a first data store comprising a program of instructions. For example, the system may include a processor operably coupled to the first data store such that, when the processor executes the program of instructions, the processor causes operations to be performed to automatically perform a multi-stage precision measurement of targets, the operations may include generate a first spectral energy representation of a first set of object detection signals based on a first computation method. For example, the first set of object detection signals may be received from a direction and range device corresponding to a field of view of the direction and range device.101841 For example, the operations may include retrieve, from a second data store, an amplitude threshold. For example, the operations may include apply the amplitude threshold to the first spectral energy representation. For example, the operations may include determine a region of interest within the first spectral energy representation. For example, the region of interest may include a frequency range within the first spectral energy representation having an amplitude larger than the amplitude threshold.31|0185 | For example, the operations may include generate a second spectral energy representation of a second set of object detection signals based on a second computation method. For example, the second set of object detection signals may include a subset of the first set of object detection signals corresponding to the region of interest. For example, the second computation method may be more computationally intensive and may include a higher resolution than the first computation method. For example, the operations may include generate an object detection measurement based on the second spectral energy representation. For example, the object detection measurement may include a number of objects identified within the first set of object detection signals. For example, an object may be identified when both the first spectral energy representation and the second spectral energy representation may include a peak corresponding to the object. For example, a false object detection rate may be reduced to be lower than a first false object detection rate of the first computation method and a second false object detection rate of the second computation method.
[0186] For example, the system may include one or more of the following features:• For example, the frequency range of the region of interest may be dynamically determined and may include a continuous range.• For example, the amplitude threshold may include a dynamically determined threshold.• For example, the dynamically determined threshold may be determined based on a noise level of the first set of object detection signals.• For example, the dynamically determined threshold may be determined based on a 2- dimensional constant rate false alarm algorithm applied to the first set of object detection signals entirely.• For example, the first set of object detection signals may be received from N antennas and the second set of object detection signals may include signals received from a subset of the N antennas. For example, false detection locations generated by the first computation method and the second computation method related to a number of effective antennas may be mitigated.
[0187] In an illustrative aspect, a computer- implemented method performed by at least one processor to automatically perform a multi-stage precision measurement of targets. For example, the method may include generate a first spectral energy representation of a first set of object detection signals based on a first computation method. For example, the first set of object detection signals may be received from a direction and range device corresponding to a field of view of the direction and range device. For example, the method may include retrieve, from a second data store, an amplitude threshold.|0188| For example, the method may include apply the amplitude threshold to the first spectral energy representation. For example, the method may include determine a region of interest within the first spectral energy representation. For example, the region of interest may include a frequency range within the first spectral energy representation having an amplitude larger than the amplitude threshold. For example, the method may include generate a second spectral energy representation of a second set of object detection signals based on a second computation method. For example, the second set of object detection signals may include a subset of the first set of object detection signals corresponding to the region of interest. For example, the second computation method may be more computationally intensive and may include a higher resolution than the first computation method. For example, the method may include generate an object detection measurement based on the second spectral energy representation.
[0189] For example, the computer- implemented method may include one or more of the following features:• For example, generating the object detection measurement may include identifying a number of objects within the first set of object detection signals. For example, an object may be identified when both the first spectral energy representation and the second spectral energy representation may include a peak corresponding to the object. For example, a false object detection rate may be reduced to be lower than a first false object detection rate of the first computation method and a second false object detection rate of the second computation method.• For example, the frequency range of the region of interest may be dynamically determined and may include a continuous range.• For example, the amplitude threshold may include a dynamically determined threshold.• For example, the dynamically determined threshold may be determined based on a noise level of the first set of object detection signals.• For example, the dynamically determined threshold may be determined based on a 2- dimensional constant rate false alarm algorithm applied to the first set of object detection signals entirely.• For example, the first set of object detection signals may be received from N antennas and the second set of object detection signals may include signals received from a subset of the N antennas. For example, false detection results generated by the first computation method and the second computation method related to a number of effective antennas may be mitigated.[01901 In an illustrative aspect, a computer program product comprising a program of instructions tangibly embodied on a non-transitory computer readable medium wherein, when the instructionsmay be executed on a processor, the processor causes measurement and detection operations to be performed to automatically perform a multi-stage precision measurement of targets. For example, the operations may include generate a first spectral energy representation of a first set of object detection signals based on a first computation method. For example, the first set of object detection signals may be received from a direction and range device corresponding to a field of view of the direction and range device.
[0191] For example, the operations may include retrieve, from a second data store, an amplitude threshold. For example, the operations may include apply the amplitude threshold to the first spectral energy representation. For example, the operations may include determine a region of interest within the first spectral energy representation. For example, the region of interest may include a frequency range within the first spectral energy representation having an amplitude larger than the amplitude threshold. For example, the operations may include generate a second spectral energy representation of a second set of object detection signals based on a second computation method. For example, the second set of object detection signals may include a subset of the first set of object detection signals corresponding to the region of interest. For example, the second computation method may be more computationally intensive and may include a higher resolution than the first computation method. For example, the operations may include generate an object detection measurement based on the second spectral energy representation.
[0192] For example, the computer program product may include one or more of the following features :• For example, generating the object detection measurement may include identifying a number of objects within the first set of object detection signals. For example, an object may be identified when both the first spectral energy representation and the second spectral energy representation may include a peak corresponding to the object. For example, a false object detection rate may be reduced to be lower than a first false object detection rate of the first computation method and a second false object detection rate of the second computation method.• For example, the frequency range of the region of interest may be dynamically determined and may include a continuous range.• For example, the amplitude threshold may include a dynamically determined threshold.• For example, the dynamically determined threshold may be determined based on a noise level of the first set of object detection signals.• For example, the dynamically determined threshold may be determined based on a 2- dimensional constant rate false alarm algorithm applied to the first set of object detection signals entirely.• For example, the first set of object detection signals may be received from N antennas and the second set of detection signals may include signals received from a subset of the N antennas. For example, false detection signals generated by the first computation method and the second computation method related to a number of effective antennas may be mitigated.
[0193] A number of implementations have been described. Nevertheless, it will be understood that various modifications may be made. For example, advantageous results may be achieved if the steps of the disclosed techniques were performed in a different sequence, or if components of the disclosed systems were combined in a different manner, or if the components were supplemented with other components. Accordingly, other implementations are contemplated within the scope of the following claims.
Claims
CLAIMSWhat is claimed is:
1. An object detection system comprising: a signal transmission and receiving device comprises a transmitter and a receiver, wherein the transmitter is configured to transmit a predetermined waveform towards a target object and the receiver is configured to receive reflection signals reflected from a surface of the target object; a signal processor operably coupled to the signal transmission and receiving device, wherein the signal processor is configured to receive the reflection signals and generate a multidimensional point cloud, and, within the multi-dimensional point cloud, identify N clusters (C_l, C_2, . . ., C_i, . . ., C_N) based on a clustering algorithm, where N is an integer >= 0 and each i-th of the N clusters, i < N, comprises M_i points (PAi_ 1 , PAi_2, . . ., PAiJ, . . ., PAi_M); and, a cluster processing unit operably coupled to the signal processor comprising: a cluster boundary engine configured to associate a boundary for each of the N clusters, wherein the boundary of a k-th cluster is determined as a predetermined multiple of a standard deviation of points of the k-th cluster (PAk_l , CAk_2, . . . , PAkj , . . . , PAk_M), wherein the predetermined multiple is larger than 4; and, a cluster combining module operably coupled to the cluster boundary engine, wherein the cluster combining module is configured to generate a detection result comprising detected object information by combining clusters of the N clusters when any two or more of the N clusters are associated with overlapping spaces within corresponding boundaries, such that the cluster combining module reduces falsely identified objects from over-clustering of a single object.
2. The object detection system of claim 1 , wherein the signal transmission and receiving device comprises an FMCW radar.
3. The object detection system of claim 1, wherein the clustering algorithm comprises a DBSCAN algorithm, wherein the signal processor performs the DBSCAN algorithm using a small distance parameter smaller than a predetermined gap between points received from the single object containing multiple reflecting surfaces.
4. The object detection system of claim 1 , wherein the cluster boundary engine determines the boundary for each of the N clusters as a statistical distribution function of the points of a corresponding cluster of the N clusters, wherein the statistical distribution function is computed independently in each dimension of the multi-dimensional point cloud.
5. The object detection system of claim 1 , further comprises a static target suppression module, and wherein: the object detection system is configured to independently detect a static object and a dynamic object, wherein detection of an object comprises identifying a position of the object, and, the static target suppression module is configured to compare the static object and the dynamic object, and the static object is removed when the static object is within a proximity threshold of the dynamic object.
6. The object detection system of claim 5, wherein the proximity threshold is dynamically determined based on a probability function associated with each of the N clusters, wherein the probability function of the k-th cluster is determined as a function of the points of the k-th cluster.
7. The object detection system of claim 5, wherein the proximity threshold is less than 0.25m.
8. An object detection system comprising: a signal processor operably coupled to a signal transmission and receiving device, wherein the signal processor is configured to receive signals from the signal transmission and receiving device and generate a multi-dimensional point cloud, and, within the multi-dimensional point cloud, identify N clusters (C_l, C_2, ..., C_i, ..., C_N) based on a clustering algorithm, where N is an integer >= 0 and each i-th of the N clusters, i < N, comprises M_i points (PAi_l, PAi_2, ..., PAiJ, ..., PAi_M); and, a cluster processing unit operably coupled to the signal processor comprising: a cluster boundary engine configured to associate a boundary for each of the N clusters, wherein the boundary of ak-th cluster is determined as a function of points of the k-th cluster (PAk_l , CAk_2, . . . , PAkJ , . . . , PAk_M), k < N; and, a cluster combining module operably coupled to the cluster boundary engine, wherein the cluster combining module is configured to generate a detection result comprising detected object information by combining clusters of the N clusters when any two or more of the N clusters are associated with overlapping spaces within corresponding boundaries, such that the cluster combining module reduces falsely identified objects from over-clustering of a single object.
9. The object detection system of claim 8, wherein the signal transmission and receiving device comprises an FMCW radar.
10. The object detection system of claim 8, wherein the clustering algorithm comprises a DBSCAN algorithm, wherein the signal processor performs the DBSCAN algorithm using a distance parameter smaller than a predetermined gap between points received from the single object containing multiple reflecting surfaces.
11. The object detection system of claim 8, wherein the cluster boundary engine determines the boundary for each of the N clusters as a statistical distribution function of the points of a corresponding cluster of the N clusters, wherein the statistical distribution function is computed independently in each dimension of the multi-dimensional point cloud.
12. The object detection system of claim 8, wherein the cluster boundary engine determines the boundary for each of the N clusters as a predetermined multiple of a standard deviation of the points of the corresponding cluster in each dimension of the multi-dimensional point cloud.
13. The object detection system of claim 12, wherein the predetermined multiple is 4.5.
14. The object detection system of claim 8, wherein the signals received from the signal transmission and receiving device comprise signal reflected from a dynamic target and the multi-dimensional point cloud comprises dynamic points.
15. The object detection system of claim 8, further comprises a static target suppression module, and wherein: the object detection system is configured to independently detect a static object and a dynamic object, wherein detection of an object comprises identifying a position of the detected objects, and,the static target suppression module is configured to compare the static object and the dynamic object, and the static object is removed when the static object is within a proximity threshold of the dynamic object.
16. The object detection system of claim 15, wherein the proximity threshold is dynamically determined based on a probability function associated with each of the N clusters, wherein the probability function of the k-th cluster is determined as a function of the points of the k-th cluster.
17. The object detection system of claim 15, wherein the proximity threshold is less than 0.25m.
18. An object detection method comprising: receive a signal from a field of view; identify N initial clusters within a multi-dimensional point cloud based on the signal received from the field of view, wherein each i-th of the N initial clusters, i < N, comprises M_i points (PAi_l, PAi_2, ..., PAiJ, ..., PAi_M); determine and associate a statistical cluster boundary for each of the N initial clusters, wherein the statistical cluster boundary of a k-th cluster is determined as a function of points of the k-th cluster (PAk_l, CAk_2, ..., PAkJ, . .., PAk_M), k < N; and, generate a detection result comprising detected object information by combining the N initial clusters when any two or more clusters of the N initial clusters are associated with overlapping spaces contained corresponding cluster boundaries, such that falsely identified objects from over-clustering of a single object are reduced.
19. The object detection method of claim 18, wherein determine the statistical cluster boundary comprises determine a statistical distribution function of the points of a corresponding cluster of the N initial clusters, wherein the statistical distribution function is computed independently in each dimension of the multi-dimensional point cloud.
20. The object detection method of claim 19, wherein the statistical distribution function comprises a predetermined multiple of a standard deviation of points of a corresponding clusters.
21. A dynamic target measurement system comprising: a first data store comprising a program of instructions; and, a processor operably coupled to the first data store such that, when the processor executes the program of instructions, the processor causes operations to be performed to automatically generate a multi-dimensional precision measurement of a slow moving object amongst static objects, the operations comprising: receive measurement signals from a direction and ranging measurement device; generate a first component of the measurement signals; save the first component to a second data store; generate a second component of the measurement signals by subtracting the first component from the measurement signals; generate a first fast Fourier transform (FFT) representation of the second component; apply a threshold to the first FFT representation to determine whether there is a slow target; and, when there is a slow target from the first FFT representation, retrieve the first component from the second data store, aggregate the first component and the second component to generate an aggregated measurement signal, generate a second FFT representation of the aggregated measurement signal, apply interpolation operations to the second FFT representation, and, measure a velocity of the slow target based on the second FFT representation.
22. The dynamic target measurement system of claim 21, wherein the direction and ranging measurement device comprises a frequency modulated continuous wave radar operably connected to the processor.
23. The dynamic target measurement system of claim 21 , wherein the measurement signals comprises Doppler chirps.
24. The dynamic target measurement system of claim 21, wherein the first component of the measurement signals comprises a DC offset extracted from the measurement signals.
25. The dynamic target measurement system of claim 21, wherein the first and the second FFT representations comprise a Doppler FFT representation.
26. The dynamic target measurement system of claim 21, wherein apply a threshold to the first FFT representation to determine whether there is a slow target from the first FFT representation comprises: retrieve a bin threshold from a third data store; retrieve a magnitude threshold from a fourth data store; identify a peak in the first FFT representation, wherein the peak is identified as a magnitude of a corresponding FFT bin of the first FFT representation larger than the magnitude threshold; determine a bin number of the corresponding FFT bin of the peak that is identified; compare the bin number to the bin threshold; and, generate a signal representing an identification of the slow target when the bin number is less than the bin threshold.
27. The dynamic target measurement system of claim 26, wherein the magnitude threshold is dynamically generated using a Constant False Alarm Rate (CFAR) method as a function of the measurement signals.
28. A computer implemented method performed by at least one processor to automatically generate a multi-dimensional precision measurement of a slow moving object amongst static objects, the method comprising: generate a first component of measurement signals received from a direction and ranging measurement device; store the first component to a first data store; generate a second component of the measurement signals by subtracting the first component from the measurement signals; generate a first fast Fourier transform (FFT) representation of the second component; determine whether there is a slow target from the first FFT representation based on identifying an existence of a peak in small FFT bins in the first FFT representation; and, when there is a slow target from the first FFT representation, retrieve the first component from the first data store, aggregate the first component and the second component to generate an aggregated measurement signal, generate a second FFT representation of the aggregated measurement signal, apply interpolation operations to the second FFT representation, and, measure a velocity of the slow target based on the second FFT representation, such that interpolation errors in the small FFT bins are reduced.
29. The computer implemented method of claim 28, wherein the measurement signals comprisesDoppler chirps.
30. The computer implemented method of claim 28, wherein the first component of the measurement signals comprises a DC offset extracted from the measurement signals.
31. The computer implemented method of claim 28, wherein the first and the second FFT representations comprise Doppler FFT representation.
32. The computer implemented method of claim 28, wherein determine whether there is a slow target from the first FFT representation comprises: retrieve a bin threshold from a second data store; retrieve a magnitude threshold from a third data store; identify a peak in the first FFT representation, wherein the peak is identified as a magnitude of a corresponding FFT bin of the first FFT representation larger than the magnitude threshold; determine a bin number of the corresponding FFT bin of the peak that is identified; compare the bin number to the bin threshold; and, generate a signal representing an identification of the slow target when the bin number is less than the bin threshold.
33. The computer implemented method of claim 32, wherein the magnitude threshold is dynamically generated using a Constant False Alarm Rate (CFAR) method as a function of the measurement signals.
34. A computer program product comprising a program of instructions tangibly embodied on a non-transitory computer readable medium wherein, when the instructions are executed on a processor, the processor causes detection operations to be performed to automatically generate a multi-dimensional precision measurement of a slow moving object amongst static objects, the operations comprising: receive measurement signals from a direction and ranging measurement device; generate a first component of the measurement signals; store the first component to a first data store; generate a second component of the measurement signals by subtracting the first component from the measurement signals; generate a first fast Fourier transform (FFT) representation of the second component; determine whether there is a slow target from the first FFT representation based on identifying an existence of a peak in small FFT bins in the first FFT representation; and, when there is a slow target from the first FFT representation, retrieve the first component from the first data store, aggregate the first component and the second component to generate an aggregated measurement signal, generate a second FFT representation of the aggregated measurement signal, apply interpolation operations to the second FFT representation, and, measure a velocity of the slow target based on the second FFT representation, such that interpolation errors in the small FFT bins are reduced.
35. The computer program product of claim 34, wherein the measurement signals comprises Doppler chirps.
36. The computer program product of claim 34, wherein the first component of the measurement signals comprises a DC offset extracted from the measurement signals.
37. The computer program product of claim 34, wherein the first and the second FFT representations comprise Doppler fast Fourier Transform representation.
38. The computer program product of claim 34, wherein determine whether there is a slow target from the first fast Fourier transform representation comprises: retrieve a bin threshold from a second data store; retrieve a magnitude threshold from a third data store; identify a peak in the first FFT representation, wherein the peak is identified as a magnitude of a corresponding FFT bin of the first FFT representation larger than the magnitude threshold; determine a bin number of the corresponding FFT bin of the identified peak; compare the bin number to the bin threshold; and, generate a signal representing an identification of the slow target when the bin number is less than the bin threshold.
39. The computer program product of claim 38, wherein the magnitude threshold is dynamically generated using a Constant False Alarm Rate (CFAR) method as a function of the measurement signals.
40. The computer program product of claim 34, wherein the interpolation operations comprise apply a plurality of interpolation techniques to the second FFT representation such that a linearity and a precision of velocity measurements of the slow target to obtain precise measurements in each Doppler FFT bin are improved.
41. A system comprising: a first data store comprising a program of instructions; and, a processor operably coupled to the first data store such that, when the processor executes the program of instructions, the processor causes operations to be performed to automatically perform a multi-stage precision measurement of targets, the operations comprising: generate a first spectral energy representation of a first set of object detection signals based on a first computation method, wherein the first set of object detection signals is received from a direction and range device corresponding to a field of view of the direction and range device; retrieve, from a second data store, an amplitude threshold; apply the amplitude threshold to the first spectral energy representation; determine a region of interest within the first spectral energy representation, wherein the region of interest comprises a frequency range within the first spectral energy representation having an amplitude larger than the amplitude threshold; generate a second spectral energy representation of a second set of object detection signals based on a second computation method, wherein the second set of object detection signals comprises a subset of the first set of object detection signals corresponding to the region of interest, wherein the second computation method is more computationally intensive and comprises a higher resolution than the first computation method; and, generate an object detection measurement based on the second spectral energy representation, wherein the object detection measurement comprises a number of objects identified within the first set of object detection signals, wherein an object is identified when both the first spectral energy representation and the second spectral energy representation comprise a peak corresponding to the object, such that a false object detection rate is reduced to be lower than a first false object detection rate of the first computation method and a second false object detection rate of the second computation method.
42. The system of claim 41, wherein the frequency range of the region of interest is dynamically determined and comprises a continuous range.
43. The system of claim 41, wherein the amplitude threshold comprises a dynamically determined threshold.
44. The system of claim 43, wherein the dynamically determined threshold is determined based on a noise level of the first set of object detection signals.
45. The system of claim 43, wherein the dynamically determined threshold is determined based on a 2-dimensional constant rate false alarm algorithm applied to the first set of object detection signals entirely.
46. The system of claim 41, wherein the first set of object detection signals are received from N antennas and the second set of object detection signals comprises signals received from a subset of the N antennas, such that false detection locations generated by the first computation method and the second computation method related to a number of effective antennas are mitigated.
47. A computer-implemented method performed by at least one processor to automatically perform a multi-stage precision measurement of targets, the method comprising: generate a first spectral energy representation of a first set of object detection signals based on a first computation method, wherein the first set of object detection signals is received from a direction and range device corresponding to a field of view of the direction and range device; retrieve, from a second data store, an amplitude threshold; apply the amplitude threshold to the first spectral energy representation; determine a region of interest within the first spectral energy representation, wherein the region of interest comprises a frequency range within the first spectral energy representation having an amplitude larger than the amplitude threshold; generate a second spectral energy representation of a second set of object detection signals based on a second computation method, wherein the second set of object detection signals comprises a subset of the first set of object detection signals corresponding to the region of interest, wherein the second computation method is more computationally intensive and comprises a higher resolution than the first computation method; and, generate an object detection measurement based on the second spectral energy representation.
48. The computer-implemented method of claim 47, wherein generating the object detection measurement comprises identifying a number of objects within the first set of object detection signals, wherein an object is identified when both the first spectral energy representation and the second spectral energy representation comprise a peak corresponding to the object, such that a false object detection rate is reduced to be lower than a first false object detection rate of the first computation method and a second false object detection rate of the second computation method.
49. The computer-implemented method of claim 47, wherein the frequency range of the region of interest is dynamically determined and comprises a continuous range.
50. The computer-implemented method of claim 47, wherein the amplitude threshold comprises a dynamically determined threshold.
51. The computer-implemented method of claim 50, wherein the dynamically determined threshold is determined based on a noise level of the first set of object detection signals.
52. The computer-implemented method of claim 50, wherein the dynamically determined threshold is determined based on a 2-dimensional constant rate false alarm algorithm applied to the first set of object detection signals entirely.
53. The computer-implemented method of claim 47, wherein the first set of object detection signals are received from N antennas and the second set of object detection signals comprises signals received from a subset of the N antennas, such that false detection results generated by the first computation method and the second computation method related to a number of effective antennas are mitigated.
54. A computer program product comprising a program of instructions tangibly embodied on a non-transitory computer readable medium wherein, when the instructions are executed on a processor, the processor causes measurement and detection operations to be performed to automatically perform a multi-stage precision measurement of targets, the operations comprising: generate a first spectral energy representation of a first set of object detection signals based on a first computation method, wherein the first set of object detection signals is received from a direction and range device corresponding to a field of view of the direction and range device; retrieve, from a second data store, an amplitude threshold; apply the amplitude threshold to the first spectral energy representation; determine a region of interest within the first spectral energy representation, wherein the region of interest comprises a frequency range within the first spectral energy representation having an amplitude larger than the amplitude threshold; generate a second spectral energy representation of a second set of object detection signals based on a second computation method, wherein the second set of object detection signals comprises a subset of the first set of object detection signals corresponding to the region of interest, wherein the second computation method is more computationally intensive and comprises a higher resolution than the first computation method; and, generate an object detection measurement based on the second spectral energy representation.
55. The computer program product of claim 54, wherein generating the object detection measurement comprises identifying a number of objects within the first set of object detection signals, wherein an object is identified when both the first spectral energy representation and the second spectral energy representation comprise a peak corresponding to the object, such that a false object detection rate is reduced to be lower than a first false object detection rate of the first computation method and a second false object detection rate of the second computation method.
56. The computer program product of claim 54, wherein the frequency range of the region of interest is dynamically determined and comprises a continuous range.
57. The computer program product of claim 54, wherein the amplitude threshold comprises a dynamically determined threshold.
58. The computer program product of claim 57, wherein the dynamically determined threshold is determined based on a noise level of the first set of object detection signals.
59. The computer program product of claim 57, wherein the dynamically determined threshold is determined based on a 2-dimensional constant rate false alarm algorithm applied to the first set of object detection signals entirely.
60. The computer program product of claim 54, wherein the first set of object detection signals are received from N antennas and the second set of detection signals comprises signals received from a subset of the N antennas, such that false detection signals generated by the first computation method and the second computation method related to a number of effective antennas are mitigated.