Излучение сигнала

Поддержка моделирования излучения сигнала

Можно использовать phased.Radiator и phased.Collector объекты смоделировать узкополосную связь сигнализируют об излучении и наборе с массивом. Массив может быть одним микрофоном или антенным элементом или массивом элементов датчика.

Чтобы излучить сигнал от сенсорной матрицы, используйте phased.Radiator. Когда вы используете этот объект, необходимо задать эти аспекты теплоотвода:

  • Объединен ли выход всех элементов датчика

  • Рабочая частота массива

  • Скорость распространения волны

  • Датчик (один элемент) или сенсорная матрица

  • Применить ли веса к сигналам, излученным различными элементами в массиве. Вы применяете веса, когда вы выполняете Систему object™.

Излучите сигнал с универсальной линейной матрицей

Создайте теплоотвод с помощью двухэлементного ULA с элементами, расположенными с интервалами на расстоянии в 0,5 метра (ULA по умолчанию). Рабочая частота составляет 300 МГц, скорость распространения является скоростью света и элементом, выходные параметры объединены, чтобы симулировать далекую полевую диаграмму направленности.

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

array = phased.ULA('NumElements',2,'ElementSpacing',0.5);
radiator = phased.Radiator('Sensor',array,...
    'OperatingFrequency',300e6,...
    'PropagationSpeed',physconst('LightSpeed'),...
    'CombineRadiatedSignals',true);

Создайте сигнал излучить и распространить к далекому полю под углом (45 °, 0 °).

x = [1 -1 1 -1]';
y = radiator(x,[45;0]);

Далекое поле сигнализирует о результатах умножения сигнала шаблоном массивов. Шаблон массивов является продуктом шаблона элемента массива и фактора массивов. Для универсальной линейной матрицы фактором массивов является суперпозиция элементов в держащемся векторном phased.SteeringVector.

Следующий код производит идентичный сигнал далекого поля путем явного использования фактора массивов.

array = phased.ULA('NumElements',2,'ElementSpacing',0.5);
steervec = phased.SteeringVector('SensorArray',array,...
    'IncludeElementResponse',true);
sv = steervec(300e6,[45;0]);
y1 = x*sum(sv);

Сравните y1 с y.

disp(y1-y)
     0
     0
     0
     0