F-OFDM по сравнению с модуляцией OFDM

Этот пример сравнивает ортогональную частоту Деления мультиплексирования (OFDM) с Filtered-OFDM (F-OFDM) и подчеркивает преимущества схемы модуляции кандидата для систем связи Пятой Генерации (5G).

Введение

Этот пример сравнивает Filtered-OFDM модуляцию с типовой циклической префиксом OFDM (CP-OFDM) модуляцией. Для F-OFDM хорошо спроектированный фильтр применяется к символу OFDM временного интервала, чтобы улучшить внеполосное излучение сигнала поддиапазона, сохраняя при этом ортогональность символов OFDM комплексной области.

Этот пример моделирует Filtered-OFDM модуляцию с конфигурируемыми параметрами. В нем описывается метод создания фильтра, и основы обработки сигнала при приеме и передаче.

s = rng(211);       % Set RNG state for repeatability

Системные параметры

Задайте системные параметры для примера. Эти параметры могут быть изменены, чтобы исследовать их влияние на систему.

numFFT = 1024;           % Number of FFT points
numRBs = 50;             % Number of resource blocks
rbSize = 12;             % Number of subcarriers per resource block
cpLen = 72;              % Cyclic prefix length in samples

bitsPerSubCarrier = 6;   % 2: QPSK, 4: 16QAM, 6: 64QAM, 8: 256QAM
snrdB = 18;              % SNR in dB

toneOffset = 2.5;        % Tone offset or excess bandwidth (in subcarriers)
L = 513;                 % Filter length (=filterOrder+1), odd

Фильтрация-OFDM Создание фильтра

Соответствующая фильтрация для F-OFDM удовлетворяет следующим критериям:

  • Должен иметь плоскую полосу пропускания по поднесущим в поддиапазоне

  • Должен иметь резкую полосу перехода, чтобы минимизировать защитные полосы

  • Должно иметь достаточное затухание в полосе задерживания

Фильтр с прямоугольной частотной характеристикой, то есть с синусоидальной импульсной характеристикой, удовлетворяет этим критериям. Чтобы сделать эту причинно-следственную связь, lowpass реализуется с помощью окна, которое, эффективно обрезает импульсную характеристику и предлагает плавные переходы к нулю на обоих концах [3].

numDataCarriers = numRBs*rbSize;    % number of data subcarriers in sub-band
halfFilt = floor(L/2);
n = -halfFilt:halfFilt;

% Sinc function prototype filter
pb = sinc((numDataCarriers+2*toneOffset).*n./numFFT);

% Sinc truncation window
w = (0.5*(1+cos(2*pi.*n/(L-1)))).^0.6;

% Normalized lowpass filter coefficients
fnum = (pb.*w)/sum(pb.*w);

% Filter impulse response
h = fvtool(fnum, 'Analysis', 'impulse', ...
    'NormalizedFrequency', 'off', 'Fs', 15.36e6);
h.CurrentAxes.XLabel.String = 'Time (\mus)';
h.FigureToolbar = 'off';

Figure Filter Visualization Tool - Impulse Response contains an axes and other objects of type uitoolbar, uimenu. The axes with title Impulse Response contains an object of type stem.

% Use dsp filter objects for filtering
filtTx = dsp.FIRFilter('Structure', 'Direct form symmetric', ...
    'Numerator', fnum);
filtRx = clone(filtTx); % Matched filter for the Rx

Обработка передачи F-OFDM

В F-OFDM поддиапазонный сигнал CP-OFDM передается через проектируемый фильтр. Поскольку ширина полосы пропускания фильтра соответствует ширине полосы пропускания сигнала, затрагиваются только несколько поднесущих, близких к ребру. Ключевым фактором является то, что длине фильтра может быть позволено превысить длину циклического префикса для F-OFDM [1]. Межсимвольная интерференция минимизируется из-за создания фильтра с использованием оконной обработки (с мягким усечением).

Операции обработки передатчика показаны на следующей схеме передатчика F-OFDM.

% Set up a figure for spectrum plot
hFig = figure('Position', figposition([46 50 30 30]), 'MenuBar', 'none');
axis([-0.5 0.5 -200 -20]);
hold on;
grid on
xlabel('Normalized frequency');
ylabel('PSD (dBW/Hz)')
title(['F-OFDM, ' num2str(numRBs) ' Resource blocks, '  ...
    num2str(rbSize) ' Subcarriers each'])

