exponenta event banner

поэтапный. WidebandRadiator

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

Описание

phased.WidebandRadiator Система object™ реализует широкополосный излучатель сигналов. Излучатель преобразует сигналы в излучаемые волновые поля, передаваемые от матриц и отдельных сенсорных элементов, таких как антенны, микрофонные элементы и гидроакустические преобразователи. Выход излучателя представляет поля на опорном расстоянии в один метр от фазового центра элемента или матрицы. Алгоритм делит сигнал в каждом элементе на частотные поддиапазоны и применяет узкополосную временную задержку к каждому сигналу с использованием фазовой аппроксимации. Затем задержанные поддиапазоны когерентно суммируются для создания выходного сигнала. Затем можно распространить сигналы на дальнее поле, используя, например, phased.WidebandFreeSpace или phased.WidebandLOSChannel Системные объекты. Этот объект можно использовать для

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

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

  • излучают поля из субчипов, созданных phased.ReplicatedSubarray и phased.PartitionedArray объекты. Можно управлять всеми субчипами в одном направлении с помощью аргумента «Угол поворота». STEERANGили направьте каждый подчисток в другом направлении, используя аргумент Subarray element weights, WS. Излучатель распределяет мощности сигнала поровну между элементами каждой подрешетки.

Для излучения сигналов:

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

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

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

Создание

Описание

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

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

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

Свойства

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

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

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

Дополнительные сведения об изменении значений свойств см. в разделе Проектирование системы в MATLAB с использованием системных объектов.

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

Пример: phased.URA

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

Пример: 3e8

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

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

Пример: 1e6

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

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

Пример: 1e6

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

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

Пример: 128

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

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

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

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

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

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

Пример: 'Dual'

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

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

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

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

Описание

пример

Y = radiator(X,ANG) излучает сигнал X в направлениях, указанных ANG. Для каждого направления способ вычисляет излучаемый сигнал, Y, суммированием вкладов каждого элемента или подрешетки.

пример

Y = radiator(X,ANG,LAXES) также определяет локальную систему координат радиатора, LAXES. Этот синтаксис применяется при установке для свойства «Поляризация» значения 'Combined'.

Y = radiator(XH,XV,ANG,LAXES) определяет сигнал порта горизонтальной поляризации, XHи сигнал порта вертикальной поляризации, XV. Чтобы использовать этот синтаксис, задайте для свойства Поляризация значение 'Dual'.

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

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

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

Можно комбинировать необязательные входные аргументы, если заданы их разрешающие свойства, например: Y = radiator(X,ANG,LAXES,W,STEERANG) объединяет несколько входных аргументов. Дополнительные входные данные должны быть перечислены в том же порядке, что и разрешающие свойства.

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

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

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

Размеры X

ИзмерениеСигнал
M-by-1 вектор

Один и тот же сигнал излучается из всех элементов матрицы (или из всех подрешеток, когда поддерживаются подрешетки).

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

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

Зависимости

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

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

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

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

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

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

Пример: rotx(30)

Зависимости

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

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

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

Размеры XH

ИзмерениеСигнал
M-by-1 вектор

Один и тот же сигнал излучается из всех элементов матрицы (или из всех подрешеток, когда поддерживаются подрешетки).

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

Размеры и размеры XH и XV должно быть то же самое.

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

Зависимости

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

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

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

Размеры XV

ИзмерениеСигнал
M-by-1 вектор

Один и тот же сигнал излучается из всех элементов матрицы (или из всех подрешеток, когда поддерживаются подрешетки).

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

Размеры и размеры XH и XV должно быть то же самое.

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

Зависимости

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

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

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

Зависимости

Чтобы включить этот аргумент, задайте для свойства WEAiveInputPort значение 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-L или матрица 1-by-L ячеек, где L - число углов излучения, ANG. M - длина входного сигнала, X.

  • Если для свойства «Поляризация» установлено значение 'None', выходной аргумент Y является матрицей M-by-L.

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

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

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

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

release(obj)

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

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

Примеры

свернуть все

Создайте URA 5 на 5 и разнесите элементы на половину длины волны. Длина волны соответствует расчетной частоте 300 МГц.

Примечание.Этот пример выполняется только в R2016b или более поздних версиях. При использовании более ранней версии замените каждый вызов функции эквивалентным step синтаксис. Например, заменить myObject(x) с step(myObject,x).

