exponenta event banner

поэтапный. MonopulseFeed

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

Описание

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

Для создания моноимпульсной системы подачи:

  1. Создать phased.MonopulseFeed и задайте его свойства.

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

Дополнительные сведения о работе системных объектов см. в разделе Что такое системные объекты?.

Создание

Описание

feed = phased.MonopulseFeed создает моноимпульсный объект System, 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 с использованием системных объектов.

Массив датчиков, указанный как системный объект массива, принадлежащий панели инструментов системы фазированных массивов. Массив датчиков может содержать подрешетки.

Пример: 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 для вывода только суммарного и разностного каналов.

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

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

Описание

[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-на-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

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

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

release(obj)

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

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

Примеры

свернуть все

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

Ссылки

[1] Махафза, Б. Р. Анализ и проектирование радиолокационной системы с использованием Matlab. Бока Ратон: Чепмен и Холл/КПР, 2000.

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

.
Представлен в R2018b