Этот пример показывает, как LTE Toolbox™ может использоваться, чтобы смоделировать Физический Канал Произвольного доступа TS36.104 (PRACH) тест соответствия вероятности ложной тревоги. В этом случае вероятность ошибочного обнаружения преамбулы PRACH должна быть измерена, когда вход детектора PRACH является только шумом.
Измерение вероятности ошибочного обнаружения определено в TS36.104, раздел 8.4.1 [1]. Цель, определенная для любой полосы пропускания, всех структур кадра и для любого числа приемных антенн, является вероятностью ложного аварийного сигнала, меньшей или равной 0,1%.
Вход детектора PRACH состоит исключительно из гауссова шумового сигнала. Выполняется попытка обнаружения со всеми возможными индексами преамбулы ячейки, и если преамбула обнаруживается в шуме, накапливается ложное обнаружение.
Структура конфигурации пользовательского оборудования (UE) создается и устанавливается для использования 6 блоков ресурсов в дуплексировании с частотным разделением (FDD).
ue.NULRB = 6; % Number of resource blocks ue.DuplexMode = 'FDD'; % FDD duplexing mode
Настройте структуру конфигурации 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, заданную специфичными для UE настройками и конфигурацией передачи канала 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)»