Выпуск 10 PDSCH Улучшенное UE-специфическое формирование луча

Этот пример демонстрирует Релизу 10 специфическую для UE способность LTE Toolbox™ формирования луча и показывает, как подходящий выбор матрицы формирования луча приводит к лучу с лучшей эффективностью.

Введение

Release 10 позволяет передавать до 8 слоев по портам антенны 7-14 (TS36.213, раздел 7.1.5B [1]). Передачи в этой схеме выполняются на одном или более слоях с опорным сигналом (портом) для каждого слоя и могут быть сформированы лучом на любое количество передающих антенн, используя любую матрицу формирования луча с соответствующими размерами; выбор количества передающих антенн и значений матрицы формирования луча не заданы в стандарте.

Этот пример показывает улучшение величины вектора ошибок (EVM), достигнутое при использовании обратной связи матричного индикатора предварительного кодирования (PMI) на основе опорного сигнала информации о состоянии канала. Форма волны с информацией Physical Nowlink Shared Channel (PDSCH) создается и передается через шумный канал с замираниями. Принятая форма волны демодулируется, в результате чего принимается ресурсная сетка для каждой приемной антенны. Оценка канала затем используется, чтобы декодировать PDSCH, вычислить ОСШ и сингулярные значения канала и выбрать соответствующую матрицу предварительного кодирования. EVM принятого сигнала вычисляется и используется для оценки эффективного ОСШ канала. Этот процесс выполняется с использованием и без обратной связи PMI на основе информации о состоянии канала (CSI) и опорного сигнала (RS), чтобы продемонстрировать влияние на эффективность.

Ссылка на строение канала измерения

Сгенерируйте структуру строения опорного канала измерения (RMC) для R.5 RMC; с поправками на создание только одного подкадра и 5 ресурсных блоков (RB) и использование 8 антенн.

Release 10 - специфичная для UE возможность формирования луча параметризована в LTE Toolbox следующим TxScheme = 'Port7-14' в сочетании с соответствующим выбором количества слоев NLayers. Существует ряд стандартных определяемых RMC Port7-14 использующих схему передачи, поддерживаемую LTE Toolbox. Примеры - R.43, R.44, R.45, R.45-1, R.48, R.50 и R.51. См. lteRMCDL для получения дополнительной информации. Матрица формирования луча представлена полем строения PDSCH W; количество передающих антенн определяется количеством столбцов W.

rmc = struct;                      % RMC config structure
rmc.RC ='R.5';                     % Base configuration on RMC R.5
rmc.DuplexMode = 'TDD';            % User Time Division Duplex (TDD)
rmc.TotSubframes = 1;              % Configure a single subframe

% Generate the base configuration from RMC R.5 and amend to set the
% parameters required for the Port7-14 transmission scheme. Note that if
% the standard defined RMCs using Port7-14 transmission scheme supported by
% lteRMCDL is used, these parameters will be pre-configured.
rmc = lteRMCDL(rmc);
rmc.NDLRB = 25;                    % 25 Resource Blocks
rmc.NCellID = 10;                  % Cell identity 10
rmc.PDSCH.TxScheme = 'Port7-14';   % Up to 8 layer transmission, ports 7-14
rmc.PDSCH.NLayers = 2;             % 2 transmission layers for beamforming
rmc.PDSCH.NSCID = 0;               % Scrambling identity 0
rmc.CSIRefP = 8;                   % 8 CSI-RS ports
rmc.CSIRSConfig = 0;               % CSI-RS configuration 0
rmc.CSIRSPeriod = 'On';            % Configure CSI-RS always 'on'
rmc.ZeroPowerCSIRSPeriod = 'Off';  % Configure Zero Power CSI-RS 'off'
rmc.PDSCH.PRBSet = (4:8).';        % 5 allocated RBs
rmc.PDSCH.PMIMode = 'Wideband';    % Wideband PMI mode
rmc.PDSCH.CSI = 'On';              % CSI scaling of soft bits
% Codebook subset definition allowing all codebook entries
rmc.PDSCH.CodebookSubset = '0x1FFFFFFFFFFFFFFFFFFFFFFFFFFF';

Строение канала

Канал с замираниями сконфигурирован с профилем расширенного транспортного средства A (EVA) для 3 приемных антенн.

