phased.CustomAntennaElement
объект позволяет вам смоделировать пользовательский элемент антенны. Когда вы используете phased.CustomAntennaElement
, необходимо задать эти аспекты антенны:
Операционный вектор частоты для элемента антенны
Частотная характеристика элемента на частотах в операционном векторе частоты
Углы азимута и углы вертикального изменения, где пользовательский ответ оценен
Диаграмма направленности величины. Этот шаблон показывает пространственный ответ антенны в азимуте и углах вертикального изменения, которые вы задаете.
Можно импортировать диаграмму направленности, которая использует u/v координаты или φ/θ углы вместо углов азимута/вертикального изменения. Использовать такой шаблон с phased.CustomAntennaElement
, сначала преобразуйте свой шаблон в форму азимута/вертикального изменения. Используйте uv2azelpat
или phitheta2azelpat
сделать преобразование. Для примера смотрите Анализ Антенной решетки с Пользовательской Диаграммой направленности.
Для вашего пользовательского элемента антенны ответ антенны зависит от частотной характеристики и диаграммы направленности. А именно, частота и пространственные ответы интерполированы отдельно с помощью интерполяции ближайшего соседа и затем умножены вместе, чтобы произвести общий ответ. Чтобы избежать ошибок интерполяции, область значений углов азимута должна включать +/– 180 градусов, и область значений углов вертикального изменения должна включать +/– 90 градусов.
Создайте пользовательский объект элемента антенны. Диаграмма направленности имеет зависимость косинуса от угла вертикального изменения, но независима от угла азимута.
az = -180:90:180; el = -90:45:90; elresp = cosd(el); magpattern = mag2db(repmat(elresp',1,numel(az))); phasepattern = zeros(size(magpattern)); antenna = phased.CustomAntennaElement('AzimuthAngles',az,... 'ElevationAngles',el,'MagnitudePattern',magpattern, ... 'PhasePattern',phasepattern);
Отобразите диаграмму направленности.
disp(antenna.MagnitudePattern)
-Inf -Inf -Inf -Inf -Inf -3.0103 -3.0103 -3.0103 -3.0103 -3.0103 0 0 0 0 0 -3.0103 -3.0103 -3.0103 -3.0103 -3.0103 -Inf -Inf -Inf -Inf -Inf
Вычислите ответ антенны в парах вертикального изменения азимута (-30,0) и (-45,0) на уровне 500 МГц.
ang = [-30 0; -45 0]; resp = antenna(500.0e6,ang); disp(resp)
0.7071 1.0000
Следующий код иллюстрирует, как интерполяция ближайшего соседа используется, чтобы найти ответ напряжения антенны в этих двух направлениях. Общий ответ является продуктом углового ответа и частотной характеристики.
g = interp2(deg2rad(antenna.AzimuthAngles),... deg2rad(antenna.ElevationAngles),... db2mag(antenna.MagnitudePattern),... deg2rad(ang(1,:))', deg2rad(ang(2,:))','nearest',0); h = interp1(antenna.FrequencyVector,... db2mag(antenna.FrequencyResponse),500e6,'nearest',0); antresp = h.*g;
Сравните значение antresp
к ответу антенны.
disp(mag2db(antresp))
-3.0103 0