exponenta event banner

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

Этот пример сравнивает множество несущих блока фильтров (FBMC) с мультиплексированием с ортогональным частотным разделением каналов (OFDM) и подчеркивает преимущества схемы модуляции-кандидата для систем связи пятого поколения (5G).

FBMC рассмотрели как альтернативную форму волны к OFDM в 3GPP, УПРАВЛЯЛ фазой I исследования во время 3GPP Выпуск 14.

Введение

В этом примере сравнивается модуляция банка фильтров с множеством несущих (FBMC) с общей модуляцией OFDM. FBMC предлагает способы преодоления известных ограничений OFDM сниженной спектральной эффективности и строгих требований к синхронизации. Эти преимущества привели к тому, что его рассматривают как один из методов модуляции для 5G систем связи [2, 4].

В этом примере моделируется модуляция нескольких несущих блока фильтров с конфигурируемыми параметрами и выделяется базовая обработка передачи и приема.

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

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

Определите системные параметры для примера. Эти параметры можно изменить для изучения их влияния на систему.

numFFT = 1024;           % Number of FFT points
numGuards = 212;         % Guard bands on both sides
K = 4;                   % Overlapping symbols, one of 2, 3, or 4
numSymbols = 100;        % Simulation length in symbols
bitsPerSubCarrier = 2;   % 2: 4QAM, 4: 16QAM, 6: 64QAM, 8: 256QAM
snrdB = 12;              % SNR in dB

Модуляция множества несущих блока фильтров

FBMC фильтрует каждый модулированный поднесущий сигнал в системе с множеством несущих. Фильтр-прототип является фильтром, используемым для несущей нулевой частоты, и является основой для других фильтров поднесущих. Фильтры характеризуются коэффициентом перекрытия K, который является числом символов с множеством несущих, которые перекрываются во временной области. Порядок фильтра прототипа может быть выбран как 2 * K-1, где K = 2, 3 или 4, и выбирается в соответствии с проектом PHYDYAS [1].

Текущая реализация FBMC использует частотное расширение. Он использует N * K длину IFFT с символами, перекрывающимися с задержкой N/2, где N - количество поднесущих. Этот выбор конструкции упрощает анализ FBMC и сравнение с другими методами модуляции.

Для достижения полной емкости используется обработка со смещением квадратурной амплитудной модуляции (OQAM). Действительная и мнимая части комплексного символа данных не передаются одновременно, так как мнимая часть задерживается на половину длительности символа.

Обработка на передающем конце показана на следующей диаграмме.

% Prototype filter
switch K
    case 2
        HkOneSided = sqrt(2)/2;
    case 3
        HkOneSided = [0.911438 0.411438];
    case 4
        HkOneSided = [0.971960 sqrt(2)/2 0.235147];
    otherwise
        return
end
% Build symmetric filter
Hk = [fliplr(HkOneSided) 1 HkOneSided];

% Transmit-end processing
%   Initialize arrays
L = numFFT-2*numGuards;  % Number of complex symbols per OFDM symbol
KF = K*numFFT;
KL = K*L;
dataSubCar = zeros(L, 1);
dataSubCarUp = zeros(KL, 1);

sumFBMCSpec = zeros(KF*2, 1);
sumOFDMSpec = zeros(numFFT*2, 1);

numBits = bitsPerSubCarrier*L/2;    % account for oversampling by 2
inpData = zeros(numBits, numSymbols);
rxBits = zeros(numBits, numSymbols);
txSigAll = complex(zeros(KF, numSymbols));
symBuf = complex(zeros(2*KF, 1));

