Вычислять вероятности дорожек с помощью алгоритма CGH
Кривая рабочих характеристик трекера (ТОС) представляет собой график вероятности целевой дорожки как функции вероятности ложной дорожки. Постройте график кривых TOC для трех различных значений отношения сигнал/шум (SNR), предполагая логику подтверждения 2/3, и используйте одномерный фильтр Калмана с постоянной скоростью для генерации последовательности роста затвора трекера.
Вычислите вероятность обнаружения и вероятность ложного аварийного сигнала для значений SNR 3, 6 и 9 дБ. Предположим, что когерентный приемник с нефлютуирующей целью. Создайте 20 значений вероятности ложного аварийного сигнала, логарифмически равномерно расположенных между и , и вычислите соответствующие вероятности обнаружения.
SNRdB = [3 6 9]; [pd,pfa] = rocsnr(SNRdB,'SignalType','NonfluctuatingCoherent', ... 'NumPoints',20,'MaxPfa',1e-3);
Вычислите и постройте график кривых TOC и соответствующих кривых рабочих характеристик приемника (ROC).
toccgh(pd,pfa)
![]()
Вычисляют вероятность целевой дорожки, вероятность ложной дорожки и ожидаемое количество ложных дорожек, соответствующих вероятности обнаружения 0,9, вероятность ложной тревоги и логику подтверждения дорожки 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 и вероятности ложной тревоги . Используйте пользовательскую последовательность роста литника и порог подтверждения 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) изменяются с вероятностью ложного аварийного сигнала.
Вычисляют значения вероятности обнаружения и отношения сигнал/шум (SNR), соответствующие вероятностям ложной тревоги и . Предположим, что когерентный приемник с нефлютуирующей целью. Постройте график результирующих кривых ROC. Используйте маркеры большего размера для обозначения большего значения SNR.
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}')

Вычислите кривые оглавления, используя полученные вероятности обнаружения и вероятности ложного аварийного сигнала. По мере увеличения SNR возрастает вероятность ложной дорожки при наличии обнаружения цели. Когда SNR уменьшается, вероятность обнаружения цели уменьшается, тем самым увеличивая вероятность ложной дорожки.
[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}')

