# How to determine the original size of the FFT used in unknown OFDM symbol

Given an unknown OFDM symbol consisting of 9144 samples, interested to know the size of the FFT used in the TX/Number of bins.

Down-sampling to 512,256,128,64,32 yields the following.

Do not see how can this information be derived based on this data. As a result, have tried to analyze the time domain of the downsampled vectors, and detect samples that were removed by the downsampling process.

Seems that the third graph represents the original FFT size – 128, as the sample at 277 has not been witnessed before(fft=64,32), and is witnessed at higher sampling rates.

Wonder if this is correct and whether there is a more accurate approach to determine the FFT size used?

• The 9144 samples that you mention, is this the (arbitrary) sampling rate as used in the receiver, and you have no other knowledge of the signal structure as created in the transmitter? – Dan Boschen Oct 5 '18 at 11:29
• That is right. This is a totally blind demodulation process - UNKNOWN recorded signal of a proprietary Video link. – SenSen Oct 5 '18 at 22:21
• I believe the center symbol is usually nulled to avoid DC offset issues; if that null is visible perhaps that would reveal the sub-carrier size (based on width and characteristics of the null)? – Dan Boschen Oct 6 '18 at 12:39

## 3 Answers

If you use an FFT size to generate a PSD estimate far longer than the IFFT used to generate the OFDM signal, then you'll see the "valleys" between the sinc maxima in the spectrum, and then it's easy to just go in there and count subcarriers, and their spacing.

This will, however, require a high degree of frequency stability in your system, and won't work well with OFDM systems where small number of consecutive symbols are bursted out.

You can make that a little more robust and work on longer autocorrelation functions, like here.

You probably want one of the more advanced methods of OFDM parameter estimation, like those implemented in gr-inspector (hint: that's free&open source; don't reinvent the wheel).

The relevant blog post of the author of that software would be https://grinspector.wordpress.com/2016/07/08/week-7-ofdm-prototype/ .

You basically want to read

Bouzegzi, A., Ciblat, P., & Jallon, P. (2010). New algorithms for blind recognition of OFDM based systems. Signal Processing, 90(3), 900–913. doi:10.1016/j.sigpro.2009.09.017

They propose clever (as in: outperforming above roughly sketched autocorrelation-based methods) ways to synchronize and estimate OFDM parameters.

• Thank you Marcus, Nice project - thanks for sharing. The problem elaborated in the post has already been solved. There are many estimators that can be used for this purpose. The FFT size must be derived based on a properly compensated(time+freq) symbol. It is however crucial to perform the re-sampling accurately. Meaning, for a symbol to be re-sampled from size M to N(M>N), first it must be up-sampled by N and then down-sampled by M. Alternatives that yields the same final size, will mostly not reveal the FFT size. – SenSen Dec 6 '18 at 0:12

Your symbols should all have a cyclic prefix of length M such that the entire symbol is M+N(FFT Size). You could correlate the start of a symbol and see how many samples later (length L) it shows up, such that L+M = N. This works if you are entirely certain that you are sampling at the same rate (OFDM bandwidth) as your transmitter. This is easy to do though, just spectrum analyze at a much higher sampling rate and see the bandwidth of the signal in question then set your receiver to match this bandwidth.

• Hi @spel and welcome to SignalProcessing.SE! Trying to follow your approach and see how we can get the bandwidth of the signal easily enough, but how do you know how many samples are in each FFT bin to determine how many bins are in the FFT? The sampling rate itself of the transmitter is not the OFDM bandwidth but arbitrarily larger to meet Nyquist criteria. Unless I am misreading the question I think the OP has 9144 samples as received (due to sampling rate in receiver used), which would be independent of the rate used in the transmitter (analog signal received). Can you clarify? – Dan Boschen Oct 5 '18 at 11:27
• @DanBoschen a complex signal can be sampled at the bandwidth of that signal. Real signals have conjugate symmetry so knowing [0 f/2] tells you all the information in that signal. Complex signals can contain information from [-fs/2 fs/2] (the entire bandwidth is usable). In other words, each IQ sample contains twice the spectral information as a real sample. It doesn't break nyquist, but its not entirely intuitive. With this fact, you can sample at the bandwidth and can try finding the cyclic prefix in symbols to determine how many samples are between the cp and the end of the symbol – spet Oct 5 '18 at 15:20
• Understood, but how do you know how many symbols are in the cyclic prefix? (Also consider that the cyclic prefix is typically smeared with the ISI of the channel-- hence chosen in its design to span the channel impulse response) – Dan Boschen Oct 5 '18 at 15:26
• Well that’s the difficult part. Probably is going to end up being a guess and check with trying different cp sizes at different offsets of the signal and using correlation ito find it’s match.its typically smeared and corrupted by the channel but I do know there are papers out there that use the cyclic prefix exclusively for symbol detection, so I believe it’s feasible. – spet Oct 5 '18 at 15:52
• I can see how auto correlation could be used to easily determine the symbol boundaries (will be peaks in the auto correlation function separated by T) even in the presence of strong ISI, but I wonder what could be done to determine the number of subcarriers--- perhaps someone else has an approach and will answer (or can show why it can't be done if that's the case, short of trial and error). – Dan Boschen Oct 5 '18 at 16:34
1. Solve for the useful period, Tu. The easiest way to blindly estimate Tu in OFDM is via autocorrelation. You can peak pick the output of the autocorrelation (or visually inspect) to get Tu.

2. Estimate the number of used carriers. Once you have Tu you can estimate the total used carriers with: Used Carriers = Measured BW * Tu, where measured BW is the observed from the power spectral density (PSD) of the signal of interest.

3. Next highest power of 2. Assuming the DFT size is a power of 2, which is true for nearly any commercial OFDM signal I can think of, you can infer the FFT size by taking the next highest power of 2 from the number of used carriers (step 2).