Understanding FFT size in OFDM modulation

I know that the FFT size is the the number of subcarriers OFDM system have. But I also know that the FFT has to be $$2^N$$ big (in order to process N samples from time domain to frequency domain).

But here in Matlab I can set my N to 333 for example, and The program will run without any problem (of course, the constellation diagrams will be different if I use for example N = 256, but that's just it). Why is that? Did I misunderstand something?

1) Also, If I have 1024-OFDM modulation, and the constellation on subchannels is 64 QAM, my FFT size is in the name of the modulation, right? Is it 1024?. Because 64 is the number of constellation points (size of the QAM symbols), so it can't be it.

An FFT does not need to be of length 2^N. However, FFTs of lengths that are a multiple of only tiny primes run faster. If you don't mind slower performance (or higher CPU utilization), you can use any length.

Note that multiple modulations can be combined, for instance, modulation of each subcarrier, and modulation of a collection of carriers. Each can be different, thus differently named. For instance, each subcarrier in an OFDM system can have a different size of QAM constellation.

• Thanks! Im upvoting this. I didn't know that you can combine multiple different modulations. The only question I want to ask now, is that, if I have a 1024-OFDM modulation in the task, the number 1024 defines FFT size, right? – JimPanse Feb 21 at 21:54
• Because this is always confusing for me. Because the FFT size defines the number of subcarriers, so it is in fact, the same – JimPanse Feb 21 at 22:00
• The FFT size is the maximum number of subcarriers. One doesn't need to use them all, and OFDM can use less (zero fill the rest). – hotpaw2 Feb 21 at 23:27

FFT is an efficient implementation of the DFT. It runs efficiently when the size is $$2^N$$.

The number of subcarriers in an OFDM symbol is independent of the modulation size.

• Thanks. I didn't know that it is independent. So I had "1024-OFDM modulation" in the task, the number 1024 represents the number of subcarriers, or the FFT size? – JimPanse Feb 21 at 21:56
• Because I guess the FFT size defines my number of subcarriers and vice versa – JimPanse Feb 21 at 22:00
• The number of subcarriers = the size of the FFT. – BlackMath Feb 21 at 23:30