В этом примере показано, как включать потерю на пути, передают степень, и получить шум в 5G симуляции уровня ссылки NR, чтобы изучить удар этих параметров в эффективности ссылки 5G.
Симуляции уровня ссылки измеряют частоту появления ошибочных блоков и пропускную способность через область значений средних значений отношения сигнал-шум (SNR) в получить стороне. В этом примере показано, как вычислить ОСШ от параметров, таких как потеря на пути, передайте степень, и входной шум приемника и шумовую фигуру. Можно использовать этот ОСШ в Пропускной способности NR PDSCH и примерах Пропускной способности NR PUSCH, чтобы изучить эффект тех параметров в ссылке 5G. В этом примере вы можете:
Сконфигурируйте передатчик, приемник, несущую и канал распространения.
Вычислите потерю на пути и шумовую мощность.
Вычислите ОСШ в приемнике.
Проверьте вычисление ОСШ.
Этот раздел конфигурирует несущую, передатчик и приемник с этими характеристиками:
Модель передатчика или базовой станции (BS) включает среднюю степень, поставленную всем антеннам и высоте антенны. Можно задать среднюю степень передачи полностью выделенной сетки ресурса, но эта степень не включает усиления антенного элемента. Поэтому фактическая средняя степень передала шкалы с выделением сетки ресурса и усилениями антенного элемента, но эта степень не масштабируется с количеством передающих антенн.
Модель приемника или оборудования пользователя (UE) включает свою шумовую фигуру и температуру антенны и высоту. Шумовая фигура моделирует приемник внутренний шум, и температура антенны моделирует входной шум. Этот приемник задает шум на антенный элемент.
Можно задать расстояние между BS и UE как вектор, чтобы вычислить значения ОСШ на заданных расстояниях.
% Configure the carrier. simParameters.Carrier = nrCarrierConfig; simParameters.Carrier.NSizeGrid = 51; % Bandwidth in number of resource blocks (51 RBs at 30 kHz SCS for 20 MHz BW) simParameters.Carrier.SubcarrierSpacing = 30; % 15, 30, 60, 120, 240 (kHz) simParameters.Carrier.CyclicPrefix = 'Normal'; % 'Normal' or 'Extended' (Extended CP is relevant for 60 kHz SCS only) % Configure the carrier frequency, transmitter (BS), receiver (UE), and % distance between the BS and UE. Specify this distance as a vector for % multiple SNR points. simParameters.CarrierFrequency = 3.5e9; % Carrier frequency (Hz) simParameters.TxHeight = 25; % Height of the BS antenna (m) simParameters.TxPower = 40; % Power delivered to all antennas of the BS on a fully allocated grid (dBm) simParameters.RxHeight = 1.5; % Height of UE antenna (m) simParameters.RxNoiseFigure = 6; % Noise figure of the UE (dB) simParameters.RxAntTemperature = 290; % Antenna temperature of the UE (K) simParameters.TxRxDistance = [5e2 9e2]; % Distance between the BS and UE (m)
Модель канала распространения включает потерю на пути и небольшое исчезновение. Потеря на пути зависит от расстояния между BS и UE, несущей частотой и другими параметрами, которые характерны для каждого сценария. Исчезающие каналы могут быть каналы коснувшейся линии задержки (TDL) или кластеризованная линия задержки (CDL). В этом примере исчезающая настройка канала определяет существование угла обзора (LOS) между передатчиком (BS) и приемником (UE), который требуется для вычисления потери на пути. Задержите профили A, B, и C конфигурируют каналы не-LOS, и задержка профилирует D, и E конфигурируют каналы LOS.
Сконфигурируйте сценарий и другие параметры потери на пути модели потери на пути 5G, как задано в Разделе TR 38.901 7.4. В качестве альтернативы задайте модель потери на пути свободного пространства. Модель потери на пути определяет среднее затухание переданного сигнала.
simParameters.PathLossModel = '5G-NR'; % '5G-NR' or 'fspl' simParameters.PathLoss = nrPathLossConfig; simParameters.PathLoss.Scenario = 'UMa'; % Urban macrocell simParameters.PathLoss.EnvironmentHeight = 1; % Average height of the environment in UMa/UMi
Сконфигурируйте CDL или TDL, исчезающий канал, как задано в TR 38.901. Исчезающие модели канала краткосрочные изменения ответа канала в зависимости от времени и частоты.
simParameters.DelayProfile = 'TDL-A'; % A, B, and C profiles are NLOS channels. D and E profiles are LOS channels. if contains(simParameters.DelayProfile,'CDL','IgnoreCase',true) channel = nrCDLChannel; channel.DelayProfile = simParameters.DelayProfile; chInfo = info(channel); kFactor = chInfo.KFactorFirstCluster; % dB else % TDL channel = nrTDLChannel; channel.DelayProfile = simParameters.DelayProfile; chInfo = info(channel); kFactor = chInfo.KFactorFirstTap; % dB end % Determine LOS between Tx and Rx based on Rician factor K. simParameters.LOS = kFactor>-Inf; % Determine the sample rate and FFT size that are required for this carrier. waveformInfo = nrOFDMInfo(simParameters.Carrier); % Calculate the maximum delay of the fading channel. channel.SampleRate = waveformInfo.SampleRate; chInfo = info(channel); maxChDelay = ceil(max(chInfo.PathDelays*channel.SampleRate)) + chInfo.ChannelFilterDelay;
Этот раздел вычисляет потерю на пути между передатчиком (BS) и приемником (UE).
% Calculate the path loss. if contains(simParameters.PathLossModel,'5G','IgnoreCase',true) txPosition = [0;0; simParameters.TxHeight]; dtr = simParameters.TxRxDistance; rxPosition = [dtr; zeros(size(dtr)); simParameters.RxHeight*ones(size(dtr))]; pathLoss = nrPathLoss(simParameters.PathLoss,simParameters.CarrierFrequency,simParameters.LOS,txPosition,rxPosition); else % Free-space path loss lambda = physconst('LightSpeed')/simParameters.CarrierFrequency; pathLoss = fspl(simParameters.TxRxDistance,lambda); end
Этот раздел вычисляет эквивалентную шумовую температуру, и амплитуда на получают антенный элемент от входной температуры шума и приемника внутренний шум. Шумовая амплитуда на получает антенну,
где Постоянная Больцмана (). полоса пропускания, которая равна частота дискретизации формы волны. Эквивалентная шумовая температура
,
входная температура шума и фигура шума приемника в линейных модулях.
kBoltz = physconst('Boltzmann'); NF = 10^(simParameters.RxNoiseFigure/10); Teq = simParameters.RxAntTemperature + 290*(NF-1); % K N0 = sqrt(kBoltz*waveformInfo.SampleRate*Teq/2.0);
Этот раздел использует параметры конфигурации, чтобы вычислить ОСШ на элемент ресурса (RE), следующий из степени передачи, получить шум, полосу пропускания и потерю на пути. Среднее значение получает сигнал на RE, и получить антенна и шумовая мощность на RE
и
.
общая переданная степень во входе передающей антенны массивов. количество точек быстрого преобразования Фурье (FFT), используемых для модуляции OFDM. размер сетки OFDM в блоках ресурса. потеря на пути. среднеквадратичное (RMS) значение шума на, получают антенну. Средний ОСШ на RE и получает антенну,
.
Это значения ОСШ, которые необходимо использовать в Пропускной способности NR PDSCH и примерах Пропускной способности NR PUSCH.
fftOccupancy = 12*simParameters.Carrier.NSizeGrid/waveformInfo.Nfft; simParameters.SNRIn = (simParameters.TxPower-30) - pathLoss - 10*log10(fftOccupancy) - 10*log10(2*N0^2); disp(simParameters.SNRIn)
5.4206 -4.5425
Составьте таблицу, чтобы отобразить ОСШ на каждом расстоянии Tx-Rx
SNRInc = mat2cell(simParameters.SNRIn(:),length(pathLoss),1); tSNRIn = table(simParameters.TxRxDistance(:),SNRInc{:},'VariableNames',{'Distance Tx-Rx (m)','SNR (dB)'}); disp(tSNRIn)
Distance Tx-Rx (m) SNR (dB) __________________ ________ 500 5.4206 900 -4.5425
Для получения дополнительной информации о том, как симуляции уровня ссылки 5G Toolbox™ задают отношение сигнал-шум (SNR), видят Определение ОСШ, Используемое в Симуляциях Ссылки.
Этот раздел помогает вам проверить полученные значения ОСШ и рассмотреть дополнительные детали отношения между потерей на пути, передать степень и получить шум и получившийся ОСШ. С этой целью этот раздел симулирует передачу сигнала CP-OFDM с заданной степенью передачи через канал распространения, и измерьте получившийся ОСШ в приемнике. Вы не должны реализовывать эту передачу в примерах 5G Toolbox. Вместо этого можно использовать выражение ОСШ или значения, полученные в предыдущем разделе этого примера.
Для измерения ОСШ приемник имеет знание канала и шума. Это измерение ОСШ использует независимую реализацию канала (исчезновение блока), чтобы получить значимые результаты с минимальным количеством требуемых пазов передачи.
Установите продолжительность симуляции в терминах количества систем координат на 10 мс.
NFrames = 20; NSlots = NFrames*simParameters.Carrier.SlotsPerFrame; nSNRPoints = length(pathLoss); % Number of SNR points % Initialize measurements and create auxiliary variables. nTxAnt = chInfo.NumTransmitAntennas; nRxAnt = chInfo.NumReceiveAntennas; [powSignalRE,powSignal,powNoiseRE,powNoise] = deal(zeros(nSNRPoints,nRxAnt,NSlots)); pgains = zeros(length(chInfo.PathDelays),nTxAnt,nRxAnt,nSNRPoints,NSlots); scs = simParameters.Carrier.SubcarrierSpacing; nSizeGrid = simParameters.Carrier.NSizeGrid; nfft = waveformInfo.Nfft; % Reset the random generator for reproducibility. rng('default'); % Transmit a CP-OFDM waveform through the channel and measure the SNR for % each distance between Tx and Rx (path loss values). for pl = 1:length(pathLoss) carrier = simParameters.Carrier; for slot = 0:NSlots-1 slotIdx = slot+1; carrier.NSlot = slot; % Change random seed to generate an independent realization of the % channel in every time slot (block fading). release(channel); channel.Seed = slot; % Create the OFDM resource grid and allocate random QPSK symbols. txgrid = nrResourceGrid(carrier,nTxAnt); txgrid(:) = nrSymbolModulate(randi([0 1],numel(txgrid)*2,1),'QPSK'); % Perform CP-OFDM modulation. txWaveform = nrOFDMModulate(txgrid,scs,slot); % Calculate the amplitude of the transmitted signal. The FFT and % resource grid size scaling normalize the signal power. The % transmitter distributes the power across all antennas equally, % simulating the effect of unit norm beamformer. signalAmp = db2mag(simParameters.TxPower-30)*sqrt(nfft^2/(nSizeGrid*12*nTxAnt)); txWaveform = signalAmp*txWaveform; % Pad the signal with zeros to ensure that a full slot is available % to the receiver after synchronization. txWaveform = [txWaveform; zeros(maxChDelay, size(txWaveform,2))]; %#ok<AGROW> % Pass the signal through fading channel. [rxWaveform,pathGains,sampleTimes] = channel(txWaveform); pgains(:,:,:,pl,slotIdx) = pathGains(1,:,:,:); % Apply path loss to the signal. rxWaveform = rxWaveform*db2mag(-pathLoss(pl)); % Generate AWGN. noise = N0*complex(randn(size(rxWaveform)),randn(size(rxWaveform))); % Perform perfect synchronization. pathFilters = getPathFilters(channel); % Path filters for perfect timing estimation offset = nrPerfectTimingEstimate(pathGains,pathFilters); rxWaveform = rxWaveform(1+offset:end,:); noise = noise(1+offset:end,:); % Perform CP-OFDM demodulation of the received signal and noise. ngrid = nrOFDMDemodulate(carrier,noise); rxgrid = nrOFDMDemodulate(carrier,rxWaveform); % Measure the RE and overall power of the received signal and noise. powSignalRE(pl,:,slotIdx) = rms(rxgrid,[1 2]).^2/nfft^2; powSignal(pl,:,slotIdx) = powSignalRE(pl,:,slotIdx)*nSizeGrid*12; powNoiseRE(pl,:,slotIdx) = rms(ngrid,[1 2]).^2/nfft^2; powNoise(pl,:,slotIdx) = powNoiseRE(pl,:,slotIdx)*nfft; end end
Можно вычислить полный ОСШ и ОСШ на RE при помощи полученной полученной и шумовой мощности сигнала. Различие между полным ОСШ и ОСШ на RE равно отношению заполнения спектра БПФ , который следует из распространения шумовой энергии через все интервалы БПФ, включая те интервалы вне промежутка частоты сетки ресурса.
fprintf('The resource grid uses %.1f %% of the FFT size, introducing a %.1f dB SNR gain.\n', fftOccupancy*100, -10*log10(fftOccupancy))
The resource grid uses 59.8 % of the FFT size, introducing a 2.2 dB SNR gain.
% Correct CDL/TDL average gain. Gf = permute(mean(sum(rms(pgains,5).^2,1),2),[4 3 1 2]); % Correction factor % Calculate overall SNR and SNR per RE. SNRo = 10*log10(mean(powSignal,3)./mean(powNoise,3)) - 10*log10(Gf); SNRre = 10*log10(mean(powSignalRE,3)./mean(powNoiseRE,3)) - 10*log10(Gf); % Create a table to display the results. SNRrec = mat2cell(SNRre,nSNRPoints,ones(nRxAnt,1)); tSNRre = table(simParameters.TxRxDistance(:),SNRrec{:},'VariableNames',["Distance (m)", "SNR RxAnt"+(1:nRxAnt)]); disp(tSNRre)
Distance (m) SNR RxAnt1 SNR RxAnt2 ____________ __________ __________ 500 5.4398 5.4816 900 -4.5262 -4.4795
В дополнение к небольшому исчезновению CDL и каналы TDL моделируют другие аспекты, такие как поляризация антенны, усиление антенны, корреляция антенны и нормализация количеством полученных антенн, которые влияют на среднюю потерю распространения. Поправочный коэффициент Gf обратился к ОСШ, компенсирует эту среднюю потерю распространения, введенную CDL или каналом TDL, и совпадает с измерением определению ОСШ в симуляциях уровня ссылки 5G Toolbox.