В этом примере показано, как восстановить 3D диаграмму направленности с помощью patternFromSlices функцию. 3D диаграмма направленности является очень важным инструментом для анализа антенны, характеристики, проекта, планирования и приложений. Этот пример покажет реконструкцию 3-D излучения от 2 ортогональных срезов. Реконструкция шаблона для всенаправленной и направленной антенны будет рассмотрена.
Задайте всенаправленную антенну, такую как диполь с определенной частотой и требуемым вертикальным изменением и углом азимута.
ant = dipole; freq = 70e6; ele = -90:5:90; azi = -180:1:180;
Срез приезжает вертикальное направление с помощью patternElevation функцию. Здесь мы можем дать другие 2D данные о шаблоне также.
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 один. Когда только данные о шаблоне вертикального изменения обеспечиваются, функция принимает omnidirectionality антенны с симметрией об оси z (т.е. азимутальной симметрией).
patternFromSlices(vertSlice,theta);
Реконструкция с помощью обоих vertSlice & horizSlice точки данных может также быть сделана для вышеупомянутого случая. Восстановленный шаблон не будет варьироваться. Таким образом для любой всенаправленной антенны 3-D шаблон может быть восстановлен с достаточными точками данных от ортогональных срезов вдоль направления теты. Восстановленная диаграмма направленности похожа на 3-D диаграмму направленности, которая может быть получена с помощью функции шаблона.
Отбрасывание точек данных во время реконструкции 3-D шаблона происходит, когда обе точки данных охватывают через 360 градусов в области 2D плоскости. Начиная с алгоритма нуждаются в максимальном промежутке 360 степеней в области одной плоскости и промежутке 180 степеней в области другой плоскости, дополнительные точки данных отбрасываются.
vertSlice = patternElevation(ant,freq); theta = 90 - (-180:1:180);
Размерность pat3-D не будет равна длине (phi) *length (тета) в этом случае. Размер thetaout также варьируется от той из размерности теты. Кроме того, 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;
Срез вдоль вертикального направления с помощью patternElevation функцию.
vertSlice = patternElevation(ant_dir,freq,0,'Elevation',ele);
theta = 90 - ele;
Срез вдоль горизонтального направления с помощью patternAzimuth функцию.
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);
От сравнения вышеупомянутой 3-D диаграммы направленности с помощью шаблона функционируют и восстановленный 3-D шаблон, ясно, что передняя плоскость 3-D шаблона восстановлена хорошо по сравнению с объединительной платой его. Кроме того, когда реконструкция, сделанная с помощью метода CrossWeighted, более точна затем метод подведения итогов для этого случая.
Производители антенны обычно предоставляют подробную информацию антенн, которые они предоставляют вместе с двумя ортогональными срезами диаграммы направленности. Данные о шаблоне доступны во множестве форматов. Один такой формат, который поддерживается в Antenna Toolbox, является форматом файла 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
Визуализируйте вертикальные и горизонтальные данные об усилении в интерактивном 2D полярном графике.
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');
Извлеките данные о величине среза шаблона из этих двух структур output, а также азимута и угловые данные о вертикальном изменении. Обратите внимание на то, что угловые данные должны быть настроены для соглашения phi-теты. Углы азимута сопоставляют с phi, но угол вертикального изменения настроен 90 градусами, чтобы сопоставить с тетой.
vertSlice = Vertical.Magnitude; theta = 90-Vertical.Elevation; horizSlice = Horizontal.Magnitude; phi = Horizontal.Azimuth; patternFromSlices(vertSlice,theta,horizSlice,phi,'Method','CrossWeighted');