Interleaved radar range and doppler processing

By interleaving range and Doppler processing in a MIMO radar system and utilizing processor idle time for parallel processing of data cubes, the problem of underutilization of resources in traditional radar processing is solved, achieving more efficient radar data processing.

CN116400299BActive Publication Date: 2026-04-17APTIV TECHNOLOGIES AG
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
APTIV TECHNOLOGIES AG
Filing Date
2022-12-29
Publication Date
2026-04-17

AI Technical Summary

Technical Problem

In existing MIMO radar systems, range processing and Doppler processing are performed sequentially in non-overlapping phases, resulting in underutilization of processing resources. Doppler processing is restricted to a small time window before the start of range processing in the next viewing cycle, which affects processing efficiency.

Method used

By maintaining a sufficiently large data cube in the radar system to store processed radar data for a single viewing cycle, and performing range processing for the current viewing cycle while completing Doppler processing for the previous viewing cycle, memory access to the data cube is performed in an interleaved manner, allowing Doppler processing to continue into the next viewing cycle during processor idle time.

Benefits of technology

It achieves more efficient radar processing, improves processor utilization and Doppler processing time, maintains a short viewing cycle, and improves the accuracy and speed of object estimation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116400299B_ABST
    Figure CN116400299B_ABST
Patent Text Reader

Abstract

A technique for interleaved range and Doppler radar processing is described. The data cube's memory access differs from one view cycle to the next, allowing Doppler processing in the current view cycle to run concurrently with range processing in the next. Range processing in the first view cycle writes rows to the data cube; Doppler processing reads from and clears the columns of the data cube. However, the second view cycle begins before the Doppler processing can complete. Range processing in the second view cycle writes to the columns just cleared by the ongoing Doppler processing, instead of rewriting rows. This allows the Doppler processing of the first view cycle to complete by executing during processing idle times in the second cycle (e.g., between chirps). Through better processor utilization, Doppler processing can have more time to complete its complex operations while maintaining the shortest possible view cycles.
Need to check novelty before this filing date? Find Prior Art

Description

Background Technology

[0001] In implementing view processing for multiple-input multiple-output (MIMO) radar systems, a common aspect is the use of a three-dimensional data cube to store the results of processing multiple samples of individual chirps across multiple channels. For each view cycle, the data cube can be stored in memory as a one-dimensional array; each cell can be individually addressed using a unique combination of parameters: range bin, chirp identifier, and channel. Each view cycle comprises two non-overlapping phases. The range processing phase populates the data cube with the range Fast Fourier Transform (FFT) results of consecutive chirps by addressing rows in the memory. The Doppler processing phase retrieves the range FFT results of consecutive ranges by addressing columns in the data cube. These transposed memory operations (e.g., reading columns of consecutive ranges after writing rows of consecutive chirps) delay Doppler processing until range processing is complete. This factor, along with others, leads to underutilization of processing resources and unnecessarily restricts Doppler processing to a small time window before the start of range processing in the next view cycle. Summary of the Invention

[0002] This document describes techniques and systems for interleaved range and Doppler radar processing. In one example, the method includes: maintaining a data cube of sufficient size in the radar system's memory to store processed radar data for a single viewing cycle; and acquiring multiple samples of radar echoes corresponding to multiple chirps transmitted across multiple channels into the vehicle's external environment. The method further includes: performing range processing interleaved with Doppler processing based on the multiple samples by performing range processing on the multiple samples of the current viewing cycle while completing Doppler processing of the previous viewing cycle, the Doppler processing of the previous viewing cycle being completed during processor idle time occurring between consecutive chirps in the current viewing cycle. The method further includes: outputting an indication of the data cube from the radar system for use by the vehicle's functions.

[0003] These and other described techniques can be performed by hardware or a combination of hardware and software executing thereon. For example, a computer-readable storage medium (CRM) may have instructions stored thereon, and when those instructions are executed, configure a processor to perform the described techniques. A system may include means for performing the described techniques. A processor or processor unit may be part of a system configured to perform the methods and techniques described herein.

[0004] Through the implementation of these and other examples contemplated by this disclosure, rapid and efficient radar range and Doppler processing can be achieved, enabling more accurate and / or faster object estimation compared to conventional radar processing techniques that perform Doppler processing only after range processing is complete. This summary briefly introduces concepts for interleaved range and Doppler radar processing, for example, in vehicles (e.g., trucks, cars) equipped with radar or other components configured for interleaved range and Doppler radar processing, as will be further explained with reference to the detailed description and accompanying drawings. This summary is not intended to identify essential features of the claimed subject matter, nor is it intended to define the scope of the claimed subject matter.

[0005] Brief description of the attached figures

[0006] This document describes the details of interleaved range and Doppler radar processing with reference to the accompanying drawings. The drawings may use the same numbers to refer to similar features and components, and hyphenated numbers to indicate variations of these similar features and components. The drawings are organized as follows:

[0007] Figure 1 An example environment for interleaved range and Doppler radar processing is shown;

[0008] Figure 2-1 A timing diagram of an example radar echo is shown;

[0009] Figure 2-2 It shows the method for processing data from... Figure 2-1 The timing diagram of radar echo execution sequence range and Doppler radar processing;

[0010] Figure 2-3 It shows the method for processing data from... Figure 2-1 Timing diagram of radar echo interleaving range and Doppler radar processing;

[0011] Figure 2-4 It shows the use of in Figure 2-3 A conceptual diagram showing the interleaved range and the shared location write and read data cubes of the CRM during Doppler radar processing;

[0012] Figure 3 A flowchart illustrating an example process for interleaved range and Doppler radar processing is shown;

[0013] Figure 4 A flowchart is shown for implementing interleaved range and Doppler radar processing by performing range processing on multiple samples simultaneously with Doppler processing; and

[0014] Figure 5 and Figure 6 A conceptual diagram of an example memory access for interleaved range and Doppler radar processing is shown. Detailed Implementation

[0015] Overview

