im trying to understand the difference between a guard band, and the cyclic prefix, or at least the relationship between the two.

Prior to now, I was under the interpretation that the cyclic prefix acts as a guard band, which transforms the linear convolution into a circular convolution which makes demodulating the signal and channel equalisation much easier as well as preventing ISI. However, when using the OFDMModulator object in MATLAB, I see an example usage as follows:

mod = comm.OFDMModulator(...
    'FFTLength' ,           64, ...
    'NumGuardBandCarriers', [5;6], ...
    'InsertDCNull',         true, ...
    'PilotInputPort',       true, ...
    'PilotCarrierIndices',  [12;26;40;54], ...
    'CyclicPrefixLength',   16, ...
    'NumSymbols',           1);

So, we can look at the subcarrier utilisation for one symbol by calling showResourceMapping(mod), and we see:

enter image description here

This is sort of what I expected, because we set NumGuardBandCarriers to [5;6] so, 5 subcarriers at the lower end and 6 at the higher end, but there are a few things I dont quite get:

(1) what relevance does the 'CyclicPrefixLength' parameter have on this mapping - when I change this value to larger numbers the graph remains the exact same.

edit: I have an answer to this. It does not affect the actualy subcarrier allocation of course, but when you actually use the ofdm object to modulate some data, then the length of the result depends on how long the CP is (L_fft + L_CP)

(2) why is that the guard band is spread across the lower and upper subcarrier inidices - If the guard band is the cyclic prefix, I was expecting that you just take the last N symbols out of the FFT and prepend them to the Data.

(3) what is the relationship/dependecy between the number of guard band carriers and the cyclic prefix length?

edit: Ok I understand - for reference, there is a difference between a guard band and a guard interval. The guard band has nothing to do with the cyclic prefix. This is purelly allocation of null subcarriers at the edge of the OFDM symbol which provide buffers between consecutive OFDM symbols to protect the integrity of transmitted signals by reducing intersymbol interference. In contrast the guard interval is a synonym for the cyclic prefix, which itself has nothing to do with subcarrier allocation. Instead we simply prepend the result of the IFFT in the modulator with the final N symbols generated in the modulation process.

Perhaps someone else would still like to expand but this is how I understand it.


2 Answers 2


I think of it as 2 sets of guard bands, one set in the frequency domain (unused spectrum), and one set in the time domain (OFDM cyclic prefix). One guards against adjacent frequency channel splatter (offset errors plus Doppler). One guards against before/after time domain splatter (synchronization latencies plus multipath interference).

  • $\begingroup$ That is a good way to think about it thanks. I often find resources talking about the time domain splatter but not the frequency domain splatter, that's where the confusion stems from. $\endgroup$
    – Jonah F
    Commented Oct 14, 2021 at 17:04

Your data is kept in frequency domain.

The guard band is the null subcarriers or cushions kept before and after the data subcarriers. This introduces bandlimitation. Protects the data from adjacent channels.

Then it is converted into time domain, using ifft.

Now your data in freq domain is linearly added in a specific fashion and represented in time domain, known as frames.

In time domain, the existence of channel delays will add delayed copies of the signal to itself.

This introduces collision of 2 time domain frames. This disturbes the linear addition done in ifft, hence data cannot be recovered through fft.

So we need gaps between 2 frames.

Why not empty time gaps, corresponding to max delay? or delay spread? Why the cyclic prefix.

The cyclic prefix appends the start of the time frame with end of the time frame. Essentially a window of our ifft would always pick a rotated version of the time frame.

How does this rotation is removed later?

This rotation or shifting in time domain, adds a phase shift in freq domain.

The phase addition is removed in channel processing easily.

This existence of cyclic prefix, allows me the flexibility to chose a window, which might not be the exact window desired, still i get back the data which was sent.

Cyclic prefix introduces relaxation of sync of time, without more complexity introduced in the receiver.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.