exponenta event banner

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

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

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

Введение

Вероятность обнаружения (Pd) - это вероятность сказать, что «1» верно, учитывая, что произошло событие «1». Вероятность ложной тревоги (Pfa) - вероятность сказать, что «1» верно, учитывая, что произошло событие «0». В таких приложениях, как гидролокатор и радар, событие «1» указывает, что цель присутствует, а событие «0» указывает, что цель отсутствует.

Эффективность детектора измеряется его способностью достигать определенной вероятности обнаружения и вероятности ложной тревоги для данного SNR. Изучение кривых ROC детектора дает представление о его производительности. Для вычисления и построения графиков ROC-кривых можно использовать функцию rocsnr.

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

Учитывая значение SNR, можно вычислить значения Pd и Pfa, которые линейный или квадратный детектор может получить, используя один импульс. Предполагая, что значение SNR равно 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 является возможность задания вектора значений SNR и вычисления кривой ROC для каждого из этих значений SNR. Вместо индивидуального вычисления значений Pd и Pfa для данного SNR мы можем просмотреть результаты в графике кривых ROC. Функция rocsnr отображает кривые ROC по умолчанию, если не указаны выходные аргументы. Вызов функции rocsnr с входным вектором из четырех значений SNR и без выходных аргументов создает график кривых 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.

На графике можно выбрать кнопку курсора данных на панели инструментов (или в меню «Сервис»), а затем выбрать кривую SNR = 8 дБ в точке, где Pd = 0,9, чтобы убедиться, что Pfa равен приблизительно 0,01.

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

Одним из способов улучшения характеристик детектора является усреднение нескольких импульсов. Это особенно полезно в случаях, когда интересующий сигнал известен и возникает в аддитивном сложном белом шуме. Хотя это все еще относится как к линейным, так и к квадратным детекторам, результат для квадратных детекторов может быть выключен примерно на 0,2 дБ. Давайте продолжим наш пример, предполагая SNR 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.

Проверяя график, можно увидеть, что усреднение за два импульса привело к более высокой вероятности обнаружения для данной частоты ложной тревоги. С SNR 8 дБ и усреднением по двум импульсам можно ограничить вероятность ложного аварийного сигнала максимум 0,0001 и достичь вероятности обнаружения 0,9. Напомним, что для одного импульса мы должны были допустить, чтобы вероятность ложной тревоги составляла до 1%, чтобы достичь такой же вероятности обнаружения.

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

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

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, соответствующей SNR 8dB. Проверяя график с курсором данных, можно увидеть, что для достижения вероятности обнаружения 0,9 необходимо допустить вероятность ложной тревоги до 0,05. Без использования информации о фазе нам нужен более высокий SNR для достижения того же Pd для данного Pfa. Для некогерентных линейных детекторов мы можем использовать уравнение Олберсхайма, чтобы определить, какое значение SNR достигнет наших желаемых Pd и Pfa.

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

При построении кривой ROC для значения SNR, аппроксимированного уравнением Олберсхайма, можно увидеть, что детектор достигнет 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) цели изменяется во времени. Набор статистических моделей, называемых моделями Сверлинга, часто используется для описания случайных изменений в целевой RCS.

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

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

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

Предположим, что мы проводим некогерентное обнаружение с помощью 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 требуется SNR около 6 дБ, если мишень не является флюктуирующей. Однако, если целью является модель Swerling case 1, требуемое SNR переходит к более чем 14 дБ, разница в 8 дБ. Это сильно повлияет на конструкцию системы.

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

Вычисленное требование SNR соответствует значению, полученному из кривой.

Резюме

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