[0016] The storage required to maintain a data cube can be substantial because it stores the range FFT results derived from processing multiple samples with consecutive chirps across multiple channels. Low-cost radar systems have limited computational resources and cannot allocate large amounts of memory to store data cubes from one viewing period to the next, typically maintaining only one data cube at a time. Due to the addressing method of the memory allocated to the data cube, range processing and Doppler processing traditionally occur sequentially in non-overlapping phases. After range processing has completed addressing memory to fill the rows of the data cube with the range FFT results of consecutive chirps, memory is accessed in different ways. Doppler processing retrieves the range FFT results of consecutive ranges by addressing the columns of the data cube from memory. These transposed memory operations cause Doppler processing to be delayed until range processing is complete.

[0017] Furthermore, traditional radar processing may not fully utilize computational resources. The chirp time can determine the viewing cycle, and in some cases, it can consume more than half of the time allocated to radar processing. During range processing, calculating the range FFT result for the chirp can be much faster than the chirp pulse repetition time. Range processing keeps the processor idle while waiting for another chirp to arrive. Control of processing resources is only relinquished after all range processing is complete, at which point only a small portion of the viewing cycle is available for Doppler processing.

[0018] These and other factors unnecessarily limit Doppler processing to a small time window before range processing begins in the next look-through period. This window becomes increasingly shorter as more chirp is added to the radar waveform. It may be necessary to extend the look-through period to allow for Doppler processing, which would degrade performance.

[0019] In contrast, a technique for interleaved range and Doppler radar processing is described. The data cube is accessed with different memory access methods from one viewing cycle to the next, allowing Doppler processing in the current viewing cycle to run concurrently with range processing in the next. Range processing in the first viewing cycle writes rows to the data cube; Doppler processing reads from and clears the columns of the data cube. However, the second viewing cycle begins before the Doppler processing is complete. Range processing in the second viewing cycle writes to the columns just cleared by the ongoing Doppler processing, instead of rewriting rows. By performing Doppler processing during the idle time of the second cycle (e.g., between chirps), the Doppler processing of the first viewing cycle is allowed to complete. Through better processor utilization, Doppler processing can have more time to complete its complex operations while maintaining the shortest possible viewing cycles.

[0020] Example Environment

[0021] Figure 1 An example environment 100 for interleaved range and Doppler radar processing, implemented, for example, by a vehicle 102, is shown. Although shown as a passenger vehicle, vehicle 102 could represent other types of motorized vehicles (e.g., cars, motorcycles, buses, tractors, semi-trailers), non-motorized vehicles (e.g., bicycles), rail vehicles (e.g., trains), water vehicles (e.g., boats), aircraft (e.g., airplanes), or spacecraft (e.g., satellites), etc. The depicted environment 100 includes a vehicle 102 traveling on a road.

[0022] Vehicle 102 is equipped with a radar system 104 for detecting objects 108 (or other similar objects) present on or near the road that may affect how or whether vehicle 102 can continue to move. The region of interest associated with radar system 104 at least partially surrounds vehicle 102 and is referred to as field of view 106 (also referred to as instrument field of view). Careful selection and / or positioning of components of radar system 104 gives field of view 106 a specific shape or size. Components of radar system 104 may be mounted on, installed in, or integrated with any part of vehicle 102, such as the front, rear, top, bottom, or sides of vehicle 102, bumpers, side mirrors, headlights and / or taillights, or at any other internal or external location on vehicle 102.

[0023] Although not shown, vehicle 102 includes other vehicle systems that use wired and / or wireless links as interconnects, paths, or buses for vehicle components, and are operationally and / or communicatively coupled to radar system 104. These other vehicle systems use outputs from radar system 104 to perform vehicle-based functions, which may include, among other functions, functions for vehicle control. Any conceivable device, apparatus, component, module, part, subsystem, routine, circuit, processor, controller, etc., can be configured as such a vehicle system that operates on behalf of vehicle 102-1 using radar data. As some non-limiting examples, other vehicle systems may include systems for autonomous control, systems for safety, systems for positioning, systems for vehicle-to-vehicle communication, systems for serving as occupant interfaces, and systems used as radar or multi-sensor trackers.

[0024] Radar system 104 includes a monolithic microwave integrated circuit (MMIC) 112, a processor 114, and a CRM 116. Processor 114 is operatively coupled to an interface of a multiple-input multiple-output (MIMO) array (not shown) via MMIC 112. MMIC 112, processor 114, and / or CRM 116 may be operatively and / or communicatively coupled via a wired or wireless link (not shown) and may be part of a radar chip (which may be referred to as a system-on-a-chip). Other devices, antennas, and other radar components may be used by radar system 104. Radar system 104 includes antenna arrays, such as multiple-input multiple-output (MIMO) arrays, capable of transmitting multiple chirps across multiple channels and frequency ranges.

[0025] MMIC 112 accumulates radar data from the MIMO array for processor 114. The radar data includes information about the position and movement of objects in the field of view 106, such as the rate of change of position and range of radar detection reflected from object 108. MMIC 112 receives instructions from processor 114 to instruct the characteristics (e.g., timing, phase, frequency range, channel) of radar signal 110-1 and its corresponding radar echo 110-2. MMIC 112 causes radar signal 110-1 to be transmitted via the MIMO array and enters environment 100, and then causes the corresponding radar echo 110-2 to be received.

[0026] Processor 114 processes radar data generated by MMIC 112 and outputs the processed radar data in a form available to other vehicle systems of vehicle 102. Data cube 118 is an example of processed radar data generated by processor 114 based on radar data obtained from MMIC 112. According to the techniques of this disclosure, data cube 118 is generated by performing various functions, including interleaved range and Doppler radar processing. Processor 114 may include a controller, control circuitry, microprocessor, its own chip, its own system, its own system-on-a-chip, device, processing unit, digital signal processing unit, graphics processing unit, or central processing unit. Processor 114 may include multiple processors or cores, embedded memory storing executable software or firmware, internal / dedicated / secure cache, or any other computer element enabling processor 114 to execute machine-readable instructions for generating radar output.

