В этом примере показано, как реконструировать 3D картину излучения с помощью функции patternStartSlices. 3D диаграмма направленности является очень важным инструментом для анализа, определения характеристик, проектирования, планирования и применения антенн. В этом примере показана реконструкция 3-D излучения из 2 ортогональных срезов. Будет рассмотрена реконструкция диаграммы направленности для всространенной и направленной антенны.
Определите всространенную антенну, такую как диполь с определенной частотой и требуемым углом возвышения и азимута.
ant = dipole; freq = 70e6; ele = -90:5:90; azi = -180:1:180;
Фрагмент располагается в вертикальном направлении с использованием функции «Массив» «Отметка». Здесь мы также можем дать другие 2-D данные шаблона.
vertSlice = patternElevation(ant,freq,0,'Elevation',ele);
theta = 90 - ele;
Два ортогональных среза также могут быть визуализированы.
figure; patternElevation(ant,freq,0,'Elevation',ele); figure; patternAzimuth(ant,freq,0,'Azimuth',azi);


Для всенаправленной антенны мы можем реконструировать 3-D диаграмму, используя только vertSlice. Когда предоставляются только данные диаграммы высот, функция предполагает всенаправленность антенны с симметрией вокруг оси z (то есть азимутальную симметрию).
patternFromSlices(vertSlice,theta);

Реконструкция с использованием обеих точек данных vertSlice и horizoSlice также может быть выполнена для вышеупомянутого случая. Восстановленный шаблон не будет изменяться. Таким образом, для любой всенаправленной антенны 3-D диаграмма направленности может быть восстановлена с достаточным количеством точек данных из ортогональных срезов вдоль тета-направления. Восстановленная картина излучения выглядит как 3-D картина излучения, которая может быть получена с использованием функции картины.
Отбрасывание точек данных во время реконструкции 3-D шаблона происходит, когда обе точки данных проходят через 360 градусов в 2-D плоскости. Поскольку алгоритм требует максимального диапазона 360 градусов в одной плоскости и диапазона 180 градусов в другой плоскости, дополнительные точки данных отбрасываются.
vertSlice = patternElevation(ant,freq); theta = 90 - (-180:1:180);
Размер pat3-D не будет равен длине (phi) * length (theta) в этом случае. Размер thetaout также отличается от размера theta. Кроме того, данные thetaout будут показывать значения, для которых точки данных были рассмотрены во время реконструкции.
[pat3D,thetaout]=patternFromSlices(vertSlice,theta); dim_theta = size(thetaout); disp(dim_theta);
1 181
3-D картина излучения не будет затронута отбрасыванием данных, так как будет достаточно точек данных вдоль обеих ортогональных плоскостей для восстановления 3-D картины. Этот результат будет таким же, как у вышеописанной реконструированной 3-D диаграммы направленности.
patternFromSlices(vertSlice,theta);

Определите направленную антенну, например спираль, с определенной частотой и значениями углов возвышения и азимута.
ant_dir = helix('Tilt',90,'TiltAxis',[0 1 0]); freq = 2e9; ele = -90:5:90; azi = -180:5:180;
Разрез вдоль вертикального направления с использованием функции «Массив» «Отметка».
vertSlice = patternElevation(ant_dir,freq,0,'Elevation',ele);
theta = 90 - ele;
Срез вдоль горизонтального направления с помощью функции узОр (pattern) Азимут (Azimuth).
horizSlice = patternAzimuth(ant_dir,freq,0,'Azimuth',azi);
phi = azi ;
Два ортогональных среза также могут быть визуализированы.
figure; patternElevation(ant_dir,freq,0,'Elevation',ele); figure; patternAzimuth(ant_dir,freq,0,'Azimuth',azi);


Для направленной диаграммы направленности необходимо предусмотреть как горизонтальный, так и вертикальный срез для точной реконструкции диаграммы направленности. Два отдельных алгоритма реализованы для реконструкции шаблона и будут рассмотрены оба ниже.
«Классический» алгоритм суммирования является методом по умолчанию. Этот алгоритм может быть использован для почти совершенной реконструкции всространенных антенн, чем для направленной антенны.
patternFromSlices(vertSlice,theta,horizSlice,phi);

В этом алгоритме параметр нормализации может быть изменен для получения различных результатов для реконструированного шаблона относительно оцененной направленности/усиления.
patternFromSlices(vertSlice,theta,horizSlice,phi,'Method','CrossWeighted');

Первоначально 3-D диаграмму направленности с использованием функции диаграммы направленности для спирали
figure; pattern(ant_dir,freq);
0

От сравнения вышеупомянутого 3D радиационного образца, используя образец функционируют и восстановленный 3D образец, ясно, что передний самолет 3D образца восстановлен хорошо по сравнению с объединительной платой его. Кроме того, когда реконструкция, выполненная с использованием метода CrossWeighted, является более точной, чем метод суммирования для этого случая.
Изготовители антенн обычно предоставляют детали антенн, которые они поставляют вместе с двумя ортогональными срезами диаграммы направленности. Данные шаблона доступны в различных форматах. Одним из таких форматов, поддерживаемых в панели инструментов антенны, является формат файла MSI (расширение .msi или .pln). Используйте функцию msiread для считывания данных в рабочую область.
[Horizontal,Vertical,Optional] = msiread('Test_file_demo.pln');
if strcmpi(Optional.gain.unit,'dBd') Horizontal.Magnitude = Horizontal.Magnitude + 2; Vertical.Magnitude = Vertical.Magnitude + 2; end
Визуализация данных усиления по вертикали и горизонтали на интерактивном 2-D полярном графике.
figure P = polarpattern(Vertical.Elevation, Vertical.Magnitude); P.TitleTop = 'MSI Planet file data'; createLabels(P,'az=0#deg'); figure Pel = polarpattern(Horizontal.Azimuth, Horizontal.Magnitude); Pel.TitleTop = 'MSI Planet file data'; createLabels(Pel,'el=0#deg');


Извлеките данные о величине среза образца из двух выходных структур, а также данные по азимуту и углу места. Обратите внимание, что данные угла должны быть скорректированы для соглашения phi-theta. Азимутальные углы соответствуют фи, но угол возвышения регулируется на 90 градусов для отображения в тета.
vertSlice = Vertical.Magnitude; theta = 90-Vertical.Elevation; horizSlice = Horizontal.Magnitude; phi = Horizontal.Azimuth; patternFromSlices(vertSlice,theta,horizSlice,phi,'Method','CrossWeighted');
