PROVISION OF RADAR SENSOR DATA PACKETS
The procedure for reconstructing missing radar sensor data packages addresses the issue of incomplete data sets due to transmission errors, ensuring complete and accurate data for object detection and speed determination in autonomous driving systems.
Patent Information
- Application Number
- DE102023124140
- Authority / Receiving Office
- DE · DE
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-09-07
- Publication Date
- 2025-03-13
AI Technical Summary
Radar sensor data packages may be incomplete due to transmission errors, leading to rejected measurements and incomplete data sets, which can affect the accuracy of object detection and speed determination in autonomous driving systems.
A procedure for reconstructing missing radar sensor data packages by determining their positions within an orderly sequence using indicators, selecting data values from received packages to interpolate or extrapolate missing values, and providing reconstructed data values for further processing.
Enables the provision of complete data sets for further processing, reducing the rejection of measurements and improving the accuracy of object detection and speed determination in autonomous driving systems.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
FIELD OF THE INVENTION
[0001] The invention relates to the field of radar detection. In particular, the invention relates to a method for providing radar sensor data packets. BACKGROUND
[0002] Radar detection is used to detect objects that are within the detection range of a radar sensor. A radar signal detected by the radar sensor can be further processed to determine the distance and radial velocity of the detected objects relative to the radar sensor. Such a radar sensor can, for example, be integrated into a vehicle, e.g. a car, as part of an assisted, automated and / or autonomous driving system. The detected radar data can be transmitted from the radar sensor to a processing unit for further processing. However, errors can occur during the transmission of radar data from the radar sensor to the processing unit. For example, not all of a large number of radar sensor data packets for transmitting data values of a radar measurement from the radar sensor to the processing unit can reach the processing unit.Without measures to deal with such missing radar sensor data packets, the entire measurement may have to be discarded as faulty due to the incomplete transmission.
[0003] The aim of the invention is to provide a method, a computer program, and a processing unit for providing radar sensor data packets. The objects underlying the invention are achieved by the features of the independent claims. SUMMARY
[0004] In one aspect, a method for providing radar sensor data packets is disclosed. The method comprises receiving, from a radar sensor, a plurality of radar sensor data packets of an ordered sequence of radar sensor data packets from a radar sensor by a data processing unit. The radar sensor data packets of the ordered sequence of radar sensor data packets comprise data values of a Fourier transform of radar sensor data. The radar data is radar data acquired sequentially using the radar sensor. The radar sensor data packets comprise indicators indicating positions of the radar sensor data packets within the ordered sequence of radar sensor data packets. Based on the indicators of the received radar sensor data packets, it is determined whether one or more radar sensor data packets of the ordered sequence of radar sensor data packets are missing. In the event that radar sensor data packets are missing, the method further comprises reconstructing data.Reconstructing data includes determining, based on the indicators of the received radar sensor data packets, the positions of the one or more missing radar sensor data packets within the ordered sequence of radar sensor data packets. Based on the determined positions, data values from one or more radar sensor data packets of the received radar sensor data packets are selected to reconstruct one or more data values of the one or more missing radar sensor data packets. The one or more data values of the one or more missing radar sensor data packets are reconstructed using the selected data values. The reconstructed one or more data values are provided.
[0005] Examples may have the advantageous effect of enabling appropriate reconstruction of data values from missing radar sensor data packets. Thus, a complete set of data values, including both the data values from received radar sensor data packets and the data values from missing radar sensor data packets, can be provided for further processing, e.g., by the processing unit. Providing a complete set of data values may enable processing of the data values of a measurement, e.g., to accurately determine the position and / or speed of objects detected with a radar signal received from the radar sensor.
[0006] The radar data transmitted from the radar sensor to the processing unit in the form of an ordered sequence of radar sensor data packets can be radar data from a radar signal received by the radar sensor that has been Fourier transformed. The data contained in the ordered sequence of radar sensor data packets can be a Fourier transform, e.g., a one-dimensional fast Fourier transform (1D FFT) of the measurement data. The FFT can be, for example, a range FFT or a Doppler FFT. Such a data set of a radar sensor measurement, which is divided into a plurality of data packets and transmitted in the form of an ordered sequence of radar sensor data packets, is also referred to as a frame. The individual data packets can each consist of one or more data values. The data values can be complex data value matrices after the Fourier transformation.
[0007] Such a setup, with a radar sensor and a remote, e.g., central, processing unit for further processing the acquired and preprocessed radar sensor data, is referred to as a satellite architecture. Such a satellite architecture can offer advantages because the processing unit does not need to be integrated into the radar sensor. This can be particularly advantageous if there are spatial and / or cost constraints for the radar sensor. Furthermore, a central processing unit can be used to further process the radar sensor data from more than one radar sensor. The Fourier transform of the radar data from the measurement performed by the radar sensor is sent to the processing unit, e.g., a domain controller.
[0008] Using the indicators, it can be determined whether radar data packets are missing and which data packets are missing, i.e., their position within the ordered sequence of radar sensor data packets to be transmitted by the radar sensor. Knowing where data values are missing due to the missing radar sensor data packets, data values from the received radar sensor data packets can be selected to reconstruct the missing data values. For example, received data values located near a gap created by the missing data values in the data set can be selected for reconstruction. The data values can result from the sampling of a time-dependent radar signal, i.e., a position can be a position along a timeline.
[0009] For example, the radar sensor data packets, together with the Fourier-transformed radar data, can include a bit field that indicates which packets of the ordered sequence of data packets were received and which are missing, i.e., lost. The bit field consists of 8, 9, or 10 bits, for example. With 8 bits, 2 8 = 256 packets can be numbered. With 9 bits, for example, 2 9 = 512 packets can be numbered. With 10 bits, for example, 2 10 = 1024 packets are numbered. During frame reconstruction, the data values known to be missing from the received radar sensor data packets are recovered using the bit field. The reconstructed frame can then be passed to, for example, a standard radar processing algorithm.
[0010] A suitable communication protocol can be used to transmit the data packets from the radar sensor to the processing unit. For example, the User Datagram Protocol (UDP) can be used to transmit the data packets. UDP is used, for example, to send messages transported as datagrams in packets to other hosts, e.g., in an Internet Protocol (IP) network. UDP uses a simple connectionless communication model with a minimum of protocol mechanisms. The radar sensor data packets received by the processing unit, for example, are Ethernet UDP packets.
[0011] For example, several hundred packets may be required to transmit the radar data of a measurement from the radar sensor to the processing unit. For example, 320, 640, or 960 packets may be required to transmit a measurement.
[0012] Examples can have the beneficial effect of avoiding the discarding of an entire measurement due to the absence of just a few, e.g., a single, transmitted radar sensor data packets. Such a discarded measurement would be visible, for example, as missing data in a resulting point cloud containing data from a large number of measurements.
[0013] Instead, according to examples, missing packets can be identified and a reconstruction algorithm can be used to fill gaps resulting from the missing packets with reconstructed data values based on the data values provided by the received packets. The complete data values of the measurement can then be processed normally.
[0014] For example, confidence level data and / or packet loss statistics can be added to the resulting point cloud. Based on the number of missing and reconstructed data packets, a confidence level can be determined that describes the accuracy of the provided data. The lower the number of reconstructed data values, i.e., the lower the number of missing data packets, the higher the accuracy of the provided data can be. For example, if all radar sensor data packets from a measurement are missing, the missing data values can be set to zero. This provides data values for further processing, but these are neither precise nor trustworthy.
[0015] For example, interpolation can be used to reconstruct missing data values. For such an interpolation, a first set of valid data values preceding a group of missing data values, i.e., one or more missing radar sensor data packets, and a second set of valid data values following the group of missing data values can be selected for reconstruction.
[0016] The first set of selected valid data values may include positional data, e.g., along a timeline, that immediately precedes the positions for which data values are missing. For example, the first set of selected valid data values may include a predefined number N of positional data values that immediately precede the positions for which data values are missing.
[0017] The second set of selected valid data values may include positional data, e.g., along a timeline, that directly follow positions for which data values are missing. For example, the second set of selected valid data values may include a predefined number N of positional data values that directly follow positions for which data values are missing.
[0018] For reconstruction, e.g., interpolation, a first mean of the first set of selected valid data values and a second mean of the second set of selected valid data values can be determined. For example, an arithmetic mean can be used to average the first and second sets of valid data values, ie, v¯=1N(∑i=0N−1vi). For example, a weighted average can be used with v¯=∑i=0N−1wivi and ∑i=0N−1wi=1. With an arithmetic mean, all values are weighted equally, ie with 1N. With a weighted average, different values can be weighted differently. For example, the valid values of the sets with weights w i weighted based on their distance from the positions for which data values are missing. For example, data values with a shorter distance, i.e., closer to the positions for which data values are missing, can be weighted with a greater weight than data values from positions farther from the positions for which data values are missing.
[0019] If there is only a single valid data value before or after the missing data values, only the respective single valid value can be used instead of an average.
[0020] If the missing data values begin at the beginning of the time signal, i.e., if at least the first radar sensor data packet is missing, reconstruction may involve extrapolation, for which only a second set of selected data values following the missing data values can be used. For example, the selected data values of the second set can be averaged, and the resulting mean can be used to fill the missing data values. For example, for all missing data values, the mean can be used as the reconstructed data value.
[0021] If the missing data values are located at the end of the time signal, i.e., if at least the last radar sensor data packet is missing, reconstruction may involve extrapolation, for which only a first set of selected data values preceding the missing data values can be used. For example, the selected data values of the first set can be averaged, and the resulting mean can be used to fill the missing data values. For example, for all missing data values, the mean can be used as the reconstructed data value.
[0022] For example, if an entire time signal is missing, meaning all data packets are missing, all data values of the measurement can be set to zero. In the case of complex values, this means that both the real and imaginary parts of all data values of the missing measurement are set to zero.
[0023] Examples can have the beneficial effect that no or only negligible additional frequencies are introduced when reconstructing the frame, i.e., the data values of the missing radar sensor data packets. Such additional frequencies would be visible in a Fourier transform, e.g., FFT, applied to the reconstructed data, i.e., the data of the completed ordered sequence of radar sensor data packets, and could corrupt the radar measurement result. Padding a single value can result in high frequencies being introduced. For example, simply setting a missing value, especially a complex data value, to a predefined value such as zero without taking the other values of the signal into account can result in a high frequency when changing from normal values to the predefined constant value, e.g., zero, in one step.Such additional frequencies can lead to high peaks in the resulting FFT, which can lead to false detections during further radar processing.
[0024] For example, the radar data of a radar signal can be processed using Fourier transforms, e.g. FFTs, to separate detections of different objects, e.g. in the range and Doppler shift domain, ie in terms of distance and speed relative to the radar sensor.
[0025] The radar sensor can be installed, for example, in a vehicle, in particular a car, and can be configured to detect the surroundings of the vehicle, i.e., objects in the vicinity of the vehicle. The radar sensor can, for example, be a radar sensor of a front radar, a corner radar, a side radar, and / or a rear radar of the vehicle, e.g., a car.
[0026] Such a radar sensor can be used in a vehicle, e.g., to implement functions of an assisted, automated, and / or autonomous driving system. For example, such a radar sensor can be used in a vehicle for an adaptive cruise control (ACC). Adaptive cruise control is a type of advanced driver assistance system for road vehicles that is configured to automatically adjust the vehicle's speed, e.g., to maintain a safe distance from vehicles ahead. Adaptive cruise control can, for example, be part of a radar-based emergency braking system. Furthermore, such a radar sensor can, e.g., be used for cross-traffic alert (CTA) to detect cross-traffic, e.g., behind the vehicle. Such a cross-traffic warning system can, e.g.,work with a blind spot monitoring system and be configured to warn the driver of approaching cross traffic when reversing out of a parking space. Such a radar sensor can, for example, be used for door opening protection, which warns the driver of static or approaching obstacles when opening a vehicle door. Such a radar sensor can, for example, be used for blind spot monitoring to detect other vehicles or moving objects to the side or behind the driver. The radar frequencies commonly used for radar devices in vehicles can be in the range of 76 to 77 GHz, which corresponds to a wavelength of approximately 4 mm.
[0027] Radar sensors are devices that emit a radar signal and detect reflections of the emitted radar signal from objects within the detection range of the radar sensors. The properties of these reflections and thus of the detected radar signal can depend on characteristics of the reflecting objects within the detection range of the radar sensors. These characteristics of the objects can include, for example, position, size, shape, surface texture, movement characteristics and / or trajectory. The radar signal detected by the radar sensor can, for example, result from reflections of a radar signal emitted by the respective radar sensor or from reflections of a radar signal emitted by another radar sensor. The reflected radar signal detected by the radar sensor can, for example, describe the positions of one or more objects that are detected, e.g.defined by a distance, an azimuth angle, and an elevation angle, as well as the speeds of the one or more objects relative to the radar sensors. The presence of an object within the detection range of a radar sensor can be indicated, for example, by an intensity peak of the detected radar signal and thus the radar signal data that describes the respective radar signal. By determining the dependencies of the intensity peaks contained in the data values on distance and speed, the distance and speed of objects within the detection range of the radar sensor can be determined.
[0028] For example, reconstructing the one or more data values of the one or more missing radar sensor data packets includes weighting the selected data values depending on the distances of the selected data values to the one or more data values of the one or more reconstructed missing radar sensor data packets. For example, data values with smaller distances, i.e., closer to the positions for which data values are missing and need to be reconstructed, can be weighted with a greater weight than data values that are farther away from the positions for which data values are missing.
[0029] For example, the method further comprises averaging the selected data values of the one or more radar sensor data packets of the received radar sensor data packets and using a result of the averaging for the reconstruction.
[0030] Averaging can have the beneficial effect of reducing the noise caused by reconstruction. Reducing the noise can prevent the introduction of additional frequencies during further processing of the data values, which could cause peaks in an FFT. Such artificial peaks could lead to false detections during further radar processing. For example, an arithmetic mean can be used to average the selected data values of the one or more radar sensor data packets of the received radar sensor data packets, i.e., v¯=1N(∑i=0N−1vi).
[0031] By using averages of the selected valid values for reconstruction, e.g., interpolation, only minimal noise, if any, can be introduced into the Fourier transform, e.g., an FFT, during reconstruction. This ensures that the data in the remaining time signal still allows for reliable target detection using the radar sensor data.
[0032] For example, averaging involves calculating one or more averages. A predefined number of consecutive data values of the selected data values is used to calculate each of the one or more averages.
[0033] For example, a predefined number N of data values may be averaged. For example, an arithmetic mean may be used for averaging the selected data values of the one or more radar sensor data packets of the received radar sensor data packets, ie, v¯=1N(∑i=0N−1vi).
[0034] The predefined number N of data values to be averaged can be, for example, 10%, 9%, 8%, 7%, 6%, 5%, 4%, 3%, 2%, 1.5%, 1%, or 0.5% of the total number of data values comprising the ordered sequence of radar sensor data packets. The predefined number N of data values to be averaged can be, for example, 5, 4, 3, or 2 data values.
[0035] If the received radar sensor data packets at consecutive positions contain less than N data values in addition to missing data values to be reconstructed, less than N data values can be averaged.
[0036] For averaging, a predefined number N of data values can be used that precede the missing data values, i.e., the data values of the missing radar sensor data packets. If the received radar sensor data packets at the positions preceding the missing radar sensor data packets contain fewer than N data values, fewer than N data values can be averaged. If there is only a single data value that precedes the missing data values, i.e., the data values of the missing radar sensor data packets, this single value can be used without averaging.
[0037] A predefined number N of data values following the missing data values, i.e., the data values of the missing radar sensor data packets, can be used for averaging. If the received radar sensor data packets at positions following one or more missing radar sensor data packets contain fewer than N data values, fewer than N data values can be averaged. If there is only a single data value following the missing data values, i.e., the data values of the missing radar sensor data packets, this single value can be used without averaging.
[0038] For example, interpolation of the averaging results of the selected valid values adjacent to the missing data values can be used to fill this missing data. The averaging and interpolation can be performed, for example, in complex polar form. For example, N valid values immediately before the beginning of the missing data gap, i.e., the missing data values, can be averaged. For example, N valid values immediately after the end of the missing data gap, i.e., the missing data values, can be averaged. The values of the gap, i.e., the missing data values, can be interpolated between these two means.
[0039] The averaging includes, for example, weighting the selected data values depending on the distances of the selected data values to the one or more data values of the one or more missing radar sensor data packets that are reconstructed.
[0040] For example, a weighted mean can be used with v¯=∑i=0N−1wivi and ∑i=0N−1wi=1. Thus, the valid values of the selection sets can be weighted w i be weighted depending on their distance from the positions for which data values are missing. For example, data values with a shorter distance, i.e., closer to the positions for which data values are missing, can be weighted with a greater weight than data values that are farther away from the positions for which data values are missing.
[0041] For example, reconstructing the one or more data values of the one or more missing radar sensor data packets includes weighting the result of the averaging depending on the distances of the respective data values to the selected data values used for reconstruction. For example, a mean with a shorter distance, i.e., closer to a position for which a data value is missing and must be reconstructed, can be weighted with a greater weight than a mean farther from the position for which the data value is missing.
[0042] For reconstruction, interpolation can be used, for example. For this purpose, data values on both sides of a gap—i.e., positions for which data values are missing—can be selected and averaged. This initial averaging can be performed, for example, to reduce noise. The missing data values within the gap can be interpolated between the two averages resulting from averaging on both sides of the gap.
[0043] To weight the mean values used for reconstruction, a weight can be used that depends on the distance of the data value to be reconstructed from the averaged data values, e.g., the edge of the gap formed by the missing data values. For complex values, the weights can be applied to both the magnitude (i.e., the absolute value) and the phase (i.e., the argument value) of the complex values in polar form in order to reconstruct both the magnitude and phase of the missing data values independently of each other, e.g., by interpolation.
[0044] For example, in the case of N = 2, ie two selected data values per side of a gap with missing data values, the mean v¯=12(∑i=01vi) The mean calculated for the data values before the gap can be referred to as "mean_start," while the mean calculated for the data values after the gap can be referred to as "mean_end." The two means "mean_start" and "mean_end" can be calculated, for example, using an arithmetic mean as follows: mean_start:=0.5*second_last_valid_before_missing_data+0.5*last_valid_before_missing_data; mean_end:=0.5*first_valid_after_missing_data+0.5*second_valid_after_missing_data.
[0045] The weights for weighting the means when reconstructing the missing data values by interpolation can be, for example, (1 - w i ) and w i for the two means, where wi=i+1M+1, where M is the number of missing data values to be reconstructed and i = [0; M-1]: Weight:=(position_in_missing_data_zero-based+1) / (size_of_missing_data_group+1).
[0046] The value interpolated using the weights can be determined, for example, as follows: interpolated_value = (1-weight)*average_start + weight*average_end.
[0047] The data values of the radar sensor data packets of the ordered sequence of radar sensor data packets are, for example, complex data values. The selected data values used for reconstruction are provided as combinations of absolute values and argument values. Reconstructing the one or more data values of the one or more missing radar sensor data packets comprises reconstructing the absolute values of the one or more data values of the one or more missing radar sensor data packets independently of reconstructing the argument values of the one or more data values of the one or more missing radar sensor data packets.
[0048] Reconstructing the absolute values and argument values independently of each other can enable suitable reconstruction even with complex data values. For example, averaging of the selected data values can be performed independently for the absolute values and argument values of the selected data values. As a result, averages consisting of averaged absolute values and averaged argument values can be provided. The averaged absolute values can be used, for example, to reconstruct the absolute values of the missing data values to be reconstructed, and the averaged argument values can be used, for example, to reconstruct the argument values of the missing data values to be reconstructed.
[0049] For example, the complex data values can be specified in polar form, i.e., as a combination of absolute value and argument value. The complex data values can be provided, for example, in Cartesian form, i.e., as a combination of real and imaginary parts. If the data values are in Cartesian form, they can be transformed into polar form for averaging and / or reconstruction. The reconstructed data values resulting from reconstruction in polar form can be converted into Cartesian form.
[0050] For a complex value v comp ∈ ℂ, which in Cartesian form is written as v comp = x + i·y with {x, y} ∈ ℝ and where i is the imaginary unit with i 2 = -1, x = Re(v comp ) as real part of v comp while y = Im(v comp ) as the imaginary part of v comp A complex value v compcan thus be written as an ordered pair (Re(v comp ), In(v comp )) real values, which in turn can be interpreted as coordinates of a point in a two-dimensional space, ie, the complex plane. The coordinates used to define the point in the complex plane can be Cartesian coordinates, e.g., with x-values along the horizontal real x-axis to represent the real part Re(v comp ) and y-values along the vertical imaginary y-axis to represent the imaginary part Im(v comp ).
[0051] An alternative way to describe a complex value in terms of real values is the polar form using polar coordinates to define the point v comp = x + i·y in the complex plane with the distance of the point v compfrom the origin and the angle between the positive horizontal real x-axis and a counterclockwise line segment. This leads to the polar form v comp = |v comp (cos Φ+i·sin φ) of the complex value, where |v comp | the absolute value of v comp and φ is the argument value of v comp The absolute value of v comp is |v comp = (x 2 + y 2 ) 1 / 2 . The argument value of v comp is φ = atan2(y, x).
[0052] For example, reconstructing the one or more data values of the one or more missing radar sensor data packets comprises interpolating the one or more data values of the one or more missing radar sensor data packets using the selected data values of the one or more radar sensor data packets of the received radar sensor data packets. Interpolation can have the advantageous effect of allowing data values from two sides of the gap resulting from the missing data values to be used for reconstruction. This can ensure that the resulting data values match the received data values.
[0053] For example, reconstructing the one or more data values of the one or more missing radar sensor data packets comprises extrapolating the one or more data values of the one or more missing radar sensor data packets using the selected data values of the one or more radar sensor data packets of the received radar sensor data packets. Extrapolation may be used, for example, when data values are missing at the beginning or end of the received data packet. This may be the case, for example, when radar sensor data packets are missing at the beginning or end of the ordered sequence of radar sensor data packets to be transmitted.
[0054] For example, the method further comprises applying a further Fourier transform to the data values of the completed ordered sequence of radar sensor data packets comprising the one or more provided reconstructed data values.
[0055] The reconstructed radar sensor data can, for example, be time-based and used as input for a further Fourier transform, e.g., an FFT. Thus, some missing data values due to a loss of radar sensor data packets may not cause significant deviations compared to the complete data values transmitted by the radar sensor, as long as the reconstruction does not introduce new frequencies.
[0056] The further Fourier transformation can be used, for example, to determine distances or speeds. By further processing the data values, a range-Doppler profile can be determined, for example. A range-Doppler profile can be created in the form of a graphical two-dimensional representation of the intensities of radar reflections received from objects within the detection range of a radar sensor as a function of distance and Doppler frequency shift, i.e., the speed of the respective objects relative to the radar sensor.
[0057] In another aspect, a computer program for providing radar sensor data packets is disclosed. The computer program comprises program instructions. The program instructions are executable by a processor of a data processing unit to cause the data processing unit to receive multiple radar sensor data packets of an ordered sequence of radar sensor data packets from a radar sensor. The radar sensor data packets of the ordered sequence of radar sensor data packets comprise data values of a Fourier transform of radar sensor data. The radar data is radar data acquired sequentially using the radar sensor. The radar sensor data packets comprise indicators that indicate positions of the radar sensor data packets within the ordered sequence of radar sensor data packets.Based on the indicators of the received radar sensor data packets, it is determined whether one or more radar sensor data packets are missing from the ordered sequence of radar sensor data packets. If radar sensor data packets are missing, the data processing unit is further prompted to reconstruct data. Reconstructing data comprises determining, based on the indicators of the received radar sensor data packets, the positions of the one or more missing radar sensor data packets within the ordered sequence of radar sensor data packets. Based on the determined positions, data values from one or more radar sensor data packets of the received radar sensor data packets are selected in order to reconstruct one or more data values of the one or more missing radar sensor data packets.The one or more data values of the one or more missing radar sensor data packets are reconstructed using the selected data values. The reconstructed one or more data values are provided.
[0058] The program instructions included in the computer program may further be executed by the processor of the processing unit to cause the processing unit to execute one of the above-mentioned examples of the method for providing radar sensor data packets.
[0059] For example, a computer program product for providing radar sensor data packets is disclosed. The computer program product comprises a computer-readable storage medium with program instructions embodied therein. The program instructions are executable by a processor of a data processing unit to cause the data processing unit to receive multiple radar sensor data packets of an ordered sequence of radar sensor data packets from a radar sensor. The radar sensor data packets of the ordered sequence of radar sensor data packets comprise data values of a Fourier transform of radar sensor data. The radar data is radar data acquired sequentially using the radar sensor. The radar sensor data packets comprise indicators that indicate positions of the radar sensor data packets within the ordered sequence of radar sensor data packets.Based on the indicators of the received radar sensor data packets, it is determined whether one or more radar sensor data packets are missing from the ordered sequence of radar sensor data packets. If radar sensor data packets are missing, the data processing unit is further prompted to reconstruct data. Reconstructing data comprises determining, based on the indicators of the received radar sensor data packets, the positions of the one or more missing radar sensor data packets within the ordered sequence of radar sensor data packets. Based on the determined positions, data values from one or more radar sensor data packets of the received radar sensor data packets are selected in order to reconstruct one or more data values of the one or more missing radar sensor data packets.The one or more data values of the one or more missing radar sensor data packets are reconstructed using the selected data values. The reconstructed one or more data values are provided.
[0060] The program instructions included in the computer program product may further be executed by the processor of the processing unit to cause the processing unit to execute one of the above-mentioned examples of the method for providing radar sensor data packets.
[0061] In another aspect, a data processing unit for providing radar sensor data packets is disclosed. The data processing unit comprises a processor and a memory in which program instructions executable by the processor are stored. Execution of the program instructions by the processor causes the data processing unit to receive a plurality of radar sensor data packets of an ordered sequence of radar sensor data packets from a radar sensor. The radar sensor data packets of the ordered sequence of radar sensor data packets comprise data values of a Fourier transform of radar sensor data. The radar data is radar data acquired sequentially using the radar sensor. The radar sensor data packets comprise indicators that indicate positions of the radar sensor data packets within the ordered sequence of radar sensor data packets.Based on the indicators of the received radar sensor data packets, it is determined whether one or more radar sensor data packets are missing from the ordered sequence of radar sensor data packets. If radar sensor data packets are missing, the data processing unit is further prompted to reconstruct data. Reconstructing data comprises determining, based on the indicators of the received radar sensor data packets, the positions of the one or more missing radar sensor data packets within the ordered sequence of radar sensor data packets. Based on the determined positions, data values from one or more radar sensor data packets of the received radar sensor data packets are selected in order to reconstruct one or more data values of the one or more missing radar sensor data packets.The one or more data values of the one or more missing radar sensor data packets are reconstructed using the selected data values. The reconstructed one or more data values are provided.
[0062] The execution of the program instructions stored in the memory of the processing unit by the processor may further cause the processing unit to execute one of the aforementioned examples of the method for providing radar sensor data packets.
[0063] It is understood that one or more of the aforementioned embodiments may be combined, as long as the combined embodiments do not exclude each other. BRIEF DESCRIPTION OF THE DRAWINGS
[0064] Examples are described in more detail below with reference to the drawings in which: Fig. 1 shows a flowchart illustrating an exemplary method for providing radar sensor data packets; Fig. 2 shows a schematic block diagram of exemplary radar sensor data packets; Fig. 3 shows a schematic block diagram of an interpolation of missing data values; Fig. Figure 4 shows a schematic block diagram of an extrapolation of missing data values; Fig. 5 shows a schematic block diagram of an extrapolation of missing data values; and Fig. 6 shows a schematic block diagram of an exemplary processing unit configured to provide radar sensor data packets. DETAILED DESCRIPTION
[0065] In the following, similar elements are designated with the same numbers.
[0066] Fig. 1 shows an exemplary method for providing radar sensor data packets, which is performed by a data processing unit. In block 200, a plurality of radar sensor data packets of an ordered sequence of radar sensor data packets are received from a radar sensor. The radar sensor data packets of the ordered sequence of radar sensor data packets may include data values of a Fourier transform of radar sensor data. The radar data may be radar data acquired sequentially using the radar sensor. The radar sensor data packets may include indicators indicating the positions of the radar sensor data packets within the ordered sequence of radar sensor data packets. In block 202, it is determined based on the indicators of the received radar sensor data packets whether one or more radar sensor data packets of the ordered sequence of radar sensor data packets are missing.In the event that radar sensor data packets are missing, the method further comprises reconstructing data. The reconstructing of data comprises, for example, blocks 204 to 210. In block 204, the positions of the one or more missing radar sensor data packets within the ordered sequence of radar sensor data packets are determined based on the indicators of the received radar sensor data packets. In block 206, data values of one or more radar sensor data packets of the received radar sensor data packets are selected based on the determined positions in order to reconstruct one or more data values of the one or more missing radar sensor data packets. In block 210, the one or more data values of the one or more missing radar sensor data packets are reconstructed using the selected data values.
[0067] The selected data values of the one or more radar sensor data packets of the received radar sensor data packets are, for example, averaged, and a result of the averaging is used for reconstruction. The averaging comprises, for example, a calculation of one or more mean values. For example, a predefined number of consecutive data values of the selected data values is used to calculate each of the one or more mean values. The averaging comprises, for example, a weighting of the selected data values depending on the distances of the selected data values to the one or more data values of the one or more missing radar sensor data packets that are being reconstructed.
[0068] For example, the data values of the radar sensor data packets in the ordered sequence of radar sensor data packets are complex data values. The selected data values used for reconstruction are provided as combinations of absolute values and argument values. Reconstructing the one or more data values of the one or more missing radar sensor data packets includes, for example, reconstructing the absolute values as well as the argument values of the one or more data values of the one or more missing radar sensor data packets. For example, reconstructing the absolute values is independent of reconstructing the argument values.
[0069] For example, reconstructing the one or more data values of the one or more missing radar sensor data packets comprises interpolating the one or more data values of the one or more missing radar sensor data packets using the selected data values of the one or more radar sensor data packets of the received radar sensor data packets.
[0070] For example, reconstructing the one or more data values of the one or more missing radar sensor data packets comprises extrapolating the one or more data values of the one or more missing radar sensor data packets using the selected data values of the one or more radar sensor data packets of the received radar sensor data packets.
[0071] For example, reconstructing the one or more data values of the one or more missing radar sensor data packets comprises weighting the result of the averaging depending on distances of the respective data values to the selected data values used for reconstruction.
[0072] In block 212, the reconstructed one or more data values are provided as a result of the data reconstruction. In block 214, a further Fourier transform is applied to the data values of the completed ordered sequence of radar sensor data packets that include the provided one or more reconstructed data values. The further Fourier transform can be used, for example, to determine distances or speeds. By further processing the data values, a range-Doppler profile can be determined, for example.
[0073] Fig. 2 shows a plurality of data packets 122 of an ordered sequence of data packets 126 received by a radar sensor. The ordered sequence of data packets 126 includes data values of a Fourier transform of radar sensor data that were acquired sequentially with the radar sensor. For example, the individual radar sensor data packets 122 may each include one or more data values. The received data packets 122 may further include indicators that indicate the positions of the received data packets 122 within the ordered sequence of data packets 126. In Fig. 2, the ordered sequence of data packets 126 comprises, for example, P data packets. Of these P data packets, for example, data packets 122 from positions 0 to R and R+4 to P-1 have been received. Based on the indicators of the received data packets 112, it can be determined that three data packets 123 from the ordered sequence of data packets 126 are missing. The positions of the three missing radar sensor data packets 123 within the ordered sequence of data packets 126 are positions R+1, R+2, and R+3. These positions can be determined based on the indicators of the received data packets 122. Based on the determined positions, data values of one or more radar sensor data packets from the received radar sensor data packets 122 can be selected in order to reconstruct data values of the missing radar sensor data packets 123. For example, data values encompassed by radar sensor data packets 122 directly adjacent to the gap formed by the missing radar sensor data packets 123 may be selected.For example, data values can be selected from the radar sensor data packets 122 from positions R-1, R and R+4, R+5. The data values of the missing radar sensor data packets 123 are reconstructed, e.g., interpolated, based on the selected data values. The reconstructed data values can be made available for further processing, for example, a further Fourier transformation can be performed.
[0074] Fig. 3 shows an example interpolation of missing data values 140. For example, received radar sensor data packets 122 may provide received valid data values 142. The ordered sequence of data packets may, for example, include Q data values at positions 0 to Q-1 along timeline t. For example, valid data values 142 may have been received at positions 0 to S and S+M+1 to Q-1, while M data values 140 may be missing at positions S+1 to S+M. To reconstruct the missing data values 140, N data values 142 may be selected that precede the gap resulting from the M missing data values 140 and N data values 142 that follow the gap. The N data values 142 from positions SN-1 to S before the gap may be averaged to obtain a first average value. The N data values 142 of positions S+M+1 to S+M+N following the gap can be averaged, yielding a second mean.The two means can be used to interpolate the missing data values 140.
[0075] For example, three data values, i.e., M = 3, may be lost in a series for a time signal, e.g., out of Q = 320 data values. The three missing data values may, for example, be data values from one to three missing radar sensor data packets. The three missing data values may need to be reconstructed. The missing data values may, for example, have positions 20, 21, and 22.
[0076] To reconstruct the missing data values, for example, the received data values at positions 18 and 19 and the received data values at positions 23 and 24 can be selected, ie N = 2: second_last_valid_before_missing_data=time_signal
[18] =rectangular(192, 96i)=polar(214.7, 0.463 rad); last_valid_before_missing_data=time_signal
[19] =rectangular(180, 56i)=polar(188.5, 0.302 rad); first_valid_before_missing_data=time_signal
[23] =rectangular(150, −20i)=polar(151.3, −0.133 rad); second_valid_before_missing_data=time_signal
[24] =rectangular(130, −40i)=polar(136.0, −0.298 rad).
[0077] The data values are complex values in rectangular, i.e., Cartesian, form, and are converted to polar form for averaging and reconstruction. The selected data values at positions 18 and 19 can be averaged, e.g., using an arithmetic mean: mean_start:=polar(0.5*214.7+0.5*188.5, 0.5*0.463 rad+0.5*0.302 rad); mean_start:=polar(201.6, 0.383 rad).
[0078] In addition, the data values at positions 23 and 24 can be averaged: mean_end:=polar(0.5*151.3+0.5*136.0, 0.5*−0.133 rad+0.5*−0.298 rad); mean_end:=polar(143.7, −0.216 rad).
[0079] For each of the missing data values, a weighting can be calculated depending on the distance of the respective data values from the selected data values using the following formula: Weight: (position in missing data zero-based + 1) / (size of missing data group + 1).
[0080] For the missing data values at positions 20, 21 and 22, the weights can therefore take the following values: Weight_pos_20:=(0+1) / (3+1)=0.25; Weight_pos_21:=(1+1) / (3+1)=0.5; Weight_pos_22:=(2+1) / (3+1)=0.75;
[0081] The data values can be interpolated using the following formula: interpolated_value=(1−weight)*mean_start+weight*mean_end.
[0082] For missing data values at positions 20, 21 and 22, the following values can be interpolated: interpolated_pos_20:=Polar((1−0.25)*201.6+0.25*143.7,(1−0.25)*0.383 rad+0.25*−0.216 rad); interpolated_pos_20:=Polar(187.1,0.233)=rectangular(182.0,43.2i); interpolated_pos_21:=Polar((1−0.5)*201.6+0.5*143.7,(1−0.5)*0.383 rad+0.5*−0.216 rad); interpolated_pos_21:=Polar(172.7,0.084)=rectangular(172.0,14.4i); interpolated_pos_20:=Polar((1−0.75)*201.6+0.75*143.7,(1−0.75)*0.383 rad+0.75*−0.216 rad); interpolated_pos_20:=Polar(158.1,−0.066)=rectangular(157.8,−10.4i).
[0083] Finally, the data elements 20, 21 and 22 without data values can be filled with the reconstructed data values (182.0, 43.2i), (172.0, 14.4i) and (157.8, -10.4i).
[0084] Fig. 4 shows an example extrapolation of missing data values 140. For example, received radar sensor data packets 122 may provide received valid data values 142. The ordered sequence of data packets may, for example, comprise Q data values at positions 0 to Q-1 along timeline t. For example, valid data values 142 may have been received at positions M to Q-1, while M data values 140 may be missing at positions 0 to M-1. To reconstruct the missing data values 140, N data values 142 following the gap may be selected. The N data values 142 of positions M to M+N-1 following the gap may be averaged, resulting in a mean value. The mean value may be used for extrapolating the missing data values 140. For example, the mean value may be used as the reconstructed data value of positions 0 to M-1.
[0085] For example, three data values, i.e., M = 3, may be lost in a series for a time signal, e.g., out of Q = 320 data values. The three missing data values may, for example, be data values from one to three missing radar sensor data packets. The three missing values may need to be reconstructed. The missing data values may, for example, have positions 0, 1, and 2 at the beginning of the time signal.
[0086] For reconstructing the missing data values, for example, the received data values at position 3 and 4 can be selected, ie N = 2: first_valid_after_missing_data=time_signal[3]=rectangular(150,−20i)=polar(151.3,−0.133 rad); second_valid_after_missing_data=time_signal[4]=rectangular(130,−40i)=polar(136.0,−0.298 rad).
[0087] The data values are complex values in rectangular, i.e., Cartesian, form, and are converted to polar form for averaging and reconstruction. The selected data values at positions 3 and 4 can be averaged, e.g., using an arithmetic mean: mean_end:=polar(0.5*151.3+0.5*136.0, 0.5*−0.133 rad+0.5*−0.298 rad); mean_end:=polar(143.7,−0.216 rad).
[0088] If the group of missing data values begins at the beginning of the time signal, the mean of the selected data values following the missing data values can be used to fill the data elements for which data values are missing. Thus, for missing data values at positions 0, 1, and 2, the following identical data values can be extrapolated: extrapolated_pos_0:=polar(143.7,−0.216 rad)=rectangular(140.4,−30.8i); extrapolated_pos_1:=polar(143.7,−0.216 rad)=rectangular(140.4,−30.8i); extrapolated_pos_2:=polar(143.7,−0.216 rad)=rectangular(140.4,−30.8i).
[0089] Finally, the data elements 0, 1 and 2 without data values can be filled with the reconstructed data values (140.4, -30.8i), (140.4, -30.8i) and (140.4, -30.8i).
[0090] Fig. 5 shows an example extrapolation of missing data values 140. For example, received radar sensor data packets 122 may provide received valid data values 142. The ordered sequence of data packets may, for example, comprise Q data values at positions 0 to Q-1 along timeline t. For example, valid data values 142 may have been received at positions 0 to QM-1, while M data values 140 may be missing at positions QM to Q-1. To reconstruct the missing data values 140, N data values 142 may be selected that lie before the gap resulting from the M missing data values 140. The N data values 142 from positions QMN to QM-1 that precede the gap may be averaged to obtain a mean value. The mean value may be used to extrapolate the missing data values 140. For example, the mean value can be used as the reconstructed data value of the positions QM to Q-1.
[0091] For example, three data values, i.e., M = 3, may be lost in a series for a time signal, e.g., out of Q = 320 data values. The three missing data values may, for example, be data values from one to three missing radar sensor data packets. The three missing values may need to be reconstructed. The missing data values may, for example, have positions 317, 318, and 319 at the end of the time signal.
[0092] For reconstructing the missing data values, for example, the received data values at positions 315 and 316 can be selected, ie N = 2: second_to_last_valid_before_missing_data=time_signal
[315] =rectangular(192, 96i)=Polar(214.7, 0.463 rad); last_valid_before_missing_data=time_signal
[316] =rectangular(180, 56i)=Polar(188.5, 0.302 rad);
[0093] The data values are complex values in rectangular, i.e., Cartesian, form, and are transformed into polar form for averaging and reconstruction. The selected data values at positions 315 and 316 can be averaged, e.g., using an arithmetic mean: mean_start:=(0.5*214.7+0.5*188.5, 0.5*0.463 rad+0.5*0.302 rad); mean_start:=Polar(201.6, 0.383 rad).
[0094] If the group of missing data values begins at the end of the time waveform, the mean of the selected data values preceding the missing data values can be used to fill the data elements for which data values are missing. Thus, for missing data values at positions 317, 318, and 319, the following identical data values can be extrapolated: extrapolated_pos_317:=Polar(201.6, 0.383 rad)=rectangular(187.0, 75.3i); extrapolated_pos_318:=Polar(201.6, 0.383 rad)=rectangular(187.0, 75.3i); extrapolated_pos_319:=Polar(201.6, 0.383 rad)=rectangular(187.0, 75.3i);
[0095] The data elements 317, 318 and 319 without data values can be filled with the reconstructed data values (187.0, 75.3i), (187.0, 75.3i) and (187.0, 75.3i).
[0096] Fig.6 shows an exemplary processing unit in the form of a computing device 102 for providing radar sensor data packets. The computing device 102 can be integrated into various types of systems, e.g., a desktop computer, a mobile computing device such as a smartphone, a remote blade computer, or a cloud computer. The computing device 102 can, for example, be integrated into a vehicle, such as a car. The computing device 102 is intended to represent one or more computers, which may be distributed. The computing device 102 is illustrated as including a computing system 104. The computing system 104 is intended to represent one or more computing systems. The computing device 102 is further illustrated as including an optional hardware interface 106. The hardware interface can enable the computing system 104 to control other components, e.g.,a sensor, such as a radar sensor, for detecting radar signal data from objects, if such other components are present. The computer system 104 is further illustrated as being in communication with an optional user interface 108. The user interface 108 may also include, for example, a display device, such as a display device in a vehicle. This could include, for example, a two-dimensional computer display, a touchscreen, a virtual reality system, and an augmented reality system.
[0097] Computer system 104 is further illustrated as being in communication with a memory 110. Memory 110 is intended to represent various types of storage that computer system 104 may access. In one example, memory 110 is a non-transferable storage medium.
[0098] The memory 110 is illustrated as containing machine-executable instructions or computer-readable program code 120. The machine-executable instructions 120 may enable the computing system 104 to perform various numerical and computational tasks, such as processing radar sensor data packets. The machine-executable instructions 120 may also enable the computing system 104 to control and operate other components via the hardware interface 106, e.g., a radar sensor. Execution of the machine-executable instructions 120 by the computing system 104 may cause the computing system 104 to control the computing device 102 to perform the method for providing radar sensor data packets. The memory 110 is further illustrated as containing a plurality of radar sensor data packets 122 received from the radar sensor.The radar sensor data packets 122 are radar sensor data packets of an ordered sequence of radar sensor data packets that include data values of a Fourier transform of radar sensor data. The radar data is radar data that is acquired sequentially with the radar sensor. The radar sensor data packets 122 further include indicators that indicate the positions of the radar sensor data packets 122 within the ordered sequence of radar sensor data packets.
[0099] The data values of the radar sensor data packets 122 are, for example, complex data values. Selected data values of the radar sensor data packets 122 that are used to reconstruct data values of missing radar sensor data packets 124 can be provided as combinations of absolute values and argument values. Reconstructing the one or more data values of the one or more missing radar sensor data packets 124 can, for example, include reconstructing the absolute values as well as the argument values of the respective data values of the one or more missing radar sensor data packets 124. For example, reconstructing the absolute values is independent of reconstructing the argument values.
[0100] The memory 110 further contains the reconstructed missing radar sensor data packets 124, ie, radar sensor data packets of the ordered sequence of radar sensor data packets that are missing from the received plurality of radar sensor data packets 122 and that were reconstructed using data values from radar sensor data packets 122. The reconstructed missing radar sensor data packets 124 are provided, for example, together with the received radar sensor data packets 122 for further processing.
[0101] The memory 110 further contains a Fourier transform 128 of the data values of the completed ordered sequence of radar sensor data packets 126, i.e., the data values of the received radar sensor data packets 122 and the reconstructed data values of the missing radar sensor data packets 124. For example, a further Fourier transform is applied to the data values of the received radar sensor data packets 122 and the reconstructed missing radar sensor data packets 124. The further Fourier transform can be used, for example, to determine distances or speeds. By further processing the data values, a range-Doppler profile can be determined, for example.
[0102] Although the invention has been shown and described in detail in the drawings and the foregoing description, these illustrations and descriptions are to be considered as illustrative or exemplary and not restrictive; the invention is not limited to the disclosed examples.
[0103] Other variations of the disclosed embodiments may be understood and practiced by those skilled in the art in practicing the claimed invention, based on the drawings, the disclosure, and the appended claims. In the claims, the word "comprising" does not exclude other elements or steps, and the indefinite article "a" or "an" does not exclude a plurality. The mere fact that certain measures are recited in dependent claims does not mean that a combination of those measures cannot be advantageous. Any reference signs in the claims should not be construed as limiting the scope of application.
[0104] A single processor or other unit may perform the functions of several elements recited in the claims. A computer program may be stored / distributed on a suitable medium, e.g., an optical storage medium or a solid-state medium supplied with or as part of other hardware, but it may also be distributed in other forms, e.g., via the Internet or other wired or wireless telecommunications systems.
[0105] Those skilled in the art will appreciate that aspects of the present invention may be embodied as a device, method, or computer program or computer program product. Accordingly, aspects of the present invention may take the form of a purely hardware embodiment, a purely software embodiment (including firmware, in-memory software, microcode, etc.), or an embodiment combining software and hardware aspects, all of which may be generally referred to herein as a "circuit," "module," or "system." Furthermore, aspects of the present invention may take the form of a computer program product carried by one or more computer-readable media in the form of computer-executable code. A computer program also includes computer-executable code. "Computer-executable code" may also be referred to as "computer program instructions."
[0106] Any combination of one or more computer-readable media may be used. The computer-readable medium may be a computer-readable signal medium or a computer-readable storage medium. A "computer-readable storage medium," as used herein, includes a tangible storage medium capable of storing instructions executable by a processor of a computing device. The computer-readable storage medium may be referred to as a computer-readable non-transitory storage medium. The computer-readable storage medium may also be referred to as a tangible computer-readable medium. In some embodiments, a computer-readable storage medium may also be capable of storing data that allows it to be accessed by the processor of the computing device.Examples of computer-readable storage media include, but are not limited to: a floppy disk, a magnetic hard disk, a solid-state hard disk, flash memory, a USB flash drive, random access memory (RAM), read-only memory (ROM), an optical disk, a magneto-optical disk, and the processor's register file. Examples of optical disks include compact disks (CDs) and digital versatile disks (DVDs), for example, CD-ROM, CD-RW, CD-R, DVD-ROM, DVD-RW, or DVD-R disks. The term computer-readable storage medium also refers to various types of recording media suitable for being retrieved by the computing device over a network or communications link. For example, data may be retrieved via a modem, over the Internet, or over a local area network.Computer-executable code embodied on a computer-readable medium may be transmitted over any suitable medium, including, but not limited to, wireless, wired, fiber optic, RF, etc., or any suitable combination of the foregoing media.
[0107] A computer-readable signal medium may include a propagated data signal containing the computer-readable program code, for example, in a baseband signal or as part of a carrier signal (carrier wave). Such a propagated signal may be in any form, including, but not limited to, an electromagnetic form, an optical form, or any suitable combination thereof. A computer-readable signal medium may be any computer-readable medium other than a computer-readable storage medium that can transmit, disseminate, or transport a program for use by or in connection with an instruction-executing system, device, or apparatus.
[0108] "Computer memory" or "storage" is an example of a computer-readable storage medium. Computer memory is any memory directly accessible by a processor. "Computer data storage" or "data storage" is another example of a computer-readable storage medium. Computer data storage is any non-transitory computer-readable storage medium. In some embodiments, computer memory can also be computer data storage, or vice versa.
[0109] A "computer system," as used herein, includes an electronic component capable of executing a program- or machine-executable instruction or computer-executable code. A reference to the computing device comprising "a computer system" should be interpreted to potentially include more than one computer system or processing cores. The computer system may, for example, be a multi-core processor. A computer system may also refer to a collection of computer systems within a single computer system or distributed across multiple computer systems. The term computer system should also be interpreted to potentially refer to a collection or network of computing devices, each comprising a processor or computer systems.The computer-executable code may be executed by multiple processors, which may be distributed within the same computing device or even across multiple computers.
[0110] Machine-executable instructions or computer-executable code may comprise instructions or a program that cause a processor or other computer system to carry out an aspect of the present invention. Computer-executable code for performing operations for aspects of the present invention may be written and compiled into machine-executable instructions in any combination of one or more programming languages, including an object-oriented programming language such as Java, Smalltalk, C++, or similar languages, and conventional procedural programming languages such as the "C" programming language or similar programming languages. In some cases, the computer-executable code may be in the form of a high-level programming language or in a pre-compiled form and used in conjunction with an interpreter that generates the machine-executable instructions.In other cases, the machine-executable instructions or computer-executable code may be in the form of programming for programmable logic gate arrays.
[0111] The computer executable code may run entirely on a user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on the remote computer or server. In the latter case, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, over the Internet using an Internet service provider).
[0112] Aspects of the present invention are described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to examples of the invention. It is noted that each block or portions of the blocks of the flowchart illustrations, and / or block diagrams may be implemented by computer program instructions, optionally in the form of computer-executable code. It is further noted that combinations of blocks may be combined in different flowchart illustrations, and / or block diagrams if they are not mutually exclusive.These computer program instructions may be provided to a computer system of a general-purpose computer, a special-purpose computer, or other programmable data processing device to produce a machine such that the instructions, executing through the computer system of the computer or other programmable data processing device, provide means for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks.
[0113] These machine-executable instructions or computer program instructions may also be stored in a computer-readable medium that can instruct a computer, other programmable data processing apparatus, or other devices to function in a particular manner such that the instructions stored in the computer-readable medium produce an article of manufacture that includes instructions that implement the function / action specified in the flowchart and / or block diagram block or blocks.
[0114] The machine-executable instructions or computer program instructions may also be loaded onto a computer, other programmable data processing device, or other apparatus to cause a series of operational steps to be performed on the computer, other programmable device, or other apparatus to produce a computer-implemented process, such that the instructions executing on the computer or other programmable device provide processes for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks.
[0115] A "user interface," as defined in this document, is an interface that enables a user or operator to interact with a computer or computer system. A "user interface" may also be referred to as a "human interface device." A user interface may provide information or data to the operator and / or receive information or data from the operator. A user interface may enable the computer to receive input from the operator and provide output from the computer to the user. In other words, the user interface may enable an operator to control or operate a computer, and the interface may enable the computer to display the effects of the operator's control or operation.Displaying data or information on a display or graphical user interface is an example of providing information to an operator. Receiving data via a keyboard, mouse, trackball, touchpad, pointing stick, graphics tablet, joystick, gamepad, webcam, headset, pedals, wired glove, remote control, and accelerometer are all examples of user interfaces that enable the receipt of information or data from an operator.
[0116] A "hardware interface," as used herein, includes an interface that enables the computing system of a computer system to interact with and / or control an external computing device and / or apparatus. A hardware interface may enable a computer system to send control signals or instructions to an external computing device and / or apparatus. A hardware interface may also enable a computer system to exchange data with an external computing device and / or apparatus.Examples of a hardware interface include: a universal serial bus, an IEEE 1394 port, a parallel port, an IEEE 1284 port, a serial port, an RS-232 port, an IEEE 488 port, a Bluetooth connection, a wireless local area network connection, a TCP / IP connection, an Ethernet connection, a control voltage interface, a MIDI interface, an analog input interface, and a digital input interface.
[0117] A "display" or "display device," as used herein, includes an output device or user interface for displaying images or data. A display may output visual, audible, and / or tactile data. Examples of a display include, but are not limited to: a computer monitor, a television screen, a touchscreen, a tactile electronic display, a Braille screen,
[0118] Cathode ray tube (CRT), storage tube, bi-stable display, electronic paper, vector display, flat panel display, vacuum fluorescent display (VF), light-emitting diode display (LED), electroluminescent display (ELD), plasma display panel (PDP), liquid crystal display (LCD), organic light-emitting diode display (OLED), projector and head-mounted display. REFERENCE SYMBOL LIST 102 Computer device 104 Computer system 106 Hardware interface 108 User interface 110 storage 120 computer-readable program codes 122 received radar sensor data packets 124 reconstructed missing radar sensor data packets 126 completed ordered sequence of radar sensor data packets 128 Fourier transform of a complete sequence of radar sensor data packets 140 missing data value 142 received valid data value
Claims
[1] A method for providing radar sensor data packets (122, 124), the method comprising by a data processing unit: Receiving, from a radar sensor, a plurality of radar sensor data packets (122) of an ordered sequence of radar sensor data packets (126) comprising data values of a Fourier transform of radar sensor data, wherein the radar data is radar data acquired sequentially using the radar sensor, wherein the radar sensor data packets (122) comprise indicators indicating positions of the radar sensor data packets (122) within the ordered sequence of radar sensor data packets (126), Determining, using the indicators of the received radar sensor data packets (122), whether one or more radar sensor data packets (124) of the ordered sequence of radar sensor data packets (126) are missing, wherein in the event that data packets (124) are missing, the method further comprises reconstructing data, wherein reconstructing data comprises: Determining, based on the indicators of the received radar sensor data packets (122), the positions of the one or more missing radar sensor data packets (124) within the ordered sequence of radar sensor data packets (126), Selecting, using the determined positions, data values (142) from one or more radar sensor data packets of the received radar sensor data packets (122) to reconstruct one or more data values (140) of the one or more missing radar sensor data packets (124), Reconstructing the one or more data values (140) of the one or more missing radar sensor data packets (124) using the selected data values, Providing the one or more reconstructed data values (140). [2] The method of claim 1, further comprising averaging the selected data values (142) of the one or more radar sensor data packets of the received radar sensor data packets (122) and using a result of the averaging for the reconstruction. [3] The method of claim 2, wherein the averaging comprises calculating one or more averages, wherein a predefined number of consecutive data values of the selected data values are used to calculate each of the one or more averages. [4] Method according to one of claims 2 to 3, wherein the reconstructing of the one or more data values (140) of the one or more missing radar sensor data packets (124) comprises weighting the result of the averaging as a function of distances of the respective data values (140) from the selected data values (142) used for the reconstruction. [5] The method of any preceding claim, wherein the data values (140, 142) of the radar sensor data packets (122, 124) of the ordered sequence of radar sensor data packets (126) are complex data values, the selected data values (142) used for reconstruction being provided as combinations of absolute values and argument values, wherein reconstructing the one or more data values (140) of the one or more missing radar sensor data packets (124) comprises reconstructing the absolute values of the one or more data values (140) of the one or more missing radar sensor data packets (124) independently of reconstructing the argument values of the one or more data values of the one or more missing radar sensor data packets (124). [6] The method of any preceding claim, wherein reconstructing the one or more data values (140) of the one or more missing radar sensor data packets (124) comprises interpolating the one or more data values (140) of the one or more missing radar sensor data packets (124) using the selected data values (142) of the one or more radar sensor data packets of the received radar sensor data packets (122). [7] The method of any preceding claim, wherein reconstructing the one or more data values (140) of the one or more missing radar sensor data packets (124) comprises extrapolating the one or more data values (140) of the one or more missing radar sensor data packets (124) using the selected data values (142) of the one or more radar sensor data packets of the received radar sensor data packets (122). [8] The method of any preceding claim, further comprising applying a further Fourier transform to the data values (140, 142) of the completed ordered sequence of radar sensor data packets (126) comprising the one or more provided reconstructed data values (140). [9] A computer program for providing radar sensor data packets (122, 124), the computer program comprising program instructions (120), the program instructions (120) being executable by a processor (104) of a data processing unit (102) to cause the data processing unit (102): Receiving, from a radar sensor, a plurality of radar sensor data packets (122) of an ordered sequence of radar sensor data packets (126) comprising data values of a Fourier transform of radar sensor data, wherein the radar data is radar data acquired sequentially using the radar sensor, wherein the radar sensor data packets (122) comprise indicators indicating positions of the radar sensor data packets (122) within the ordered sequence of radar sensor data packets (126), Determining, using the indicators of the received radar sensor data packets (122), whether one or more radar sensor data packets (124) of the ordered sequence of radar sensor data packets (126) are missing, wherein in the event that data packets (124) are missing, the method further comprises reconstructing data, wherein reconstructing data comprises: Determining, based on the indicators of the received radar sensor data packets (122), the positions of the one or more missing radar sensor data packets (124) within the ordered sequence of radar sensor data packets (126), Selecting, using the determined positions, data values (142) from one or more radar sensor data packets of the received radar sensor data packets (122) to reconstruct one or more data values (140) of the one or more missing radar sensor data packets (124), Reconstructing the one or more data values (140) of the one or more missing radar sensor data packets (124) using the selected data values, Providing the one or more reconstructed data values (140). [10] Data processing unit (102) for providing radar sensor data packets (122, 124), wherein the data processing unit (102) comprises a processor (104) and a memory (110) for storing program instructions (120) executable by the processor (104), wherein the execution of the program instructions (120) by the processor (104) causes the data processing unit (102) to: Receiving, from a radar sensor, a plurality of radar sensor data packets (122) of an ordered sequence of radar sensor data packets (126) comprising data values of a Fourier transform of radar sensor data, wherein the radar data is radar data acquired sequentially using the radar sensor, wherein the radar sensor data packets (122) comprise indicators indicating positions of the radar sensor data packets (122) within the ordered sequence of radar sensor data packets (126), Determining, using the indicators of the received radar sensor data packets (122), whether one or more radar sensor data packets (124) of the ordered sequence of radar sensor data packets (126) are missing, wherein in the event that data packets (124) are missing, the method further comprises reconstructing data, wherein reconstructing data comprises: Determining, based on the indicators of the received radar sensor data packets (122), the positions of the one or more missing radar sensor data packets (124) within the ordered sequence of radar sensor data packets (126), Selecting, using the determined positions, data values (142) from one or more radar sensor data packets of the received radar sensor data packets (122) to reconstruct one or more data values (140) of the one or more missing radar sensor data packets (124), Reconstructing the one or more data values (140) of the one or more missing radar sensor data packets (124) using the selected data values, Providing the one or more reconstructed data values (140).
Citation Information
Patent Citations
RADAR SYSTEM AND METHOD FOR TRANSMITTING DATA IN A RADAR SYSTEM
DE102023107777A1