[0027] In some examples, at least CRM 116 and processor 114 are single components, such as embedded systems or systems-on-a-chip. At least a portion of CRM 116 is configured as dedicated storage for processor 114. CRM 116 may include storage portions (e.g., memory) reserved by processor 114 to maintain data cube 118 after interleaving range and Doppler radar processing. Access to CRM 116 may be shared by other components of radar system 104. CRM 116 may also store machine-readable instructions for performing radar operations, including functions of range estimator 120, Doppler estimator 122, and angle estimator 124. For the purposes of this disclosure, the functions performed by processor 114 are described primarily with respect to the generation of data cube 118. It should be understood that generating data cube 118 using the interleaving of range and Doppler radar processing can also result in high performance of other radar-based functions, including applying other functions to data cube, localization, object detection, object classification, and / or object tracking. Data cube 118 and information derived from it (e.g., tracking) can be transmitted from radar system 104 to other vehicle systems and / or other vehicles and systems within vehicle 102. Communication within radar system 104 of data cube 118 can also enable the functionality of other radar components (e.g., other processors, other circuitry), which are not shown in the figures for brevity. Figure 1 These other radar components are shown in the image.

[0028] When performing the functions of distance estimator 120 and Doppler estimator 122, portions of data cube 118 are written to or read from CRM 116. Distance estimator 120 allows processor 114 to write to CRM 116 to populate rows of data cube 118 with distance processing results. Doppler estimator 122 allows processor to clear portions of data cube 118 by reading from CRM 116 and utilizes columns of distance processing results during Doppler processing. Processor 114 uses a unique addressing function to manage access to data cube 118 maintained at CRM 116. This addressing function allows data cube 118 to be filled and cleared simultaneously, enabling parallel writing of distance processing results to and reading of distance processing results from data cube 118 to perform Doppler processing.

[0029] consider Figure 1 The example shown illustrates this. Object 108 is in the travel path of vehicle 102. Radar system 104 detects object 108 and reports its position and movement by acquiring radar data from a portion of environment 100 captured by field of view 106. For example, processor 114 is operatively coupled to the interface of MMIC 112 and MIMO array. Processor 114 obtains radar data from MMIC 112, including multiple samples of radar echoes 110-2 corresponding to multiple chirps transmitted across multiple channels into the external environment 100 of vehicle 102.

[0030] Based on multiple samples of radar echo 110-2, processor 114 invokes range estimator 120 and Doppler estimator 122 to perform range processing interleaved with Doppler processing. For example, CRM 116 includes a portion of the memory where processor 114 maintains data cube 118. The memory allocated to data cube 118 is large enough to store processed radar data for a single viewing cycle of radar system 104. Range estimator 120 writes range results to data cube 118, and Doppler estimator 122 reads range results from data cube 118 to perform Doppler processing. However, unlike conventional radar processing, Doppler estimator 122 is not limited to completing Doppler processing before the start of the next viewing cycle. While Doppler estimator 122 completes Doppler processing for the previous viewing cycle, range estimator 120 can perform range processing on multiple samples for the current viewing cycle. Doppler processing of the previous viewing cycle is allowed to be completed during processor idle time of processor 114, which occurs between consecutive chirps of distance estimator 120 processing the distance of the current viewing cycle. In other words, distance estimator 120 hands over control of processor 114 to Doppler estimator 122 to complete the Doppler processing of the previous viewing, rather than maintaining control of processor 114 throughout the entire distance processing phase of the viewing cycle.

[0031] To achieve this, addressing of the data cube 118 within the CRM 116 is carefully managed from one viewing cycle to the next. The processor 114 configures the distance estimator 120 and the Doppler estimator 122 to alternate between filling and emptying the data cube 118 from one viewing cycle to the next. For example, a first viewing cycle includes the distance estimator 120 writing distance FFT results to rows of the data cube 118, and further includes the Doppler estimator 122 reading distance FFT results from columns of the data cube 118. Subsequent viewing cycles then include the distance estimator 120 writing distance FFT results to columns of the data cube 118, instead of rows. The Doppler estimator 122 reads distance FFT results from rows of the data cube 118, instead of columns.

[0032] Finally, data cube 118 is used to infer estimates of range, Doppler, and angle (in response to angle estimator 124 processing radar data) for each detection obtained from radar data identification. Processor 114 is configured to output indications of data cube 118 (e.g., actual data stored at CRM 116 or pointers to actual data) for use by the functions of vehicle 102 or radar system 104. For example, angle estimator 124 can use data cube 118 to determine angles or angles of arrival for detections inferred from data cube 118. Unlike during Doppler or range processing, angle estimator 124 can access the channel dimensions of data cube 118.

[0033] With Doppler processing allowed to continue into subsequent viewing cycles, processor 114 achieves better overall hardware utilization, and during this time, the Doppler estimator 122 is given more time for its complex operations. Furthermore, not only is processor 114 utilization improved, but memory utilization remains under control even with increased chirp. The described techniques for interleaved range and Doppler radar processing are compatible with low-cost systems where the memory allocated for radar processing is limited to a portion of the memory that can store only one data cube at a time.

[0034] Interlacing distance and Doppler processing details

[0035] Figure 2-1 A timing diagram 200-1 of an example radar echo is shown. The radar echo transmitted according to timing diagram 200-1 is an example of radar echo 110-2. Radar signal 110-1 is transmitted during each viewing cycle. Radar echo 110-2 is acquired by MMIC 112 when radar signal 110-1 is reflected back from an object in field of view 106. Figure 2-1 In the example shown, radar echo 110-2 is sampled during each viewing period 202, for each chirp interval 204, including multiple samples of chirps 206-1 and 206-2 across multiple channels (e.g., frequencies) (collectively referred to as multiple chirps 206).

[0036] Figure 2-2 It shows the method for processing data from... Figure 2-1Timing diagram 200-2 shows the sequence of range and Doppler radar processing performed on the radar echoes. Timing diagram 200-2 illustrates the conventional method of radar processing multiple samples of multiple chirps 206. The multiple samples of multiple chirps 206 are obtained from the MMIC 112 during two chirp intervals in chirp interval 204. During radar processing phases 208-1, 208-2, ..., 208-k (collectively referred to as radar processing phase 208), chirps 206 are sampled and processed for range, Doppler, and other estimates. Each of radar processing phases 208 is temporally divided into two consecutive periods: range processing periods 210-1, 210-2, ..., 210-k (collectively referred to as range processing period 210) and Doppler processing periods 212-1, 212-2, ..., 212-k (collectively referred to as Doppler processing period 212). Figure 2-3 To create a contrast, Figure 2-2 It is shown that Doppler processing cycle 212-1 is not allowed to begin until distance processing cycle 210-1 is completed. In this conventional example, the chirp interval 204 and distance processing cycle 210 consume more than half of the viewing cycle 202. However, Doppler processing computations require more time than distance processing computations. It is desirable to allow each of the Doppler processing cycles 212 to extend into the distance processing cycle 210 of the subsequent viewing cycle 202 during processor idle time.

