Представляйте настройку датчика для отслеживания
trackingSensorConfiguration
объект создает настройку для датчика, используемого с trackerPHD
Система object™. Это позволяет вам задавать параметры датчика, такие как плотность помехи, пределы датчика, разрешение датчика. Можно также задать, как средство отслеживания чувствует обнаружения из свойств использования датчика, таких как FilterInitializationFcn
, SensorTransformFcn
, и SensorTransformParameters
. Смотрите Создают Настройку Датчика Отслеживания для получения дополнительной информации. trackingSensorConfiguration
объект позволяет средству отслеживания выполнить три основных стандартных операции:
Оцените вероятность обнаружения в точках в пространстве состояний.
Инициируйте компоненты в плотности гипотезы вероятности.
Получите плотность помехи датчика.
создает config
= trackingSensorConfiguration(SensorIndex
)trackingSensorConfiguration
объект с заданным индексом датчика, SensorIndex
, и значения свойств по умолчанию.
позволяет вам устанавливать свойства с помощью одной или нескольких пар "имя-значение".config
= trackingSensorConfiguration(SensorIndex
,Name,Value
)
SensorIndex
— Уникальный идентификатор датчикаУникальный идентификатор датчика в виде положительного целого числа. Это свойство отличает обнаружения, которые прибывают из различных датчиков в системе мультидатчика. При создании trackingSensorConfiguration
объект, необходимо задать SensorIndex
как первый входной параметр в синтаксисе создания.
Пример 2
Типы данных: double
IsValidTime
— Укажите на состояние создания отчетов обнаруженияfalse
(значение по умолчанию) | true
Укажите на состояние создания отчетов обнаружения датчика в виде false
или true
. Установите это свойство на true
когда датчик должен сообщить об обнаружениях в своих пределах датчика средству отслеживания. Если дорожка или цель, как предполагалось, были обнаружены датчиком, но датчик не сообщил ни о каких обнаружениях, то эта информация используется, чтобы говорить против вероятности существования дорожки когда isValidTime
свойство установлено в true
.
Типы данных: логический
FilterInitializationFcn
— Отфильтруйте функцию инициализации@initcvggiwphd
(значение по умолчанию) | указатель на функцию | вектор символовОтфильтруйте функцию инициализации в виде указателя на функцию или как вектор символов, содержащий имя допустимой функции инициализации фильтра. Функция инициализирует фильтр PHD, используемый trackerPHD
. Функция должна поддержать следующие синтаксисы:
filter = filterInitializationFcn() filter = filterInitializationFcn(detections)
filter
допустимый фильтр PHD с компонентами для новорожденных целей и detections
массив ячеек objectDetection
объекты. Первый синтаксис позволяет вам задавать прогнозирующую плотность рождения в фильтре PHD, не используя обнаружения. Второй синтаксис позволяет фильтру инициализировать адаптивную плотность рождения с помощью информации об обнаружении. Смотрите свойство BirthRate trackerPHD
для получения дополнительной информации. Если вы создаете свой собственный FilterInitilizationFcn
, необходимо также предоставить функции преобразования использование SensorTransformFcn
свойство. Кроме функции инициализации фильтра по умолчанию initcvggiwphd
, Sensor Fusion and Tracking Toolbox™ также обеспечивает другие функции инициализации, такой как initctrectgmphd
, initctgmphd
, initcvgmphd
, initcagmphd
, initctggiwphd
и initcaggiwphd
.
Типы данных: function_handle
| char
SensorTransformFcn
— Датчик преобразовывает функцию@cvmeas
| указатель на функцию | вектор символовДатчик преобразовывает функцию в виде указателя на функцию или как вектор символов, содержащий имя допустимого датчика, преобразовывает функцию. Функция преобразовывает состояние дорожки в состояние обнаружения датчика. Например, функция преобразовывает состояние дорожки в сценарий Декартова система координат к сферической системе координат датчика. Можно создать собственный датчик, преобразовывают функцию, но это должно поддержать следующий синтаксис:
detStates = SensorTransformFcn(trackStates,params)
params
параметры, сохраненные в SensorTransformParameters
свойство. Заметьте, что подпись функции похожа на функцию измерения. Поэтому можно использовать функцию измерения (такой как cvmeas
, ctmeas
, или cameas
) как SensorTransformFcn
.
В зависимости от типа фильтра и целевого типа, выхода, detStates
, потребности возвратиться по-другому.
Когда используется с gmphd
для нерасширенных целей или с ggiwphd
, detStates
N-by-M матрица, где N является количеством строк в SensorLimits
свойство и M являются количеством состояний ввода в trackStates
. Для gmphd
, нерасширенные цели относятся, чтобы указать цели и расширенные цели чей MeasurementOrigin
'center'
.
Когда используется с gmphd
для расширенных целей, SensorTransformFcn
позволяет вам задавать несколько detStates
на trackState
. В этом случае, detStates
N-by-M-by-S матрица, где S является количеством обнаруживаемых источников на расширенной цели. Например, если цель описана прямоугольным состоянием, обнаруживаемые источники могут быть углами прямоугольника.
Если какой-либо источник падает в SensorLimits
, цель объявляется обнаруживаемая. Функции используют распространение (максимум координируют − минимальную координату) каждого detStates
и отношение между распространением и разрешением датчика по каждому пределу датчика, чтобы вычислить ожидаемое количество обнаружений от каждой расширенной цели. Можно заменить эту настройку по умолчанию путем обеспечения дополнительного выхода в SensorTransformFcn
как:
[..., Nexp] = SensorTransformFcn(trackStates, params)
Nexp
ожидаемое количество обнаружений от каждого расширенного состояния дорожки.
Обратите внимание на то, что SensorTransformFcn
по умолчанию датчик, преобразовывают функцию фильтра, возвращенного
FilterInitilizationFcn
. Например, initicvggiwphd
функция возвращает значение по умолчанию cvmeas
, тогда как initictggiwphd
и initicaggiwphd
функции возвращаются ctmeas
и cameas
, соответственно.
Типы данных: function_handle
| char
SensorTransformParameters
— Параметры для датчика преобразовывают функциюПараметры для датчика преобразовывают функцию, возвращенную как структура или массив структур. Если только необходимо преобразовать состояние однажды, задайте его как структуру. Если необходимо преобразовать времена n состояния, задайте его как n-by-1 массив структур. Например, чтобы преобразовать состояние из сценария структурируют к системе координат датчика, обычно необходимо сначала преобразовывать состояние из сценария прямоугольная система координат на платформу прямоугольная система координат, и затем преобразовывать состояние с платформы прямоугольная система координат к датчику сферическая система координат. Поля структуры:
Поле | Описание |
Frame | Система координат координаты нижестоящего элемента вводит в виде |
OriginPosition | Дочерняя позиция системы координат выражена в Родительской системе координат в виде вектора 3 на 1. |
OriginVelocity | Дочерняя скорость системы координат описывается в родительской системе координат в виде вектора 3 на 1. |
Orientation | Относительная ориентация между системами координат в виде 3х3 матрицы вращения. Если |
IsParentToChild | Отметьте, чтобы указать на направление вращения между родительской и дочерней системой координат в виде |
HasAzimuth | Указывает, содержат ли выходные параметры компоненты азимута в виде |
HasElevation | Указывает, содержат ли выходные параметры компоненты вертикального изменения в виде |
HasRange | Указывает, содержат ли выходные параметры компоненты области значений в виде |
HasVelocity | Указывает, содержат ли выходные параметры скоростные компоненты в виде |
Обратите внимание на то, что здесь система координат сценария является родительской системой координат системы координат платформы, и система координат платформы является родительской системой координат системы координат датчика.
Значения по умолчанию для SensorTransformParameters
2 1 массив структур как:
Поля | Struct 1 | Struct 2 |
Система координат | 'Spherical' | 'Rectangular' |
OriginPosition | [0;0;0]
| [0;0;0]
|
OriginVelocity | [0;0;0]
| [0;0;0]
|
Ориентация | eye(3) | eye(3) |
IsParentToChild | false | false |
HasAzimuth | true | true |
HasElevation | true | true |
HasRange | true | true |
HasVelocity | false | true |
В этой таблице Struct 2 составляет преобразование из сценария прямоугольная система координат на платформу прямоугольная система координат, и Struct 1 составляет преобразование с платформы прямоугольная система координат к датчику сферическая система координат, учитывая isParentToChild
свойство установлено в false
.
Типы данных: struct
SensorLimits
— Пределы обнаружения датчикаПределы обнаружения датчика в виде N-by-2 матрица, где N является выходной размерностью датчика, преобразовывают функцию. Матрица должна описать более низкие и верхние пределы обнаружения датчика в том же порядке, как выходные параметры датчика преобразовывают функцию.
Если вы используете cvmeas
, cameas
, или ctmeas
как датчик преобразовывают функцию, затем необходимо обеспечить пределы датчика в порядке как:
Описание этих пределов и их значений по умолчанию дано в следующей таблице. Обратите внимание на то, что значения по умолчанию для SensorLimits
3-на-2 матрица включая лучшие шесть элементов в таблице. Кроме того, если вы используете эти три функции, можно задать матрицу, чтобы быть в других размерах (1 2, 2 на 2, или 3 на 4), но необходимо задать эти пределы в последовательности, показанной в матрице SensorLimits.
Пределы | Описание | Значения по умолчанию |
minAz | Минимальный обнаруживаемый азимут в градусах. | -10
|
maxAz | Максимальный обнаруживаемый азимут в градусах. | 10
|
minEl | Минимальное обнаруживаемое вертикальное изменение в градусах. | -2.5
|
maxEl | Максимальное обнаруживаемое вертикальное изменение в градусах. | 2.5
|
minRng | Минимальная обнаруживаемая область значений в метрах. | 0
|
maxRng | Максимальная дальность обнаружения в метрах. | 1000
|
minRr | Минимальный обнаруживаемый уровень области значений в метрах в секунду. | N/A |
maxRr | Уровень максимальной дальности обнаружения в метрах в секунду. | N/A |
Типы данных: double
SensorResolution
— Разрешение датчика
(значение по умолчанию) | N - элемент вектор с положительным знакомРазрешение датчика в виде N - элемент вектор с положительным знаком, где N является количеством параметров, заданных в SensorLimits
свойство. Если вы хотите присвоить только одну ячейку разрешения для параметра, просто задайте его разрешение как различие между максимальным пределом и минимальным пределом параметра.
Типы данных: double
MaxNumDetsPerObject
— Максимальное количество обнаружений на объектInf
(значение по умолчанию) | положительное целое числоМаксимальное количество обнаружений датчик может сообщить на объект в виде положительного целого числа.
Пример 3
Типы данных: double
ClutterDensity
— Ожидаемое количество ложных предупреждений на единичный объем1e-3
(значение по умолчанию) | положительная скалярная величинаОжидаемое количество ложных предупреждений на единичный объем от датчика в виде положительной скалярной величины.
Пример: 2e-3
Типы данных: double
MinDetectionProbability
— Вероятность обнаружения дорожки, которая, как оценивают, находилась вне пределов датчика
(значение по умолчанию) | положительная скалярная величинаВероятность обнаружения цели, которая, как оценивают, находилась вне датчика, ограничивает в виде положительной скалярной величины. Это свойство позволяет trackerPHD
объект полагать, что предполагаемая цель, которая находится вне пределов датчика, может быть обнаруживаемым.
Пример: 0.03
Типы данных: double
Рассмотрите радар со следующими пределами датчика и разрешением датчика.
azLimits = [-10 10]; elLimits = [-2.5 2.5]; rangeLimits = [0 500]; rangeRateLimits = [-50 50]; sensorLimits = [azLimits;elLimits;rangeLimits;rangeRateLimits]; sensorResolution = [5 2 10 3];
Определение датчика преобразовывает функцию, которая преобразовывает Декартовы координаты [x; y;; vy] в сценарии структурируют к сферическим координатам [азимут; el; область значений;] в системе координат датчика. Можно использовать функцию измерения cvmeas
как датчик преобразовывают функцию.
transformFcn = @cvmeas;
Задавать параметры, требуемые для cvmeas
, используйте SensorTransformParameters
свойство. Здесь, вы принимаете, что датчик смонтирован в центре платформы и платформы, расположенной в [100; 30; 20] перемещается со скоростью [-5; 4; 2] модули в секунду в системе координат сценария.
Первая структура задает местоположение датчика, скорость и ориентацию в системе координат платформы.
params(1) = struct('Frame','Spherical','OriginPosition',[0;0;0],... 'OriginVelocity',[0;0;0],'Orientation',eye(3),'HasRange',true,... 'HasVelocity',true);
Вторая структура задает местоположение платформы, скорость и ориентацию в системе координат сценария.
params(2) = struct('Frame','Rectangular','OriginPosition',[100;30;20],... 'OriginVelocity',[-5;4;2],'Orientation',eye(3),'HasRange',true,... 'HasVelocity',true);
Создайте настройку.
config = trackingSensorConfiguration('SensorIndex',3,'SensorLimits',sensorLimits,... 'SensorResolution',sensorResolution,... 'SensorTransformParameters',params,... 'SensorTransformFcn',@cvmeas,... 'FilterInitializationFcn',@initcvggiwphd)
config = trackingSensorConfiguration with properties: SensorIndex: 3 IsValidTime: 0 SensorLimits: [4x2 double] SensorResolution: [4x1 double] SensorTransformFcn: @cvmeas SensorTransformParameters: [1x2 struct] FilterInitializationFcn: @initcvggiwphd MaxNumDetsPerObject: Inf ClutterDensity: 1.0000e-03 DetectionProbability: 0.9000 MinDetectionProbability: 0.0500
Чтобы создать настройку для датчика, сначала необходимо указать, что датчик преобразовывает функцию, которая обычно дается как:
где x обозначает состояние отслеживания, Y обозначает состояния обнаружения, и p обозначает обязательные параметры. Для приложений отслеживания объекта вы в основном фокусируетесь на получении состояния отслеживания объекта. Например, радарный датчик может измерить азимут объекта, вертикальное изменение, область значений, и возможно уровень области значений. Используя trackingSensorConfiguration
объект, можно задать функцию преобразования радара использование SensorTransformFcn
свойство и задает местоположение монтирования радара, ориентацию и скорость с помощью соответствующих полей в SensorTransformParameters
свойство. Если объект перемещается в постоянную скорость, постоянное ускорение или постоянное превращение, можно использовать встроенную функцию измерения – cvmeas
, cameas
, или ctmeas
, соответственно – как SensorTransformFcn
. Чтобы настроить точные выходные параметры этих трех функций, задайте hasAzimuth
, hasElevation
, hasRange
, и hasVelocity
поля как true
или false
в SensorTransformParameters
свойство.
Чтобы настроить настройку датчика, также необходимо задать способность к обнаружению датчика. В основном, необходимо задать пределы обнаружения датчика. Поскольку все выходные параметры датчика преобразовывают функцию, необходимо обеспечить пределы обнаружения в том же порядке этих выходных параметров с помощью SensorLimits
свойство. Например, для радарного датчика, вы можете должны быть обеспечить его азимут, вертикальное изменение, область значений и ограничения скорости области значений. Можно также задать SensorResolution
радара и
MaxNumDetsPerObject
свойства, если вы хотите рассмотреть расширенное обнаружение объектов. Вы можете также хотеть задать другие свойства, такие как ClutterDensity
, IsValidTime
, и MinDetectionProbability
далее разъяснить способность к обнаружению датчика.
trackerPHD
| ggiwphd
| cvmeas
| cameas
| ctmeas
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.