Этот пример показывает, как LTE Toolbox™ может использоваться, чтобы смоделировать тест соответствия вероятности ложного предупреждения TS36.104 Physical Random Access Channel (PRACH). В этом случае вероятность ошибочного обнаружения преамбулы PRACH должна быть измерена, когда вход детектора PRACH является только шумом.
Измерение вероятности ошибочного обнаружения определяется в TS36.104, раздел 8.4.1 [1]. Цель, заданная для любой полосы пропускания, всех структур системы координат и для любого количества приемных антенн, является вероятностью ложного предупреждения, меньше или равной 0,1%.
Вход к детектору PRACH составлен исключительно из Гауссова сигнала шума. Попытка обнаружения со всеми возможными индексами преамбулы камер, и если преамбула обнаружена в шуме, накопляется ложное обнаружение.
Структура строения для пользовательского оборудования (UE) создается и устанавливается на использование 6 ресурсных блоков в FDD (Frequency Division Duplexing).
ue.NULRB = 6; % Number of resource blocks ue.DuplexMode = 'FDD'; % FDD duplexing mode
Setup структуры строения PRACH. В стандартных документах значения не указываются, так как не передается PRACH.
prach.Format = 0; % Preamble format prach.SeqIdx = 2; % Logical root sequence index prach.CyclicShiftIdx = 1; % Cyclic shift configuration index prach.HighSpeed = 0; % High speed flag prach.FreqOffset = 0; % Use default frequency resource index prach.PreambleIdx = []; % Empty since no preamble is transmitted
ltePRACHInfo
возвращает информацию о размерности PRACH при заданных пользовательских настройках и строении передачи канала PRACH. Из этой информации выходная длина PRACH может быть вычислена с использованием длительности PRACH в подкадрах, длительности одного субкадра в секундах (1 мс) и частоте дискретизации модулятора PRACH.
info = ltePRACHInfo(ue, prach); nSamples = info.SamplingRate*info.TotSubframes*0.001;
Инициализируйте счетчик ложного обнаружения и введите цикл для обработки нескольких испытаний обнаружения. Для каждого исследования обнаружения сигнал Гауссова шума (длины nSamples
) создается и по нему выполняется обнаружение для каждого возможного индекса преамбулы камер с помощью ltePRACHDetect
. В идеальном случае преамбулы не должны были быть обнаружены. В случае обнаружения преамбулы регистрируется ложное предупреждение для этого испытания.
numTrials = 1400; falseCount = 0; % Initialize false detection counter rng('default'); % Random number generator to default state runningP=zeros(1, numTrials); runningDetected(numTrials)=struct('Detected',[],'Offset',[]); for nt = 1:numTrials % Create noise noise = complex(randn(nSamples, 1), randn(nSamples, 1)); % Attempt detection for all cell preamble indices (0...63) [detected,offset] = ltePRACHDetect(ue, prach, noise, 0:63); % Record false alarm if (~isempty(detected)) falseCount = falseCount+1; end % Calculate running false alarm probability runningP(nt) = falseCount/nt*100; % Store information about false alarm (if applicable) if (~isempty(detected)) runningDetected(nt).Detected = detected; runningDetected(nt).Offset = offset; end end
Вычислите окончательную вероятность ложного предупреждения и постройте график текущей вероятности ложного предупреждения в симуляции.
P = falseCount / numTrials;
fprintf('\nFalse alarm probability = %0.4f%%\n',P*100);
hPlotFalseAlarmProbability(runningP,runningDetected);
False alarm probability = 0.0714%
3GPP TS 36.104 «Радиопередача и прием базовой станции (BS)»