[0037] This is impossible with traditional data cube storage and addressing schemes because there is no option to retain multiple data cubes for buffering. Existing data cube addressing functions organize data cube 118 based on the distance, chirp, and channel group obtained from accessing individual variable memory addresses. However, when the same address mapping is used for each view cycle, the columns of data cube 118 cannot be cleared until all rows are filled. The next view cycle waits for the Doppler process to clear all columns before the distance process can fill the rows again.

[0038] Figure 2-3 It shows the method for processing data from... Figure 2-1 The timing diagram for radar echo interleaving and Doppler radar processing is shown in Figure 200-3. (Compared to...) Figure 2-2 compared to, Figure 2-3 This illustrates that the Doppler processing cycle 212 is allowed to complete execution during the processing idle time of the distance processing cycle 210 in subsequent viewing cycles. Unlike conventional data cube storage and addressing schemes, the processor 114 is configured to process the radar echo 110-2 by filling and emptying the data cube 118 in different ways from one viewing cycle to the next.

[0039] According to timing diagram 200-3, processor 114 is configured to perform distance processing for the first chirp of the current look-through cycle, and while waiting for the second chirp of the current look-through cycle, processor 114 is further configured to complete a portion of the Doppler processing of the previous look-through cycle. For example, during distance processing cycle 210-2, Doppler processing cycle 212-1 of the previous look-through cycle is allowed to be executed during processor idle time. Doppler processing cycle 212-2 is initiated after distance processing cycle 210-2 completes. Execution of Doppler processing cycle 212-2 is allowed to continue into distance processing cycle 210-3, for example, during processor idle time while waiting between two chirs in chirp 206.

[0040] When comparing timing diagrams 200-2 and 200-3 side by side, the Doppler processing cycle 212 of the conventional radar processing scheme is much shorter in duration than the Doppler processing cycle 212 of timing diagram 200-3, which shows that it makes better use of available computing resources to complete complex tasks.

[0041] Doppler processing is not the only function permitted to utilize idle processing time within each range processing cycle 210. For example, radar system 104 may apply other radar functions to data cube 118 during processor idle time occurring between consecutive chirps of the current viewing cycle. Some examples of these other functions may include angle estimation, interference mitigation, etc. Programmable direct memory addressing (PDMA) operation is also supported during processor idle time to synchronize or otherwise enable the output of data cube 118 (e.g., to a data stream for use by radar system 104 and / or other components of vehicle 102).

[0042] If certain conditions are met, additional functions, including Doppler processing, can be performed during other idle periods of distance processing. For example, the condition for distance processing is that chirped data is available. The condition for Doppler processing is that distance results for a specific group of distances are available. It may not be permissible to prevent operations that maintain control over processor 114 while waiting for data (e.g., during distance processing); time is not wasted waiting to test any conditions, and independent activities can continue.

[0043] Polling can be used to manage the control of processor 114 between range processing and Doppler processing. However, to achieve the aforementioned purpose, polling is configured to occur at a minimum rate. This means that longer activities, such as Doppler processing, are broken down into smaller steps that can occur within the time allowed by the minimum polling rate. After each step of Doppler processing, control of processor 114 returns to the main polling loop to allow higher-priority activities, such as range processing, to occur in the middle of Doppler processing. The minimum polling rate is determined by real-time constraints (such as the chirp pulse repetition period). This is necessary, for example, so that MMIC 112 can process the radar data before it is overwritten by later chirped data. Each activity (e.g., range processing, Doppler processing, PDMA operation) returns to the main polling loop when it is in a known state and its context (e.g., register values, variable values, program counter) has been saved. Other activities may occur before resuming an activity, but when that activity resumes, the context is known.

[0044] Figure 2-4 It shows the use of in Figure 2-3 The diagram illustrates a shared location write and read operation of the data cube for the CRM during interleaved range and Doppler radar processing. As mentioned in the previous section, using the same memory mapping for data cube 118 from one view cycle to the next does not allow a single data cube to be used in parallel by range and Doppler processing, thus preventing conflicts between range processing writing rows and Doppler processing reading from columns. To interleave range and Doppler processing, processor 114 uses two separate address mapping functions to access data cube 118 and CRM 116 for consecutive views, which prevents row and column conflicts.

[0045] Figure 2-4 Data cube 118 is shown in different example scenarios 214-1 through 214-3. For the sake of brevity, the channel dimensions of data cube 118 are not shown. In each of these scenarios, CRM 116 is accessed during interleaved distance and Doppler processing to write to or read from data cube 118. Each of the mesh-shaded cells is filled with the distance FFT result, while each unshaded cell is empty. In this example, horizontal reads or writes are performed linearly across rows of data cube 118, then moving down to the next row. Vertical reads or writes to data cube 118 are filled by jumping down along columns, then jumping right to the next column.

[0046] Referring to scenario 214-1, distance processing cycle 210-1 may include a distance estimator 120 that causes each row of data cube 118 to be filled (e.g., sequentially). Once distance processing cycle 210-1 is complete, Doppler processing cycle 212-1 may begin, read from the columns of data cube 118 by Doppler estimator 122.

[0047] Scenario 214-2 illustrates Doppler estimator 122 clearing columns of data cube 118 during Doppler processing cycle 212-1. Doppler processing cycle 212-1 is interleaved with distance processing cycle 212-2, and Doppler processing cycle 212-1 is initiated immediately upon completion of distance processing cycle 210-1 to maximize processor utilization before subsequent viewing cycles. A portion of data cube 118 is cleared in response to the initiation of Doppler processing cycle 212-1 before subsequent viewing cycles and subsequent distance processing cycles can begin. For example, this portion of data cube 118 may be less than half the size of the data cube (e.g., several columns, a quarter column) or may be at least half the size of the data cube (e.g., two-thirds of the columns).

