| 
                 Communication Technology  | 
            |||||
| 
                 
 
 
 OFDM DeModulator 
 Creating OFDM DeModulator 
 hMod = comm.OFDMModulator; hModInfo = info(hMod); 
 rng(0); dataIn = complex(randn(hModInfo.DataInputSize),randn(hModInfo.DataInputSize)); modData = step(hMod,dataIn); 
 hDeMod = comm.OFDMDemodulator(hMod); hDeModInfo = info(hDeMod); 
 
 
 
 
 FFTLength = NumGuardBandCarriers(1) + DataInputSize + NumGuardBandCarriers(2) = 6 + 53 + 5 = 64 OutputSize = FFTLength - (NumGuardBandCarriers(1)+NumGuardBandCarriers(2)) = 64 - (6+5) = 53 = InputSize - CyclicPrefixLength - (NumGuardBandCarriers(1)+NumGuardBandCarriers(2)) = 80 - 16 - (6 + 5) = 53 
 
 Generating Demodulated OFDM Data with Default Setting 
 hMod = comm.OFDMModulator; hModInfo = info(hMod); 
 rng(0); dataIn = complex(randn(hModInfo.DataInputSize),randn(hModInfo.DataInputSize)); modData = step(hMod,dataIn); 
 hDeMod = comm.OFDMDemodulator(hMod); hDeModInfo = info(hDeMod); 
 deModData = step(hDeMod, modData); 
 subplot(3,1,1); stem(abs(dataIn));xlim([1 length(dataIn)]);title('Input Data'); subplot(3,1,2); stem(abs(modData));xlim([1 length(modData)]); title('Mod Data'); subplot(3,1,3); stem(abs(deModData));xlim([1 length(deModData)]); title('Demod Data'); 
 
 Generating Demod OFDM Data with Internal Procedure hMod = comm.OFDMModulator; hModInfo = info(hMod); 
 rng(0); dataIn = complex(randn(hModInfo.DataInputSize),randn(hModInfo.DataInputSize)); modData = step(hMod,dataIn); 
 modDataNoCP = modData(length(modData)-hMod.FFTLength+1:length(modData)); modDataNoCPfft = fftshift(fft(modDataNoCP)); modDataNoCPfftNpGB = modDataNoCPfft(hMod.NumGuardBandCarriers(1)+1 : ... length(modDataNoCPfft) - hMod.NumGuardBandCarriers(2)); 
 hDeMod = comm.OFDMDemodulator(hMod); hDeModInfo = info(hDeMod); 
 deModData = step(hDeMod, modData); 
 subplot(6,1,1); stem(abs(dataIn));xlim([1 length(dataIn)]); title('Input Data'); set(gca,'xtick',[1 length(dataIn)]); subplot(6,1,2); stem(abs(modData));xlim([1 length(modData)]); title('Mod Data'); set(gca,'xtick',[1 length(modData)]); subplot(6,1,3); stem(abs(modDataNoCP));xlim([1 length(modDataNoCP)]); title('Mod Data - CP Removed'); set(gca,'xtick',[1 length(modDataNoCP)]); subplot(6,1,4); stem(abs(modDataNoCPfft));xlim([1 length(modDataNoCPfft)]); title('ShiftFft(FFT(Mod Data - CP Removed))'); set(gca,'xtick',[1 length(modDataNoCPfft)]); subplot(6,1,5); stem(abs(modDataNoCPfftNpGB));xlim([1 length(modDataNoCPfftNpGB)]); title('ShiftFft(FFT(Mod Data - CP Removed)) - GuardBand Removed'); set(gca,'xtick',[1 length(modDataNoCPfftNpGB)]); subplot(6,1,6); stem(abs(deModData));xlim([1 length(deModData)]); title('Demod Data'); set(gca,'xtick',[1 length(deModData)]); 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  | 
            |||||

