Вычислите вероятности дорожки с помощью алгоритма CGH
Кривая рабочей характеристики трекера (TOC) является графиком вероятности целевой дорожки как функции от вероятности ложной дорожки. Постройте кривые TOC для трех различных значений отношения сигнал/шум (ОСШ), принимая логику подтверждения 2/3, и используйте одномерный фильтр Калмана с постоянной скоростью, чтобы сгенерировать последовательность роста затвора трекера.
Вычислите вероятность обнаружения и вероятность ложного предупреждения для значений ОСШ 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) с вероятностью ложного предупреждения.
Вычислите значения вероятности обнаружения и отношения сигнал/шум (ОСШ), соответствующие вероятностям ложного предупреждения и . Предположим, что когерентный приемник с неколеблющейся целью. Постройте график получившихся кривых 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}')
Вычислите кривые 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}')
pd
- Вероятность обнаруженияВероятность обнаружения, заданная как вектор или матрица значений в области значений [0, 1].
Примечание
Если вы используете rocpfa
для получения pd
, вы должны транспонировать выход, прежде чем использовать его как вход в toccgh
. Если вы используете rocsnr
для получения pd
, вы не должны транспонировать выход.
Пример: [pd,pfa] = rocsnr(6)
возвращает одноимпульсные вероятности обнаружения и вероятности ложного предупреждения для когерентного приемника с неколеблющейся целью и отношением сигнал/шум 6 дБ.
Типы данных: double
pfa
- Вероятность ложного предупрежденияВероятность ложного предупреждения на камеру (bin), заданная как вектор значений в области значений [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, тесту, который предусматривает, что событие должно происходить не менее M раз во N последовательных обновлениях.
Дорожка подтверждается, если в обновлениях N хотя бы M обнаружений.
Дорожка удаляется, если в обновлениях N меньше M обнаружений.
Если этот аргумент задан как скаляр, 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
вычисляет ожидаемое количество дорожек, использующих
где P ft, nt - вероятность ложного трека при отсутствии целей, N c - количество камер разрешения, заданное в 'NumCells'
P ft - вероятность ложного трека в присутствии целей, а N t - количество целей, заданное в 'NumTargets'
.
Алгоритм общей истории ворот (CGH) был разработан Bar-Shalom и сотрудниками и опубликован в [1]. Для получения дополнительной информации об алгоритме CGH, смотрите Рабочую характеристику приемника к Рабочей характеристике трекера.
Алгоритм протекает при этих предположениях:
Трек является одним из следующих:
Обнаружения только от целей
Обнаружение только ложных предупреждений
Обнаружения от целей и от ложных предупреждений
Вероятность более чем одного ложного предупреждения в воротах низка, что верно, когда вероятность ложного предупреждения P fa низка (P fa ≤ 10–3).
Расположение цели в ключе подчиняется равномерному пространственному распределению.
Алгоритм последовательно производит вектор истории ворот ω = [ωl, ωlt, λ], где:
ωl - это количество временных шагов с момента последнего обнаружения, либо целевого, либо ложного предупреждения.
ωl - количество временных шагов с момента последнего обнаружения цели.
λ - количество обнаружений.
Вектор состояния эволюционирует как цепь Маркова с помощью следующих шагов:
Алгоритм первоначально создает дорожку. Инициализировать дорожку могут только два события:
Обнаружение цели
Ложное предупреждение
Существует только четыре типа событий, которые продолжают трек:
A 1 - Нет обнаружения
События типа 1 происходят с вероятностью
где P d - вероятность обнаружения, заданная с помощью pd
P fa - вероятность ложного предупреждения, заданная с помощью pfa
, g (ωl) - размер затвора на шаге ωl, а g (ωlt) - размер затвора на шаге ωlt.
Примечание
Чтобы уменьшить P d до меньшего эффективного значения ,toccgh
взвешивает его с отношением
который принимает равномерное пространственное распределение местоположения цели в ключе. Размеры ворот заданы с помощью 'GateGrowthSequence'
.
События типа 1 обновляют вектор истории ворот как [ωl, ωlt, λ] ➔ [ωl + 1, ωlt + 1, λ].
A 2 - Обнаружение цели
События типа 2 происходят с вероятностью
и обновите вектор истории ворот как [ωl, ωlt, λ] ➔ [1, 1, λ + 1].
A 3 - Ложный сигнал тревоги
События типа 3 происходят с вероятностью
и обновите вектор истории ворот как [ωl, ωlt, λ] ➔ [1, ωlt + 1, λ + 1].
A 4 - Обнаружение цели и ложное предупреждение
События типа 4 происходят с вероятностью
и заставить трек разделиться на ложный трек и истинный трек:
A s, 2a - Продолжите с A 3, обновляя [ωl, ωlt, λ] ➔ [1, ωlt + 1, λ + 1].
A s, 2b - Продолжите с A 2, обновляя [ωl, ωlt, λ] ➔ [1, 1, λ + 1].
На каждом шаге алгоритм умножает каждую вероятность дорожки на вероятность события, которое продолжает дорожку.
Затем процедура объединяет дорожки, которые имеют общий вектор истории ворот ω путем добавления их вероятностей:
Дорожки, продолженные с A 4, комкуются треками, которые продолжают с A 3 (только один ложный сигнал тревоги).
Дорожки, продолженные с A 4, комкуются треками, которые продолжают с A 2 (только обнаружение цели).
Этот шаг управляет количеством состояний дорожки в марковской цепи.
В конце алгоритм вычисляет и присваивает окончательные вероятности:
target track является последовательностью обнаружений, которая удовлетворяет логике M/ N подтверждения и содержит, по меньшей мере, одно обнаружение от цели. Чтобы вычислить вероятность целевой дорожки:
Определите последовательности, которые удовлетворяют логике подтверждения при предположении A s, 2b, что A 4 приводит к A 2.
Отдельно сохраните эти вероятности.
Чтобы вычислить вероятность ложного трека:
Вычислите вероятность целевой дорожки при предположении A s, 2a, которая A 4, приводит A 3.
Вычесть эту вероятность из вероятности всех последовательностей обнаружения, которые удовлетворяют логике подтверждения.
[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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.