[0048] To prevent conflicts between Doppler processing cycle 212-2 and subsequent range processing cycles, processor 114 uses an alternating write and read scheme to manage access to data cube 118 from one view cycle to the next. While range processing cycle 210-2 is waiting for new radar data from the current view cycle from MMIC 112, Doppler processing cycle 212-1 is allowed to clear the range FFT results from columns of data cube 118 during processor idle time (e.g., between chirps). Doppler processing cycle 212-1 completes execution during one or more idle processor times before range processing cycle 210-2 completes.

[0049] In scenario 214-2, Doppler processing cycle 212-2 is initiated immediately after distance processing cycle 210-2 completes to maximize processor utilization and further prevent collisions. Instead of reading rows, Doppler processing cycle 212-1 involves reading the distance FFT results from the columns of data cube 118. During the next viewing cycle, distance processing cycle 210-3 can begin by filling the rows of data cube 118, similar to scenario 214-2. After data cube 118 has been filled with several rows of distance FFT results, the columns are processed by Doppler processing, and the distance FFT results are written to the columns instead of the rows. This process is repeated similarly for all subsequent viewing cycles.

[0050] The process of using interleaved range and Doppler radar processing

[0051] Figure 3A flowchart of an example process 300 for interleaved range and Doppler radar processing is shown. For ease of description, process 300 is primarily described in the context of execution by radar system 104 using processor 114 to access CRM 116. For example, range estimator 120 may write to a portion of CRM 116 to populate data cube 118. When executed in parallel with range estimator 120, Doppler estimator 122 may read from a portion of CRM 116 to clear data cube 118. In this example, the operations (also referred to as steps) of process 300 are numbered from 302 to 308. However, this numbering does not necessarily imply a specific order of operations. The steps of process 300 can be performed in conjunction with... Figure 3 The flowchart shows different ways to rearrange, skip, repeat, or execute specific methods.

[0052] At 302, a data cube of sufficient size is maintained in the radar system's memory to store processed radar data for a single viewing cycle. For example, processor 114 allocates a portion of CRM 116 as data cube 118 to store range FFT results from range estimator 120 when range estimator 120 fills and writes to data cube 118.

[0053] At position 304, multiple samples of radar echoes are acquired, corresponding to multiple chirps emitted across multiple channels into the vehicle's external environment. For example, MMIC 112 acquires radar data corresponding to radar echoes 110-2 reflected from objects in field of view 106. Processor 114 acquires the radar data from MMIC 112 to process the radar data into a data cube 118.

[0054] At position 306, distance processing, interleaved with Doppler processing, is performed based on multiple samples by simultaneously performing distance processing on multiple samples of the current viewing period while completing Doppler processing of the previous viewing period. The Doppler processing of the previous viewing period is completed during processor idle time, which occurs between consecutive chirps of the current viewing period.

[0055] Processor 114 can perform interleaved range and Doppler processing by following an alternating read and write scheme, different from conventional radar processing. For each viewing cycle, processor 114 can alternate between the following two:

[0056] 1) Perform distance processing on multiple samples for the viewing period by writing the distance FFT results to the rows of the data cube, and perform Doppler processing on multiple samples for the viewing period by reading the distance FFT results from the columns of the data cube; and

[0057] 2) Perform distance processing on multiple samples of the viewing period by writing the distance FFT results to the columns of the data cube, and perform Doppler processing on multiple samples of the viewing period by reading the distance FFT results from the rows of the data cube.

[0058] For example, during the current viewing period, rows of data cube 118 are populated with the distance FFT results. After data cube 118 is populated in the current viewing period, Doppler processing can take over, and the columns of data cube 118 are cleared by Doppler estimator 122. During the next viewing period, distance estimator 120 populates the empty columns of data cube 118, which were cleared by Doppler processing and Doppler estimator 122. Distance estimator 120 is prevented from populating the columns of data cube 118 until sufficient Doppler processing has occurred and at least a portion of data cube 118 is empty. For example, distance estimator 120 can delay writing the distance FFT results of the current viewing period until Doppler estimator 122 has performed sufficient Doppler processing on the distance FFT results of the previous viewing period to prevent conflicts between distance estimator 120 and Doppler estimator 122 attempting to read and write the same columns. For the next viewing cycle, Doppler processing reads from the rows of data cube 118, and distance processing in subsequent viewing cycles alternates back to writing to the rows of data cube 118 that have been cleared by Doppler estimator 122. Figure 4 Further details of step 306 are described in the context of the process shown.

[0059] At 308, the radar system outputs a data cube indication for use by the vehicle's functions. For example, radar system 104 outputs a data cube 118 indication, including distances and Doppler estimates of potential objects in environment 100.

[0060] Example procedures for interleaved range and Doppler radar processing

[0061] Figure 4 A flowchart is shown for process 306-1, which involves performing range processing on multiple samples simultaneously with Doppler processing. Process 306-1 is an example of step 306 from process 306-1. For example, radar system 104 uses processor 114 to access CRM 116 to perform step 306, to populate and clear data cube 118 using interleaved range and Doppler processing. The steps of process 306-1 are numbered; however, as with process 306-1, this numbering does not necessarily imply a specific order of operations. The steps of process 306-1 can be... Figure 4 The flowchart shows different ways to rearrange, skip, repeat, or execute specific methods.

[0062] Consider an example where distance processing from the previous lookup period has already occurred, causing distance estimator 120 to populate each row of data cube 118 with the distance FFT results. Then, as data cube 118 is populated, Doppler estimator 122 can begin emptying data cube 118, one column at a time. Doppler estimator 122 initiates the Doppler processing from the previous lookup period by reading the columns of data cube 118.

[0063] At step 400, distance processing is performed on multiple samples in the current viewing period for the current chirp. For example, instead of writing rows as in the previous viewing period, distance estimator 120 writes the distance FFT results for each chirp into columns.

[0064] At step 402, process 306-1 waits to obtain multiple samples of the next chirp for the current viewing period. For example, while range estimator 120 is waiting for additional radar data from MMIC 112, range estimator 120 relinquishes control of processor 114 so that other processes can execute on it.

