Тест соответствия вероятности ложного предупреждения PRACH

Этот пример показывает, как LTE Toolbox™ может использоваться, чтобы смоделировать тест соответствия вероятности ложного предупреждения TS36.104 Physical Random Access Channel (PRACH). В этом случае вероятность ошибочного обнаружения преамбулы PRACH должна быть измерена, когда вход детектора PRACH является только шумом.

Введение

Измерение вероятности ошибочного обнаружения определяется в TS36.104, раздел 8.4.1 [1]. Цель, заданная для любой полосы пропускания, всех структур системы координат и для любого количества приемных антенн, является вероятностью ложного предупреждения, меньше или равной 0,1%.

Вход к детектору PRACH составлен исключительно из Гауссова сигнала шума. Попытка обнаружения со всеми возможными индексами преамбулы камер, и если преамбула обнаружена в шуме, накопляется ложное обнаружение.

Строение UE

Структура строения для пользовательского оборудования (UE) создается и устанавливается на использование 6 ресурсных блоков в FDD (Frequency Division Duplexing).

ue.NULRB = 6;                   % Number of resource blocks
ue.DuplexMode = 'FDD';          % FDD duplexing mode

Строение PRACH

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

Установите выходную длину генератора PRACH для этого строения

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%

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

  1. 3GPP TS 36.104 «Радиопередача и прием базовой станции (BS)»