Method for applying a discrete Fourier transform (DFT) to a sequence of samples of a sensor signal; processor circuit for carrying out the method; radar sensor and motor vehicle

DE102024205594B4Active Publication Date: 2026-03-26CONTINENTAL AUTOMOTIVE TECHNOLOGIES GMBH
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
Filing Date
2024-06-18
Publication Date
2026-03-26

AI Technical Summary

Technical Problem

Existing sensor signal processing methods, such as Fast Fourier Transform (FFT), require storing all signal samples before transformation, leading to high memory consumption, which is costly and inefficient in automotive systems with limited resources.

Method used

A method for applying a discrete Fourier transform (DFT) to sensor signals that processes samples sequentially, calculating the spectrum incrementally and deleting samples after use, reducing memory requirements by storing only the most recent samples.

Benefits of technology

This approach reduces memory consumption by calculating the spectrum continuously, allowing efficient processing in systems with limited resources without introducing errors, and enables real-time analysis of sensor data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

Method for applying a P-dimensional discrete Fourier transform (DFT) to a sequence of N samples of a sensor signal, with P, N > 2, wherein the method comprises the following step, performed by a processor circuit (20): receiving one of the samples after the other and whenever a new sample or a group of successive new samples, comprising a predefined number J of samples, is received, with 1 <J<N, empfangen wird: • Provide x for each new sample value n , a sequence index n indicating which of the 1 to N samples has been received, where n is in 1,..., N; and • Select or generate a corresponding DFT vector for each new sample value. d → ( n ) depending on the order index n of the sampled value, where the DFT vector d → ( n ) P comprises pointer values ​​consisting of frequency points f p The P-dimensional DFT can be derived by S * exp(-i 2 π f p t n ), where p in 1,...,P is the index of the pointer value in the DFT vector d → ( n ) is and S is a scaling factor and t n the sampling time of the new sample value x n is and i is the imaginary unit with i 2 = -1 is; • Applying the respective new sample value x n as a multiplication factor on its corresponding DFT vector d → ( n ) to generate a respective spectral contribution vector Δ y → (n) = d → (n) xn; • Adding the respective spectral contribution vectors Δy → (n) to an accumulation vector Δ y → (n) = Δ y → (n) + y → (n − 1); and when, for all N samples, their corresponding resulting contribution vector has been added to the accumulation vector, providing the accumulation vector y → ( N ) as DFT spectral coefficients of the N samples, characterized in that a) the procedure further includes: • Generating at least some or all sampled values ​​at non-equidistant sampling times t n and • Providing a rasterized time pattern by defining a minimum time step size t̂0 and • Generating the respective DFT vector d → ( n ) for the respective sample value of the sequence index n using a P-dimensional basis DFT vector d → ^ ( 0 ) and the DFT vector d → ( n − 1 ) by applying element-wise multiplication, where d → ^ ( 0 ) Pointer elements exp(-i 2 π f pt̂0) with p in 1,...,P includes a time difference t n - t n-1 the sampling time of the last sample value x n and the preceding sample value x n-1 is expressed as the integer multiple, or the next larger integer multiple, or the next smaller integer multiple μ = [tn − tn − 1t^0] of t̂0, where [·] is the rounding operator, such that d → (n) = diag { d → ^ (0)} μ d → (n − 1), or b) the procedure further includes: • Generating at least some or all sampled values ​​at non-equidistant sampling times t n and • Retain storage of M > 1 pre-calculated vectors diag { d → ^ ( m )} for different time values ​​{t̂1,...,t̂ M} in the memory as d → ^ ( m ) , , m = 1 ... M, with phasor elements exp(-i 2 π f p t̂ m ) , p = 1,...,P, and for a given sample value x n , at the sampling time t n , the vector for index m = arg min|{t n - t n-1 - t̂ m} applied to the preceding DFT vector with the nearest time difference by element-wise multiplication to provide the DFT vector d → (n) = diag { d → ^ (m)} d → (n − 1) for n > 1, or c) the procedure further includes: • Generating at least some or all sampled values ​​at non-equidistant sampling times t n and • Provide, for M > 1, a set of possible time step sizes {t̂1,..., t̂ M} and for the sample value x n The time step t̂ m taken, the one closest to the time difference t n - t n-1 of two consecutive samples d → ( n ) = diag { d → ^ ( m )} d → ( n − 1 ) for rn > 1 and m = 1,..., M with d → (m) = (exp (−i 2 π f 1 t ^ m) exp (− i 2 π f 2 t ^ m) ⋮ exp (− i 2 π f P t ^ m)) and m = argmin | { tn − tn − 1 − t ^ m} | , or d) the procedure further includes: • Generating at least some or all sampled values ​​at non-equidistant sampling times t n and • successive approach to the respective time difference t n - t n-1 of two consecutive samples x n-1 and x n , where for a maximum time difference max{t n - t n-1} = Δt̂ for the respective order index n and a time difference resolution of M bits, a minimum time step to Δt 2 M will be and for a given time difference t n - t n-1≤ Δt̂ a combination of predefined time steps is obtained by taking the time difference between the current and the previous sample value Δt n = t n - t n-1 is and Δt n is quantized with M bits, where m = 1 is the most significant bit and m = M is the least significant bit, and • the approach with a time difference of Δτ1 = Δt n starts • the degree of quantization is defined by T m = Δ t ^ 2 m • for m = 1 T 1 = Δ t ^ 2 will and • the m-th bit is derived from wm = ⌊ Δ τ m T m ⌋ results, with Δ τ m = Δ τ m − 1 − wm − 1 T m − 1 for rm > 1 Δτm = Δtnfu ¨rm = 1 as a quantized time difference, ⌊ ⋅ ⌋ denotes the rounding operator and for m = 1, w 1 = ⌊ Δ tn T 1 ⌋ , • when all bits have been calculated, the binary word is represented by the vector w → = ( ​​w 1 w 2 ⋯ w M ) T with w m ∈ {0,1} for m = 1, ...,M • and for a set of possible step sizes resulting from T m results { t ^ 1 ,..., t ^ M} = { T 1 , T 2 ,..., TM} The quantized time difference is calculated as Δ τ = (T 1 T 2 ⋯ TM) w → = ∑ m = 1 M wm T m, which is mapped to the subset of predefined DFT vectors (37) that are used to obtain the DFT vector d → ( n ) for the current time t n required: d → ( n ) = ∏ wm diag { wmd → ^ ( m )} d → ( n − 1 ) for rwm = 1 and m = 1,..., M , where only those predefined vectors d → ^ ( m ) be selected for the w m = 1 applies.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] The invention relates to the calculation of a discrete Fourier transform (DFT) of a sensor signal using a low-memory implementation. The DFT can be processed in a processing circuit of the sensor. The invention also includes such a processor circuit for performing the transformation and a sensor device, in particular a radar device, with such a processor circuit. The invention also relates to a motor vehicle comprising a sensor device that applies a DFT to a sensor signal.

[0002] A sensor device (such as a radar or microphone) can rely on, or depend upon, a Fourier spectral analysis of its sensor signal. Spectral analysis in real-time signal processing applications relies on acquiring a specific set N of signal samples (i.e., a frame) to compute a spectrum. Once the samples are acquired, the Fast Fourier Transform (FFT) is typically applied to all N signal samples at once. The number of samples N defines the number of frequency points P and therefore the resolution in the image or Fourier domain.

[0003] The publication SAAD, Muhammad [et al.]: “Single Point Incremental Fourier Transform on 2D Data Streams” in: 2021 IEEE 37th International Conference on Data Engineering (ICDE). IEEE, 2021. pp. 852-863 reveals a single point incremental Fourier transform for converting signals from radio telescopes into images of the sky.

