Эффективность детектора с использованием кривых ROC

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

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

Введение

Вероятность обнаружения (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. Графики функций кривых ROC по умолчанию, если не заданы выходные аргументы. Вызов функции rocsnr с вектором входа из четырех значений ОСШ и без выходных аргументов создает график кривых ROC.

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

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

На графике мы можем выбрать кнопку Data Cursor на панели инструментов (или в меню Tools), а затем выбрать кривую ОСШ = 8 дБ в точке, где Pd = 0,9, чтобы проверить, что PFA приблизительно равен 0,01.

Множественное обнаружение импульсов

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

rocsnr(8,'NumPulses',2);

Figure contains an axes. The axes 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. The axes with title Nonfluctuating Noncoherent Receiver Operating Characteristic (ROC) Curves contains 8 objects of type line, text.

Особое внимание на кривой ROC, соответствующей ОСШ 8dB. При осмотре графика с помощью 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. The axes with title Nonfluctuating Noncoherent Receiver Operating Characteristic (ROC) Curves contains 2 objects of type line, text.

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

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

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

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