# Frequency domain samples to time domain without knowing the sampling rate?

I have some frequency response data from 802.11a OFDM communication in channel 8 of the 5 GHz band, and I would like to inverse transform this to produce the corresponding time domain response. That is, I have $$N$$ equally spaced samples $$H(f_1), H(f_2), ..., H(f_N)$$ (except the middle sample is missing, see below) of the radio channel transfer function, and I wish to obtain the time domain impulse response $$h(t)$$, or in practice a discrete approximation $$\hat{h}[n] \approx h[n] = h(nT_s)$$.

Now, if I inverse FFT the samples I get a sequence $$g[n]$$, but I do not know what time values the elements of the sequence represent. The ways I know of to obtain the time resolution are all based around knowing the sampling frequency $$f_s = 1 / T_s$$ that was used to produce the original FFT, but that is unknown here. I do however know the frequencies $$f_1, f_2, ..., f_N$$, and intuition tells me that it should be possible to infer the time resolution from this knowledge. I am not very familiar with discrete transforms however, so I haven't been able to figure it out myself.

To be specific, the $$N = 52$$ frequencies in question are centered around $$5040 \; MHz$$ and spaced $$312.5 \; kHz$$ apart. The center frequency is missing (unused), so there are 26 below center and 26 above, making the full range $$f_1 = 5031.875 \; MHz$$ to $$f_{52} = 5048.125 \; MHz$$.

• Asking out of curiosity, how are you going to further use g[n]? Mar 17, 2020 at 16:14

Generally the relationship between the sampling frequency $$f_s$$ and the frequency spacing of each bin $$\Delta f$$ is given by:

$$\Delta f= f_s/N$$

For example if you have 1000 bins and the sampling rate is $$f_s = 1$$ KHz, then each bin is spaced by 1 Hz given by $$f_s/N$$. So if the frequencies $$f_1, f_2, ..., f_N$$ (using the OP's indexing) were associated with bins 0 to $$N-1$$, each spaced by 1 Hz. In this case the frequencies would be $$0, 1, 2... 999$$ Hz and the sampling rate is $$999$$ Hz + 1 bin or $$999$$ + $$1$$ Hz = 1 KHz.

Update due to additions to the question: In the specific case that the OP is using, the center unused bin would most likely represent the carrier frequency which would map to DC (and it is unused due to the possibility of interference due to carrier feed through). So here the center is likely to be bin 0, the frequencies to the right of center are likely to be bins 1 to 26, and the frequencies to the left of center are likely to be bins 27 to 52 (bin 27 is to the far left, representing the negative frequencies as would be mapped with fftshift in MATLAB/Octave). Regardless due to the cyclical nature of the FFT we can still use the guidance I provided to determine the sampling rate such that it would be N=53 total bins (including the nulled bin) and with a frequency spacing of 312.5 KHz the sampling rate would be 312.5 KHz x 53= 16.5625 MHz.

• Thank you for answering! The frequencies in my data do not start at 0 Hz, how does that change things? I have updated my question with specifics about frequencies.
– ummg
Mar 17, 2020 at 12:35
• @ummg I updated my answer Mar 17, 2020 at 12:45
• Thank you for the comprehensive answer. There is still one thing bugging me though. The method you outline above to determine the time resolution of the IFFT (the sampling rate of the FFT) does not use the fact that the frequencies are in the specific range 5031.875 MHz to 5048.125 MHz. Thus, if the same data instead represented another frequency range of the same width, say 1031.875 MHz to 1048.125 MHz, we would get the same IFFT and the same time resolution. But that can't be right, because the frequency shifted data would represent a very different signal! What am I missing?
– ummg
Mar 17, 2020 at 18:54
• It really doesn’t matter what the carrier frequency is— this could be the same signal at 10GHz. 1 GHz or 100 MHz — what frequency we transmit on does nothing to change the content of the signal as “modulation” is always relative to the carrier. Mar 17, 2020 at 18:56
• Perhaps this helps: if I frequency translated a standard FM broadcast that is at 100MHz to 1GHz and then FM demodulated the signal at that new carrier- we would get the same audio result. Make sense? Mar 17, 2020 at 18:58

How much is your $$N$$? For 802.11a 20MHz bandwidth signal, typical $$N=64$$ and frequency spacing between OFDM symbols is $$\Delta f = 312.5kHz$$. So $$BW = N \times \Delta f = 20MHz$$. When you say

I have N equally spaced samples

I am assuming you have 64 samples, so if you take IFFT, you will give channel response of 64. Here, the sampling rate is $$20MHz$$ corresponding to $$N=64$$. So $$f_s = 20MHz$$ and $$t_s = 1/f_s = 50ns$$. So $$g[0] = 0s$$, $$g[1]=50ns$$, $$g[2]=100ns$$ and so on..

If you have values of $$H$$ only at pilot locations (4 pilots), then you have to take 64-point IFFT. You will get a pattern repeated every 16 samples. You have to make elements from $$g[16]$$ to $$g[63]$$ $$0$$, take FFT and then take IFFT back again to obtain true $$g$$ values. This operation is called channel smoothing.

• Thank you for answering!I have updated my question with specifics about frequencies.
– ummg
Mar 17, 2020 at 12:36

The formula for center frequency of each bin of an N-point FFT of a signal is $$f=m*Fs/N$$ where where $$m=0,1,...N-1$$. $$H(f1)$$ will be the bin value for DC signal which is the mean of the signal. $$f2 = 1*fs/N$$. Since you know both f2 and N, you can find $$fs$$ and hence $$Ts$$.

Each spacing between any 2 bins will be $$f=fs/N$$. So $$fs=f*N$$ = 312.5k*53= 16.5MHz. The center frequency is periodic with fs.

• You missed the center bin which is not used. So it should be 53 instead of 52 as in answer given by Dan. Mar 17, 2020 at 16:05
• Thanks for pointing it out...I forgot the center bin Mar 17, 2020 at 17:18