поэтапный. MonopulseFeed

Создает каналы различия и сумма

Описание

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

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

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

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

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

Создание

Синтаксис

feed = phased.MonopulseFeed
feed = phased.MonopulseFeed(Name,Value)

Описание

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

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

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

Свойства

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

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

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

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

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

Пример: phased.URA

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

Пример: 3e8

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

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

Пример: 1e9

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

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

Пример: 'Azimuth'

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

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

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

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

Включите угловой оценке вывод, заданный как false или true. Установите это свойство на true выводить угловую оценку, кроме того, чтобы суммировать и каналы различия. Установите это свойство на false только выводить каналы различия и сумма.

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

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

Синтаксис

[sumchan,diffazchan] = feed(X,steervec)
[sumchan,diffazchan,diffelchan] = feed(X,steervec)
[___,angest] = feed(X,steervec)

Описание

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

[sumchan,diffazchan,diffelchan] = feed(X,steervec) также возвращает сигнал канала различия в повышении, diffelchan. Чтобы использовать этот синтаксис, установите свойство Coverage на '3D'.

пример

[___,angest] = feed(X,steervec) также возвращает предполагаемый направляющий угол, angest. Чтобы использовать этот синтаксис, установите свойство AngleOutputPort на true.

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

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

Входной сигнал, заданный как M с комплексным знаком-by-N матрица, где M является количеством выборок или снимками состояния данных и N, является количеством элементов массива. Если массив содержит подмассивы, то N является количеством подмассивов.

Размер первой размерности входной матрицы может отличаться, чтобы моделировать изменяющуюся длину сигнала. Изменение размера может произойти, например, в случае импульсной формы волны с переменной импульсной частотой повторения.

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

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

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

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

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

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

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

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

array = phased.URA('Size',[5 5]);
feed = phased.MonopulseFeed('SensorArray',array,'Coverage','3D', ...
       'AngleOutputPort',true);
[sumch,dazch,delch,angest] = feed(X,steervec);

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

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

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

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

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

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

Сигнал канала различия повышения, возвращенный как M с комплексным знаком-by-1 вектор-столбец, где M является количеством строк X.

Зависимости

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

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

Предполагаемое направление цели, возвращенной как с действительным знаком 2 1 вектор в форме [azimuth,elevation]. Модули в градусах.

Зависимости

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

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

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

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

release(obj)

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

getMonopulseEstimatorСоздайте моноимпульсное средство оценки из моноимпульсного канала
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

Ссылки

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

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

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

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

Введенный в R2018b