Этот пример сравнивает Универсальную Фильтрованную Множественную Несущую (UFMC) с ортогональной Частотой Деление Мультиплексирования (OFDM) и подсвечивает достоинства схемы модуляции кандидата для систем связи Пятой Генерации (5G).
UFMC рассматривался как альтернативная форма волны OFDM в фазе I 3GPP исследования RAN во время 3GPP релиза 14.
OFDM, как метод модуляции с несколькими несущими, был широко принят в 4G системах связи, таких как LTE и Wi-Fi ®. Он имеет много преимуществ: робастность к задержкам канала, одноконтактная эквализация частотного диапазона и эффективная реализация. Часто не выделяются его затраты, такие как потеря спектральной эффективности из-за более высоких боковых лепестков и строгих требований синхронизации. Таким образом, рассматриваются новые методы модуляции для 5G систем связи, чтобы преодолеть некоторые из этих факторов.
В качестве примера, система LTE с пропускной способностью канала 20 МГц использует 100 ресурсных блоков по 12 поднесущих каждая на индивидуальном интервале поднесущей 15 кГц. Это использует только 18 МГц выделенного спектра, что приводит к 10-процентной потере. Кроме того, циклический префикс 144 или 160 выборок на символ OFDM приводит к другой ~ 7-процентной потере эффективности для общей 17-процентной потери возможного спектрального КПД.
С учетом требований ITU к 5G системам приложения требуют более высокой скорости передачи данных, более низкой задержки и более эффективного использования спектра. Этот пример фокусируется на новом методе модуляции, известном как Универсальная Фильтрованная Мультинесущая (UFMC), и сравнивает его с OFDM в общей среде.
s = rng(211); % Set RNG state for repeatability
Задайте системные параметры для примера. Эти параметры могут быть изменены, чтобы исследовать их влияние на систему.
numFFT = 512; % number of FFT points subbandSize = 20; % must be > 1 numSubbands = 10; % numSubbands*subbandSize <= numFFT subbandOffset = 156; % numFFT/2-subbandSize*numSubbands/2 for band center % Dolph-Chebyshev window design parameters filterLen = 43; % similar to cyclic prefix length slobeAtten = 40; % side-lobe attenuation, dB bitsPerSubCarrier = 4; % 2: 4QAM, 4: 16QAM, 6: 64QAM, 8: 256QAM snrdB = 15; % SNR in dB
UFMC рассматривается как обобщение фильтрованных модуляций OFDM и FBMC (Filter Bank Multi-carrier). Вся полоса фильтруется в фильтрованном OFDM и отдельные поднесущие фильтруются в FBMC, в то время как группы поднесущих (поддиапазоны) фильтруются в UFMC.
Эта группировка поднесущих позволяет уменьшить длину фильтра (если сравнивать с FBMC). Кроме того, UFMC все еще может использовать QAM, поскольку он сохраняет сложную ортогональность (если сравнивать с FBMC), которая работает с существующими схемами MIMO.
Полная полоса поднесущих (N) разделена на поддиапазоны. Каждый поддиапазон имеет фиксированное количество поднесущих, и не все поддиапазоны должны использоваться для данной передачи. Вычисляется N-pt IFFT для каждого поддиапазона, вставляя нули для неотделенных несущих. Каждый поддиапазон фильтруется фильтром длины L, и отклики от различных поддиапазонов суммируются. Фильтрация проводится для уменьшения внеполосных спектральных выбросов. Могут применяться различные фильтры на поддиапазон, однако в этом примере для каждого поддиапазона используется один и тот же фильтр. Для фильтрации выходного сигнала ОБПФ по поддиапазону [1] используют окно Чебышева с параметризованным ослаблением боковых лепестков.
Обработка передатчика показана на следующей схеме.
% Design window with specified attenuation prototypeFilter = chebwin(filterLen, slobeAtten); % Transmit-end processing % Initialize arrays inpData = zeros(bitsPerSubCarrier*subbandSize, numSubbands); txSig = complex(zeros(numFFT+filterLen-1, 1)); hFig = figure; axis([-0.5 0.5 -100 20]); hold on; grid on xlabel('Normalized frequency'); ylabel('PSD (dBW/Hz)') title(['UFMC, ' num2str(numSubbands) ' Subbands, ' ... num2str(subbandSize) ' Subcarriers each']) % Loop over each subband for bandIdx = 1:numSubbands bitsIn = randi([0 1], bitsPerSubCarrier*subbandSize, 1); % QAM Symbol mapper symbolsIn = qammod(bitsIn, 2^bitsPerSubCarrier, 'InputType', 'bit', ... 'UnitAveragePower', true); inpData(:,bandIdx) = bitsIn; % log bits for comparison % Pack subband data into an OFDM symbol offset = subbandOffset+(bandIdx-1)*subbandSize; symbolsInOFDM = [zeros(offset,1); symbolsIn; ... zeros(numFFT-offset-subbandSize, 1)]; ifftOut = ifft(ifftshift(symbolsInOFDM)); % Filter for each subband is shifted in frequency bandFilter = prototypeFilter.*exp( 1i*2*pi*(0:filterLen-1)'/numFFT* ... ((bandIdx-1/2)*subbandSize+0.5+subbandOffset+numFFT/2) ); filterOut = conv(bandFilter,ifftOut); % Plot power spectral density (PSD) per subband [psd,f] = periodogram(filterOut, rectwin(length(filterOut)), ... numFFT*2, 1, 'centered'); plot(f,10*log10(psd)); % Sum the filtered subband responses to form the aggregate transmit % signal txSig = txSig + filterOut; end set(hFig, 'Position', figposition([20 50 25 30])); hold off;
% Compute peak-to-average-power ratio (PAPR) PAPR = comm.CCDF('PAPROutputPort', true, 'PowerUnits', 'dBW'); [~,~,paprUFMC] = PAPR(txSig); disp(['Peak-to-Average-Power-Ratio (PAPR) for UFMC = ' num2str(paprUFMC) ' dB']);
Peak-to-Average-Power-Ratio (PAPR) for UFMC = 8.2379 dB
Для сравнения, мы рассмотрим существующий метод модуляции OFDM, используя полный занятую полосу, однако, без циклического префикса.
symbolsIn = qammod(inpData(:), 2^bitsPerSubCarrier, 'InputType', 'bit', ... 'UnitAveragePower', true); % Process all sub-bands together offset = subbandOffset; symbolsInOFDM = [zeros(offset, 1); symbolsIn; ... zeros(numFFT-offset-subbandSize*numSubbands, 1)]; ifftOut = sqrt(numFFT).*ifft(ifftshift(symbolsInOFDM)); % Plot power spectral density (PSD) over all subcarriers [psd,f] = periodogram(ifftOut, rectwin(length(ifftOut)), numFFT*2, ... 1, 'centered'); hFig1 = figure; plot(f,10*log10(psd)); grid on axis([-0.5 0.5 -100 20]); xlabel('Normalized frequency'); ylabel('PSD (dBW/Hz)') title(['OFDM, ' num2str(numSubbands*subbandSize) ' Subcarriers']) set(hFig1, 'Position', figposition([46 50 25 30]));
% Compute peak-to-average-power ratio (PAPR) PAPR2 = comm.CCDF('PAPROutputPort', true, 'PowerUnits', 'dBW'); [~,~,paprOFDM] = PAPR2(ifftOut); disp(['Peak-to-Average-Power-Ratio (PAPR) for OFDM = ' num2str(paprOFDM) ' dB']);
Peak-to-Average-Power-Ratio (PAPR) for OFDM = 8.8843 dB
Сравнивая графики спектральных плотностей для OFDM и UFMC схем, UFMC имеет более низкие боковые лепестки. Это обеспечивает более высокое использование выделенного спектра, что приводит к повышению спектральной эффективности. UFMC также показывает немного лучший PAPR.
В следующем примере описывается базовая обработка приема UFMC, которая, как и OFDM, основана на FFT. Фильтрация поддиапазона расширяет временное окно приема до следующей степени двойки диапазонов для операции БПФ. Каждое значение альтернативной частоты соответствует основной доле поднесущей. В типичных сценариях эквализация по поднесущим используется для выравнивания эффекта соединения канала и фильтрации поддиапазона.
В этом примере только фильтр поддиапазона выравнивается, потому что эффекты канала не моделируются. Шум добавляется к принятому сигналу для достижения желаемого ОСШ.
% Add WGN rxSig = awgn(txSig, snrdB, 'measured');
Обработка приемного конца показана на следующей схеме.
% Pad receive vector to twice the FFT Length (note use of txSig as input) % No windowing or additional filtering adopted yRxPadded = [rxSig; zeros(2*numFFT-numel(txSig),1)]; % Perform FFT and downsample by 2 RxSymbols2x = fftshift(fft(yRxPadded)); RxSymbols = RxSymbols2x(1:2:end); % Select data subcarriers dataRxSymbols = RxSymbols(subbandOffset+(1:numSubbands*subbandSize)); % Plot received symbols constellation constDiagRx = comm.ConstellationDiagram('ShowReferenceConstellation', ... false, 'Position', figposition([20 15 25 30]), ... 'Title', 'UFMC Pre-Equalization Symbols', ... 'Name', 'UFMC Reception', ... 'XLimits', [-150 150], 'YLimits', [-150 150]); constDiagRx(dataRxSymbols);
% Use zero-forcing equalizer after OFDM demodulation rxf = [prototypeFilter.*exp(1i*2*pi*0.5*(0:filterLen-1)'/numFFT); ... zeros(numFFT-filterLen,1)]; prototypeFilterFreq = fftshift(fft(rxf)); prototypeFilterInv = 1./prototypeFilterFreq(numFFT/2-subbandSize/2+(1:subbandSize)); % Equalize per subband - undo the filter distortion dataRxSymbolsMat = reshape(dataRxSymbols,subbandSize,numSubbands); EqualizedRxSymbolsMat = bsxfun(@times,dataRxSymbolsMat,prototypeFilterInv); EqualizedRxSymbols = EqualizedRxSymbolsMat(:); % Plot equalized symbols constellation constDiagEq = comm.ConstellationDiagram('ShowReferenceConstellation', ... false, 'Position', figposition([46 15 25 30]), ... 'Title', 'UFMC Equalized Symbols', ... 'Name', 'UFMC Equalization'); constDiagEq(EqualizedRxSymbols);
% BER computation BER = comm.ErrorRate; % Perform hard decision and measure errors rxBits = qamdemod(EqualizedRxSymbols, 2^bitsPerSubCarrier, 'OutputType', 'bit', ... 'UnitAveragePower', true); ber = BER(inpData(:), rxBits); disp(['UFMC Reception, BER = ' num2str(ber(1)) ' at SNR = ' ... num2str(snrdB) ' dB']);
UFMC Reception, BER = 0 at SNR = 15 dB
% Restore RNG state
rng(s);
Пример представляет основные характеристики схемы модуляции UFMC как на передающем, так и на приемном концах системы связи. Исследуйте различные значения системных параметров для количества поддиапазонов, количества поднесущих на поддиапазон, длины фильтра, ослабления боковых лепестков и ОСШ.
См. FBMC vs. OFDM Modulation для примера, который описывает схему модуляции Filter Bank Multi-Carrier (FBMC). Пример модуляции F-OFDM против OFDM описывает схему модуляции Filtered-OFDM.
UFMC считается выгодным по сравнению с OFDM, предлагая более высокую спектральную эффективность. Фильтрация поддиапазона имеет преимущество уменьшения предохранителей между поддиапазонами, а также уменьшения длины фильтра, что делает эту схему привлекательной для коротких пакетов. Последнее свойство также делает его привлекательным по сравнению с FBMC, который страдает от гораздо большей длины фильтра.
Schaich, F., Wild, T., Chen, Y., «Waveform Contenders for 5G - Patability for Short Packet and Low Latency Transmissions», Traffular Technology Conference, pp. 1-5, 2014.
Wild, T., Schaich, F., Chen Y. «, 5G дизайн радиоинтерфейса на основе Universal Filtered (UF-) OFDM», Proc. of 19 International Conf. on Digital Signal Processing, pp. 699-704, 2014.