% Loop over symbols
for symIdx = 1:numSymbols
    
    % Generate mapped symbol data
    inpData(:, symIdx) = randi([0 1], numBits, 1);
    modData = qammod(inpData(:, symIdx), 2^bitsPerSubCarrier, ...
        'InputType', 'Bit', 'UnitAveragePower', true);
    
    % OQAM Modulator: alternate real and imaginary parts
    if rem(symIdx,2)==1     % Odd symbols
        dataSubCar(1:2:L) = real(modData);
        dataSubCar(2:2:L) = 1i*imag(modData);
    else                    % Even symbols
        dataSubCar(1:2:L) = 1i*imag(modData);
        dataSubCar(2:2:L) = real(modData);
    end
    
    % Upsample by K, pad with guards, and filter with the prototype filter
    dataSubCarUp(1:K:end) = dataSubCar;
    dataBitsUpPad = [zeros(numGuards*K,1); dataSubCarUp; zeros(numGuards*K,1)];
    X1 = filter(Hk, 1, dataBitsUpPad);
    % Remove 1/2 filter length delay
    X = [X1(K:end); zeros(K-1,1)];
    
    % Compute IFFT of length KF for the transmitted symbol
    txSymb = fftshift(ifft(X));
    
    % Transmitted signal is a sum of the delayed real, imag symbols
    symBuf = [symBuf(numFFT/2+1:end); complex(zeros(numFFT/2,1))];
    symBuf(KF+(1:KF)) = symBuf(KF+(1:KF)) + txSymb;
    
    % Compute power spectral density (PSD)
    currSym = complex(symBuf(1:KF));
    [specFBMC, fFBMC] = periodogram(currSym, hann(KF, 'periodic'), KF*2, 1);
    sumFBMCSpec = sumFBMCSpec + specFBMC;
    
    % Store transmitted signals for all symbols
    txSigAll(:,symIdx) = currSym;
end

% Plot power spectral density
sumFBMCSpec = sumFBMCSpec/mean(sumFBMCSpec(1+K+2*numGuards*K:end-2*numGuards*K-K));
plot(fFBMC-0.5,10*log10(sumFBMCSpec));
grid on
axis([-0.5 0.5 -180 10]);
xlabel('Normalized frequency');
ylabel('PSD (dBW/Hz)')
title(['FBMC, K = ' num2str(K) ' overlapped symbols'])
set(gcf, 'Position', figposition([15 50 30 30]));

Figure contains an axes. The axes with title FBMC, K = 4 overlapped symbols contains an object of type line.

Спектральная плотность мощности передаваемого сигнала FBMC строится таким образом, чтобы выделить низкую внеполосную утечку.

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

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

for symIdx = 1:numSymbols
    
    inpData2 = randi([0 1], bitsPerSubCarrier*L, 1);
    modData = qammod(inpData2, 2^bitsPerSubCarrier, ...
        'InputType', 'Bit', 'UnitAveragePower', true);
    
    symOFDM = [zeros(numGuards,1); modData; zeros(numGuards,1)];
    ifftOut = sqrt(numFFT).*ifft(ifftshift(symOFDM));
    
    [specOFDM,fOFDM] = periodogram(ifftOut, rectwin(length(ifftOut)), ...
        numFFT*2, 1, 'centered');
    sumOFDMSpec = sumOFDMSpec + specOFDM;
end

% Plot power spectral density (PSD) over all subcarriers
sumOFDMSpec = sumOFDMSpec/mean(sumOFDMSpec(1+2*numGuards:end-2*numGuards));
figure;
plot(fOFDM,10*log10(sumOFDMSpec));
grid on
axis([-0.5 0.5 -180 10]);
xlabel('Normalized frequency');
ylabel('PSD (dBW/Hz)')
title(['OFDM, numFFT = ' num2str(numFFT)])
set(gcf, 'Position', figposition([46 50 30 30]));

Figure contains an axes. The axes with title OFDM, numFFT = 1024 contains an object of type line.

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

Приемник FBMC без канала

Пример реализует базовый демодулятор FBMC и измеряет BER для выбранной конфигурации в отсутствие канала. Обработка включает в себя согласованную фильтрацию с последующим разделением OQAM для формирования принятых символов данных. Они преобразуются в биты и определяется результирующая частота битовых ошибок. В присутствии канала линейные многоотводные эквалайзеры могут использоваться для смягчения эффектов частотно-селективного замирания.