channel = struct;                   % Channel config structure
channel.Seed = 8;                   % Channel seed
channel.NRxAnts = 3;                % 3 receive antennas
channel.DelayProfile = 'EVA';       % Delay profile
channel.DopplerFreq = 5.0;          % Doppler frequency in Hz
channel.MIMOCorrelation = 'Medium'; % Multi-antenna correlation
channel.NTerms = 16;                % Oscillators used in fading model
channel.ModelType = 'GMEDS';        % Rayleigh fading model type
channel.InitTime = 0.0;             % Initial time
channel.InitPhase = 'Random';       % Random initial phases
channel.NormalizePathGains = 'On';  % Normalize delay profile power
channel.NormalizeTxAnts = 'On';     % Normalize for transmit antennas

Строение оценщика канала

Специальный режим оценки канала должен использоваться при оценке канала с использованием специфичных для UE RS или CSI-RS для Port7-14 схема передачи. Этот режим обеспечивает соответствующую операцию «сжатия» для случая ссылки символов, занимающих одинаковые местоположения временных частот. lteDLChannelEstimate сконфигурирован для этого режима путем конфигурирования UserDefined окно усреднения пилот-сигнала размера 1 на 2 (по частоте и времени).

cec = struct;                       % Channel estimation config structure
cec.PilotAverage = 'UserDefined';   % Type of pilot symbol averaging
cec.FreqWindow = 1;                 % Frequency window size (special mode)
cec.TimeWindow = 2;                 % Time window size (special mode)
cec.InterpType = 'Cubic';           % 2D interpolation type
cec.InterpWindow ='Centered';       % Interpolation window type
cec.InterpWinSize = 1;              % Interpolation window size

Область Цикла

Симуляция выполняется дважды, чтобы продемонстрировать увеличение эффективности при использовании обратной связи PMI на основе CSI-RS. Производятся два графиков:

  • PDSCH принимает созвездие при передаче на 2 слоях, каждый на 1 из 8 передающих антенн

  • PDSCH принимает созвездие при передаче на 8 антеннах с образующей луча матрицей W который согласован с откликом канала. Это выбирается с помощью обратной связи PMI на основе CSI-RS.

Также показаны сингулярные значения каждой из двух передач, при этом характеристика канала усредняется по всем выделенным ресурсным элементам PDSCH (RE). Эти сингулярные значения объединяются, чтобы задать эффективный ОСШ канала. Наконец, ОСШ принятых символов оценивается с использованием меры EVM между переданными и принятыми символами PDSCH. Эти числовые результаты показывают улучшение ОСШ приблизительно 2dB с матрицей формирования луча W выбран обратной связью PMI на основе CSI-RS.