[0065] At 404, while waiting for the next chirp, it is determined whether the Doppler processing for the previous viewing period has been completed. For example, Doppler estimator 122 determines whether the distance FFT results have been processed for the entire viewing period. If not, process 306-1 can proceed to step 406 to complete the Doppler processing.

[0066] At step 406, Doppler processing of the range FFT results from the previous viewing period resumes. Before the range estimator 120 can fill empty rows with the range FFT results of the current viewing period, the Doppler estimator 122 gains control of the processor 114 and reads one row of the data cube 118 at a time to complete the Doppler processing of the previous viewing period. In this way, the radar system 104 can complete a portion of the Doppler processing of the previous viewing period while waiting between chirps of the current viewing period. The Doppler estimator 122 benefits from the idle time that may occur with the processor 114 in other radar systems, where the range estimator is allowed to maintain control of the processor until all range processing is complete.

[0067] At step 408, distance processing is performed on multiple samples of the current viewing period for the next chirp. For example, distance estimator 120 continues distance processing for the current viewing period by writing the distance FFT result of the next chirp to another column of data cube 118.

[0068] At 410, it is determined whether distance processing for the current viewing period is complete. For example, distance estimator 120 determines whether the columns of data cube 118 have been populated with the distance FFT results for the current viewing period. If distance processing is not complete, process 306-1 returns to step 402 to wait for another chirp for the current viewing period. In response, steps 404, 406, and 408 are repeated.

[0069] At point 412, when the distance processing for the current viewing period is complete, Doppler processing of the distance FFT results for the current viewing period can be initiated. For example, since data cube 118 writes the distance FFT results column by column, Doppler estimator 122 reads from the rows of data cube 118 to perform Doppler processing on the distance FFT results at different distances.

[0070] At 414, before the Doppler processing at step 412 is completed, the current viewing period is set to the previous viewing period, and the next viewing period is set to the current viewing period. Then, process 306-1 repeats from step 400 for the new current viewing period.

[0071] Address mapping for interleaved range and Doppler radar processing

[0072] Figure 5 and Figure 6 A conceptual diagram of an example memory access for interleaved range and Doppler radar processing is shown. Figure 5 and Figure 6 The diagram illustrates the mapping of range, chirp, and odd-numbered and even-numbered channel groups, mapped to physical addresses and memory locations in two memory mappings. Odd-numbered and even-numbered chirps are not required. This is merely an example of a scenario using eight receive channels, four hundred and twenty range bins, and one thousand and twenty-four chirs (e.g., five hundred and twelve odd-numbered chirs and five hundred and twelve even-numbered chirs).

[0073] As previously described, processor 114 may utilize several variables when address mapping to portions of data cube 118 (e.g., rows and columns of cells). One variable involved in address mapping includes the number of chirps, which is the total number of chirps in the viewing period and must be a power of two (e.g., 512). Another variable used for address mapping includes the number of channel groups, which is the total number of channel groups (e.g., two odd chirps and two even chirps). A third variable is the number of channels per channel group (e.g., one, multiple channels compressed together), and a fourth variable used in address mapping includes the number of distance bins used (e.g., 420, which may be less than the distance given by the distance FFT result). The last variable used for address mapping includes the number of possible distances from the distance FFT result (e.g., 512) and must be a power of two. The number of distance bins used may differ from the number of possible distances. The first is the number of distances written in distance processing and the number of distances processed in Doppler processing. The second one, also a power of two, is used to calculate the starting address during distance and Doppler processing.

[0074] Therefore, address mapping can be defined using the span of bits or bytes in memory (e.g., CRM 116), depending on the chirp, group, distance, and channel. Consider... Figure 5 and Figure 6 Example; the address mapping alternates between a first address mapping for distance processing rows and Doppler processing columns and a second address mapping for distance processing columns and Doppler processing rows.

[0075] For the first address mapping, processor 114 accesses the data cube 118 stored by CRM 116 using addressing functionality that arranges the cells of data cube 118 according to chirp, group, and distance. A first sum is derived by multiplying the chirp number (e.g., a unique number for each chirp) by the number of channel groups and adding it to the group number (e.g., a unique number for each channel group). This first sum is multiplied by the number of possible distances and added to the distance number (e.g., unique for each distance bin) to derive a second sum. The second sum is multiplied by the number of channels per channel group plus the channel number (e.g., a unique number for each possible channel) to obtain a third sum. Distance processing steps to the next address by incrementing the address by the number of channels per group. Doppler processing traverses the addresses by incrementing the address by a step size corresponding to the product of the number of channels per group, the number of possible distances, and the number of channels per channel group.

[0076] For the second address mapping, processor 114 accesses the data cube 118 stored by CRM 116 using a different addressing function that arranges the cells of data cube 118 according to chirp, group, and distance. A first sum is used, comprising the distance number multiplied by the number of channel groups added to the group number. The first sum is multiplied by the chirp count and added to the chirp count to generate a second sum. The second sum is multiplied by the number of channels per group and added to the channel number to obtain a third sum.

[0077] Distance processing iterates through addresses by incrementing the address by a step size corresponding to the product of the number of channels in each group, the number of possible distances, and the number of channels in each channel group. Doppler processing steps to the next address by incrementing the address by the number of channels in each group.

[0078] Thus, the "distance" and "chirp" variables interchange roles in different address mappings. Other address mapping schemes can be used, as long as they define address mappings consistent with the feature transpose that occurs between the distance and Doppler processing. This allows the distance processing to fill positions in the data cube 118 that the Doppler processing is clearing. The number of chirps can be the same as or different from the number of possible distances, or they can be the same. For example, the distance processing can fill the data cube 118 with the distance FFT results of two chirps after the Doppler processing has cleared the distance FFT results of only one distance bin.