Обработка на стороне приема показана на следующей диаграмме.

BER = comm.ErrorRate;

% Process symbol-wise
for symIdx = 1:numSymbols
    rxSig = txSigAll(:, symIdx);
    
    % Add WGN
    rxNsig = awgn(rxSig, snrdB, 'measured');
    
    % Perform FFT
    rxf = fft(fftshift(rxNsig));
    
    % Matched filtering with prototype filter
    rxfmf = filter(Hk, 1, rxf);
    % Remove K-1 delay elements
    rxfmf = [rxfmf(K:end); zeros(K-1,1)];
    % Remove guards
    rxfmfg = rxfmf(numGuards*K+1:end-numGuards*K);
    
    % OQAM post-processing
    %  Downsample by 2K, extract real and imaginary parts
    if rem(symIdx, 2)
        % Imaginary part is K samples after real one
        r1 = real(rxfmfg(1:2*K:end));
        r2 = imag(rxfmfg(K+1:2*K:end));
        rcomb = complex(r1, r2);
    else
        % Real part is K samples after imaginary one
        r1 = imag(rxfmfg(1:2*K:end));
        r2 = real(rxfmfg(K+1:2*K:end));
        rcomb = complex(r2, r1);
    end
    %  Normalize by the upsampling factor
    rcomb = (1/K)*rcomb;
    
    % De-mapper: Perform hard decision
    rxBits(:, symIdx) = qamdemod(rcomb, 2^bitsPerSubCarrier, ...
        'OutputType', 'bit', 'UnitAveragePower', true);
end

% Measure BER with appropriate delay
BER.ReceiveDelay = bitsPerSubCarrier*KL;
ber = BER(inpData(:), rxBits(:));

% Display Bit error
disp(['FBMC Reception for K = ' num2str(K) ', BER = ' num2str(ber(1)) ...
    ' at SNR = ' num2str(snrdB) ' dB'])
FBMC Reception for K = 4, BER = 0 at SNR = 12 dB
% Restore RNG state
rng(s);

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

В примере представлены основные характеристики передачи и приема схемы модуляции FBMC. Изучите этот пример, изменив количество перекрывающихся символов, длины БПФ, длины защитной полосы и значения SNR.

Пример, описывающий схему модуляции UFMC (UFMC) и OFDM.

FBMC считается выгодным по сравнению с OFDM, предлагая более высокую спектральную эффективность. Из-за фильтрации по поднесущим она несет большую задержку фильтра (по сравнению с UFMC), а также требует обработки OQAM, которая требует модификаций для обработки MIMO.

Дальнейшие исследования должны включать в себя модификации для обработки MIMO с более полной обработкой на уровне линии связи, включая оценку и выравнивание канала [2].

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

  1. «Физический слой FBMC: праймер», PHYDYAS EU FP7 Project 2010. http://www.ict-phydyas.org

  2. Шеллман, М., Чжао, З., Линь, Х., Сиохан, П., Раджатхева, Н., Люэккен, В., Ишак, А., «Воздушный интерфейс на базе FBMC для 5G мобиля: Вызовы и предлагаемые решения», CROWNCOM 2014, pp 102-107.

  3. Farhang-Boroujeny, B., «OFDM против множества несущих банков фильтров», IEEE ® Signal Proc. Mag., том 28, стр. 92-112, май 2011.

  4. Чудо, G., Kasparick, M., Дикий, T., Schaich, F., Еджиэн Чен, Дрыянский, M., Буцзковский, M., Pietrzyk, S., Michailow, N., Matthe, M., Гэспэр, я., Mendes, L., Festag, A., Fettweis, G., Дор, J.-B., Cassiau, N., Ktenas, D., Айсберг, V., Eged, B., Vago, P., «5GNOW: Промежуточная структура структуры и понятия приемопередатчика», семинары Globecom, стр 565-570, 2014.