[0004] The publication JACOBSEN, Eric; LYONS, Richard: “The sliding DFT” in: IEEE Signal Processing Magazine, Vol. 20, 2003, No. 2, pp. 74-80 reveals a discrete Fourier transform whose output rate corresponds to its input rate.

[0005] The publication WINNER, Hermann (ed.) [et al]; Handbook of Driver Assistance Systems, ATZ / MTZFachbuch, 3rd ed., Wiesbaden : Springer Fachmedien, 2015. DOI: 10.1007 / 978-3-658-05734-3_17 reveals automotive radar technology.

[0006] In automotive hardware, resources, especially memory capacity, can be scarce. Since all N signal samples must be acquired and stored before spectral transformation, memory consumption can become very high. This makes embedding such a DFT in a computing platform expensive because larger memory modules are required.

[0007] If the spectral contribution of a single signal sample is x n If the calculation could be performed after the signal was acquired, without having to acquire all samples first, memory consumption could be reduced. Signal samples that have already been used for spectral calculation could be deleted from memory.

[0008] It is an object of the present invention to provide a DFT signal transformation with low memory requirements or low storage space needs.

[0009] The problem is solved by the subject matter of the independent claims. Advantageous further developments with expedient and non-insignificant embodiments of the invention are listed individually in the dependent claims, the following description, and the drawings.

[0010] One solution comprises a method for applying a P-dimensional discrete Fourier transform (DFT) to a sequence or frame of N samples of a sensor signal. P is the number of frequency bins or frequency points f. pThe DFT and N are the number of samples per frame or sequence. N can range from 8 to 4096, to name just a few examples. Several consecutive frames of the sensor signal can be processed in this way, but for the purpose of describing or explaining the invention, only the processing of a single frame is described. The method comprises the following steps, which are performed by a processor circuit: receiving one of the samples at a time, or sequentially, and each time a new sample is received, or each time a subset of J of the N samples is received, i.e., a group or subset comprising J consecutive new samples, with 1 <J<N: • Provide, for each new or current sample value x n , a sequence index n (index n of the current sample value) indicating which of the 1 to N samples has been received, where n is in 1,..., N; and • Select or generate for each new sample value x n , of a corresponding DFT vector d→(n) where the DFT vector d→(n) depending on the sequence index n of the sampled value x n is selected or generated, where the DFT vector d→(n) P includes pointer values ​​derived from the frequency points f p the P-dimensional DFT can be derived by S*exp(−i 2 π fp tn), where p in 1,...,P is the index of the pointer value in the DFT vector d→(n) where S is a scaling factor (e.g., 1 / N or 1 / √(N)) and t n the sampling time t n of the new sample value x n is and i is the imaginary unit with i 2 = -1 is; f p on, e.g., pN or a frequency value, such as is known for DFT pointer values, can be set; t nThe initial value t1 can be obtained as the reception time when the sampled value is received at or from the sensor, as a clock time, timestamp, or counter value. The initial value t1 can, for example, be set to 0 or an absolute time value; • Applying the respective new sample value x n as a multiplication factor on its corresponding DFT vector d→(n) to generate a respective spectral contribution vector Δy→(n)d→(n)xn; • Adding the respective spectral contribution vectors Δy→(n) to an accumulation vector y→(n)=Δy→(n)+y→(n−1); where, for each new frame, it is considered a zero vector y→(0)=0→ can be initialized; and When the corresponding resulting contribution vector for all N samples has been added to the accumulation vector, the accumulation vector is provided. y→(N) as the DFT spectral coefficients of the frame of N samples. In particular, P = N is chosen. Note that 1,...,N and 1,...,P (and similar notations for J and M in the following) is the well-known notation for index ranges, as known from the prior art.

[0011] The steps of the above procedure for applying a P-dimensional discrete Fourier transform (DFT) to a sequence or frame of N samples of a sensor signal, performed by the processor circuit, can also be understood in the following way.

[0012] Receive one of the samples at a time, or successively, and whenever a new sample is received, or whenever a subset of J of the N samples is received, i.e., a group or subset comprising J consecutive new samples, with 1 <J<N: • Provide, for each new or current sample value x n , a sequence index n (index n of the current sample value) indicating which of the 1 to N samples has been received, where n is in 1,..., N; and • Provide or demonstrate for each new sample value x n , of a corresponding DFT vector d→(n) where the DFT vector d→(n) depending on the sequence index n of the sampled value x n is selected or generated, where the DFT vector d→(n) P includes pointer values ​​derived from the frequency points f p the P-dimensional DFT can be derived by S*exp(−i 2 π fp tn), where p in 1,...,P is the index of the pointer value in the DFT vector d→(n) where S is a scaling factor (e.g., 1 / N or 1 / √(N)) and t n the sampling time t n of the new sample value x nis and i is the imaginary unit with i 2 = -1 is; f p on, e.g., pN or a frequency value, such as is known for DFT pointer values, can be set; t n The initial value t1 can be obtained as the reception time when the sampled value is received at or from the sensor, as a clock time, timestamp, or counter value. The initial value t1 can, for example, be set to 0 or an absolute time value; • Applying the respective new sample value x n as a multiplication factor on its corresponding DFT vector d→(n) to generate a respective spectral contribution vector Δy→(n)=d→(n)xn; • Adding the respective spectral contribution vectors Δy→(n) to an accumulation vector y→(n)=Δy→(n)+y→(n−1); where, for each new frame, it is considered a zero vector y→(0)=0→ can be initialized; and When the corresponding resulting contribution vector for all N samples has been added to the accumulation vector, the accumulation vector is provided. y→(N) as the DFT spectral coefficients of the frame of N samples. In particular, P = N is chosen. Note that 1,...,N and 1,...,P (and similar notations for J and M in the following) is the well-known notation for index ranges, as known from the prior art.

[0013] In other words, the resulting DFT spectral coefficients are iteratively updated whenever a new sample or a group of J consecutive new samples is taken, with 1 <J<N, empfangen wird.

[0014] The invention provides the advantage of continuously calculating the spectrum of a signal (DFT spectral coefficients). The contribution of each signal sample x nThe spectrum is calculated over a specific number of samples upon arrival, and the respective signal sample can be deleted from memory immediately after the calculation. It is not necessary to store all N signal samples of a frame simultaneously to perform the transformation. This DFT calculation technique is referred to in this document as "streaming DFT" (SDFT). The continuous calculation of the spectrum does not introduce errors into the spectrum.

