exponenta event banner

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

Этот пример сравнивает мультиплексирование с ортогональным частотным разделением каналов (OFDM) с фильтрованием-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

Конструкция фильтра Filtered-OFDM

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

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

  • Должен иметь острый переходный диапазон для минимизации защитных диапазонов

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

Этим критериям соответствует фильтр с прямоугольной частотной характеристикой, т.е. синк-импульсной характеристикой. Чтобы сделать это причинно-следственным, фильтр нижних частот реализуется с помощью окна, которое, эффективно усекает импульсную характеристику и предлагает плавные переходы к нулю на обоих концах [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. Он учитывает как увеличение фильтрации, так и задержку перед операцией БПФ.

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

% 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 как на передающем, так и на приемном концах системы связи. Изучите различные значения системных параметров для количества блоков ресурсов, количества поднесущих на блоки, длины фильтра, смещения тонального сигнала и SNR.

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

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

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

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

  1. Абдоли Дж., Джиа М. и Ма Дж., «Отфильтрованный OFDM: новая форма волны для будущих беспроводных систем», 2015 IEEE ® 16-й Международный семинар по достижениям в области обработки сигналов (SPAWC), Стокгольм, 2015, стр. 66-70.

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

  3. R1-165425. «Схема F-OFDM и конструкция фильтра». 3GPP TSG RAN WG1 совещание 85. Huawei; HiSilicon. Май 2016 года.