Анализ производительности детектора Используя кривые ROC

В этом примере показано, как можно оценить производительность и когерентных и некогерентных систем с помощью кривых рабочей характеристики получателя (ROC). Это принимает, что детектор действует в аддитивной комплексной среде белого Гауссова шума.

Кривые ROC часто используются, чтобы оценить производительность детектора гидролокатора или радара. Кривые ROC являются графиками вероятности обнаружения (Фунт) по сравнению с вероятностью ложного предупреждения (PFA) для данного отношения сигнал-шум (SNR).

Введение

Вероятность обнаружения (Фунт) является вероятностью высказывания, которое "1" верно, учитывая, что событие "1" произошло. Вероятность ложного предупреждения (PFA) является вероятностью высказывания, которое "1" верно, учитывая, что "0" событие имело место. В приложениях, таких как гидролокатор и радар, "1" событие указывает, что цель присутствует, и "0", событие указывает, что цель не присутствует.

Уровень детектора измерен ее способностью достигнуть определенной вероятности обнаружения и вероятности ложного предупреждения для данного ОСШ. Исследование кривых ROC детектора обеспечивает понимание его производительности. Мы можем использовать функцию rocsnr, чтобы вычислить и построить кривые ROC.

Одно импульсное обнаружение

Учитывая значение ОСШ, можно вычислить значения Фунта и PFA, что линейный детектор или квадратичный детектор могут достигнуть использования одного импульса. Принятие у нас есть значение ОСШ 8 дБ и наши требования, диктует значение PFA самое большее 1%, какого значения Фунта детектор может достигнуть? Мы можем использовать функцию rocsnr, чтобы вычислить значения Фунта и PFA и затем определить, какое значение Фунта соответствует PFA = 0.01. Обратите внимание на то, что по умолчанию функция rocsnr принимает когерентное обнаружение.

[Pd,Pfa] = rocsnr(8);

idx = find(Pfa==0.01); % find index for Pfa=0.01

Используя индекс, определенный выше, мы можем найти значение Фунта, которое соответствует PFA = 0.01.

Pd(idx)
ans = 0.8899

Одна функция функции rocsnr - то, что можно задать вектор значений ОСШ, и rocsnr вычисляет кривую ROC для каждого из этих значений ОСШ. Вместо того, чтобы индивидуально вычислить значения Фунта и PFA для данного ОСШ, мы можем просмотреть результаты в графике кривых ROC. rocsnr графики функций, которые ROC изгибает по умолчанию, если никакие выходные аргументы не заданы. Вызывание rocsnr функции с входным вектором четырех значений ОСШ и никаких выходных аргументов производит график кривых ROC.

SNRvals = [2 4 8 9.4];
rocsnr(SNRvals);

В графике мы можем нажать кнопку Data Cursor на панели инструментов (или на меню Tools) и затем выбрать SNR = кривая на 8 дБ в точке, где Фунт = 0.9, чтобы проверить, что PFA - приблизительно 0,01.

Несколько пульсируют обнаружение

Один способ улучшать производительность детектора состоит в том, чтобы составить в среднем по нескольким импульсам. Это особенно полезно в случаях, где сигнал интереса известен и происходит в аддитивном комплексном белом шуме. Несмотря на то, что это все еще применяется и к линейным детекторам и к квадратичным детекторам, результат для квадратичных детекторов мог быть выключен приблизительно на 0,2 дБ. Давайте продолжим наш пример путем принятия ОСШ 8 дБ и усреднения более чем двух импульсов.

rocsnr(8,'NumPulses',2);

Путем осмотра графика мы видим, что усреднение более чем двух импульсов привело к более высокой вероятности обнаружения для данного ложного сигнального уровня. С ОСШ 8 дБ и усреднением более чем двух импульсов, можно ограничить вероятность ложного предупреждения быть самое большее 0.0001 и достигать вероятности обнаружения 0,9. Вспомните, что для одного импульса, мы должны были позволить вероятности ложного предупреждения составлять целый 1%, чтобы достигнуть той же вероятности обнаружения.

Некогерентный детектор

К этой точке мы приняли, что имели дело с известным сигналом в комплексном белом Гауссовом шуме. Функция rocsnr по умолчанию принимает когерентный детектор. Чтобы анализировать производительность детектора для случая, где сигнал известен за исключением фазы, можно задать некогерентный детектор. Используя те же значения ОСШ как прежде, давайте анализировать производительность некогерентного детектора.

rocsnr(SNRvals,'SignalType','NonfluctuatingNoncoherent');

