toccgh

Вычислите вероятности дорожки с помощью алгоритма CGH

Описание

пример

[pdt,pft,eft] = toccgh(pd,pfa) вычисляет вероятности дорожки с помощью Общего Алгоритма Истории Логического элемента. Алгоритм использует 2 3 логик подтверждения дорожки, где 2 хита, как должны наблюдать, в 3 обновлениях для дорожки подтверждены.

пример

[pdt,pft,eft] = toccgh(pd,pfa,Name,Value) задает дополнительные опции с помощью аргументов name-value. Опции включают логику подтверждения, размер логического элемента в интервалах и последовательность роста логического элемента.

пример

toccgh(___) без графиков выходных аргументов рабочая характеристика средства отслеживания (TOC), которая является вероятностью целевой дорожки, pdt, в зависимости от вероятности ложной дорожки, pft.

Примеры

свернуть все

Кривая рабочей характеристики средства отслеживания (TOC) является графиком вероятности целевой дорожки в зависимости от вероятности ложной дорожки. Постройте кривые TOC для трех различных значений отношения сигнал-шум (SNR), принимающего 2/3 логику подтверждения, и используйте одномерный Фильтр Калмана постоянной скорости, чтобы сгенерировать последовательность роста логического элемента средства отслеживания.

Вычислите вероятность обнаружения и вероятность ложного предупреждения для значений ОСШ 3, 6, и 9 дБ. Примите когерентный приемник с не флюктуирующей целью. Сгенерируйте 20 вероятностей ложных сигнальных значений, логарифмически равномерно распределенных между 10-10 и 10-3 и вычислите соответствующие вероятности обнаружения.

SNRdB = [3 6 9];

[pd,pfa] = rocsnr(SNRdB,'SignalType','NonfluctuatingCoherent', ...
    'NumPoints',20,'MaxPfa',1e-3);

Вычислите и постройте кривые TOC и соответствующие кривые рабочей характеристики приемника (ROC).

toccgh(pd,pfa)

Figure Operating Characteristics contains 2 axes objects. Axes object 1 with title Receiver Operating Characteristic (ROC) Curve contains 63 objects of type line, text. These objects represent ROC 1, ROC 2, ROC 3. Axes object 2 with title Tracker Operating Characteristic (TOC) Curve contains 63 objects of type line, text.

Вычислите вероятность целевой дорожки, вероятность ложной дорожки и ожидаемое количество ложных дорожек, соответствующих вероятности обнаружения 0,9, вероятности ложного предупреждения 10-6, и 3 5 отслеживают логику подтверждения.

pd = 0.9;
pfa = 1e-6;
logic = [3 5];

Используйте модифицированную версию одномерного Фильтра Калмана постоянной скорости по умолчанию, чтобы сгенерировать последовательность роста логического элемента средства отслеживания. Задайте время обновления 0,3 секунд и максимальное целевое ускорение вторых 20 метров за квадрат.

KFpars = {'UpdateTime',0.3,'MaxAcceleration',20};

Вычислите вероятности и ожидаемое количество ложных дорожек.

[pdf,pft,eft] = toccgh(pd,pfa,'ConfirmationThreshold',logic,KFpars{:})
pdf = 0.9963
pft = 2.1555e-19
eft = 1

Используйте общий алгоритм истории логического элемента, чтобы вычислить вероятность целевой дорожки и вероятность дорожки для вероятности обнаружения 0,5 и вероятности ложного предупреждения 10-3. Используйте пользовательскую последовательность роста логического элемента и порог подтверждения 3/4.

pd = 0.5;
pfa = 1e-3;

cp = [3 4];
gs = [21 39 95 125];

Вычислите вероятности.

[pdf,pft] = toccgh(pd,pfa,'ConfirmationThreshold',cp, ...
    'GateGrowthSequence',gs)
pdf = 0.5132
pft = 9.9973e-07

Займитесь расследованиями, как рабочая характеристика приемника (ROC) и рабочая характеристика средства отслеживания (TOC) изгибают изменение с вероятностью ложного предупреждения.

Вычислите вероятность обнаружения и сигнал к шумовому отношению (ОСШ) значения, соответствующие вероятностям ложного предупреждения 10-4 и 10-6. Примите когерентный приемник с не флюктуирующей целью. Постройте получившиеся кривые ROC. Используйте большие маркеры, чтобы обозначить большее значение ОСШ.

