Представляйте настройку датчика для отслеживания
Объект trackingSensorConfiguration
создает настройку для датчика, используемого с Системой trackerPHD
object™. Это позволяет вам задавать параметры датчика, такие как плотность помехи, пределы датчика, разрешение датчика. Можно также задать, как средство отслеживания чувствует обнаружения из свойств использования датчика, таких как FilterInitializationFcn
, SensorTransformFcn
и SensorTransformParameters
. Смотрите Создают Настройку Датчика Отслеживания для получения дополнительной информации. Объект trackingSensorConfiguration
позволяет средству отслеживания выполнить три основных стандартных операции:
Оцените вероятность обнаружения в точках в пространстве состояний.
Инициируйте компоненты в плотности гипотезы вероятности.
Получите плотность помехи датчика.
config = trackingSensorConfiguration(SensorIndex)
config = trackingSensorConfiguration(SensorIndex,Name,Value)
создает объект 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
, можно также использовать initctggiwphd
и initcaggiwphd
в Sensor Fusion and Tracking Toolbox™.
Типы данных: function_handle
| char
SensorTransformFcn
— Датчик преобразовывает функцию@cvmeas
| указатель на функцию | вектор символовДатчик преобразовывает функцию, заданную как указатель на функцию или как вектор символов, содержащий имя допустимого датчика, преобразовывает функцию. Функция преобразовывает состояние дорожки в состояние обнаружения датчика. Например, функция преобразовывает состояние дорожки в сценарий Декартов кадр к сферическому кадру датчика. Можно создать собственный датчик, преобразовывают функцию, но это должно поддержать следующий синтаксис:
detStates = SensorTransformFcn(trackStates,params)
params
является параметрами, сохраненными в свойстве SensorTransformParameters
. Заметьте, что подпись функции подобна функции измерения. Поэтому можно использовать функцию измерения (такую как cvmeas
, ctmeas
или cameas
) как SensorTransformFcn
.
Обратите внимание на то, что 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
— Разрешение датчика[4;2;10]
(значение по умолчанию) | N - элемент вектор с положительным знакомРазрешение датчика, заданного как N - элемент вектор с положительным знаком, где N является количеством параметров, заданных в свойстве SensorLimits
. Если вы хотите присвоить только одну ячейку разрешения для параметра, просто задайте его разрешение как различие между максимальным пределом и минимальным пределом параметра.
Типы данных: double
MaxNumDetsPerObject
— Максимальное количество обнаружений на объектInf
(значение по умолчанию) | положительное целое числоМаксимальное количество обнаружений датчик может сообщить на объект, заданный как положительное целое число.
Пример 3
Типы данных: double
ClutterDensity
— Ожидаемое количество ложных предупреждений на единичный объем1e-3
(значение по умолчанию) | положительная скалярная величинаОжидаемое количество ложных предупреждений на единичный объем от датчика, заданного как положительная скалярная величина.
Пример: 2e-3
Типы данных: double
MinDetectionProbability
— Вероятность обнаружения дорожки, которая, как оценивают, была за пределами пределов датчика0.05
(значение по умолчанию) | положительная скалярная величинаВероятность обнаружения цели, которая, как оценивают, была за пределами пределов датчика, заданных как положительная скалярная величина. Это свойство позволяет объекту 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.