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

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

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

Введение

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

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

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

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

[Pd,Pfa] = rocsnr(8);

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

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

Pd(idx)
ans = 0.8899

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

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

Figure contains an axes object. The axes object with title Nonfluctuating Coherent Receiver Operating Characteristic (ROC) Curves contains 8 objects of type line, text.

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

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

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

rocsnr(8,'NumPulses',2);

Figure contains an axes object. The axes object with title Nonfluctuating Coherent Receiver Operating Characteristic (ROC) Curves contains 2 objects of type line, text.

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

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

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

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

Figure contains an axes object. The axes object with title Nonfluctuating Noncoherent Receiver Operating Characteristic (ROC) Curves contains 8 objects of type line, text.

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

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

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

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

Figure contains an axes object. The axes object with title Nonfluctuating Noncoherent Receiver Operating Characteristic (ROC) Curves contains 2 objects of type line, text.

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

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

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

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

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

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

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

Figure contains an axes object. The axes object with title Nonfluctuating Noncoherent Receiver Operating Characteristic (ROC) Curves contains 2 objects of type line, text.

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

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

Figure contains an axes object. The axes object with title Swerling1 Receiver Operating Characteristic (ROC) Curves contains 2 objects of type line, text.

От фигур мы видим, что для Pd 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, чтобы анализировать эффективность детектора при использовании некогерентного детектора и для неколебания и для колеблющихся целей.