% Transmit without then with CSI-RS-based PMI feedback
for csirsFeedback = 0:1

    % Configure random number generators
    rng('default');

    % Configure PDSCH substructure with transmission beamforming matrix W.
    % In the first iteration of the loop transmit each layer on one of the
    % 8 antennas. In the second iteration, transmit the layers on 2 beams
    % matched to the channel response using CSI-RS-based PMI feedback. The
    % PMI fed back to the second iteration is calculated at the end of the
    % first
    if ~csirsFeedback
        rmc.PDSCH.W = [1 0 0 0 0 0 0 0; ...
                       0 0 0 0 1 0 0 0]/sqrt(2);
    else
        rmc.PDSCH.W = lteCSICodebook(rmc.PDSCH.NLayers, ...
                                     rmc.CSIRefP, [PMI(1) PMI(2)]).';
    end

    % Generate transmission with PDSCH with the beamforming matrix W, onto
    % 1st of 8 antenna planes (note that CellRefP = 1 for this RMC). The
    % transmitted grid contains UE-specific reference signal (UE-RS / DMRS)
    % for channel estimation and CSI-RS reference signal for PMI selection
    [~, txGrid, rmcinfo] = lteRMCDLTool(rmc, [1;0;0;1]);
    channel.SamplingRate = rmcinfo.SamplingRate;

    % OFDM modulation. The additional 25 samples added to the end of the
    % waveform are to cover the range of delays expected from the channel
    % modeling (a combination of implementation delay and channel delay
    % spread)
    [txWaveform, ofdmDims] = lteOFDMModulate(rmc, txGrid, 0);
    txWaveform = [txWaveform; zeros(25, size(txWaveform,2))]; %#ok

    % Fading channel
    rxWaveform = lteFadingChannel(channel, txWaveform);

    % Create and apply additive white Gaussian noise
    if ~csirsFeedback
        SNRdB = 27;
        SNR = 10^(SNRdB/20);
        N = 1/(sqrt(2.0*rmc.CSIRefP*double(ofdmDims.Nfft))*SNR);
        v = N*complex(randn(size(rxWaveform)), randn(size(rxWaveform)));
    end
    rxWaveform = rxWaveform + v;

    % Perform synchronization
    offset = lteDLFrameOffset(rmc, rxWaveform);
    rxWaveform = rxWaveform(1+offset:end, :);

    % Perform OFDM demodulation on the received data to recreate the
    % resource grid
    rxGrid = lteOFDMDemodulate(rmc, rxWaveform);

    % Channel estimation using the UE-specific DMRS for PDSCH reception
    cec.Reference = 'DMRS';
    [hest, nest] = lteDLChannelEstimate(rmc, rmc.PDSCH, cec, rxGrid);

    % Equalize (back to layers) and demodulate the PDSCH.
    % Extract REs corresponding to the 2 layers of the PDSCH from the given
    % subframe across all receive antennas and channel estimates.
    ind = ltePDSCHIndices(rmc, rmc.PDSCH, rmc.PDSCH.PRBSet);
    [pdschRx, pdschHest] = lteExtractResources(ind, rxGrid, hest);
    [rxBits, rxSymbols] = ltePDSCHDecode(rmc, rmc.PDSCH, ...
        pdschRx, pdschHest, nest);

    % Compute singular values of the channel and calculate SNR
    H = squeeze(mean(pdschHest));
    d = svd(H);

    % Print singular values and effective channel SNR
    if csirsFeedback
        label = '8 antenna transmission with CSI-RS-based PMI feedback';
    else
        label = '8 antenna transmission, 1 antenna for each layer';
    end
    fprintf('%s:\n\n', label);
    svdb = sprintf('     %0.2fdB', 20*log10(d));
    fprintf('       Channel singular values:%s\n', svdb);
    fprintf('         Effective channel SNR:     %0.2fdB\n', ...
        SNRdB+10*log10(rmc.PDSCH.NLayers)+10*log10(sum(d.^2)));

    % Regenerate PDSCH from hard bit decisions and demodulate to estimate
    % transmitted symbols
    remod = ltePDSCH(rmc, rmc.PDSCH, rxBits{1}>0);
    [rxBitsRef, rxSymbolsRef] = ltePDSCHDecode(rmc, rmc.PDSCH, remod);

    % Use EVM measurement to estimate SNR
    EVM = comm.EVM;
    evmRMS = EVM(rxSymbolsRef{1},rxSymbols{1});
    SNRest = 20*log10(1/(evmRMS/100));
    fprintf('SNR estimate from receiver EVM:     %0.2fdB\n\n',SNRest);

    % Now compute PMI (via CSI-RS) for use in second iteration. Channel
    % realization remains the same
    if ~csirsFeedback
        % Channel estimation via CSI-RS for PMI selection
        cec.Reference = 'CSIRS';
        [hestPMI, nestPMI] = lteDLChannelEstimate(rmc, rmc.PDSCH, ...
            cec, rxGrid);
        % PMI selection
        PMI = ltePMISelect(rmc, rmc.PDSCH, hestPMI, nestPMI);
    end

    % Plot received constellation
    figure(csirsFeedback+1);
    plot(rxSymbols{1}, 'o', 'MarkerEdgeColor', [0.75 0 0], ...
        'MarkerFaceColor', [1 0.25 0.25], 'MarkerSize',3);
    axis([-1.25 1.25 -1.25 1.25]);
    title(label);

end
8 antenna transmission, 1 antenna for each layer:

       Channel singular values:     -10.19dB     -15.32dB
         Effective channel SNR:     20.98dB
SNR estimate from receiver EVM:     20.73dB

8 antenna transmission with CSI-RS-based PMI feedback:

       Channel singular values:     -5.38dB     -11.00dB
         Effective channel SNR:     25.68dB
SNR estimate from receiver EVM:     25.06dB

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

  1. 3GPP TS 36.213 «Процедуры физического слоя»