polarpattern class

Интерактивный график диаграмм направленности излучения в полярном формате

Описание

polarpattern класс строит графики антенны или массива диаграмм направленности излучения в интерактивном полярном формате. Можно также построить график других типов полярных данных. Используйте эти графики, когда требуется интерактивная визуализация данных или измерение. Щелкните правой кнопкой мыши Polar Measurement окно, чтобы изменить свойства, изменить масштаб или добавить дополнительные данные к графику.

Конструкция

polarpattern Графики антенну или массив диаграмм направленности излучения и другие типы данных в полярном формате. polarpattern строит графики полевых данных диаграмм направленности излучения для визуализации и измерения. Щелкните правой кнопкой мыши полярный график для взаимодействия.

пример

polarpattern(data) создает полярный график со значениями величин в векторе d. На этом полярном графике углы равномерно распределены по модулю кругу, начиная с 0 степени.

пример

polarpattern(angle,magnitude) создает полярный график из множества векторов угла и соответствующих величин. Можно также создать полярные графики из нескольких множеств для векторов угла и соответствующих множеств величин с помощью синтаксиса: polarpattern(angle1, magnitude1, angle2, magnitude2...).

p = polarpattern(___) возвращает указатель на объект, который можно использовать для настройки графика или добавления измерений. Можно задать любой из аргументов из предыдущих синтаксисов.

p = polarpattern('gco') возвращает указатель на объект из полярного шаблона на текущей фигуре.

пример

polarpattern(___,Name,Value) создает полярный график с дополнительными свойствами, заданными одним или несколькими аргументами пары "имя-значение". Name - имя свойства и Value - соответствующее значение свойства. Можно задать несколько аргументы пары "имя-значение" в любом порядке как Name1, Value1, ..., NameN, ValueN. Не заданные свойства сохраняют значения по умолчанию. Список всех свойств Name,Value пары, использование details(p). Список всех свойств Name,Value пары, использование details(p). Можно использовать свойства, чтобы извлечь любые данные из диаграммы направленности излучения с полярного графика. Для примера, p = polarpattern(data,'Peaks',3) определяет и отображает три самых высоких peaks в данных шаблона.

Список свойств см. в разделе Свойства PolarPattern.

polarpattern(ax,___) создает полярный график с помощью указателя на оси, ax вместо указателя на текущую систему координат.

Входные параметры

расширить все

Данные антенны или массивы, заданные как одно из следующего:

  • Действительный вектор M длины, где M содержит значения величины с углами, принятыми как (0:M1)M×360 степени.

  • Матрица M -by - N, где M содержит значения величины и N содержит независимые наборы данных. Каждый столбец матрицы имеет углы, взятые из вектора(0:M1)M×360 степени.

  • Массив N-D, где N - количество размерностей. Массивы с размерностями 2 и больше являются независимыми наборами данных.

  • Комплексный вектор или матрица, где data содержит Декартовы координаты (x, y) каждой точки. x содержит вещественный (data) и y содержит мнимое (data).

Когда данные находятся в логарифмической форме, такой как дБ, значения величины могут быть отрицательными. В этом случае polarpattern строит графики наименьших значений величин в источник полярного графика и наибольших значений величин в максимальном радиусе.

Набор углов, заданный в виде вектора в степенях.

Набор значений величины, заданный в виде вектора или матрицы. Для матрицы значений величины каждый столбец является независимым набором значений величины и соответствует одному и тому же набору углов.

Методы

addДобавьте данные к существующему полярному графику
addCursorДобавьте курсор к полярному углу графика
animateЗамените существующие данные новыми данными для анимации
createLabelsСоздание меток легенды
findLobesОсновные, задние и боковые данные
replaceЗамените существующие данные новыми данными на полярном графике
showPeaksTableПоказать или скрыть таблицу пиковых маркеров
showSpanПоказать или скрыть диапазон углов между двумя маркерами

Примеры

свернуть все

Создайте антенну Вивальди по умолчанию и вычислите направленность на 1,5 ГГц.

v = vivaldi;
V = pattern(v,1.5e9,0,0:1:360);

Постройте график полярного шаблона вычисленной направленности.

P = polarpattern(V);

Создайте антенну полости по умолчанию. Вычислите направленность антенны и запишите данные в cavity.pln использование msiwrite функция.

c = cavity;
msiwrite(c,2.8e9,'cavity','Name','Cavity Antenna Specifications');

Считайте файл спецификаций полости в Horizontal, Vertical, и Optional структуры, использующие msiread функция.

[Horizontal,Vertical,Optional] = msiread('cavity.pln')
Horizontal = struct with fields:
    PhysicalQuantity: 'Gain'
           Magnitude: [360x1 double]
               Units: 'dBi'
             Azimuth: [360x1 double]
           Elevation: 0
           Frequency: 2.8000e+09
               Slice: 'Elevation'

Vertical = struct with fields:
    PhysicalQuantity: 'Gain'
           Magnitude: [360x1 double]
               Units: 'dBi'
             Azimuth: 0
           Elevation: [360x1 double]
           Frequency: 2.8000e+09
               Slice: 'Azimuth'

