Модулируйте и демодулируйте OFDM потоковая передача выборок

В этом примере показано, как симулировать блоки Модулятора и Демодулятора 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;

Запустите модель Simulink

Выполнение модели импортирует переменные 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 и блоки Демодулятора OFDM

Входные параметры, предоставленные блоку 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');

Смотрите также

Блоки

Для просмотра документации необходимо авторизоваться на сайте