phased.WidebandCollector

Широкополосный коллектор сигнала

Описание

phased.WidebandCollector Система object™ реализует широкополосный коллектор сигнала. Коллектор преобразует инцидентные широкополосные поля волны, прибывающие от заданных направлений в сигналы, которые будут далее обработаны. Поля волны являются инцидентом на антенне и элементах микрофона, сенсорных матрицах или подрешетках. Объект собирает сигналы одним из двух способов, которыми управляет Wavefront Свойство Wavefront.

  • Если свойство Wavefront установлено в 'Plane', собранные сигналы в каждом элементе или подрешетке являются когерентной суммой всех инцидентных полей плоской волны, произведенных в каждом элементе массива или подрешетке.

  • Если свойство Wavefront установлено в 'Unspecified', собранные сигналы формируются из независимого полевого инцидента на каждом отдельном элементе датчика.

Можно использовать этот объект для

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

  • акустические поля модели при помощи неполяризованного микрофона и элементов массива преобразователя гидролокатора и путем установки Поляризации на 'None'. Необходимо также установить PropagationSpeed на значение, подходящее для носителя.

  • соберите поля в подрешетках, созданных phased.ReplicatedSubarray и phased.PartitionedArray объекты. Можно регулировать все подрешетки в том же направлении с помощью держащегося углового аргумента, STEERANG, или регулируйте каждую подрешетку в различном направлении с помощью аргумента весов элемента подрешетки, WS. Вы не можете установить свойство Wavefront на 'Unspecified' для подрешеток.

Собрать прибывающие сигналы в элементах или массивах:

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

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

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

Создание

Описание

пример

collector = phased.WidebandCollector создает широкополосный объект коллектора сигнала, collector, со значениями свойств по умолчанию.

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

Пример: collector = phased.WidebandCollector('Sensor',phased.URA,'CarrierFrequency',300e6) устанавливает сенсорную матрицу на универсальный прямоугольный массив (URA) со значениями свойств URA по умолчанию. Формирователь луча принимает несущую частоту 300 МГц.

Свойства

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

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

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

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

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

Пример: phased.URA

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

Пример: 3e8

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

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

Пример: 1e6

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

Установите это свойство на true указать на входной сигнал демодулируется в несущей частоте.

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

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

Пример: 1e6

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

Количество обработки поддиапазонов в виде положительного целого числа.

Пример: 128

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

Усиление датчика измеряется в виде 'dB' или 'dBi'.

  • Когда вы устанавливаете это свойство на 'dB', степень входного сигнала масштабируется шаблоном степени датчика (в дБ) в соответствующем направлении и затем объединяется.

  • Когда вы устанавливаете это свойство на 'dBi', степень входного сигнала масштабируется шаблоном направленности (в dBi) в соответствующем направлении и затем объединяется. Эта опция полезна, когда это необходимо, чтобы сравнить результаты со значениями, предсказанными основным уравнением радиолокации, которое использует dBi, чтобы задать усиление антенны. Расчет с помощью 'dBi' опция является дорогой, когда она требует, чтобы интегрирование по всем направлениям вычислило общую излученную степень датчика.

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

Тип входящего фронта импульса в виде 'Plane' или 'Unspecified':

  • 'Plane' — входные сигналы являются несколькими плоскими волнами, посягающими на целый массив. Каждая плоская волна получена всеми элементами сбора.

  • 'Unspecified' — собранные сигналы являются независимым полевым инцидентом на отдельных элементах датчика. Если Sensor свойство является массивом, который содержит подрешетки, вы не можете установить Wavefront свойство к 'Unspecified'.

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

Настройка поляризации в виде 'None', 'Combined', или 'Dual'. Когда вы устанавливаете это свойство на 'None', падающие поля рассматриваются скалярными полями. Когда вы устанавливаете это свойство на 'Combined', падающие поля поляризованы и представляют один прибывающий сигнал, поляризация которого отражает свойственную поляризацию датчика. Когда вы устанавливаете это свойство на 'Dual', H и компоненты поляризации V полей являются независимыми сигналами.

Пример: 'Dual'

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

Включите вход весов в виде false или true. Когда true, используйте объектный входной параметр W задавать веса. Веса применяются к отдельным элементам массива (или на уровне подрешетки, когда подрешетки поддерживаются).

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

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

Описание

пример

Y = collector(X,ANG) собирает сигналы, X, прибытие от направлений задано ANGY содержит собранные сигналы.

Y = collector(X,ANG,LAXES) также задает LAXES как системные направления осей локальной координаты. Чтобы использовать этот синтаксис, установите свойство на 'Combined'.