Создание массива косинусных элементов URA 5 на 5

c = physconst('LightSpeed');
fc = 100e6;
lam = c/fc;
antenna = phased.CosineAntennaElement('CosinePower',[2,2]);
array = phased.URA('Element',antenna,'Size',[5,5],'ElementSpacing',[0.5,0.5]*lam);

Создание и излучение широкополосного сигнала

Излучают широкополосный сигнал, состоящий из трех синусоид на частоте 2, 10 и 11 МГц. Установите частоту дискретизации 25 МГц. Излучайте поля в двух направлениях: (30,10) градусов по азимуту и отметке и (20,50) градусов по азимуту и отметке.

fs = 25e6;
f1 = 2e6;
f2 = 10e6;
f3 = 11e6;
dt = 1/fs;
Tsig = 100e-6;
t = [0:dt:Tsig];
sig = 5.0*sin(2*pi*f1*t) + 2.0*sin(2*pi*f2*t + pi/10) + 4*sin(2*pi*f3*t + pi/2); 
radiatingangles = [30 10; 20 50]';
radiator = phased.WidebandRadiator('Sensor',array,'CarrierFrequency',fc,'SampleRate',fs);
radsig = radiator(sig.',radiatingangles);

График излучаемого сигнала

Постройте график входного сигнала для излучателя и излучаемых сигналов.

plot(t(1:300)*1e6,real(sig(1:300)))
hold on
plot(t(1:300)*1e6,real(radsig(1:300,1)))
plot(t(1:300)*1e6,real(radsig(1:300,2)))
hold off
xlabel('Time (\mu sec)')
ylabel('Amplitude')
legend('Input signal','Radiate to (30,10)','Radiate to (20,50)')

Figure contains an axes. The axes contains 3 objects of type line. These objects represent Input signal, Radiate to (30,10), Radiate to (20,50).

Постройте график спектров сигнала, излучаемого до (30,10) градусов.

periodogram(real(radsig(:,1)),rectwin(size(radsig,1)),4096,fs);

Figure contains an axes. The axes with title Periodogram Power Spectral Density Estimate contains an object of type line.

Осмотрите поляризованное поле, создаваемое широкополосным излучателем из пятиэлементной однолинейной решетки (ULA), состоящей из короткодипольных антенных элементов.

Примечание.Этот пример выполняется только в R2016b или более поздних версиях. При использовании более ранней версии замените каждый вызов функции эквивалентным step синтаксис. Например, заменить myObject(x) с step(myObject,x).

Установите ULA из пяти короткодипольных антенн с включенной поляризацией. Расстояние между элементами устанавливают равным 1/2 длины волны несущей частоты. Создайте широкополосный объект системы радиатора (TM).

fc = 100e6;
c = physconst('LightSpeed');
lam = c/fc;
antenna = phased.ShortDipoleAntennaElement;
array = phased.ULA('Element',antenna,'NumElements',5,'ElementSpacing',lam/2);

Излучайте сигнал, состоящий из суммы трех синусоидальных волн. Излучайте сигнал в двух различных направлениях. Излучаемые углы - это азимут и углы места, определенные относительно локальной системы координат. Локальная система координат определяется поворотом на 10 градусов вокруг оси X от глобальных координат.

fs = 25e6;
f1 = 2e6;
f2 = 10e6;
f3 = 11e6;
dt = 1/fs;
fc = 100e6;
t = [0:dt:100e-6];
sig = 5.0*sin(2*pi*f1*t) + 2.0*sin(2*pi*f2*t + pi/10) + 4*sin(2*pi*f3*t + pi/2);
radiatingAngle = [30 30; 0 20];
laxes = rotx(10);
radiator = phased.WidebandRadiator('Sensor',array,'SampleRate',fs,...
    'CarrierFrequency',fc,'Polarization','Combined');
y = radiator(sig.',radiatingAngle,laxes);

Постройте график первых 200 выборок компонентов y и z поляризованного поля, распространяющихся в [30,0] направление.

plot(10^6*t(1:200),real(y(1).Y(1:200)))
hold on
plot(10^6*t(1:200),real(y(1).Z(1:200)))
hold off
xlabel('Time (\mu sec)')
ylabel('Amplitude')
legend('Y Polarization','Z Polarization')

Figure contains an axes. The axes contains 2 objects of type line. These objects represent Y Polarization, Z Polarization.

Подробнее

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

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

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