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.