[YH,YV] = collector(X,ANG,LAXES) возвращает компонент H-поляризации поля, YH, и компонент V-поляризации, YV. Чтобы использовать этот синтаксис, установите свойство Polarization на 'Dual'.

[___] = collector(___,W) также задает W как элемент массива или веса подрешетки. Чтобы использовать этот синтаксис, установите свойство WeightsInputPort на true.

[___] = collector(___,STEERANG) также задает STEERANG как угол поворота подрешётки. Чтобы использовать этот синтаксис, установите свойство Sensor на массив, который поддерживает подрешетки и устанавливает SubarraySteering свойство того массива к любому 'Phase' или 'Time'.

[___] = collector(___,WS) также задает WS когда веса применились к каждому элементу в каждой подрешетке. Чтобы использовать этот синтаксис, установите свойство Sensor на массив, который поддерживает подрешетки и устанавливает SubarraySteering из того массива к 'Custom'.

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

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

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

  • Если Polarization значение свойства установлено в 'None'X M-by-L матрица.

  • Если Polarization значение свойства установлено в 'Combined' или 'Dual'X 1 L массивом ячеек структур. Каждая ячейка соответствует отдельному прибывающему сигналу. Каждый struct содержит три вектор-столбца, содержащие X, Y и компоненты Z поляризованных полей, заданных относительно глобальной системы координат.

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

Зависимости

Чтобы включить этот аргумент, установите Polarization свойство к 'None' или 'Combined'.

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

Направления прибытия сигналов в виде 2 с действительным знаком L матрицей. Каждый столбец задает направление прибытия в форме [AzimuthAngle;ElevationAngle]. Угол азимута должен находиться между-180 ° и 180 °, включительно. Угол возвышения должен находиться между-90 ° и 90 °, включительно. Когда свойством Wavefront является false, количество углов должно равняться количеству элементов массива, N. Модули в градусах.

Пример: [30,20;45,0]

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

Система локальной координаты в виде 3х3 ортогональной матрицы с действительным знаком. Столбцы матрицы задают ортонормированный x системы локальной координаты, y и оси z относительно глобальной системы координат.

Пример: rotx(30)

Зависимости

Чтобы включить этот аргумент, установите Polarization свойство к 'Combined' или 'Dual'.

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

Элемент или веса подрешетки в виде N с комплексным знаком-by-1 вектор-столбец, где N является количеством элементов массива (или подрешетки когда подрешетки поддержки массивов).

Зависимости

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

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

Веса элемента подрешетки в виде N с комплексным знаком матрица SE-by-N или 1 N массивом ячеек, где N является количеством подрешеток. Эти веса применяются к отдельным элементам в подрешетке.

Веса элемента подрешетки

Сенсорная матрицаВеса подрешетки
phased.ReplicatedSubarray

Все подрешетки имеют те же размерности и размеры. Затем веса подрешетки формируют матрицу SE-by-N N. N SE является числом элементов в каждой подрешетке и N, является количеством подрешеток. Каждый столбец WS задает веса для соответствующей подрешетки.

phased.PartitionedArray

Подрешетки не могут иметь тех же размерностей и размеров. В этом случае можно задать веса подрешетки как

  • матрица SE-by-N N, где N SE является теперь числом элементов в самой большой подрешетке. Первые записи Q в каждом столбце являются весами элемента для подрешетки, где Q является числом элементов в подрешетке.

  • 1 N массивом ячеек. Каждая ячейка содержит вектор-столбец весов для соответствующей подрешетки. Вектор-столбцы имеют длины, равные числу элементов в соответствующей подрешетке.

Зависимости

Чтобы включить этот аргумент, установите Sensor свойство к массиву, который содержит подрешетки и устанавливает SubarraySteering свойство массива к 'Custom'.

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

Угол поворота подрешётки в виде длины 2 вектор-столбца. Вектор имеет форму [azimuthAngle;elevationAngle]. Угол азимута должен быть между-180 ° и 180 °, включительно. Угол возвышения должен быть между-90 ° и 90 °, включительно. Модули в градусах.

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

Зависимости

Чтобы включить этот аргумент, установите Sensor свойство к массиву, который поддерживает подрешетки и устанавливает SubarraySteering свойство того массива к любому 'Phase' или 'Time'

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

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

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

Собранный сигнал, возвращенный как M с комплексным знаком-by-N матрица. M является длиной входного сигнала. N является количеством элементов массива (или подрешетки, когда подрешетки поддерживаются). Каждый столбец соответствует сигналу, собранному соответствующим элементом массива (или соответствующие подрешетки, когда подрешетки поддерживаются).

Зависимости

Чтобы включить этот аргумент, установите Polarization свойство к 'None' или 'Combined'.

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

