phased.MonopulseEstimator

Амплитудное моноимпульсное определение направления

Описание

Поэтапное. Система MonopulseEstimator object™ реализует целевое средство оценки направления с помощью амплитудного моноимпульсного метода с произвольной геометрией массивов. Объект работает с суммой и каналами различия, которые выводятся от phased.MonopulseFeed Системный объект или ваш собственный генератор канала различия суммы. Выход является оценкой целевого направления в азимуте и вертикальном изменении. Можно использовать объект для целевой оценки направления и целевого отслеживания.

Создать моноимпульсное средство оценки:

  1. Создайте phased.MonopulseEstimator объект и набор его свойства.

  2. Вызовите объект с аргументами, как будто это была функция.

Чтобы узнать больше, как Системные объекты работают, смотрите то, Что Системные объекты?

Создание

Описание

estimator = phased.MonopulseEstimator создает моноимпульсный Системный объект средства оценки, estimator, со значениями свойств по умолчанию.

estimator = phased.MonopulseEstimator(Name,Value) создает средство оценки с каждым свойством Name установите на заданный Value. Можно задать дополнительные аргументы пары "имя-значение" в любом порядке как (Name1, Value1..., NameN, ValueN). Заключите каждое имя свойства в одинарные кавычки.

Пример: estimator = phased.MonopulseEstimator('SensorArray',phased.URA,'OperatingFrequency',300e6,'Coverage','Azimuth') устанавливает сенсорную матрицу на универсальный прямоугольный массив (URA) со значениями свойств URA по умолчанию. Средство оценки оценивает азимут от канала суммы и канала различия в азимуте. Средство оценки действует на уровне 300 МГц.

Примечание

Можно также создать phased.MonopulseEstimator объект от phased.MonopulseFeed объект с помощью getMonopulseEstimator объектная функция.

Свойства

развернуть все

Если в противном случае не обозначено, свойства являются ненастраиваемыми, что означает, что вы не можете изменить их значения после вызова объекта. Объекты блокируют, когда вы вызываете их, и release функция разблокировала их.

Если свойство является настраиваемым, можно изменить его значение в любое время.

Для получения дополнительной информации об изменении значений свойств смотрите Разработку системы в MATLAB Используя Системные объекты.

Сенсорная матрица в виде Системного объекта массивов, принадлежащего Phased Array System Toolbox. Сенсорная матрица может содержать подрешетки.

Пример: phased.URA

Скорость распространения сигнала в виде положительной скалярной величины. Модули исчисляются в метрах в секунду. Скорость распространения по умолчанию является значением, возвращенным physconst('LightSpeed'). Смотрите physconst для получения дополнительной информации.

Пример: 3e8

Типы данных: double

Рабочая частота в виде положительной скалярной величины. Модули находятся в Гц.

Пример: 1e9

Типы данных: double

Покрытие моноимпульсного средства оценки в виде '3D' или 'Azimuth'. Когда вы устанавливаете это свойство на '3D', моноимпульсное средство оценки использует канал суммы и и азимут и каналы различия в вертикальном изменении. Когда вы устанавливаете это свойство на 'Azimuth', средство оценки использует канал суммы и канал различия в азимуте.

Косой угол в виде скаляра или с действительным знаком 2 1 вектор. Косой угол является разделительным углом или углами между лучом суммы и лучами вдоль направлений вертикального изменения и азимута.

  • Когда вы устанавливаете Coverage свойство к 'Azimuth', установите SquintAngle свойство к скаляру.

  • Когда вы устанавливаете Coverage свойство к '3D', можно задать косой угол или как скаляр или как вектор. Если вы устанавливаете SquintAngle свойство к скаляру, затем косой угол является тем же самым и вдоль азимута и вдоль направлений вертикального изменения. Если вы устанавливаете SquintAngle свойство к 2 1 вектору, его элементы задают косой угол вдоль направлений вертикального изменения и азимута.