Фокусируйтесь на кривой ROC, соответствующей ОСШ 8 дБ. Путем осмотра графика с Data Cursor вы видите, что, чтобы достигнуть вероятности обнаружения 0,9, необходимо терпеть ложно-сигнальную вероятность до 0,05. Не используя информацию о фазе, нам нужен более высокий ОСШ, чтобы достигнуть того же Фунта для данного PFA. Для некогерентных линейных детекторов мы можем использовать уравнение Альберсхайма, чтобы определить, какое значение ОСШ достигнет нашего желаемого Фунта и PFA.

SNR_valdB = albersheim(0.9,.01)  % Pd=0.9 and Pfa=0.01
SNR_valdB = 9.5027

Строение ROC изгибается для значения ОСШ, аппроксимированного уравнением Альберсхайма, мы видим, что детектор достигнет Фунта = 0.9 и PFA = 0.01. Обратите внимание на то, что метод Альберсхайма применяется только к некогерентным детекторам.

rocsnr(SNR_valdB,'SignalType','NonfluctuatingNoncoherent');

Обнаружение колеблющихся целей

Все обсуждения выше принимают, что цель не колеблется, что означает, что статистические характеристики цели не изменяются в зависимости от времени. Однако в действительных сценариях, цели могут ускориться и замедлиться, а также крен и тангаж. Эти факторы заставляют радарное сечение (RCS) цели варьироваться в зависимости от времени. Набор названных моделей Swerling статистических моделей часто используется, чтобы описать случайное изменение целевого RCS.

Существует четыре модели Swerling, а именно, Swerling 1-4. Не колеблющуюся цель часто называют или Swerling 0 или Swerling 5. Каждая модель Swerling описывает, как RCS цели варьируется в зависимости от времени и вероятностное распределение изменения.

Поскольку целевой RCS варьируется, кривые ROC для колеблющихся целей не являются тем же самым как неколеблющимися единицами. Кроме того, потому что цели Swerling добавляют случайную фазу в полученный сигнал, более трудно использовать когерентный детектор в цели Swerling. Поэтому некогерентные методы обнаружения часто используются в целях Swerling.

Давайте теперь сравним кривые ROC для не колеблющейся цели и цели Swerling 1. В частности, мы хотим исследовать то, что требования ОСШ для обеих ситуаций, если мы хотим достигнуть того же Фунта и PFA. Для такого сравнения часто легко построить кривую ROC как Фунт против ОСШ с различным PFA. Мы можем использовать функцию rocpfa, чтобы построить кривую ROC в этой форме.

Давайте примем, что мы делаем некогерентное обнаружение с 10 интегрированными импульсами с желаемым PFA, являющимся в большей части 1e-8. Мы сначала строим кривую ROC для не колеблющейся цели.

rocpfa(1e-8,'NumPulses',10,'SignalType','NonfluctuatingNoncoherent')

Мы затем строим кривую ROC для цели Swerling 1 для сравнения.

rocpfa(1e-8,'NumPulses',10,'SignalType','Swerling1')

От фигур мы видим, что за Фунт 0,9, требуем ОСШ приблизительно 6 дБ, если цель не колеблется. Однако, если цель является случаем Swerling 1 модель, необходимые скачки ОСШ больше чем к 14 дБ, различие на 8 дБ. Это значительно повлияет на проект системы.

Как в случае неколеблющихся целей, у нас есть уравнения приближения, чтобы помочь определить необходимый ОСШ, не имея необходимость строить все кривые. Уравнение, используемое в колеблющихся целях, является уравнением Шнидмена. Для сценария мы раньше строили кривые ROC, требования ОСШ могут быть выведены с помощью функции shnidman.

snr_sw1_db = shnidman(0.9,1e-8,10,1)  % Pd=0.9, Pfa=1e-8, 10 pulses, 
snr_sw1_db = 14.7131
                                      % Swerling case 1

Расчетное требование ОСШ совпадает со значением, полученным на кривую.

Сводные данные

Кривые ROC полезны для анализа производительности детектора, и для когерентных и некогерентных систем. Мы использовали функцию rocsnr, чтобы анализировать эффективность линейного детектора для различных значений ОСШ. Мы также рассмотрели улучшение производительности детектора, достигнутой путем усреднения нескольких выборок. Наконец мы показали, как мы можем использовать rocsnr и функции rocpfa, чтобы анализировать производительность детектора при использовании некогерентного детектора и для неколебания и для колеблющихся целей.