% Generate data symbols
bitsIn = randi([0 1], bitsPerSubCarrier*numDataCarriers, 1);

% QAM Symbol mapper
symbolsIn = qammod(bitsIn, 2^bitsPerSubCarrier, 'InputType', 'bit', ...
    'UnitAveragePower', true);

% Pack data into an OFDM symbol
offset = (numFFT-numDataCarriers)/2; % for band center
symbolsInOFDM = [zeros(offset,1); symbolsIn; ...
    zeros(numFFT-offset-numDataCarriers,1)];
ifftOut = ifft(ifftshift(symbolsInOFDM));

% Prepend cyclic prefix
txSigOFDM = [ifftOut(end-cpLen+1:end); ifftOut];

% Filter, with zero-padding to flush tail. Get the transmit signal
txSigFOFDM = filtTx([txSigOFDM; zeros(L-1,1)]);

% Plot power spectral density (PSD)
[psd,f] = periodogram(txSigFOFDM, rectwin(length(txSigFOFDM)), ...
    numFFT*2, 1, 'centered');
plot(f,10*log10(psd));

Figure contains an axes. The axes with title F-OFDM, 50 Resource blocks, 12 Subcarriers each contains an object of type line.

% Compute peak-to-average-power ratio (PAPR)
PAPR = comm.CCDF('PAPROutputPort', true, 'PowerUnits', 'dBW');
[~,~,paprFOFDM] = PAPR(txSigFOFDM);
disp(['Peak-to-Average-Power-Ratio for F-OFDM = ' num2str(paprFOFDM) ' dB']);
Peak-to-Average-Power-Ratio for F-OFDM = 11.371 dB

OFDM-модуляция с соответствующими параметрами

Для сравнения, мы рассмотрим существующий метод модуляции OFDM, используя полный занятую полосу с тем же циклическим префиксом длины.

% Plot power spectral density (PSD) for OFDM signal
[psd,f] = periodogram(txSigOFDM, rectwin(length(txSigOFDM)), numFFT*2, ...
    1, 'centered');
hFig1 = figure('Position', figposition([46 15 30 30]));
plot(f,10*log10(psd));
grid on
axis([-0.5 0.5 -100 -20]);
xlabel('Normalized frequency');
ylabel('PSD (dBW/Hz)')
title(['OFDM, ' num2str(numRBs*rbSize) ' Subcarriers'])

Figure contains an axes. The axes with title OFDM, 600 Subcarriers contains an object of type line.

% Compute peak-to-average-power ratio (PAPR)
PAPR2 = comm.CCDF('PAPROutputPort', true, 'PowerUnits', 'dBW');
[~,~,paprOFDM] = PAPR2(txSigOFDM);
disp(['Peak-to-Average-Power-Ratio for OFDM = ' num2str(paprOFDM) ' dB']);
Peak-to-Average-Power-Ratio for OFDM = 9.721 dB

Сравнивая графики спектральных плотностей для схем CP-OFDM и F-OFDM, F-OFDM имеет нижние боковые лепестки. Это обеспечивает более высокое использование выделенного спектра, что приводит к повышению спектральной эффективности.

Обратитесь к comm.OFDMModulator Система object™, которая может также использоваться для реализации CP-OFDM модуляции.

Приемник F-OFDM без канала

Следующий пример подсвечивает базовую обработку приема для F-OFDM для одного символа OFDM. Принятый сигнал передается через согласованный фильтр, за которым следует обычный приемник CP-OFDM. Он учитывает как усиление фильтрации, так и задержку перед операцией БПФ.

Канал с замираниями в этом примере не рассматривается, но шум добавляется к принимаемому сигналу для достижения желаемого ОСШ.

% Add WGN
rxSig = awgn(txSigFOFDM, snrdB, 'measured');

Операции обработки приема показаны на следующей схеме приемника F-OFDM.

% Receive matched filter
rxSigFilt = filtRx(rxSig);

% Account for filter delay
rxSigFiltSync = rxSigFilt(L:end);

% Remove cyclic prefix
rxSymbol = rxSigFiltSync(cpLen+1:end);