pd - Вероятность обнаруженияВероятность обнаружения, заданная как вектор или матрица значений в диапазоне [0, 1].
Примечание
Если вы используете rocpfa получить pd, необходимо транспонировать выходные данные, прежде чем использовать их в качестве входных данных для toccgh. Если вы используете rocsnr получить pd, вы не должны транспонировать выходные данные.
Пример: [pd,pfa] = rocsnr(6) возвращает вероятности одноимпульсного обнаружения и вероятности ложной тревоги для когерентного приемника с нефлютуирующей целью и отношением сигнал/шум 6 дБ.
Типы данных: double
pfa - Вероятность ложной тревогиВероятность ложного аварийного сигнала на ячейку (ячейку), заданную как вектор значений в диапазоне [0, 1].
Совет
Использовать pfa значения 10-3 или меньше для удовлетворения предположений алгоритма общей истории затвора.
Пример: [pd,pfa] = rocsnr(6) возвращает вероятности одноимпульсного обнаружения и вероятности ложной тревоги для когерентного приемника с нефлютуирующей целью и отношением сигнал/шум 6 дБ.
Типы данных: double
Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.
'UpdateTime',0.25,'MaximumAcceleration',8 указывает, что 1-D фильтр Калмана дорожки постоянной скорости, используемый для вычисления роста затвора дорожки, имеет время обновления 0,25 секунды и максимальное ускорение интересующих целей 8 метров в квадратную секунду.'ConfirmationThreshold' - Порог подтверждения[2 3] (по умолчанию) | двухэлементный вектор строки положительных целых чисел | положительный целочисленный скалярПорог подтверждения, заданный как двухэлементный вектор строки положительных целых чисел или скаляр. Двухэлементный вектор [M N] соответствует логике подтверждения M-out-of-N или M/N, тест, который определяет, что событие должно происходить по меньшей мере М раз в N последовательных обновлений.
Дорожка подтверждается при наличии по меньшей мере М обнаружений в N обновлениях.
Дорожка удаляется, если в обновлениях N обнаружено меньше М.
Если этот аргумент указан как скаляр, toccgh рассматривает его как двухэлементный вектор с идентичными элементами. N не может быть больше 50.
Типы данных: double
'NumCells' - Количество ячеек16384 (по умолчанию) | целочисленный скалярЧисло ячеек, указанное как положительный целочисленный скаляр. Этот аргумент используется для вычисления ожидаемого числа ложных дорожек.
Типы данных: double
'NumTargets' - Количество целей1 (по умолчанию) | целочисленный скалярЧисло целевых объектов, указанное как положительный целочисленный скаляр. Этот аргумент используется для вычисления ожидаемого числа ложных дорожек.
Типы данных: double
'UpdateTime' - Время обновления фильтра Калмана0.5 (по умолчанию) | положительный скаляр в секундахВремя обновления для стандартного одномерного фильтра Калмана с постоянной скоростью, заданного как положительный скаляр в секундах. Этот аргумент влияет на рост литника дорожки.
Типы данных: double
'MaxAcceleration' - Максимальное ускорение интересующих целей10 (по умолчанию) | неотрицательный скаляр в метрах в квадратную секундуМаксимальное ускорение интересующих целей, указанное как неотрицательный скаляр в метрах в квадратную секунду. Этот вход используется для настройки шума процесса в одномерном фильтре Калмана постоянной скорости по умолчанию. Этот аргумент влияет на рост литника дорожки.
Типы данных: double
'Resolution' - Разрешение диапазона и скорости[1 1] (по умолчанию) | двухэлементный вектор строки положительных значенийРазрешение диапазона и скорости диапазона, определяемое как двухэлементный вектор строки с положительными значениями. Первый элемент 'Resolution' - разрешение диапазона в метрах. Второй элемент 'Resolution' - разрешение скорости в метрах в секунду. Этот аргумент используется для преобразования прогнозируемого размера затвора трекера в ячейки.
Типы данных: double
'GateGrowthSequence' - Последовательность роста затвора трекераПоследовательность роста затвора трекера, заданная как вектор положительных целых чисел. Значения в векторе представляют размеры затворов в ячейках, соответствующих N возможным промахам в N обновлениях, где N задается с помощью 'ConfirmationThreshold'. Если 'ConfirmationThreshold' - двухэлементный вектор, затем N - второй элемент вектора.
Если этот аргумент не указан, toccgh генерирует последовательность роста затвора трекера, используя одномерный фильтр Калмана с постоянной скоростью, реализованный как 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].
Чтобы вычислить размеры затвора, алгоритм:
Использует predict функция для вычисления ковариационной матрицы предсказанной ошибки состояния.
Вычисляет площадь эллипса ошибки, умноженную на δ произведения квадратных корней собственных значений ковариационной матрицы.
Делит область эллипса ошибки на область ячейки, чтобы выразить размер литника в ячейках. Область ячейки является результатом разрешения диапазона и разрешения скорости диапазона.
Если этот аргумент указан, то 'UpdateTime', 'MaxAcceleration', и 'Resolution' аргументы игнорируются.
Пример: [21 39 95 125 155 259 301] определяет последовательность роста решетки трекера, которая происходит в некоторых радиолокационных приложениях.
Типы данных: double
pdt - Вероятность истинного пути цели при наличии ложных тревогВероятность истинной целевой дорожки при наличии ложных тревог, возвращаемых в виде матрицы. pdt имеет тот же размер, что и pd.
pft - Вероятность ложной дорожки при наличии целейВероятность ложной тревоги при наличии целей, возвращаемых в виде матрицы. pft имеет тот же размер, что и pd.
eft - Ожидаемое количество ложных дорожекОжидаемое количество ложных дорожек, возвращаемых в виде матрицы того же размера, что и pd. toccgh вычисляет ожидаемое количество дорожек с помощью
PftNt,
где Pft, nt - вероятность ложной дорожки при отсутствии целей, Nк - количество ячеек разрешения, указанное в'NumCells', Pft - вероятность ложной дорожки при наличии целей, а Nt - количество целей, указанное в 'NumTargets'.
Алгоритм истории общих ворот (CGH) был разработан Bar-Shalom и сотрудниками и опубликован в [1]. Дополнительные сведения об алгоритме CGH см. в разделе Рабочие характеристики приемника и трекера.
Алгоритм действует в следующих предположениях:
Трек - один из следующих:
Обнаружения только из целевых объектов
Обнаружения только по ложным сигналам тревоги
Обнаружения от целей и ложных аварийных сигналов
Вероятность более одного ложного аварийного сигнала в вентиле низкая, что справедливо, когда вероятность ложного аварийного сигнала Pfa низкая (Pfa ≤ 10-3).
Расположение цели в затворе подчиняется равномерному пространственному распределению.
Алгоритм последовательно генерирует вектор gate history λ = [startl, startlt, λ], где:
startl - количество шагов времени с момента последнего обнаружения цели или ложного аварийного сигнала.
startl - количество временных шагов с момента последнего обнаружения цели.
λ - количество обнаружений.
Вектор состояния развивается как цепь Маркова с помощью следующих шагов:
Алгоритм изначально создает дорожку. Только два события могут инициализировать дорожку:
Обнаружение цели
Ложная тревога
Существует только четыре типа событий, продолжающих трек:
A1 - Нет обнаружения
События типа 1 происходят с вероятностью
− Pfa) g (startl)
где Pd - вероятность обнаружения, указанная с помощью pd, Pfa - вероятность ложной тревоги, указанная с помощью pfa, g (startl) - размер затвора на этапе (1), и g (startlt) - размер затвора на этапе (1).
Примечание
Чтобы снизить Pd до более низкого эффективного значения, toccgh весит его с соотношением
обнаружения цели,
которая предполагает равномерное пространственное распределение местоположения цели в затворе. Размеры литника определяются с помощью 'GateGrowthSequence'.
События Типа 1 обновляют вектор истории ворот как [ωl, ωlt, λ] ➔ [ωl + 1, ωlt + 1, λ].
A2 - Обнаружение цели
События типа 2 происходят с вероятностью
Pfa) g (startl)
и обновляют вектор предыстории затвора как [λ l, λ lt, λ] ➔ [1, 1, λ + 1].
A3 - Ложная тревога
События типа 3 происходят с вероятностью
(
и обновляют вектор предыстории затвора как [λ l, λ lt, λ] ➔ [1, λ lt + 1, λ + 1].
A4 - Обнаружение цели и ложная сигнализация
События типа 4 происходят с вероятностью
(
и заставить дорожку разделиться на ложную дорожку и истинную дорожку:
As,2a - Продолжить работу с A3, обновив [λ l, λ lt, λ] ➔ [1, λ lt + 1, λ + 1].
As,2b - Продолжить работу с A2, обновив [startl, startlt, λ] ➔ [1, 1, λ + 1].
На каждом шаге алгоритм умножает каждую вероятность дорожки на вероятность события, которое продолжает дорожку.
Затем процедура суммирует дорожки, которые имеют общий вектор gate history, добавляя их вероятности:
Дорожки, продолженные A4, суммируются с дорожками, продолжающими A3 (только одна ложная тревога).
Дорожки, продолженные A4, суммируются с дорожками, продолжающими A2 (только обнаружение цели).
Этот шаг управляет количеством состояний дорожки в цепочке Маркова.
В конце алгоритм вычисляет и присваивает окончательные вероятности:
Дорожка цели представляет собой последовательность обнаружений, которая удовлетворяет логике подтверждения M/N и содержит, по меньшей мере, одно обнаружение от цели. Для вычисления вероятности целевой дорожки:
Определите последовательности, удовлетворяющие логике подтверждения в предположении As,2b что A4 дает A2.
Отдельно храните эти вероятности.
Чтобы вычислить вероятность ложной дорожки:
Вычислите вероятность целевой дорожки в предположении As,2a что A4 дает A3.
Вычтите эту вероятность из вероятности всех последовательностей обнаружения, которые удовлетворяют логике подтверждения.
[1] Bar‐Shalom, Яаков, Леон Дж. Кампо и Питер Б. Лух. «От рабочей характеристики приемника к рабочей характеристике системы: оценка системы формирования пути». IEEE ® Операции с автоматическим управлением 35, № 2 (февраль 1990 года): 172-79. https://doi.org/10.1109/9.45173.
[2] Бар-Шалом, Яаков, Питер К. Виллетт и Синь Тянь. Отслеживание и слияние данных: Справочник по алгоритмам. Storrs, CT: YBS Publishing, 2011.
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.