Представляйте настройку датчика для отслеживания
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 | Минимальный обнаруживаемый уровень области значений в метрах в секунду. | Нет данных |
maxRr | Максимальный обнаруживаемый уровень области значений в метрах в секунду. | Нет данных |
Типы данных: 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
далее разъяснить способность к обнаружению датчика.
cameas
| ctmeas
| cvmeas
| ggiwphd
| trackerPHD
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.