Этот пример демонстрирует Релиз 10 UE-specific beamforming возможность LTE Toolbox™ и показывает, как соответствующий выбор beamforming матрицы приводит к лучшей производительности.
Релиз 10 допускает передачу до 8 слоев на портах антенны 7-14 (TS36.213, Раздел 7.1.5B [1]). Передачи в этой схеме сделаны на одном или нескольких слоях со ссылочным сигналом (порт) для каждого слоя и могут быть beamformed на любое количество антенн передачи с помощью любого соответственно определенная размеры beamforming матрица; выбор количества антенн передачи и beamforming матричных значений не задан в стандарте.
Этот пример показывает улучшение Величины вектора ошибок (EVM), достигнутое при использовании обратной связи Предварительного кодирования матричного индикатора (PMI) на основе сигнала ссылки информации о состоянии канала. Форма волны с Физическим Нисходящим Разделяемым Каналом (PDSCH) информация создана и проходится шумный исчезающий канал. Полученная форма волны демодулируется, приведение к полученной сетке ресурса для каждого получает антенну. Оценка канала затем используется, чтобы декодировать PDSCH, вычислить ОСШ и сингулярные значения канала и выбрать соответствующую матрицу перед кодированием. EVM полученного сигнала вычисляется и используется, чтобы оценить эффективный ОСШ канала. Этот процесс выполняется с и без Информации о состоянии канала (CSI) и основанной на Ссылочном сигнале (RS) обратной связи PMI, чтобы продемонстрировать удар на производительность.
Сгенерируйте конфигурационную структуру Ссылочного канала измерения (RMC) для RMC R.5; исправленный, чтобы создать только один подкадр и 5 Блоков Ресурса (RBS), и использовать 8 антенн.
Релиз 10 Возможность UE-specific beamforming параметризована в LTE Toolbox как TxScheme = 'Port7-14'
в сочетании с соответствующим выбором количества слоев NLayers
. Существуют заданные RMCs многого стандарта, использующие схему передачи Port7-14, поддержанную LTE Toolbox. Примерами является R.43, R.44, R.45, R.45-1, R.48, R.50 и R.51. См. lteRMCDL для деталей. beamforming матрица представлена полем W
настройки PDSCH; количество антенн передачи дано количеством столбцов
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-specific RS или CSI-RS для Port7-14
схема передачи. Этот режим обеспечивает соответствующую "despreading" операцию для случая ссылочных символов, занимающих те же местоположения частоты времени. 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
Симуляция запущена дважды, чтобы продемонстрировать увеличение производительности при использовании ОСНОВАННОЙ НА CSI-RS обратной связи PMI. Производятся два графика:
PDSCH получают созвездие, передавая на 2 слоях, каждый на 1 из 8 антенн передачи
PDSCH получают созвездие при передаче на 8 антеннах с beamforming матричным W
который является соответствующим к ответу канала. Это выбрано с помощью ОСНОВАННОЙ НА CSI-RS обратной связи PMI.
Сингулярные значения каждой из этих двух передач также показывают, с ответом канала, усредняемым через все, выделил Элементы Ресурса PDSCH (REs). Эти сингулярные значения объединены, чтобы дать эффективный ОСШ канала. Наконец ОСШ полученных символов оценивается с помощью меры EVM между переданными и полученными символами PDSCH. Эти числовые результаты показывают улучшение ОСШ приблизительно 2 дБ с beamforming матричным W
выбранный ОСНОВАННОЙ НА CSI-RS обратной связью PMI.
% 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
3GPP TS 36.213 "Процедуры физического уровня"