Собранный горизонтальный сигнал поляризации, возвращенный как M с комплексным знаком-by-N матрица. M является длиной входного сигнала. N является количеством элементов массива (или подрешетки, когда подрешетки поддерживаются). Каждый столбец соответствует сигналу, собранному соответствующим элементом массива (или соответствующие подрешетки, когда подрешетки поддерживаются).

Зависимости

Чтобы включить этот аргумент, установите Polarization свойство к 'Dual'.

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

Собранный горизонтальный сигнал поляризации, возвращенный как M с комплексным знаком-by-N матрица. M является длиной входного сигнала. N является количеством элементов массива (или подрешетки, когда подрешетки поддерживаются). Каждый столбец соответствует сигналу, собранному соответствующим элементом массива (или соответствующие подрешетки, когда подрешетки поддерживаются).

Зависимости

Чтобы включить этот аргумент, установите Polarization свойство к 'Dual'.

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

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

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

release(obj)

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

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

Примеры

свернуть все

Используйте phased.WidebandCollector Система object™, чтобы создать сигнал, прибывающий в одну изотропную антенну от азимута на 10 ° и вертикального изменения на 30 °.

antenna = phased.IsotropicAntennaElement;
collector = phased.WidebandCollector('Sensor',antenna);
x = [1;0;-1];
incidentAngle = [10;30];
y = collector(x,incidentAngle);
disp(y)
   1.0000 + 0.0000i
   0.0000 + 0.0000i
  -1.0000 - 0.0000i

Используйте широкополосный коллектор, чтобы создать сигнал, посягающий на ULA с 5 элементами изотропных антенн от 10 азимутов степеней и 30 вертикальных изменений степеней.

array = phased.ULA('NumElements',5);
collector = phased.WidebandCollector('Sensor',array);
x = [1;1;1];
incidentAngle = [10;30];
y = collector(x,incidentAngle);
disp(y)
  Columns 1 through 4

  -0.9997 + 0.0102i  -0.0051 - 0.9999i   1.0000 + 0.0000i  -0.0051 + 1.0001i
  -0.9999 + 0.0102i  -0.0051 - 1.0000i   1.0000 + 0.0000i  -0.0051 + 1.0000i
  -1.0002 + 0.0102i  -0.0051 - 1.0001i   1.0000 - 0.0000i  -0.0051 + 0.9999i

  Column 5

  -1.0002 - 0.0102i
  -0.9999 - 0.0102i
  -0.9997 - 0.0102i

Соберите три сигнала, поступающие в массив с 3 элементами изотропных антенных элементов. Каждая антенна собирает отдельный входной сигнал из отдельного направления.

array = phased.ULA('NumElements',3);
collector = phased.WidebandCollector('Sensor',array,...
    'Wavefront','Unspecified');
rng default
x = rand(10,3);
incidentAngles = [10 20 45; 0 5 2];
y = collector(x,incidentAngles);
disp(y)
   0.8147 + 0.0000i   0.1576 + 0.0000i   0.6557 + 0.0000i
   0.9058 + 0.0000i   0.9706 + 0.0000i   0.0357 + 0.0000i
   0.1270 + 0.0000i   0.9572 + 0.0000i   0.8491 + 0.0000i
   0.9134 + 0.0000i   0.4854 + 0.0000i   0.9340 + 0.0000i
   0.6324 + 0.0000i   0.8003 + 0.0000i   0.6787 + 0.0000i
   0.0975 + 0.0000i   0.1419 + 0.0000i   0.7577 + 0.0000i
   0.2785 + 0.0000i   0.4218 + 0.0000i   0.7431 + 0.0000i
   0.5469 + 0.0000i   0.9157 + 0.0000i   0.3922 + 0.0000i
   0.9575 + 0.0000i   0.7922 + 0.0000i   0.6555 + 0.0000i
   0.9649 + 0.0000i   0.9595 + 0.0000i   0.1712 + 0.0000i

Больше о

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

Алгоритмы

Если Wavefront значением свойства является 'Plane', phased.WidebandCollector делает следующее для каждого сигнала плоской волны:

  1. Разлагает сигнал на несколько поддиапазонов.

  2. Использует приближение фазы задержек через собирающиеся элементы в далеком поле для каждого поддиапазона.

  3. Перегруппировывает собранные сигналы во всех поддиапазонах, чтобы сформировать выходной сигнал.

Если Wavefront значением свойства является 'Unspecified', объект собирает каждый канал независимо.

Для получения дальнейшей информации см. [1].

Ссылки

[1] Деревья фургона, H. Оптимальная обработка матриц. Нью-Йорк: Wiley-межнаука, 2002.

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

Введенный в R2011a