aspcore.fouriertransform.idft_vector

aspcore.fouriertransform.idft_vector(freq_idx: int, dft_len: int)

All exponential values to calculate the IDFT for a specific output time step

Returns exp(i 2pi k n / N) for all frequency bins k = 0, 1, …, N-1 Which corresponds to the IDFT definition used here which is u(n) = sum_k u(k) exp(i 2pi k n / N) / N

time_idxint

the index of the time step bin. Symbol n in the formula above.

dft_lenint

the number of frequency bins. Symbol N in the formula above.

exp_vector : ndarray of shape (dft_len,)

The values corresponds to the DFT definition used here which is u(n) =

rac{1}{N} sum_k u(k) exp(-i 2pi k n / N). See documentation for the ifft function.

Although inefficient, the DFT can be calculated by multiplying the input signal with this vector and summing. Preferably, use the fft and ifft functions.