шаг

Системный объект: поэтапный. HeterogeneousULA
Пакет: поэтапный

Выведите ответы элементов массива

Синтаксис

RESP = step(H,FREQ,ANG)

Описание

Примечание

При запуске в R2016b, вместо того, чтобы использовать метод step, чтобы выполнить операцию, заданную Системой object™, можно вызвать объект с аргументами, как будто это была функция. Например, y = step(obj,x) и y = obj(x) выполняют эквивалентные операции.

RESP = step(H,FREQ,ANG) возвращает ответы элементов массива RESP на рабочих частотах, заданных в FREQ и направлениях, заданных в ANG.

Примечание

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

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

H

Объект Array

FREQ

Рабочие частоты массива в герц. FREQ является вектором - строкой из длины L. Типичные значения в области значений, заданной свойством H.Element. То свойство называют FrequencyRange или FrequencyVector, в зависимости от типа элемента в массиве. Элемент имеет нулевой ответ на частотах вне той области значений.

ANG

Направления в градусах. ANG является или 2 M матрицей или вектором - строкой из длины M.

Если ANG является 2 M матрицей, каждый столбец матрицы задает направление в форме [azimuth; elevation]. Угол азимута должен находиться между-180 ° и 180 °, включительно. Угол повышения должен находиться между-90 ° и 90 °, включительно.

Если ANG является вектором - строкой из длины M, каждый элемент задает угол азимута направления. В этом случае соответствующий угол повышения принят, чтобы быть 0 °.

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

RESP

Ответы напряжения поэтапного массива. Вывод зависит от ли поляризация поддержки массивов или нет.

  • Если массив не способен к поддержке поляризации, ответ напряжения, RESP, имеет размерности N-by-M-by-L. N является числом элементов в массиве. Размерность M является количеством углов, заданных в ANG. L является количеством частот, заданных в FREQ. Для любого элемента столбцы RESP содержат ответы элементов массива для соответствующего направления, заданного в ANG. Каждая из страниц L RESP содержит ответы элементов массива для соответствующей частоты, заданной в FREQ.

  • Если массив способен к поддержке поляризации, ответом напряжения, RESP, является struct MATLAB, содержащий два поля, RESP.H и RESP.V. Поле, RESP.H, представляет горизонтальный ответ поляризации массива, в то время как RESP.V представляет вертикальный ответ поляризации массива. Каждое поле имеет размерности N-by-M-by-L. N является числом элементов в массиве, и M является количеством углов, заданных в ANG. L является количеством частот, заданных в FREQ. Каждый столбец RESP содержит ответы элементов массива для соответствующего направления, заданного в ANG. Каждая из страниц L RESP содержит ответы элементов массива для соответствующей частоты, заданной в FREQ.

Примеры

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

Создайте неоднородный ULA с 5 элементами элементов антенны косинуса с ответами различия и найдите ответ каждого элемента в азимуте на 30 °.

antenna1 = phased.CosineAntennaElement('CosinePower',1.5);
antenna2 = phased.CosineAntennaElement('CosinePower',1.8);
array = phased.HeterogeneousULA(...
    'ElementSet',{antenna1,antenna2},...
    'ElementIndices',[1 2 2 2 1]);
fc = 1e9;
c = physconst('LightSpeed');
ang = [30;0];
resp = array(fc,ang)
resp = 5×1

    0.8059
    0.7719
    0.7719
    0.7719
    0.8059

Найдите ответ неоднородного массива ULA 7 пользовательских элементов микрофона с различными ответами.

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

Создайте два микрофона с различными шаблонами ответа.

mic1 = phased.CustomMicrophoneElement(...
    'FrequencyResponse',[20 20e3]);
mic1.PolarPatternFrequencies = [500 1000];
mic1.PolarPattern = mag2db([...
    0.5+0.5*cosd(mic1.PolarPatternAngles);...
    0.6+0.4*cosd(mic1.PolarPatternAngles)]);
mic2 = phased.CustomMicrophoneElement(...
    'FrequencyResponse',[20 20e3]);
mic2.PolarPatternFrequencies = [500 1000];
mic2.PolarPattern = mag2db([...
    ones(size(mic2.PolarPatternAngles));...
    ones(size(mic2.PolarPatternAngles))]);

Создайте неоднородный ULA.

array = phased.HeterogeneousULA(...
    'ElementSet',{mic1,mic2},...
    'ElementIndices',[1 1 2 2 2 1 1]);

Найдите ответ массивов в азимуте на 50 ° и на 40 °.

fc = [1500, 2000];
ang = [40 50; 0 0];
resp = array(fc,ang)
resp = 
resp(:,:,1) =

    9.0642    8.5712
    9.0642    8.5712
   10.0000   10.0000
   10.0000   10.0000
   10.0000   10.0000
    9.0642    8.5712
    9.0642    8.5712


resp(:,:,2) =

    9.0642    8.5712
    9.0642    8.5712
   10.0000   10.0000
   10.0000   10.0000
   10.0000   10.0000
    9.0642    8.5712
    9.0642    8.5712

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

|