pfa = [1e-4 1e-6];
[pd,SNRdB] = rocpfa(pfa,'SignalType','NonfluctuatingCoherent');

scatter(SNRdB,pd,max(SNRdB,1),'filled')

title('Receiver Operating Characteristic (ROC)')
xlabel('SNR (dB)')
ylabel('P_d')
grid on
title(legend('10^{-6}','10^{-4}'),'P_{fa}')

Figure contains an axes object. The axes object with title Receiver Operating Characteristic (ROC) contains 2 objects of type scatter. These objects represent 10^{-6}, 10^{-4}.

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

[pct,pcf] = toccgh(pd.',pfa);

scatter(pcf,pct,max(SNRdB,1),'filled')

set(gca,'XScale','log')
title('Tracker Operating Characteristic (TOC)')
xlabel('P_{FT}')
ylabel('P_{DT}')
grid on
title(legend('10^{-6}','10^{-4}'),'P_{fa}')

Figure contains an axes object. The axes object with title Tracker Operating Characteristic (TOC) contains 2 objects of type scatter. These objects represent 10^{-6}, 10^{-4}.

Входные параметры

свернуть все

Вероятность обнаружения в виде вектора или матрицы значений в области значений [0, 1].

  • Если pd вектор, затем он должен иметь то же число элементов как pfa

  • Если pd матрица, затем ее количество строк должно равняться числу элементов pfa. В этом случае, количество столбцов pd равняется длине сигнала к шуму (ОСШ) вход отношения к rocsnr или выведенный rocpfa.

Примечание

Если вы используете rocpfa получить pd, необходимо транспонировать выход перед использованием его, как введено к toccgh. Если вы используете rocsnr получить pd, вы не должны транспонировать выход.

Пример: [pd,pfa] = rocsnr(6) возвращает одно-импульсные вероятности обнаружения и ложно-сигнальные вероятности для когерентного приемника с не флюктуирующей целью и отношением сигнал-шум 6 дБ.

Типы данных: double

Вероятность ложного предупреждения на ячейку (интервал) в виде вектора из значений в области значений [0, 1].

Совет

Используйте pfa значения 10–3 или меньший, чтобы удовлетворить предположениям об общем алгоритме истории логического элемента.

Пример: [pd,pfa] = rocsnr(6) возвращает одно-импульсные вероятности обнаружения и ложно-сигнальные вероятности для когерентного приемника с не флюктуирующей целью и отношением сигнал-шум 6 дБ.

Типы данных: double

Аргументы name-value

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'UpdateTime',0.25,'MaximumAcceleration',8 указывает, что Фильтр Калмана дорожки постоянной скорости 1-D использовался для расчета роста логического элемента дорожки, имеет время обновления 0,25 секунд и максимальное ускорение целей интереса вторых 8 метров за квадрат.

Порог подтверждения в виде двухэлементного вектора-строки из положительных целых чисел или скаляра. Двухэлементный вектор [M N] соответствует M-out-of-N или M/N логика подтверждения, тест, который предусматривает, что событие должно иметь место, по крайней мере, времена M в N последовательные обновления.

  • Дорожка подтверждена, если существуют, по крайней мере, обнаружения M в обновлениях N.

  • Дорожка удалена, если там меньше обнаружений M в обновлениях N.

Если этот аргумент задан как скаляр, toccgh обработки это как двухэлементный вектор с идентичными элементами. N не может быть больше, чем 50.

Типы данных: double

Количество ячеек в виде положительного целочисленного скаляра. Используйте этот аргумент, чтобы вычислить ожидаемое количество ложных дорожек.

Типы данных: double

Количество целей в виде положительного целочисленного скаляра. Используйте этот аргумент, чтобы вычислить ожидаемое количество ложных дорожек.

Типы данных: double

Обновите время для одномерного Фильтра Калмана постоянной скорости по умолчанию в виде положительной скалярной величины в секундах. Этот аргумент влияет на рост логического элемента дорожки.

Типы данных: double

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

Типы данных: double

Область значений и разрешение уровня области значений в виде двухэлементного вектора-строки из положительных значений. Первый элемент 'Resolution' разрешение области значений в метрах. Второй элемент 'Resolution' разрешение уровня области значений в метрах в секунду. Этот аргумент используется, чтобы преобразовать предсказанный размер логического элемента средства отслеживания в интервалы.

Типы данных: double

Последовательность роста логического элемента средства отслеживания в виде вектора из положительных целых чисел. Значения в векторе представляют размеры логического элемента в интервалах, соответствующих N возможные промахи в обновлениях N, где N задан с помощью 'ConfirmationThreshold'. Если 'ConfirmationThreshold' двухэлементный вектор, затем N является вторым элементом вектора.

Если этот аргумент не задан, toccgh генерирует последовательность роста логического элемента средства отслеживания с помощью одномерного Фильтра Калмана постоянной скорости, реализованного как a trackingKF объект с этими настройками:

  • Обновите время — 0,5 секунды

  • Максимальное целевое ускорение — вторых 10 метров за квадрат

  • Разрешение области значений — 1 метр

  • Разрешение уровня области значений — 1 метр в секунду

  • StateTransitionModel[1 dt; 0 1], где dt время обновления

  • StateCovariance— [0 0; 0 0] , что означает, что начальное состояние известно отлично

  • MeasurementNoise— 0

  • ProcessNoise[dt^4/4 dt^3/2; dt^3/2 dt^2]*q, где dt время обновления, настраивающийся параметр q amax^2*dt, и amax максимальное ускорение. Настраивающийся параметр дан в уравнении 1.5.2-5 [2].

Вычислить размеры логического элемента, алгоритм:

  1. Использует predict функция, чтобы вычислить предсказанную ошибочную ковариационную матрицу состояния.

  2. Вычисляет область ошибочного эллипса как времена π продукт квадратных корней из собственных значений ковариационной матрицы.

  3. Делит область ошибочного эллипса областью интервала, чтобы описать размер логического элемента в интервалах. Областью интервала является продукт разрешения области значений и разрешения уровня области значений.

Если этот аргумент задан, то 'UpdateTime', 'MaxAcceleration', и 'Resolution' аргументы проигнорированы.

Пример: [21 39 95 125 155 259 301] задает последовательность роста решетки средства отслеживания, которая происходит на некоторых радарных приложениях.

Типы данных: double

Выходные аргументы

свернуть все

Вероятность истинной целевой дорожки в присутствии ложных предупреждений, возвращенных как матрица. pdt имеет тот же размер как pd.

Вероятность ложной сигнальной дорожки в присутствии целей, возвращенных как матрица. pft имеет тот же размер как pd.

Ожидаемое количество ложных дорожек, возвращенных как матрица одного размера с pd. toccgh вычисляет ожидаемое количество использования дорожек

Eft=Pft,ntNc+PftNt,

где P ft, nt является вероятностью ложной дорожки в отсутствие целей, N c является количеством ячеек разрешения, заданных в 'NumCells', P ft является вероятностью ложной дорожки в присутствии целей, и N t является количеством целей, заданных в 'NumTargets'.

Больше о

свернуть все

Общий алгоритм истории логического элемента

Алгоритм общей истории логического элемента (CGH) был разработан Панелью Шалом и сотрудниками и опубликован в [1]. Для получения дополнительной информации об алгоритме CGH, смотрите Эффективность Оценки с Рабочей характеристикой Средства отслеживания.

Алгоритм продолжает под этими предположениями:

  • Дорожка является одним из них:

    1. Обнаружения от целей только

    2. Обнаружения от ложных предупреждений только

    3. Обнаружения от целей и от ложных предупреждений

  • Вероятность больше чем одного ложного предупреждения в логическом элементе является низкой, который верен, когда вероятность ложного сигнального P fa является низкой (P fa ≤ 10–3).

  • Местоположение цели в логическом элементе выполняет универсальное пространственное распределение.

Алгоритм последовательно генерирует вектор истории логического элемента ω = [ωl, ωlt, λ], где:

  • ωl является количеством временных шагов начиная с последнего обнаружения, или цели или ложного предупреждения.

  • ωlt является количеством временных шагов начиная с последнего обнаружения цели.

  • λ является количеством обнаружений.

Вектор состояния развивается как Цепь Маркова посредством этих шагов:

  1. Алгоритм первоначально создает дорожку. Только два события могут инициализировать дорожку:

    • Целевое обнаружение

    • Ложное предупреждение

  2. Существует только четыре типа событий, которые продолжают дорожку:

    • A 1Никакое обнаружение

      События Типа 1 имеют место с вероятностью

      P{A1}=(1g(ωl)g(ωlt)Pd)(1Pfa)g(ωl)

      где P d является вероятностью обнаружения, заданного с помощью pd, P fa является вероятностью ложного предупреждения, заданного с помощью pfa, g (ωl) является размером логического элемента на шаге ωl, и g (ωlt) является размером логического элемента на шаге ωlt.

      Примечание

      Уменьшать P d до более низкого действующего значения, toccgh взвешивает его с отношением

      g(ωl)g(ωlt)=Фактический  размер логического элементаРазмер  логического элемента   , учитывающего  время , протек начиная с  последнего целевого обнаружения,

      который принимает универсальное пространственное распределение местоположения цели в логическом элементе. Размеры логического элемента заданы с помощью 'GateGrowthSequence'.

      События Типа 1 обновляют вектор истории логического элемента как [ωl, ωlt, λ] ➔ [ωl + 1, ωlt + 1, λ].

    • A 2Целевое обнаружение

      События Типа 2 имеют место с вероятностью

      P{A2}=g(ωl)g(ωlt)Pd(1Pfa)g(ωl)

      и обновите вектор истории логического элемента как [ωl, ωlt, λ] ➔ [1, 1, λ + 1].

    • A 3Ложное предупреждение

      События Типа 3 имеют место с вероятностью

      P{A3}=(1(1Pfa)g(ωl))(1g(ωl)g(ωlt)Pd)

      и обновите вектор истории логического элемента как [ωl, ωlt, λ] ➔ [1, ωlt + 1, λ + 1].

    • A 4Целевое обнаружение и ложное предупреждение

      События Типа 4 имеют место с вероятностью

      P{A4}=(1(1Pfa)g(ωl))(g(ωl)g(ωlt)Pd)

      и заставьте дорожку разделять в ложную дорожку и истинную дорожку:

      • A s, 2a — Продолжают A 3, обновляя [ωl, ωlt, λ] ➔ [1, ωlt + 1, λ + 1].

      • A s, 2b — Продолжают A 2, обновляя [ωl, ωlt, λ] ➔ [1, 1, λ + 1].

    На каждом шаге алгоритм умножает каждую вероятность дорожки на вероятность события, которое продолжает дорожку.

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

    • Дорожки продолжили A 4, смешаны с дорожками, которые продолжают A 3 (только одно ложное предупреждение).

    • Дорожки продолжили A 4, смешаны с дорожками, которые продолжают A 2 (только целевое обнаружение).

    Этот шаг управляет количеством состояний дорожки в Цепи Маркова.

В конце алгоритм вычисляет и определяет итоговые вероятности:

  • target track является последовательностью обнаружений, которая удовлетворяет M/N логика подтверждения и содержит по крайней мере одно обнаружение от цели. Вычислить вероятность целевой дорожки:

    1. Определите последовательности, которые удовлетворяют логике подтверждения под предположением A s, 2b что A 4 выражения A 2.

    2. Отдельно сохраните эти вероятности.

  • Вычислить вероятность ложной дорожки:

    1. Вычислите вероятность целевой дорожки под предположением A s, 2a что A 4 выражения A 3.

    2. Вычтите эту вероятность из вероятности всех последовательностей обнаружения, которые удовлетворяют логике подтверждения.

Ссылки

[1] Bar‐Shalom, Яаков, Леон Дж. Кампо и Питер Б. Лух. "От рабочей характеристики приемника до системной рабочей характеристики: оценка системы формирования дорожки". IEEE® Транзакции на Автоматическом управлении 35, № 2 (февраль 1990): 172–79. https://doi.org/10.1109/9.45173.

[2] Панель шалом, Яаков, Питер К. Виллетт и Синь Тянь. Отслеживание и Fusion данных: руководство алгоритмов. Сторрз, CT: YBS Publishing, 2011.

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.

Введенный в R2021a