OFDM Details
hMod = comm.OFDMModulator;
hMod.InsertDCNull = true;
hMod.PilotInputPort = true;
hMod.PilotCarrierIndices =[14; 24; 42; 52];
hModInfo = info(hMod);
rng(0);
dataIn = complex(ones(hModInfo.DataInputSize),ones(hModInfo.DataInputSize));
PilotIn = 1.5 * complex(ones(length(hMod.PilotCarrierIndices),1), ...
ones(length(hMod.PilotCarrierIndices),1));
modData = step(hMod,dataIn,PilotIn);
modDataNoCP = modData(length(modData)-hMod.FFTLength+1:length(modData));
modDataNoCPfft = fftshift(fft(modDataNoCP));
indicesOfPilotAndDC = [hMod.PilotCarrierIndices ; length(modDataNoCPfft)/2+1];
indicesWoPilotAndDC = [ ];
for i = 1:length(modDataNoCPfft)
if ismember(i, indicesOfPilotAndDC) == 0
indicesWoPilotAndDC = [indicesWoPilotAndDC i];
end;
end;
modDataNoCPfftNoPilotDC = modDataNoCPfft(indicesWoPilotAndDC);
modDataNoCPfftNoPilotDcNoGB = modDataNoCPfftNoPilotDC(hMod.NumGuardBandCarriers(1)+1 : ...
length(modDataNoCPfftNoPilotDC) - hMod.NumGuardBandCarriers(2));
hDeMod = comm.OFDMDemodulator(hMod);
hDeModInfo = info(hDeMod);
[deModData,PilotOut] = step(hDeMod, modData);
subplot(7,1,1);
stem(abs(dataIn));xlim([1 length(dataIn)]);
title('Input Data');
set(gca,'xtick',[1 length(dataIn)]);
subplot(7,1,2);
stem(abs(modData));xlim([1 length(modData)]);
title('Mod Data');
set(gca,'xtick',[1 length(modData)]);
subplot(7,1,3);
stem(abs(modDataNoCP));xlim([1 length(modDataNoCP)]);
title('Mod Data - CP Removed');
set(gca,'xtick',[1 length(modDataNoCP)]);
subplot(7,1,4);
stem(abs(modDataNoCPfft));xlim([1 length(modDataNoCPfft)]);
title('ShiftFft(FFT(Mod Data - CP Removed))');
set(gca,'xtick',[1 length(modDataNoCPfft)]);
subplot(7,1,5);
stem(abs(modDataNoCPfftNoPilotDC));xlim([1 length(modDataNoCPfftNoPilotDC)]);
title('ShiftFft(FFT(Mod Data - CP Removed)) -Pilot/DC Removed');
set(gca,'xtick',[1 length(modDataNoCPfftNoPilotDC)]);
subplot(7,1,6);
stem(abs(modDataNoCPfftNoPilotDcNoGB));xlim([1 length(modDataNoCPfftNoPilotDcNoGB)]);
title('ShiftFft(FFT(Mod Data - CP Removed)) - Pilot/DC/GuardBand Removed');
set(gca,'xtick',[1 length(modDataNoCPfftNoPilotDcNoGB)]);
subplot(7,1,7);
stem(abs(deModData));xlim([1 length(deModData)]);
title('Demod Data');
set(gca,'xtick',[1 length(deModData)]);