[0015] The invention further comprises one of the following combinations of features: a) One of the combinations of features concerns: • Generating at least some or all sampled values ​​at non-equidistant sampling times t n (non-equidistant scanning) and • Providing a rasterized time pattern by defining a minimum time step size t̂0 and • Generating the respective DFT vector d→(n) for the respective sample value of the sequence index n using a P-dimensional basis DFT vector d→(0) and the DFT vector d→(n−1) by applying element-wise multiplication, where d→(0) Pointer elements exp(-i 2 π f p t̂0) with p in 1,...,P includes a time difference t n - t n-1 the sampling time of the new sample value x n and the preceding sample value x n-1 is expressed as the integer multiple, or the next larger integer multiple, or the next smaller integer multiple μ=[tn−tn−0t^0] of t̂0, where [·] is the rounding operator (up or down), such that d→(n)=diag{d→^(0)}μd→(n−1). Since non-equidistant sampling times can be handled, this implementation offers the advantage that it can, for example, compensate for time jitter of a sensor clock. b) One of the combinations of features concerns: • Generating some or all samples at non-equidistant sampling times t n and • Retain storage of M > 1 pre-calculated vectors diag {d→^(m)} for different time values ​​{t̂1,... ,t̂ M} in the memory as d→^(m) , m = 1 ... M, with phasor elements exp(-i2π f p t̂ m ) , p = 1,...,P, and for a given sample value x n , at the sampling time t n , the vector for index m = arg min|{t n - t n-1 - t̂ m}| applied with the nearest time difference by element-wise multiplication of the preceding DFT vector to provide the DFT vector d→(n)=diag{d→^(m)}d→(n−1) for n > 1. The first vector d→(1) can be calculated as described above. Since pre-calculated pointer values ​​are provided, this implementation offers the advantage of reducing the amount of real-time calculations. c) One of the combinations of features concerns: • Generating some or all samples at non-equidistant sampling times t n and • Provide, for M > 1, a set of possible time step sizes • {t^1,…,t^M} and for the new sample value x n The time step t̂ m taken, the one closest to the time difference t n - t n-1 of two consecutive samples d→(n)=diag{d→^(m)}d→(n−1) for >1 and m = 1, ..., M with d→^(m)=(exp(−i 2 π f1 t^m)exp(−i 2 π f2 t^m)⋮exp(−i 2 π fP t^m)) and m=argmin|{tn−tn−1−t^m}|. This provides the benefit of reducing real-time computing effort. d) One of the combinations of features concerns: • Generating some or all samples at non-equidistant sampling times t n and • successive approach to the respective time difference t n - t n-1 of two consecutive samples x n-1 and x n , where for a potential maximum time difference max{t n - t n-1} = Δt̂ for the entire respective sequence index n > 1 and a time difference resolution of M bits, a minimum time step to Δt^2M will be and for a given time difference t n - t n-1 ≤ Δt̂ a combination of predefined time steps is obtained by taking the time difference between the current and the previous sample value Δt n = t n - t n-1is quantized with M bits, where m = 1 is the most significant bit and m = M is the least significant bit, and • the approach with a time difference of Δτ1 = Δt n starts • the degree of quantization is defined by Tm=Δt^2m • and for m = 1 he to T1=Δt^2 will and • the m-th bit is derived from wm=⌊ΔτmTm⌋ results, with Δτm=Δτm−1−wm−1Tm−1 for>1 Δτm=Δtn fu¨rm=1 as a quantized time difference. ⌊⋅⌋ denotes the rounding operator and for m = 1, w1=⌊ΔtnT1⌋. • Once all bits have been calculated, the binary word is represented by the vector w→=(w1w2⋯wM)T with w m ∈ {0,1} for m = 1, ...,M • and for a set of possible step sizes resulting from T m results {t^1,…,t^M}={T1,T2,…,TM} The quantized time difference is calculated as Δτ=(T1T2⋯TM)w→=∑m=1MwmTm, which is mapped to the subset of predefined DFT vectors that are used to obtain the DFT vector d→(n) for the current time t n required: d→(n)=∏wmdiag{wmd→^(m)}d→(n−1) for wm=1 and m=1,…,M, where only those predefined vectors d→^(m) be selected for the w m = 1 applies. This implementation offers the benefit of generating an efficiently pre-calculated pointer value with fine temporal granularity for non-equidistant sampling. The potential maximum time difference max{t n - t n-1} = Δt̂ is a value that can be set by a person skilled in the art based on the hardware layout of the specific sensor device. This means that the value can be set such that any time difference value that can be expected during nominal or normal (non-faulty) operation is taken into account.

[0016] The invention also includes embodiments that provide additional technical advantages.

[0017] A further benefit is achieved by deleting the respective new sample value when the corresponding contribution vector for this sample value has been calculated, and by deleting the respective contribution vector after it has been added to the accumulation vector, so that at no time are all N samples x n , with n in 1,..., N, and their resulting contribution vector Δy→(n) The samples are stored together in the processor circuit. Only the most recent sample, or (for group-wise transformation) at most the most recent of the J or 2J most recent samples, is stored. This offers the advantage that no memory needs to be provided in the processor circuit to store the complete frame of N samples at any given time (i.e., reduced memory requirements compared to the need to store all N samples in memory to perform the transformation). The processor circuit can be equipped with memory for fewer than N samples per channel (see the multi-channel solutions below).

[0018] A further benefit is achieved by generating at least some or all sampled values ​​at sampling times with a constant sampling interval (equidistant sampling), which leads to t n = t n-1+ t0 for n in 2,... N and t1 as the initial time value, in particular t1 = 0, leads to the generation of the respective DFT vector. d→(n) for the respective sample value x n of the order index n using a P-dimensional basis DFT vector d→(0) and the previous DFT vector d→(n−1) by applying element-wise multiplication d→(n)=diag{d→(0)}d→(n−1), if n > 1 and diag {·} is the diagonal matrix, where d→(0) Pointer elements exp(-i 2 π f p t0) with p in 1,...,P. The DFT vector d→(1) For the initial order index n=1, the basis DFT vector can be used. d→(0) be or d→(1) A predefined time value t1, e.g., t1 = 0, can be selected. This implementation further reduces the memory requirement because only a certain amount of time is needed. d→(0) and d→(n−1) must be kept in the memory.

