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:
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?