% Perform FFT
RxSymbols = fftshift(fft(rxSymbol));

% Select data subcarriers
dataRxSymbols = RxSymbols(offset+(1:numDataCarriers));

% Plot received symbols constellation
switch bitsPerSubCarrier
    case 2  % QPSK
        refConst = qammod((0:3).', 4, 'UnitAveragePower', true);
    case 4  % 16QAM
        refConst = qammod((0:15).', 16,'UnitAveragePower', true);
    case 6  % 64QAM
        refConst = qammod((0:63).', 64,'UnitAveragePower', true);
    case 8  % 256QAM
        refConst = qammod((0:255).', 256,'UnitAveragePower', true);
end
constDiagRx = comm.ConstellationDiagram( ...
    'ShowReferenceConstellation', true, ...
    'ReferenceConstellation', refConst, ...
    'Position', figposition([20 15 30 40]), ...
    'EnableMeasurements', true, ...
    'MeasurementInterval', length(dataRxSymbols), ...
    'Title', 'F-OFDM Demodulated Symbols', ...
    'Name', 'F-OFDM Reception', ...
    'XLimits', [-1.5 1.5], 'YLimits', [-1.5 1.5]);
constDiagRx(dataRxSymbols);

Figure F-OFDM Reception contains an axes and other objects of type uiflowcontainer, uimenu, uitoolbar. The axes with title F-OFDM Demodulated Symbols contains 2 objects of type line. This object represents Channel 1.

% Channel equalization is not necessary here as no channel is modeled

% BER computation
BER = comm.ErrorRate;

% Perform hard decision and measure errors
rxBits = qamdemod(dataRxSymbols, 2^bitsPerSubCarrier, 'OutputType', 'bit', ...
    'UnitAveragePower', true);
ber = BER(bitsIn, rxBits);

disp(['F-OFDM Reception, BER = ' num2str(ber(1)) ' at SNR = ' ...
    num2str(snrdB) ' dB']);
F-OFDM Reception, BER = 0.00083333 at SNR = 18 dB
% Restore RNG state
rng(s);

Как выделено, F-OFDM добавляет каскад фильтрации к существующей обработке CP-OFDM как на передающем, так и на приемном концах. Пример моделирует выделение полного диапазона для пользователя, но тот же самый подход может быть применен для нескольких полос (по одной на пользователя) для асинхронной операции восходящей линии связи.

Обратитесь к comm.OFDMDemodulator Система object™, которая может использоваться для реализации демодуляции CP-OFDM после приема согласованной фильтрации.

Заключение и дальнейшие исследования

Пример представляет основные характеристики схемы модуляции F-OFDM как на передающем, так и на приемном концах системы связи. Исследуйте различные значения системных параметров для количества ресурсных блоков, количества поднесущих на блоки, длины фильтра, смещения тонального сигнала и ОСШ.

Универсальная фильтрованная многосветная (UFMC) схема модуляции является другим подходом к поддиапазонной фильтрованной OFDM. Для получения дополнительной информации смотрите пример модуляции UFMC и OFDM. Этот пример F-OFDM использует одну поддиапазон, в то время как пример UFMC использует несколько поддиапазонов.

И F-OFDM, и UFMC используют фильтрацию во временной области с тонкими различиями в способе разработки и применения фильтра. Для UFMC длина фильтра ограничена, чтобы быть равной длине циклического префикса, в то время как для F-OFDM, это может превысить длину CP.

Для F-OFDM создание фильтра приводит к некоторой потере ортогональности (строго говоря), которая влияет только на краевые поднесущие.

Избранная библиография

  1. Abdoli J., Jia M. and Ma J., «Filtered OFDM: A New Waveform for Future Wireless Systems», 2015 IEEE ® 16-й Международный семинар по достижениям обработки сигналов в беспроводной связи (SPAWC), Стокгольм, 2015,

  2. R1-162152. «Гибкая форма волны для 5G. на основе OFDM» 3GPP TSG RAN WG1 встречи 84-бис. Huawei; Привет, Кремний. Апрель 2016.

  3. R1-165425. «Схема F-OFDM и создание фильтра». 3GPP TSG RAN WG1 совещание 85. Huawei; Привет, Кремний. Май 2016.