[0019] A further benefit is achieved by receiving the new sample value x. n from a first channel τ1, which results in a new first-channel sample value x(t) n , τ1) results, and the reception, together with this new first-channel sample value, of at least one further new sample value x(t n ,τ c ) for at least one further channel c, so that a total of one new sample value from each of C channels is received. The new samples x(t n ,τ c The values ​​c = 1, ..., C are then transformed together for each channel, c = 1, ..., C. This leads to a useful multi-channel implementation, which can be advantageously used especially for radar sensors, as explained in more detail below.

[0020] A further benefit is achieved by providing the DFT as an IIR filter bank implementation of the sample-wise DFT. This allows hardware-based processing logic (hardware filters, e.g., application-specific integrated circuits - ASICs) to be used for implementing the method.

[0021] As described in the introduction, this method is particularly advantageous for processing radar sensor signals in a vehicle because a DFT transformation of a radar signal enables the analysis of the dynamic properties of an object that has reflected the radar signal in the vehicle's environment. This benefit is therefore achieved by the following: the radar signal is provided by a radar sensor, and the DFT spectral coefficients are provided by the processor circuit to an assistance system that controls the vehicle's movements and, based on the DFT spectral coefficients, detects at least one object in the vehicle's vicinity.The DFT spectral coefficients can be processed by the assistance system using a prior art procedure such that the relative velocity of the object and / or its distance can be derived or obtained from the coefficients. Taking the distance and / or velocity into account, the assistance system can plan a trajectory for the vehicle such that collision-free movement of the vehicle with respect to the object is achieved. The assistance system can also control at least one actuation element of the vehicle (e.g., brakes and / or steering and / or engine) to move the vehicle according to the trajectory.

[0022] For use cases or application situations that may arise in the procedure and are not explicitly described here, it may be provided that, according to the procedure, an error message and / or a prompt for user feedback is issued and / or default settings and / or a predefined initial state is set.

[0023] Another solution is provided by the invention in the form of a processor circuit comprising computer-readable instructions which, when executed by the processor circuit, cause the processor circuit to perform a method according to an embodiment of the method according to the invention. Such a processor circuit can advantageously be embedded in a sensor device, in particular a sensor device for a vehicle. The processor circuit can comprise at least one microprocessor and / or at least one microcontroller and / or at least one field-programmable gate array (FPGA), and / or at least one digital signal processor (DSP). In particular, a central processing unit (CPU), a graphics processing unit (GPU), or a neural processing unit (NPU) can be used as the respective microprocessor.Furthermore, the processor device can include program code arranged to execute an embodiment of the method according to the invention when executed by the processor circuit. The program code can be stored in a data memory of the processor circuit. The processor circuit can, for example, be based on at least one printed circuit board and / or on at least one system-on-a-chip (SoC).

[0024] Another solution is provided by the invention in the form of a sensor device, in particular a radar device, which includes an embodiment of the described processor circuit. Additionally or alternatively, the sensor device can include a sensor, in particular a radar sensor, for generating a sample-based sensor signal and a processor circuit, wherein the sensor device, when in operation, performs an embodiment of the method according to the invention. The sensor device can additionally or alternatively include a microphone for generating an audio signal, to name just one further example of the use of the invention.

[0025] Another solution is provided by the invention in the form of a motor vehicle comprising at least one sensor device according to the invention. A motor vehicle can, for example, be in the form of a road vehicle, i.e., a passenger car, a motorcycle, or a transport vehicle. The sensor device can be used to detect objects in the vicinity of the vehicle. Such objects can be other road users and / or traffic infrastructure (e.g., traffic signs or guardrails).

[0026] The invention also includes combinations of the features of the described embodiments.

[0027] The following describes an implementation example of the invention. The figures show: Fig. 1 a schematic illustration of a signal flow of an embodiment of the flowing discrete Fourier transform according to the invention, Discrete Fourier Transform - DFT; Fig. 2 a schematic illustration of an implementation as an IIR filter; Fig. 3 a schematic illustration of an implementation as an IIR filter bank implementation of the sample-wise DFT; Fig. 4 a schematic illustration of a data flow example for an implementation as a flowing DFT; Fig. 5 a schematic illustration of a data flow for an implementation as a flowing DFT when the DFT vectors are computed recursively; Fig. 6 a schematic illustration of memory usage for implementations as a flowing DFT; Fig. 7 a schematic illustration of a data flow for an implementation as a flowing, column-wise DFT; Fig. 8 a schematic illustration of a data flow for an implementation as a flowing, column-wise DFT; Fig. 9 a schematic illustration of a successive approximation of the time difference using M bits; Fig. 10 a schematic illustration of a sequence diagram for the dynamic calculation of DFT coefficients, suitable for non-equidistant sampling; Fig. 11 A schematic illustration of a dynamic calculation of DFT coefficients, suitable for non-equidistant sampling (divided into Fig. 11a, Fig. 11b, Fig. 11c); and Fig. 12 a schematic illustration of a motor vehicle according to the invention.

[0028] The embodiment described below is a preferred embodiment of the invention. However, in this embodiment, the described components each represent individual features of the invention, which are to be considered independently of one another and which each further develop the invention independently of one another and are therefore to be considered as a component of the invention in an individual way or in a different combination than that shown. Furthermore, the described embodiment can also be supplemented by further features of the invention that have already been described.

[0029] In the figures, elements that provide the same function are designated with identical reference symbols. 1. General Arrangement

[0030] Fig. Figure 1 shows an implementation example as a high-level signal flow of the Discrete Fourier Transform (DFT). The stream of time samples ranges from sample 1 to sample N. The spectral contribution of each time sample is added to the spectrum obtained up to the current time. The illustrated steps can be performed by a processor circuit and implemented using computer-readable instructions and / or hard-wired processing logic (e.g., as an ASIC).

[0031] Fig. Figure 1 shows an abstract signal flow of the flowing DFT. The basic operation is as follows: A signal sample of 1 at time t1 is fed into a cross-product part. This multiplies the sample of 1 by a DFT vector at time t1. The DFT vector contains one complex element per frequency; that is, for P frequencies, the DFT vector has a length P. The output of the cross-product operation is then added to the initial spectrum, which can be a zero vector or any other previously loaded vector with one complex element per frequency. The result is a spectrum representing the time period up to t1. • If a second signal sample 2 arrives at time t2, the corresponding DFT vector at time t2 is multiplied by the cross-product part of the signal sample 2. The output is then added to the spectrum calculated for the period up to time t1 to finally represent the spectrum for the period up to t2.

[0032] This is repeated as long as all considered time samples 1, 2, ..., N are processed to generate the DFT-transformed signal for the period t1, t2, ..., t N to obtain. 2. Description: From DFT to flowing DFT

[0033] A signal sampled at times t1,...,t N , as specified by the vector x→=(x(t1)x(t2)⋮x(tN))=(x1x2⋮xN) The data should be transformed over the specified period using a DFT. The DFT matrix D˜=1N(exp(−i 2 π f1 t1)exp(−i 2 π f1 t2)⋯exp(−i 2 π f1 tN)exp(−i 2 π f2 t1)exp(−i 2 π f2 t2)⋯exp(−i 2 π f2 tN)⋮⋮⋱⋮exp(−i 2 π fP t1)exp(−i 2 π fP t2)⋯exp(−i 2 π fP tN)) where N is the number of time samples, t1,...,t N the sampling times are, P is the number of frequencies and f1,...,f P The frequency points are the basis for the DFT of x→ (1) from y→=D˜ x→.

[0034] However, this requires the full vector. x→, That is, all signal samples must be stored until the last sample N is available before the DFT calculation is called.

[0035] Instead of first acquiring all time samples, the contribution of each sample to the DFT spectrum can be calculated separately for each time point or for each subset of all time samples, as discussed later. The individual samples, sample 1 to sample N, of a time-sampled signal are fed sequentially into a cross-product module. This module continuously multiplies each sample by x. n = x(t n ) with the respective DFT vector d→(n)=d→(tn)=1N(d1(n)d2(n)⋮dP(n))=1N(d(f1,tn)d(f2,tn)⋮d(fP,tn))=1N(exp(−i 2 π f1 tn)exp(−i 2 π f2 tn)⋮exp(−i 2 π fP tn)) with n = 1, ..., N. The DFT vector d→(n) corresponds to the nth column of the DFT matrix D̃ (2). The output vector Δy→(n)=d→(n)xn then becomes part of the spectrum y→(n−1) added, for the period t1 ... t n-1 has been obtained. Thus, it results in y→(n)=Δy→(n)+y→(n−1)=d→(n)xn+y→(n−1) the spectrum for the period t1 ... t n with y→(0)=0→.

[0036] Fig. Figure 2 illustrates an implementation as an infinite impulse response (IIR) filter in a transposed direct-form II implementation of the sample-wise DFT for the frequency point f. p using an adaptive feedforward coefficient dp(n) in (4).

[0037] Equation (6) can be viewed as the difference equation of an infinite impulse response (IIR) filter bank. Each frequency point f pThis corresponds to an IIR filter that includes an adaptive filter coefficient in the forward branch. Since each element in y→(n)=(y1(n)y2(n)⋮yP(n))=(y(f1,tn)y(f2,tn)⋮y(fP,tn)) If a frequency point of the spectrum is represented, the p-th frequency point is obtained from yp(n)=dp(n)xn+yp(n−1).

[0038] Fig. Figure 2 shows the implementation of the difference equation (8) as an IIR filter of feedback order 1. The forward feedback coefficients are called b→p,n=(dp(n)), which reduce to a single adaptive coefficient, and the feedback coefficients are called a→=(1−1).

[0039] Fig. Figure 3 illustrates an implementation as an IIR filter bank implementation of the sample-wise DFT (6) with one IIR filter element per frequency. Each IIR filter includes an adaptive feedforward coefficient.

[0040] The implementation of the vector difference equation (6) as an adaptive IIR filter bank is described in Fig. 3 shown. Each frequency f p with p = 1,...,P, their respective IIR filters are applied with an adaptive feedforward coefficient. dp(n) shown (9). 3. Algorithmic Implementation

[0041] Fig. Figure 4 illustrates a data flow example for a flowing DFT implementation when the DFT matrix is ​​given as a whole. The syntax for the indices is... for the DFT matrix D̃ and the DFT vectors d→(n), for x→ and for the spectral vectors Δy→(n), y→(0) and y→(n) with p = 1, ...,P and n = 1, ...,N.

[0042] The data flow of an embodiment of the flowing DFT algorithm is described in Fig. 4 is shown. It is based on the following procedure: • t = t1: Choose the 1st column of the DFT matrix d→(1) extract and multiply by the first signal sample value x1 to calculate the spectral contribution Δy→(1) to obtain Δy→(1) to the initial vector y→(0), around the spectrum y→(1) at frequencies f1,...,f P to obtain the first time sample value. • t = t2: Choose the 2nd column of the DFT matrix d→(2) extract and multiply it by the 2nd signal sample value x2 to calculate the spectral contribution Δy→(2) to obtain Δy→(2) to the spectrum y→(1), around the spectrum y→(2) at frequencies f1,...,f P to obtain for the period from t1 to t2. • t = t n : Choose the nth column of the DFT matrix d→(n) extract and multiply by the nth signal sample value x n , to increase the spectral contribution Δy→(n) to obtain Δy→(n) to the spectrum y→(n−1), around the spectrum y→(n) at frequencies f1,...,f P for the period from t1 to t n to obtain. • t = t N : Choose the Nth (last) column of the DFT matrix d→(N) extract and multiply by the Nth (last) signal sample x N , to increase the spectral contribution Δy→(N) to obtain Δy→(N) to the spectrum y→(N−1), around the spectrum y→(N) at frequencies f1,...,f P for the period from t1 to t N to obtain. y→(N) can then be considered the DFT of x→ be used.

[0043] The advantage of a stepwise DFT calculation lies in the reduced memory consumption required for the signal samples x1, ...,x N This is required. Since the spectral contribution of each sample is calculated upon its availability, only a single value x is needed. n They are stored. However, the total memory consumption for storing P×N elements of the DFT matrix is ​​still high.

[0044] Memory usage can be further reduced if equidistant sampling is used, i.e., tn=tn−1+t0 where t0 is the sampling period. Then the DFT vector d→(n) for a specific time t n from the previous DFT vector d→(n−1) for the previous time t n-1 be obtained through d→(n)=diag{d→(0)}d→(n−1) if n>1 with d→(0)=(d1(0)d2(0)⋮dP(0))=(exp(−i 2 π f1 t0)exp(−i 2 π f2 t0)⋮exp(−i 2 π fP t0)). than the initial DFT vector and the pointer vector d→(0)=(d1(0)d2(0)⋮dP(0))=(exp(−i 2 π f1 t0)exp(−i 2 π f2 t0)⋮exp(−i 2 π fP t0)). diag{·} denotes the diagonal matrix. d→(n) (12) is in principle derived from d→(n−1) by element-wise multiplication with d→(0) or dp(n)=dp(n−1)dp(0) if n>1.

[0045] The initial or 1st DFT vector d→(1) can be set for an arbitrary time t1.

[0046] Fig. Figure 5 illustrates a data flow example for a flowing DFT implementation where the DFT vectors are computed recursively, assuming equidistant sampling. From t = t2 onwards, each DFT vector is obtained by multiplying the previous vector and the pointer vector element-wise. d→(0) The syntax for the indices is p,n for the DFT vectors d→(n), n for x→ and p for the spectral vectors Δy→(n), y→(0) and y→(n) with p = 1,...,P and n = 1, ...,N.

[0047] Fig. Figure 5 shows the data flow for an implementation as a flowing DFT using equidistant sampling with a time interval t0.

[0048] The algorithm works as follows: • t = t1: Choose the initial DFT vector d→(1) for an arbitrary time t1. For example t1=, dh, d→(1)=1→ or t1=t0, i.e., d→(1)=d→(0). Multiply d→(1) with the 1st signal sample value x1, to determine the spectral contribution Δy→(1) to obtain Δy→(1) to the initial vector y→(0), around the spectrum y→(1) at frequencies f1,...,f P to obtain the first time sample value. • t = t2 = t1 + t0 : Calculate the 2nd DFT vector d→(2) by element-wise multiplication of d→(1) and d→(0) (13) Multiply d→(2) with the 2nd signal sample value x2, to determine the spectral contribution Δy→(2) to obtain Δy→(2) to the spectrum y→(1), around the spectrum y→(2) at frequencies f1,...,f P to obtain for the period from t1 to t1 + t0. • t = t n = t1 + (n - 1)t0 : Calculate the nth DFT vector d→(n) by element-wise multiplication of d→(n−1) and d→(0) (13) Multiply d→(n) with the nth signal sample value x n , to increase the spectral contribution Δy→(n) to obtain Δy→(n) to the spectrum y→(n−1), around the spectrum y→(n) at frequencies f1,...,f P to obtain for the period from t1 to t1 + (n - 1) t0. • t = t N = t1 + (N - 1)t0 : Calculate the Nth DFT vector d→(N) by element-wise multiplication of d→(N−1) and d→(0) (13) Multiply d→(N) with the Nth (last) signal sample x N , to increase the spectral contribution Δy→(N) to obtain Δy→(N) to the spectrum Δy→(N−1), around the spectrum y→(N) at frequencies f1,...,f P to obtain for the period from t1 to t1 + (N - 1) t0. y→(N) can then be considered the DFT of x→ be used.

[0049] Fig. Figure 6 illustrates memory usage for implementations as a flowing DFT: a priori known DFT matrix ( Fig. 4) (left side) and DFT vector, calculated per nth time point, ( Fig. 5) (right side). The size is specified in slices of a specific data type.

[0050] Fig. Section 6 compares the memory usage of the implementation with a priori known DFT coefficients, as in Fig. 4 shown, and the implementation with the DFT vectors, calculated per nth time point, as in Fig. Figure 5 shows that for a practically meaningful number of time samples N > 2, the latter requires less memory. In both cases, it is assumed that the delta vector is updated. Δy→ and the output vector y→ The values ​​will be overwritten for each new x1. It is assumed that the DFT vector d→(n) on the right side of Fig. 6 the previous vector d→(n−1) overwrites when he uses d→(0) is multiplied. The in Fig. The memory usage shown in Figure 6 is specified in slices of a particular data type. Data can be floating-point or fixed-point and of any numeric type, such as floating-point numbers or signed integers. The data type can be complex-valued or real-valued. 4. Application to sequences of channel impulse responses

[0051] The input signal is a matrix x˜=(x(t1,τ1)x(t1,τ2)⋯x(t1,τC)x(t2,τ1)x(t2,τ2)⋯x(t2,τC)x(t3,τ1)x(t3,τ2)⋯x(t3,τC)⋮⋮⋱⋮x (tN,τ1)x(tN,τ2)⋯x(tN,τC))=(x1,1x1,2⋯x1,Cx2,1x2,2⋯x2,Cx3,1x3,2⋯x3,C⋮⋮⋱⋮xN,1xN,2⋯xN,C) with channel index c=1,...,C. In the following, without loss of generality, x̃ is considered a matrix of sampled channel impulse responses. Consequently, τ c The delay of the c-th path in a multipath environment. Each line of x̃ x→nT=(xn,1xn,2⋯xn,C) represents the channel impulse response at time t n dar.

[0052] The spectrum of x̃ along the time dimension t results from y˜=D˜ x˜, which is the equivalent of (3) in matrix notation with D̂, given by (2). The sample-wise DFT at time t n can therefore be used by means of d→(n) (4) and the matrix equivalent to (5) and (6) are calculated: Δy˜(n)=d→(n)x→nT and y˜(n)=Δy˜(n)+y˜(n−1)=d→(n)x→nT+y˜(n−1).

[0053] For an equidistant sampling with the period t0 along t, d→(n) in (19) obtained from (12) and (13). y˜(n) (19) represents the spectrum of x̃ for the period t1, ..., t n with y˜(0)=0˜ for all path delays τ1,...,τ c Since x̃ is considered a matrix of channel impulse responses, ỹ becomes the path delay Doppler spectrum, also known as the scattering function or distance Doppler map. However, the sample-wise DFT can be applied to any other signal matrix. 5. Algorithmic Implementation: Matrix

[0054] Fig. Figure 7 illustrates a data flow example for an implementation as a flowing, column-wise DFT applied to a signal matrix x̃, where the DFT vectors are computed recursively, assuming equidistant sampling. From t = t² onwards, the respective DFT vector is obtained by the element-wise multiplication of the previous vector and the pointer vector. d→(0) The syntax for the indices is p for the DFT vectors d→(0) and d→(n), n,j for x̃ and x→nT and p,j for the spectral matrices Δỹ (n) and ỹ (n) with p = 1, ..., P, n = 1, ..., N and j = 1, ..., J.

[0055] The data flow of an embodiment of the flowing DFT algorithm applied to a signal matrix is ​​described in Fig. 7 is shown. It is based on the following procedure: • t = t1: Choose the initial DFT vector d→(1) for an arbitrary time t1. For example t1=0, dh, d→(1)=1→ or t1=t0, i.e., d→(1)=d→(0). Multiply d→(1) with the first line x→1T of the signal matrix x̃, to determine the spectral contribution Δỹ (1) to obtain. Add Δỹ (1) to the initial matrix ỹ (0) , to the spectrum ỹ (1) at frequencies f1, ..., f P to obtain the first time sample value. • t = t2 = t1 + t0: Calculate the second DFT vector d→(2) by element-wise multiplication of d→(1) and d→(0) (13) Multiply d→(2) with the 2nd line x→2T of the signal matrix x̃, to determine the spectral contribution Δỹ (2) to obtain. Add Δỹ (2) to the spectrum ỹ (1) , to the spectrum ỹ(2) at frequencies f1, ..., f P to obtain for the period from t1 to t1 + t0. • t = t n = t1 + (n - 1)t0: Calculate the nth DFT vector d→(n) by element-wise multiplication of d→(n−1) and d→(0) (13) Multiply d→(n) with the nth row x→nT of the signal matrix x̃, to determine the spectral contribution Δỹ (n) to obtain. Add Δỹ (n) to the spectrum ỹ (n-1) , to the spectrum ỹ (n) at frequencies f1, ...,f P to obtain for the period from t1 to t1 + (n - 1) t0. • t = t N = t1 + (N - 1)t0: Calculate the Nth DFT vector d→(N) by element-wise multiplication of d→(N−1) and d→(0) (13) Multiply d→(N) with the Nth (last) line x→NT of the signal matrix x̃, to determine the spectral contribution Δỹ (N) to obtain. Add Δỹ (N) to the spectrum ỹ (N-1) , to the spectrum ỹ (N) at frequencies f1, ..., f P to obtain for the period from t1 to t1 + (N - 1)t0. ỹ (N) can then be used as the column-wise DFT of x̃. 6. Consideration of multiple time sampling values

[0056] Fig. Figure 8 illustrates a data flow for an implementation as a flowing, column-wise DFT applied to the signal x̃ when multiple samples (rows) are selected and the DFT matrix is ​​recursively computed for each time interval, assuming equidistant sampling. The syntax for the indices is p for the DFT pointer d→(0), p,n for the initial DFT matrix D̃ (1) and p,j for the spectral matrices Δỹ (n) and ỹ(n) with p = 1, ...,P, n = 1,...,n̂ and j = 1, ...,J.

[0057] A generalization of the flowing DFT, as discussed in Sections 2, 3, and 4, can be performed for a period of more than one sample. That is, not a single, but several rows of x̃ (15) are selected to calculate their contribution to the spectrum ỹ (17).

[0058] Let n̂ be the window size, i.e., the number of consecutive samples. Then the input signal matrix (15) can be written as x˜=(x1,1x1,2⋯x1,Jx2,1x2,2⋯x2,J⋮⋮⋱⋮xn^,1xn^,2⋯xn^,Jxn^+ 1.1xn^+1.2⋯xn^+1,Jxn^+2.1xn^+2.2⋯xn^+2,J⋮⋮⋱⋮x2n^,1x2n^, 2⋯x2n^,J⋮⋮⋮x(L−1)n^+1.1x(L−1)n^+1.2⋯x(L−1)n^+1,Jx(L−1) n^+2.1x(L−1)n^+2.2⋯x(L−1)n^+2,J⋮⋮⋮⋮xLn^,1xLn^,2⋯xLn^,J) or x˜=(x˜1x˜2⋮x˜L) with x˜l=(x(l−1)n^+1.1x(l−1)n^+1.2⋯xn^+1,Jx(l−1)n^+2.1x(l−1)n^+2.2⋯x(l−1)n^+2,J⋮⋮⋱⋮xl n^,1xl n^,2⋯xl n^,J), l = 1,...,L and L=⌊Nn^⌋.

[0059] It is assumed that N is an integer multiple of n̂.

[0060] The contribution of each x̃ l to the spectrum is achieved by Δy˜(l)=D˜(l)x˜l.

[0061] Assuming equidistant sampling with a time interval t0, the DFT matrices D̃ (l) calculated from an initial matrix D˜(1)=1N(exp(−i 2 π f1 t0)exp(−i 2 π f1 2 t0)⋯exp(−i 2 π f1 n^ t0)exp(−i 2 π f2 t0)exp(−i 2 π f2 2 t0)⋯exp(−i 2 π f2 n^ t0)⋮⋮⋱⋮exp(−i 2 π fP t0)exp(−i 2 π fP 2 t0)⋯exp(−i 2 π fP n^ t0)) and the pointer vector d→(0) (13). With (25) and (13) the l-th DFT matrix D˜(l)=diag{d→(0)}(l−1)n^D˜(1) or in recursive form D˜(l)=diag{d→(0)}n^D˜(l−1) for l>1.

[0062] The spectrum at the l-th time window is therefore given by (22) y˜(l)=Δy˜(l)+y˜(l−1)=diag{d→(0)}(l−2)n^D˜(1)x˜l+y˜(l−1) for l>1 or y˜(l)=diag{d→(0)}n^D˜(l−1)x˜l+y˜(l−1) for l>1with y˜(1)=D˜(1)x˜1.

[0063] Fig. Figure 8 represents an implementation of the flowing DFT over multiple time samples. It works as follows: • t = t0, 2t0,...,n̂ t0: Choose the initial DFT matrix D̃ (1) out. Multiply D̃ (1) with the 1st submatrix x̃1 of the signal matrix x̃, to calculate the spectral contribution Δỹ (1) to obtain. Add Δỹ (1) to the initial matrix ỹ (0) , to the spectrum ỹ (1) at frequencies f1,...,f P to obtain the first of n̂ samples. • t = (ñ + 1)t0,(n̂+2)t0, ..., 2n̂t0 : Calculate the 2nd DFT matrix D̃ (2) by multiplication of diag{d→(0)}n^ and D̃ (1) from the previous time interval. Multiply D̃ (2)with the 2nd submatrix x̃2 of the signal matrix x̃, to calculate the spectral contribution Δỹ (2) to obtain. Add Δỹ (2) to the spectrum ỹ (1) , to the spectrum ỹ (2) at frequencies f1,..., f P to obtain the 2nd of n̂ samples. • t = ((l - 1)n̂ + 1)t0,((l - 1)n̂ + 2)t0, ..., ln̂ t0 : Calculate the lth DFT matrix D̃ (l) by multiplication of diag{d→(0)}n^ and D̃ (l-1) from the (1 - 1)th time interval. Multiply D̃ (l) with the l-th submatrix x̃ l of the signal matrix x̃, to determine the spectral contribution Δỹ (l) to obtain. Add Δỹ (l) to the spectrum ỹ (l-1) , to the spectrum ỹ (l) at frequencies f1, ..., f P to obtain the l-th of n̂ samples. • t = ((L - 1)n̂ + 1)t0,((L - 1)n̂ + 2)t0, ...,Ln̂ t0 : Calculate the Lth DFT matrix D̃ (L)by multiplication of diag{d→(0)}n^ and D̃ (L-1) from the (L - 1)th time interval. Multiply D̃ (L) with the L-th submatrix x̃ L of the signal matrix x̃, to determine the spectral contribution Δỹ (L) to obtain. Add Δỹ (L) to the spectrum ỹ (L-1) , to the spectrum ỹ (L) at frequencies f1, ...,f P to obtain the L-th of n̂ samples. ỹ (L) can then be used as the column-wise DFT of x̃. 7. Implementation for non-equidistant sampling

[0064] Fig. Figure 9 illustrates a successive approximation of the time difference Δt. n with M bits (40). Based on the output vector w→ (45) the subset of predefined DFT vectors (37) is selected and combined to determine the contribution of the sampled value at time t n to calculate the DFT.

[0065] The DFT matrix, as defined by D̃ (2), does not imply equidistant sampling, i.e., in general tn−tn−1≠const for rn=1,…,N.

[0066] For a given period t1 to t N The complete DFT matrix must be stored in the memory.

[0067] Alternatively, the DFT vector can be used. d→(n) (4) based on its predecessor d→(n−1) to be calculated, as referred to in Section 3 for the equidistant case. In principle, this can be done in two ways:

[0068] • A minimum step size t̂0 is defined and d→(n) is obtained from d→(n)=diag{d→^(0)}μd→(n−1) for>1 with d→^(0)=(exp(−i2πf1t^0)exp(−i2πf2t^0)⋮exp(−i2πfPt^0)) (32) and μ=[tn−tn−1t^0] as the integer multiple of the time difference tn - t n-1 about the step size t̂0; [·] denotes the rounding operator. As a consequence of rounding, the time step µ t̂0 can differ from the actual time difference t. n - t n-1 Deviations, which lead to calculation errors in the DFT. Therefore, it is assumed that t̂0 is a small fraction of the expected minimum time difference, for example t^0<<min{tn−tn−1} ∀n> 1.

[0069] While in this case d→(0) (32) if the only DFT vector that needs to be permanently stored in memory, the computational effort for a large µ value can become high.

[0070] • To reduce computational effort, a number of possible step sizes can be used. {t^1,…,t^M} to be determined. Then d→(n)=diag{d→^(m)}d→(n−1) for >1 and m = 1, ..., M with d→^(m)=(exp(−i2πf1t^m)exp(−i2πf2t^m)⋮exp(−i2πfPt^m)) and m=argmin|{tn−tn−1−t^m}|.

[0071] To put it simply, that time step t̂ m taken, the one closest to the time difference t n - t n-1 is of two consecutive samples.

[0072] Compared to previous cases, M DFT vectors must be permanently stored in memory to reduce computational effort.

[0073] Combinations of both approaches mentioned above can also be used.

[0074] One particular implementation is based on a successive approximation of the time difference t. n - t n-1 of two consecutive samples. If we have a maximum time difference max{tn−tn−1}=Δt^ ∀n and assuming a time difference resolution of M bits, the minimum time step becomes Δt^2M

[0075] For a specific time difference t n - t n-1≤ Δt̂ can be achieved using a combination of predefined time steps. Fig. Figure 9 shows the implementation: • The time difference between the current and the previous sample is referred to as Δtn=tn−tn−1. Δt n It is to be quantized with M bits. m = 1 represents the most significant bit, m = M the least significant bit. • The approach starts with a time difference of Δτ1 = Δt n . • The degree of quantization is defined by Tm=Δt^2m.

[0076] For m = 1 it becomes T1=Δt^2. • The m-th bit is derived from wm=⌊ΔτmTm⌋ with Δτm=Δτm−1−wm−1Tm−1 for>1 Δτm=Δtn fu¨rm=1 as a quantized time difference. ⌊⋅⌋ denotes the rounding-off operator. For m=1,w1=⌊ΔtnT1⌋. • Once all bits have been calculated, the binary word is represented by the vector w→=(w1 w2 ⋯ wM)T with w m ∈ {0,1} for m = 1, ...,M.

[0077] For a set of possible step sizes (35) resulting from (41), {t^1,...,t^M}={T1,T2,...,TM} The quantized time difference results from Δτ=(T1 T2⋯ TM)w→=∑m=1MwmTm.

[0078] This can be mapped to the subset of predefined DFT vectors (37) that are used to obtain the DFT vector d→(n) for the current time t n required: d→(n)=∏wmdiag{wm d→^(m)}d→(n−1) for wm=1 and m=1,...,M.

[0079] This means that only those predefined vectors d→^(m) be selected for the w m = 1 applies.

[0080] An implementation for dynamic DFT coefficient calculations for non-equidistant sampling is presented in Fig. 10 and Fig. 11 shown.

[0081] Fig. Figure 10 illustrates a sequence diagram for the dynamic calculation of DFT coefficients, suitable for non-equidistant sampling.

[0082] Fig. 11 (divided into Fig. 11a, Fig. 11b, Fig. Figure 11c) illustrates a dynamic calculation of DFT coefficients suitable for non-equidistant sampling.

[0083] Fig.Figure 12 illustrates a motor vehicle 10, which could be, for example, a passenger car traveling on a road. In the vicinity 11 of the vehicle 10, objects 12, such as other road users, can be detected by a sensor device 13 of the vehicle 10. The sensor device 13 can be a radar device that can emit radar waves 14, which can be reflected by one or more of the objects 12 and then return to the sensor device 13 as reflected radar waves 15. A radar sensor 16 can receive the reflected radar waves 15 and generate a sensor signal 17 from the received radar waves. An analog-to-digital converter 18 can convert the sensor signal 17 into individual samples 19, which can be received sequentially by a processor circuit 20. It is also possible to provide a multi-channel version, as described above.The generation of the sample values ​​19 from reflected radar waves 15 can be implemented in the way known from the prior art.

[0084] Whenever the processor circuit 20 receives a new sample value 19, a timestamp can be associated with the sample value 19, indicating, for example, the time of reception or generation. Using one or more of the described procedures and thus applying the SDFT, the processor circuit 20 can transform the sample values ​​19 into DFT coefficients 21.

[0085] An assistance system 22, e.g., an autonomous driving function or a driver assistance system, can use the DFT coefficients 21 to detect the objects 12 and / or to analyze the relative distance and / or speed of the objects 12 with respect to the sensor 16. Using the DFT coefficients 21 and by means of a procedure known from the prior art, the assistance system 22 can calculate a driving trajectory 23 to avoid a collision with the objects 12. To control the vehicle 10 so that it follows the trajectory 23, the assistance system 22 can generate control commands 24 that control or influence at least one actuating element 25 of the vehicle 10, e.g., a brake and / or a steering system and / or an engine.

[0086] Overall, the example shows how an implementation of a streaming discrete Fourier transform, SDFT, is provided by the invention. Reference sign 10 vehicles 11 Environment 12 objects 13 Sensor device 14 emitted radar waves 15 received radar waves 16 Sensor 17 Sensor signal 18 Analog-to-Digital Conversion 19 sample value 20 processor circuit 21 DFT coefficients 22 Assistance systems 23 Travel trajectory 24 control commands 25 Actuating element

Claims

[1] Method for applying a P-dimensional discrete Fourier transform, Discrete Fourier Transform - DFT, to a sequence of N samples of a sensor signal, with P, N > 2, wherein the method comprises the following step, performed by a processor circuit (20): receiving one of the samples one after the other and whenever a new sample or a group of successive new samples, comprising a predefined number J of samples, is received, with 1 <J<N, empfangen wird: • Provide x for each new sample value n , a sequence index n indicating which of the 1 to N samples has been received, where n is in 1,..., N; and • Select or generate a corresponding DFT vector for each new sample value. d→(n) depending on the order index n of the sampled value, where the DFT vector d→(n) P comprises pointer values ​​consisting of frequency points f p The P-dimensional DFT can be derived by S * exp(-i 2 π f p t n ), where p in 1,...,P is the index of the pointer value in the DFT vector d→(n) is and S is a scaling factor and t n the sampling time of the new sample value x n is and i is the imaginary unit with i 2 = -1 is; • Applying the respective new sample value x n as a multiplication factor on its corresponding DFT vector d→(n) to generate a respective spectral contribution vector Δy→(n)=d→(n)xn; • Adding the respective spectral contribution vectors Δy→(n) to an accumulation vector Δy→(n)=Δy→(n)+y→(n−1); and when, for all N samples, their corresponding resulting contribution vector has been added to the accumulation vector, providing the accumulation vector y→(N) as DFT spectral coefficients of the N samples, characterized by , that a) the procedure further includes: • Generating at least some or all sampled values ​​at non-equidistant sampling times t n and • Providing a rasterized time pattern by defining a minimum time step size t̂0 and • Generating the respective DFT vector d→(n) for the respective sample value of the sequence index n using a P-dimensional basis DFT vector d→^(0) and the DFT vector d→(n−1) by applying element-wise multiplication, where d→^(0) Pointer elements exp(-i 2 π f pt̂0) with p in 1,...,P includes a time difference t n - t n-1 the sampling time of the last sample value x n and the preceding sample value x n-1 is expressed as the integer multiple, or the next larger integer multiple, or the next smaller integer multiple μ=[tn−tn−1t^0] of t̂0, where [·] is the rounding operator, such that d→(n)=diag{d→^(0)}μ d→(n−1), or b) the procedure further includes: • Generating at least some or all sampled values ​​at non-equidistant sampling times t n and • Retain storage of M > 1 pre-calculated vectors diag{d→^(m)} for different time values ​​{t̂1,...,t̂ M} in the memory as d→^(m), , m = 1 ... M, with phasor elements exp(-i 2 π f p t̂ m) , p = 1,...,P, and for a given sample value x n , at the sampling time t n , the vector for index m = arg min|{t n - t n-1 - t̂ m} applied to the preceding DFT vector with the nearest time difference by element-wise multiplication to provide the DFT vector d→(n)=diag{d→^(m)}d→(n−1) for n > 1, or c) the procedure further includes: • Generating at least some or all sampled values ​​at non-equidistant sampling times t n and • Provide, for M > 1, a set of possible time step sizes {t̂1,..., t̂ M} and for the sample value x n The time step t̂ m taken, the one closest to the time difference t n - t n-1 of two consecutive samples d→(n)=diag{d→^(m)}d→(n−1) for >1 and m = 1, ..., M with d→(m)=(exp(−i 2 π f1 t^m)exp(−i 2 π f2 t^m)⋮exp(−i 2 πfP t^m)) and m=argmin|{tn−tn−1−t^m}|, or d) the procedure further includes: • Generating at least some or all sampled values ​​at non-equidistant sampling times t n and • successive approach to the respective time difference t n - t n-1 of two consecutive samples x n-1 and x n , where for a maximum time difference max{t n - t n-1} = Δt̂ for the respective order index n and a time difference resolution of M bits, a minimum time step to Δt2M will be and for a given time difference t n - t n-1 ≤ Δt̂ a combination of predefined time steps is obtained by taking the time difference between the current and the previous sample value Δt n = t n - t n-1 is and Δt nis quantized with M bits, where m = 1 is the most significant bit and m = M is the least significant bit, and • the approach with a time difference of Δτ1 = Δt n starts • the degree of quantization is defined by Tm=Δt^2m • for m = 1 T1=Δt^2 will and • the m-th bit is derived from wm=⌊ΔτmTm⌋ results, with Δτm=Δτm−1−wm−1Tm−1 for>1 Δτm=Δtn fu¨rm=1 as a quantized time difference, ⌊⋅⌋ denotes the rounding operator and for m = 1, w1=⌊ΔtnT1⌋, • when all bits have been calculated, the binary word is represented by the vector w→=(w1 w2 ⋯ wM)T with w m ∈ {0,1} for m = 1, ...,M • and for a set of possible step sizes resulting from T m results {t^1,...,t^M}={T1,T2,...,TM} The quantized time difference is calculated as Δτ=(T1 T2 ⋯TM)w→=∑m=1MwmTm, which is mapped to the subset of predefined DFT vectors (37) that are used to obtain the DFT vector d→(n) for the current time t n required: d→(n)=∏wm diag{wmd→^(m)}d→(n−1) for wm=1 and m=1,...,M, where only those predefined vectors d→^(m) be selected for the w m = 1 applies. [2] The method of claim 1, further comprising: deleting the respective new sample value when the corresponding contribution vector for that sample value has been calculated, and deleting the respective contribution vector after it has been added to the accumulation vector, so that at no time are all N samples x n , with n in 1,..., N, and their resulting contribution vector Δy→(n) are stored together in the processor circuit. [3] Method according to any of the preceding claims, further comprising: • Generating at least some or all samples at sampling times with a constant sampling interval to, which leads to t n = t n-1 + t0 for n in 2,... N and t1 as the initial time value, in particular t1 = 0, leads to, and • Generating the respective DFT vector d→(n) for the respective sample value x n of the order index n using a P-dimensional basis DFT vector d→(0) and the DFT vector d→(n−1) by applying element-wise multiplication d→(n)=diag{d→(0)}d→(n−1), if n > 1 and diag {·} is the diagonal matrix, where d→(0) Pointer elements exp(-i 2 π f p t0) with p in 1,...,P includes. [4] Method according to any of the preceding claims, further comprising: Receiving the new sample value xn from a first channel τ1, which results in a new first-channel sample value x(t) n ,τ1) results, and receive, together with this new first-channel sample value, at least one further new sample value x(t n , τ c ) for at least one further channel c, so that a total of one new sample value from each of C channels is received, and transforming the new samples x(t n ,τ c ), c = 1, ..., C, together for each channel, c=1,...,C. [5] Method according to any of the preceding claims, further comprising: Providing the DFT as an IIR filter bank implementation of the sample-wise DFT. [6] Method according to any of the preceding claims, further comprising: • Provision of the radar signal by a radar sensor and • Providing the DFT spectral coefficients, through the processor circuit, to an assistance system that controls the driving movements of a vehicle and that detects at least one object in the vehicle's environment based on the DFT spectral coefficients. [7] Processor circuit (20), comprising instructions which, when executed by the processor circuit (20), cause the processor circuit (20) to perform a method according to any one of the preceding method claims 1 to 6. [8] Sensor device (13), in particular RADAR device, comprising a processor circuit (20) according to claim 7 and / or comprising a sensor (16), in particular a RADAR sensor, for generating a sample-based sensor signal (17) and connected to a processor circuit (20), wherein the sensor device (13), when in operation, performs a method according to one of the preceding method claims. [9] Motor vehicle (10) comprising at least one sensor device (13) according to claim 8.