frequency domain to time domain
6 ビュー (過去 30 日間)
Walter Roberson 2021 年 12 月 17 日
If you know the sampling frequency and the duration, then you can discretize each frequency to get a bin number for fft purposes.
Sampling frequency times duration gives you the number of original samples.
Now create an spectra that is the same length as the number of original samples.
Take the bin number information relevant to each frequency, and at that offset, store the entire magnitude.
spectra(end:-1:floor(end/2)+1) = spectra(2:floor(end/2));
which extends the frequency list symmetrically into the negative frequencies.
Now you can ifft(spectra)
The result will be a composition of pure sine (or cosine) waves as if the phase were 0 for all frequencies.
If you want a more accurate approximation, then when you discretize the frequencies to get bin numbers, allocate the magnitude proportionately between floor(bin_number) and ceil(bin_number)