[0079] Therefore, an efficient way of managing processor idle time and memory usage allows radar system 104 to include more complex signal processing routines, such as interference mitigation and coherent integration, within the time budget allocated to the viewing cycle. For example, interference mitigation time is provided before writing the range FFT results, allowing Doppler processing to continue into the next viewing cycle. Furthermore, similar to Doppler processing, angle estimator 124 can estimate the angle of arrival or direction based on data cube 118 during the processing idle time of subsequent views. This allows key performance indicators of radar system 104, such as chirp count, sample count, number of possible range bins, and detection count, to be significantly increased to meet different applications without increasing memory or computational resources. This concept is portable to different radar variants, allowing for reuse in current and future generations of radar. In effect, the radar's computational power to process more radar data with the same amount of resources is improved compared to previous radar designs. In some cases, radar processing may not be feasible in automotive or other cost-sensitive applications without this range-Doppler interleaving method.

[0080] Further examples

[0081] Below are some additional examples for interleaved range and Doppler radar processing.

[0082] Example 1: A method comprising: maintaining a data cube of sufficient size in the memory of a radar system to store processed radar data for a single viewing cycle; obtaining multiple samples of radar echoes corresponding to multiple chimes transmitted across multiple channels into the external environment of a vehicle; performing range processing interleaved with Doppler processing based on the multiple samples by performing range processing on the multiple samples of the current viewing cycle while completing Doppler processing of the previous viewing cycle, the Doppler processing of the previous viewing cycle being completed during processor idle time occurring between consecutive chimes of the current viewing cycle; and outputting an indication of the data cube from the radar system for use by the functions of the vehicle.

[0083] Example 2: A method of any of the preceding examples, wherein the data cube comprises rows and columns, and distance processing interleaved with Doppler processing is performed based on multiple samples, comprising, for each viewing period, alternating between: performing distance processing on multiple samples of the viewing period by writing distance FFT results to rows of the data cube and performing Doppler processing on multiple samples of the viewing period by reading distance FFT results from columns of the data cube; and performing distance processing on multiple samples of the viewing period by writing distance FFT results to columns of the data cube and performing Doppler processing on multiple samples of the viewing period by reading distance FFT results from rows of the data cube.

[0084] Example 3: The method of any of the preceding examples, wherein performing distance processing interleaved with Doppler processing based on multiple samples includes: in response to performing distance processing on multiple samples of the previous viewing period, initiating Doppler processing on multiple samples of the previous viewing period during the previous viewing period.

[0085] Example 4: The method of any of the foregoing examples further includes: applying additional radar functions to the data cube during processor idle time that occurs between consecutive chirps of the current viewing cycle.

[0086] Example 5: The method of any of the preceding examples, wherein applying additional radar functions to the data cube includes estimating angles or angles of arrival from the data cube.

[0087] Example 6: The method of any of the preceding examples, wherein performing distance processing on multiple samples of the current viewing period while completing the Doppler processing of the previous viewing period includes: performing distance processing on the first chirp of the current viewing period; and completing a portion of the Doppler processing of the previous viewing period while waiting for the second chirp of the current viewing period.

[0088] Example 7: The method of any of the foregoing examples further includes: clearing a portion of the data cube in response to initiating Doppler processing for the previous viewing period; and filling the data cube starting from the cleared portion in response to performing distance processing on multiple samples for the current viewing period.

[0089] Example 8: A method of any of the preceding examples, wherein a portion of the data cube comprises less than half of the data cube.

[0090] Example 9: A method of any of the preceding examples, wherein a portion of the data cube comprises at least half of the data cube.

[0091] Example 10: The method of any of the preceding examples, wherein performing distance processing on multiple samples in the current viewing period while completing the Doppler processing of the previous viewing period includes: writing the distance processing result of the previous viewing period into the row order of the data cube; reading the distance processing result of the previous viewing period from the column order of the data cube to initiate the Doppler processing of the previous viewing period; writing the distance processing result of the current viewing period into the column order of the data cube; and reading the distance processing result of the current viewing period from the row order of the data cube to initiate the Doppler processing of the current viewing period.

[0092] Example 11: The method of any of the foregoing examples further includes: performing distance processing on multiple samples in the next viewing period while completing the Doppler processing for the current viewing period.

[0093] Example 12: A system comprising: a memory; an interface to a multiple-input multiple-output (MIMO) array; and a processor operatively coupled to the interface to the MIMO array, and the processor being configured to perform a method of any of the preceding examples.

[0094] Example 13: A computer-readable storage medium including instructions that, when executed, cause a processor of a radar system to perform any of the methods described above.

[0095] Example 14: A system comprising means for performing the method of any of the preceding examples.

[0096] Conclusion

[0097] While various embodiments of the present disclosure have been described in the foregoing description and illustrated in the accompanying drawings, it should be understood that the present disclosure is not limited thereto, but can be practiced in various ways within the scope of the following claims. It will be apparent from the foregoing description that various modifications can be made without departing from the scope of the present disclosure as defined by the following claims. Problems associated with performing tracking associations, at least in part based on low-confidence detection, may arise in other systems (e.g., imaging systems, lidar systems, ultrasonic systems) used for identifying and processing tracking from various sensors. Therefore, although described as improving radar tracking, the techniques described above can be adapted and applied to other problems to efficiently detect and track objects in a scene using other types of object trackers.

[0098] Unless the context explicitly states otherwise, the use of "or" and grammatically related terms indicates an unrestricted, non-exclusive alternative. As used herein, the phrase referring to "at least one" of a list of items means any combination of those items, including a single member. As an example, "at least one of a, b, or c" is intended to cover: a, b, c, ab, ac, bc, and abc, as well as any combination with multiple identical elements (e.g., aa, aaa, aab, aac, abb, acc, bb, bbb, bbc, cc, and ccc, or any other ordering of a, b, and c).

Claims

1. A method, the method comprising: Maintain a data cube of sufficient size in the radar system's memory to store the processed radar data acquired in a single viewing cycle; During the single viewing period, multiple samples of radar echoes are obtained, which correspond to multiple chirps emitted across multiple channels into the external environment of the vehicle; Based on the multiple samples, distance processing is performed by performing distance processing on multiple samples in the current viewing period while completing the Doppler processing of the previous viewing period. The Doppler processing of the previous viewing period is completed during processor idle time that occurs between consecutive chirps in the current viewing period. as well as The radar system outputs instructions from the data cube for use by the vehicle's functions.

