exponenta event banner

класс polarpattern

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

Описание

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) идентифицирует и отображает три максимальных пика в данных шаблона.

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

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

Входные аргументы

развернуть все

Данные антенны или решетки, указанные как одно из следующих значений:

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

  • Вещественная матрица M-на-N, где M содержит значения величин, а N содержит независимые наборы данных. Каждый столбец в матрице имеет углы, взятые из вектора (0: M 1) 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