Пример: [20;5]

Формат направления выводится в виде 'Angle' или 'Angle offset'. Когда вы устанавливаете это свойство на 'Angle', выходные углы в направлении цели. Когда вы устанавливаете это свойство на 'Angle offset', выход является угловым смещением от руководящего направления массивов.

Установите это свойство на true выводить отношение суммы и различия образовывает канал в направлениях вертикального изменения и азимуте. Установите это свойство на false не выводить отношения. Отношение часто используется в качестве сигнала контроля ошибок.

Типы данных: логический

Использование

Описание

angest = estimator(sumchan,diffazchan,steervec) возвращает предполагаемый целевой угол, angest, выведенный из суммы образовывают канал сигнал, sumchan, и различие в азимуте образовывает канал сигнал, diffazchan. steervec задает руководящее направление массивов. Чтобы использовать этот синтаксис, установите Coverage свойство к 'Azimuth'.

пример

angest = estimator(sumchan,diffazchan,diffelchan,steervec) также задает сигнал канала различия в вертикальном изменении, diffelchan. Чтобы использовать этот синтаксис, установите Coverage свойство к '3D'.

[angest,dratio] = estimator(___) также возвращает сумму и отношение различия, dratio. Чтобы использовать этот синтаксис, установите SumDifferenceRatioOutputPort свойство к true.

Можно объединить дополнительные входные параметры, когда их свойства включения установлены. Дополнительные входные параметры должны быть перечислены в том же порядке как порядок свойств включения. Например:

 [angest,dratio] = estimator(X,steervec)

Входные параметры

развернуть все

Сигнал канала суммы в виде N с комплексным знаком-by-1 вектор-столбец. N является количеством снимков состояния в сигнале.

Типы данных: double
Поддержка комплексного числа: Да

Канал различия азимута сигнализирует в виде N с комплексным знаком-by-1 о вектор-столбце. N является количеством снимков состояния в сигнале.

Типы данных: double
Поддержка комплексного числа: Да

Канал различия вертикального изменения сигнализирует в виде N с комплексным знаком-by-1 о вектор-столбце. N является количеством снимков состояния в сигнале.

Зависимости

Чтобы включить этот выходной аргумент, установите Coverage свойство к '3D'.

Типы данных: double
Поддержка комплексного числа: Да

Руководящее направление массивов в виде скалярного или вектора столбцов 2 на 1 с действительным знаком.

  • Когда вы устанавливаете Coverage свойство к 'Azimuth', держащееся направление является скаляром и представляет руководящий угол азимута.

  • Когда вы устанавливаете Coverage свойство к '3D', держащийся вектор имеет форму [azimuthAngle; elevationAngle], где azimuthAngle руководящий угол азимута и elevationAngle руководящий угол вертикального изменения.

Модули в градусах. Углы азимута находятся между-180 ° и 180 °, включительно и углы возвышения должны находиться между-90 ° и 90 °, включительно.

Пример: [40;10]

Типы данных: double

Выходные аргументы

развернуть все

Предполагаемое направление цели, возвращенной как 1 с действительным знаком N вектором или 2 с действительным знаком N матрицей. N является количеством снимков состояния в сигнале. Модули в градусах.

  • Когда вы устанавливаете Coverage свойство к 'Azimuth', angest 1 с действительным знаком N вектором. Элементы содержат предполагаемый целевой угол азимута направления в каждом снимке состояния сигнала.

  • Когда вы устанавливаете Coverage свойство к '3D', angest 2 с действительным знаком N матрицей. Каждый столбец содержит предполагаемое целевое направление в форме [azimuthAngle;elevationAngle], где azimuthAngle предполагаемый угол азимута и elevationAngle предполагаемый угол возвышения.

Если вы устанавливаете OutputFormat свойство к 'Angle offset', каждый элемент вектора или матрицы представляет смещение от держащегося векторного направления.

Типы данных: double

