поэтапный. MonopulseEstimator

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

Описание

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

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

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

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

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

Создание

Синтаксис

estimator = phased.MonopulseEstimator
estimator = phased.MonopulseEstimator(Name,Value)

Описание

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 Используя Системные объекты (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 = estimator(sumchan,diffazchan,diffelchan,steervec)
[angest,dratio] = estimator(___)

Описание

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)

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

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

Примеры

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

После создания суммы и каналов различия, определите направление цели приблизительно в 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 =

   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 =

   31.1307
    9.0132

Ссылки

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

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

Смотрите также

Системные объекты

Функции

Введенный в R2018b