step

Системный объект: поэтапный. 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

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

|

Для просмотра документации необходимо авторизоваться на сайте