Отношение суммы и каналов различия, возвращенных как 1 с действительным знаком N вектором или 2 с действительным знаком N матрицей. N является количеством снимков состояния в сигнале. Модули в градусах.

  • Когда вы устанавливаете Coverage свойство к 'Azimuth', dratio 1 с действительным знаком N вектором. Элементы содержат отношение суммы к каналу различия в азимуте в каждом снимке состояния сигнала.

  • Когда вы устанавливаете Coverage свойство к '3D', dratio 2 с действительным знаком N матрицей. Элементы первой строки содержат отношение суммы к каналу различия в азимуте в каждом снимке состояния сигнала. Элементы второй строки содержат отношение суммы к каналу различия в вертикальном изменении в каждом снимке состояния сигнала.

Зависимости

Чтобы включить этот выходной аргумент, установите SumDifferenceRatioOutputPort свойство к true.

Типы данных: double

Функции объекта

Чтобы использовать объектную функцию, задайте Системный объект как первый входной параметр. Например, чтобы выпустить системные ресурсы Системного объекта под названием obj, используйте этот синтаксис:

release(obj)

развернуть все

stepЗапустите алгоритм Системного объекта
releaseВысвободите средства и позвольте изменения в значениях свойств Системного объекта и введите характеристики
resetСбросьте внутренние состояния Системного объекта

Примеры

свернуть все

После создания суммы и каналов различия, определите направление цели приблизительно в 24 азимутах степеней и 40 вертикальных изменениях степеней относительно универсального прямоугольного массива 5 на 5.

Создайте моноимпульсную систему канала на основе URA.

fc = 200e6;
c = physconst('LightSpeed');
lambda = c/fc;
array = phased.URA('Size',[5 5],'ElementSpacing',lambda/2);
feed = phased.MonopulseFeed('SensorArray',array,'OperatingFrequency', ...
    fc,'Coverage','3D','AngleOutputPort',true);

Создайте сигнал с помощью держащегося вектора.

steervector = phased.SteeringVector('SensorArray',array);
x = steervector(feed.OperatingFrequency,[24;40]).';

Получите сумму и каналы различия и предполагаемый целевой угол.

[sumch,azch,elch,est_dir] = feed(x,[30;35]);
disp(est_dir)
   24.3705
   41.1997

Используйте выведенный phased.MonopulseEstimator возразите, чтобы также получить целевой угол.

estimator = getMonopulseEstimator(feed);
est_dir = estimator(sumch,azch,elch,[30;35])
est_dir = 2×1

   24.3705
   41.1997

Определите направление цели с помощью моноимпульсной обработки сигналов, прибывающих в URA. Целевое эхо сначала обнаруживается прежде, чем применить моноимпульсную обработку.

array = phased.URA('Size',4);
collect = phased.Collector('Sensor',array);
feed = phased.MonopulseFeed('SensorArray',array,'Coverage','3D');
estimator = phased.MonopulseEstimator('SensorArray',array,'Coverage','3D');

% Create a 100-sample random source signal with a single spike to simulate
% an echo.
x = sqrt(0.01/2)*(randn(100,1)+1i*randn(100,1));
x(20) = 1;
targetangle = [31;9];
rx = collect(x,targetangle);

Укажите моноимпульс в различном направлении от цели. Затем создайте углы различия и сумма.

steerangle = [30;10];
[sumch,azch,elch] = feed(rx,steerangle);

% Detect the target by finding the peak of the sum channel.
[~,idx] = max(abs(sumch));

% Estimate the arrival angle using a monopulse estimator.
est_dir = estimator(sumch(idx),azch(idx),elch(idx),steerangle)
est_dir = 2×1

   31.1307
    9.0132

Ссылки

[1] Mahafza, B.R. Анализ и проектирование радиолокационной системы Используя MATLAB. Бока-Ратон: Чепмен и Холл/CRC, 2000.

Расширенные возможности

Введенный в R2018b