exponenta event banner

поэтапный. WidebandCollector

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

Описание

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

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

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

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

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

  • моделирование акустических полей с использованием неполяризованных элементов микрофона и матрицы гидроакустических преобразователей и установка поляризации в '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 с использованием системных объектов.

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

Пример: phased.URA

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

Пример: 3e8

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

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

Пример: 1e6

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

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

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

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

Пример: 1e6

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

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

Пример: 128

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

Измерение коэффициента усиления датчика, указанное как 'dB' или 'dBi'.

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

  • При установке для этого свойства значения '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 для указания весов. Веса применяются к отдельным элементам массива (или на уровне подмассива, когда поддерживаются подмагистрали).

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

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

Описание

пример

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

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

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

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

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

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

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

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

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

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

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

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

Зависимости

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

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

Направления поступления сигналов, определяемые как вещественно-значная матрица 2-by-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 - количество элементов массива (или подмассив, если массив поддерживает подмагистрали).

Зависимости

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

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

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

Веса элементов субчипов

Массив датчиковВеса субчипов
phased.ReplicatedSubarray

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

phased.PartitionedArray

Субчипы могут иметь разные размеры и размеры. В этом случае можно указать веса субчипов как

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

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

Зависимости

Чтобы включить этот аргумент, установите Sensor для массива, который содержит подмагистрали и задает SubarraySteering свойство массива to '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
Поддержка комплексного номера: Да

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

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

release(obj)

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

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

Примеры

свернуть все

Используйте 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

Используйте широкополосный коллектор для построения сигнала, падающего на 5-элементную ULA изотропных антенн от азимута 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-Interscience, 2002.

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

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