В этом примере показано, как симулировать блоки Модулятора и Демодулятора OFDM. В этой модели в качестве примера Модулятор OFDM и подсистемы HDL Демодулятора OFDM соединяются друг с другом, и выход блока OFDM Demodulator по сравнению с входом блока OFDM Modulator. Можно сгенерировать HDL-код для этих блоков.
Модель в качестве примера импортирует переменные dataIn
рабочей области,
validIn
, fftLen
, maxFFTLen
, cpLen
, numLG
, numRG
, numSymb
, и DCNull
.
fftLen = 64; maxFFTLen = 128; cpLen = 16; numLG = 6; numRG = 5; numSymb = 2; DCNull = 1; % 1 or 0 if DCNull==1 numActData = fftLen - (numLG + numRG + 1); else numActData = fftLen - (numLG + numRG); end
Сгенерируйте случайные системы координат комплексных входных данных и управляющего сигнала, который указывает на контуры системы координат.
rng default;
dataIn = complex(randn(numActData,numSymb),randn(numActData,numSymb));
data = dataIn(:);
valid = true(1,length(data));
sampling_time = 1;
stoptime = maxFFTLen*6*numSymb;
Выполнение модели импортирует переменные dataIn
входного сигнала,
validIn
, fftLen
, maxFFTLen
, cpLen
, numLG
, numRG
, numSymb
, и DCNull
от рабочей области до блока OFDM Modulator. Блок возвращается, OFDM модулировал выходные выборки наряду с управляющим сигналом. Модулируемые выходные выборки этих OFDM питаются блок OFDM Demodulator, который возвращается, OFDM демодулировал выходные выборки.
open_system('genhdlOFDMModDemodExample') sim('genhdlOFDMModDemodExample'); simOut = dataOut(validOut);
Входные параметры, предоставленные блоку OFDM Modulator, по сравнению с выходными параметрами, сгенерированными от блока OFDM Demodulator с помощью plot
функция.
figure('units','normalized','outerposition',[0 0 1 1]) subplot(2,1,1); plot(real(data(:))); hold on plot(squeeze(real(simOut))); legend('Real part of expected data','Real part of demodulated data'); title('Comparison of input to OFDM Modulator with output from OFDM Demodulator'); xlabel('OFDM Subcarriers'); ylabel('Real part'); subplot(2,1,2) plot(imag(data(:))) hold on plot(squeeze(imag(simOut))) legend('Imaginary part of expected data','Imaginary part of demodulated data'); title('Comparison of input to OFDM Modulator with output from OFDM Demodulator'); xlabel('OFDM Subcarriers'); ylabel('Imaginary part');