Optional = struct with fields:
         name: 'Cavity Antenna Specifications'
    frequency: 2.8000e+09
         gain: [1x1 struct]

Постройте график полярного шаблона полости под азимутальными углами.

P = polarpattern(Horizontal.Azimuth,Horizontal.Magnitude);

Создайте монополярную антенну по умолчанию и вычислите направленность на 75 МГц.

m = monopole;
M = pattern(m,75e6,0,0:1:360);

Постройте график полярного шаблона антенны.

P = polarpattern(M,'TitleTop','Polar Pattern of Monopole');

Создайте дипольную антенну по умолчанию и вычислите направленность на 75 МГц.

d = dipole;
D = pattern(d,75e6,0,0:1:360);

Постройте график полярного шаблона антенны и отобразите свойства графика.

P = polarpattern(D);

details(P)
  internal.polari handle with properties:

                      Interactive: 1
                     LegendLabels: ''
                   AntennaMetrics: 0
                        CleanData: 1
                        AngleData: [361x1 double]
                    MagnitudeData: [361x1 double]
                    IntensityData: []
                     AngleMarkers: [0x1 struct]
                    CursorMarkers: [0x1 struct]
                      PeakMarkers: [0x1 struct]
                    ActiveDataset: 1
                  AngleLimVisible: 0
                    LegendVisible: 0
                             Span: 0
                         TitleTop: ''
                      TitleBottom: ''
                            Peaks: []
                         FontSize: 10
                     MagnitudeLim: [-50 10]
               MagnitudeAxisAngle: 75
                    MagnitudeTick: [-40 -20 0]
          MagnitudeTickLabelColor: 'k'
                         AngleLim: [0 360]
                   AngleTickLabel: {1x24 cell}
              AngleTickLabelColor: 'k'
       TitleTopFontSizeMultiplier: 1.1000
    TitleBottomFontSizeMultiplier: 0.9000
               TitleTopFontWeight: 'bold'
            TitleBottomFontWeight: 'normal'
          TitleTopTextInterpreter: 'none'
       TitleBottomTextInterpreter: 'none'
                   TitleTopOffset: 0.1500
                TitleBottomOffset: 0.1500
                         ToolTips: 1
               MagnitudeLimBounds: [-Inf Inf]
      MagnitudeFontSizeMultiplier: 0.9000
          AngleFontSizeMultiplier: 1
                       AngleAtTop: 90
                   AngleDirection: 'ccw'
                  AngleResolution: 15
           AngleTickLabelRotation: 0
             AngleTickLabelFormat: '360'
          AngleTickLabelColorMode: 'contrast'
                     PeaksOptions: {}
            AngleTickLabelVisible: 1
                            Style: 'line'
                        DataUnits: 'dB'
                     DisplayUnits: 'dB'
                    NormalizeData: 0
                 ConnectEndpoints: 0
              DisconnectAngleGaps: 0
                        EdgeColor: 'k'
                        LineStyle: '-'
                        LineWidth: 1
                         FontName: 'Helvetica'
                     FontSizeMode: 'auto'
              GridForegroundColor: [0.8000 0.8000 0.8000]
              GridBackgroundColor: 'w'
                 DrawGridToOrigin: 0
                     GridOverData: 0
               GridAutoRefinement: 0
                        GridWidth: 0.5000
                      GridVisible: 1
                         ClipData: 1
                  TemporaryCursor: 1
                 MagnitudeLimMode: 'auto'
           MagnitudeAxisAngleMode: 'auto'
                MagnitudeTickMode: 'auto'
      MagnitudeTickLabelColorMode: 'contrast'
        MagnitudeTickLabelVisible: 1
                   MagnitudeUnits: ''
                   IntensityUnits: ''
                           Marker: 'none'
                       MarkerSize: 6
                           Parent: [1x1 Figure]
                         NextPlot: 'replace'
                       ColorOrder: [7x3 double]
                  ColorOrderIndex: 1
                     SectorsColor: [16x3 double]
                     SectorsAlpha: 0.5000
                             View: 'full'
                    ZeroAngleLine: 0

Использование Clean Data в Antenna Metrics чтобы удалить значения -inf и NaN в монополярном антенном полярном шаблоне. Рекомендуется использовать Clean Data для частичных данных со значениями -inf и NaN.

m = monopole; 
m.GroundPlaneLength = inf;

Постройте график ширины луча антенны на частоте 70 МГц.

figure;
beamwidth(m,70e6,0,-50:30)

Figure contains an object of type uicontrol.

Постройте график диаграммы антенны на частоте 70 МГц.

figure;
pattern(m,70e6,0,-50:30);

Использование polarpattern чтобы просмотреть метрики антенны диаграммы направленности излучения.

P = polarpattern('gco');
P.AntennaMetrics = 1;

Figure contains objects of type uicontrol.

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

Использование Clean Data для очистки значений -inf и NaN.

После использования Clean DataВы видите, что вычисление полярпаттерна луча совпадает с вычислением графика луча.

Введенный в R2016a