Communication Technology |
|||||
OFDM Modulator
Creating OFDM Modulator
hMod = comm.OFDMModulator; hModInfo = info(hMod);
FFTLength = NumGuardBandCarriers(1) + DataInputSize + NumGuardBandCarriers(2) = 6 + 53 + 5 = 64 OutputSize = FFTLength + CyclicPrefixLength = 64 + 16 = 80
Generating OFDM Symbol Data with Default Setting
hMod = comm.OFDMModulator; hModInfo = info(hMod);
rng(0); dataIn = complex(randn(hModInfo.DataInputSize),randn(hModInfo.DataInputSize)); modData = step(hMod,dataIn);
subplot(2,1,1); stem(abs(dataIn));xlim([1 length(dataIn)]);title('Input Data'); subplot(2,1,2); stem(abs(modData));xlim([1 length(modData)]); title('Output Data');
Generating OFDM Symbol Data with Internal Procedure hMod = comm.OFDMModulator; hModInfo = info(hMod);
rng(0); dataIn = complex(randn(hModInfo.DataInputSize),randn(hModInfo.DataInputSize)); dataInGuardBand = [zeros(hMod.NumGuardBandCarriers(1),1); ... dataIn; ... zeros(hMod.NumGuardBandCarriers(2),1)]; dataInGuardBandIfft = ifft(dataInGuardBand); CP = dataInGuardBandIfft(length(dataInGuardBandIfft)-(hMod.CyclicPrefixLength)+1: ... length(dataInGuardBandIfft)); dataInGuardBandIfftCP = [CP ; dataInGuardBandIfft];
modData = step(hMod,dataIn);
subplot(5,1,1); stem(abs(dataIn));xlim([1 length(dataIn)]);title('Input Data'); subplot(5,1,2); stem(abs(dataInGuardBand));xlim([1 length(dataInGuardBand)]);title('Input Data + GuardBand'); subplot(5,1,3); stem(abs(dataInGuardBandIfft ));xlim([1 length(dataInGuardBandIfft)]);title('IFFT(Input Data + GuardBand)'); subplot(5,1,4); stem(abs(dataInGuardBandIfftCP ));xlim([1 length(dataInGuardBandIfftCP)]);title('CP + IFFT(Input Data + GuardBand)'); subplot(5,1,5); stem(abs(modData));xlim([1 length(modData)]); title('Output Data');
|
|||||