2. The method of claim 1, wherein, The data cube comprises rows and columns, and distance processing interleaved with Doppler processing based on the plurality of samples includes alternating between the following for each viewing period: Distance processing is performed on multiple samples of the viewing period by writing the distance FFT results into the rows of the data cube, and Doppler processing is performed on multiple samples of the viewing period by reading the distance FFT results from the columns of the data cube; as well as Distance processing is performed on the plurality of samples for the viewing period by writing the distance FFT results into the columns of the data cube, and Doppler processing is performed on the plurality of samples for the viewing period by reading the distance FFT results from the rows of the data cube.

3. The method of claim 1, wherein, The distance processing performed based on the multiple samples, intertwined with Doppler processing, includes: In response to distance processing of the plurality of samples in the previous viewing period, Doppler processing of the plurality of samples in the previous viewing period is initiated during the previous viewing period.

4. The method of claim 1, further comprising: During the processor idle time that occurs between consecutive chirps of the current viewing cycle, additional radar functions are applied to the data cube, including estimating angles or angles of arrival from the data cube.

5. The method of claim 1, wherein, While completing the Doppler processing of the previous viewing period, distance processing is performed on the multiple samples of the current viewing period, including: Distance processing is performed on the first chirp of the current viewing period; and While waiting for the second chirp of the current viewing cycle, a portion of the Doppler processing of the previous viewing cycle is completed.

6. The method of claim 1, further comprising: In response to initiating the Doppler process of the previous viewing cycle, a portion of the data cube is cleared; as well as In response to distance processing of the plurality of samples in the current viewing period, the data cube is filled starting from the cleared portion.

7. The method of claim 6, wherein, The portion of the data cube comprises less than half of the data cube.

8. The method of claim 6, wherein, The portion of the data cube includes at least half of the data cube.

9. The method of claim 1, wherein, While completing the Doppler processing of the previous viewing period, distance processing is performed on the multiple samples of the current viewing period, including: Write the distance processing result of the previous viewing period into the row order of the data cube; Read the distance processing results of the previous viewing period sequentially from the columns of the data cube to initiate Doppler processing for the previous viewing period; Write the distance processing result of the current viewing period into the column order of the data cube; and The distance processing result of the current viewing period is read sequentially from the rows of the data cube to initiate Doppler processing for the current viewing period.

10. The method of claim 9, further comprising: While completing the Doppler processing for the current viewing period, distance processing is performed on the multiple samples for the next viewing period.

11. A system comprising: Memory; Interface for multiple-input multiple-output (MIMO) arrays; as well as A processor operatively coupled to the interface of the MIMO array, and the processor being configured to: A data cube of sufficient size is maintained in the memory to store the processed radar data acquired in a single viewing cycle; During the single viewing period, multiple samples of radar echoes are obtained via the interface of the MIMO array, these samples corresponding to multiple chirps transmitted across multiple channels into the external environment of the vehicle; Based on the multiple samples, distance processing is performed interleaved with the Doppler processing by simultaneously performing distance processing on multiple samples in the current viewing period while completing the Doppler processing of the previous viewing period. The Doppler processing of the previous viewing period is completed during processor idle time occurring between consecutive chirps in the current viewing period. Output instructions from the data cube for use by the vehicle's functions.

12. A computer-readable storage medium comprising instructions that, when executed, cause a processor of a radar system to: A data cube of sufficient size is maintained in the memory of the radar system to store the processed radar data acquired in a single viewing cycle; During the single viewing period, multiple samples of radar echoes are obtained, which correspond to multiple chirps emitted across multiple channels into the external environment of the vehicle; Based on the multiple samples, distance processing is performed interleaved with the Doppler processing by simultaneously performing distance processing on multiple samples in the current viewing period while completing the Doppler processing of the previous viewing period. The Doppler processing of the previous viewing period is completed during processor idle time occurring between consecutive chirps in the current viewing period. Output instructions from the data cube for use by the vehicle's functions.

13. The computer-readable storage medium of claim 12, wherein, The data cube comprises rows and columns, and when executed, the instructions cause the processor to perform distance processing interleaved with Doppler processing based on the plurality of samples, alternating between the following for each viewing cycle: Distance processing is performed on multiple samples of the viewing period by writing the distance FFT results into the rows of the data cube, and Doppler processing is performed on multiple samples of the viewing period by reading the distance FFT results from the columns of the data cube; as well as Distance processing is performed on the plurality of samples for the viewing period by writing the distance FFT results into the columns of the data cube, and Doppler processing is performed on the plurality of samples for the viewing period by reading the distance FFT results from the rows of the data cube.

14. The computer-readable storage medium of claim 12, wherein, When the instruction is executed, it causes the processor to perform distance processing interleaved with Doppler processing based on the plurality of samples in such a way that, in response to performing distance processing on the plurality of samples in the previous viewing period, Doppler processing is initiated on the plurality of samples in the previous viewing period.

15. The computer-readable storage medium as claimed in claim 12, characterized in that, When the instruction is executed, it further causes the processor to: During the processor idle time that occurs between consecutive chirps in the current viewing cycle, other radar functions are applied to the data cube.

16. The computer-readable storage medium as claimed in claim 15, characterized in that, When executed, the instruction causes the processor to apply additional radar functions to the data cube by estimating the angle or angle of arrival from the data cube.

17. The computer-readable storage medium as claimed in claim 12, characterized in that, When the instruction is executed, it causes the processor to perform distance processing on the plurality of samples in the current viewing period while completing the Doppler processing of the previous viewing period: Distance processing is performed on the first chirp of the current viewing period; as well as While waiting for the second chirp of the current viewing cycle, a portion of the Doppler processing of the previous viewing cycle is completed.

18. The computer-readable storage medium as claimed in claim 12, characterized in that, When the instruction is executed, it further causes the processor to: In response to initiating the Doppler processing of the previous viewing cycle, a portion of the data cube is cleared; and In response to distance processing of the plurality of samples in the current viewing period, the data cube is filled starting from the cleared portion.

19. The computer-readable storage medium as claimed in claim 18, characterized in that, The portion of the data cube comprises less than half of the data cube.

Citation Information

Patent Citations

  • Radar signal processing for automated vehicles

    EP3109662A1

  • Programmable code generation for radar sensing systems

    US20180231656A1