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 Properties.

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Покажите или скройте угловой промежуток между двумя маркерами

Примеры

свернуть все

Создайте антенну Vivaldi по умолчанию и вычислите направленность на уровне 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: 13
                     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)

Постройте диаграмму направленности антенны на уровне 70 МГц.

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

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

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

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

Используйте Clean Data убрать-inf и значения NaN.

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

Введенный в R2016a