exponenta event banner

Указать или импортировать данные компонента

Свойства РЧ-объекта

Свойства объекта определяют поведение объекта. Можно указать свойства объекта или импортировать их из файла данных. Сведения о свойствах, характерных для определенного типа цепи, данных или объекта модели, см. на странице ссылок для данного типа объекта.

Примечание

В разделах RF Circuit Objects, RF Data Objects, RF Model Objects перечислены доступные типы объектов и представлены ссылки на их страницы ссылок.

Задать значения свойств

Можно задать значения свойств объекта при его построении или изменить значения свойств существующего объекта.

Этот раздел содержит следующие разделы:

Задание значений свойств при построении

Чтобы задать свойство при построении объекта, включите разделенный запятыми список одной или нескольких пар свойство/значение в список аргументов команды построения объекта. Пара свойство/значение состоит из аргументов 'PropertyName',PropertyValue, где:

  • PropertyName является вектором символов, указывающим имя свойства. Имя не учитывает регистр. Кроме того, необходимо ввести только достаточное количество букв для однозначной идентификации имени свойства. Например, 'st' достаточно для ссылки на StubMode собственность.

    Примечание

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

  • PropertyValue - значение, присваиваемое свойству.

Включите в список аргументов столько имен свойств, сколько необходимо задать свойств. Любые значения свойств, которые не заданы, сохраняют свои значения по умолчанию. На страницах ссылок на цепи и объекты данных перечислены допустимые значения, а также значения по умолчанию для каждого свойства.

В этом разделе приведены примеры выполнения следующих задач:

«Создать компоненты с заданными свойствами».  Следующий код создает объект схемы коаксиальной линии передачи для представления коаксиальной линии передачи длиной 0,05 метра. Обратите внимание, что на панели инструментов перечислены доступные свойства и их значения.

t1 = rfckt.coaxial('LineLength',0.05)

t1 =
 
              Name: 'Coaxial Transmission Line'
             nPort: 2
    AnalyzedResult: []
        LineLength: 0.0500
          StubMode: 'NotAStub'
       Termination: 'NotApplicable'
       OuterRadius: 0.0026
       InnerRadius: 7.2500e-004
               MuR: 1
          EpsilonR: 2.3000
         LossTangent: 0
         SigmaCond: Inf

Создание сетей из указанных компонентов.  Чтобы объединить набор радиочастотных компонентов и существующие сети для формирования радиочастотной сети, создайте сетевой объект с помощью Ckts свойство установлено в массив, содержащий дескрипторы всех объектов цепи в сети.

Предположим, что имеются следующие радиочастотные компоненты:

t1 = rfckt.coaxial('LineLength',0.05);
a1 = rfckt.amplifier;
t2 = rfckt.coaxial('LineLength',0.1);

Следующий код создает каскадную сеть из этих компонентов:

casc_network = rfckt.cascade('Ckts',{t1,a1,t2});

Изменение значений свойств существующего объекта

Существует два способа изменения свойств существующего объекта:

  • Использование set команда

  • Использование структурно-подобных назначений, называемых точечной нотацией

В этом разделе рассматривается первый вариант. Дополнительные сведения о второй опции см. в разделе Свойства ссылки непосредственно с помощью точечных обозначений.

Для изменения свойств существующего объекта используйте set с одной или несколькими парами свойство/значение в списке аргументов. Общий синтаксис команды:

set(h,Property1',value1,'Property2',value2,...)

где

  • h является дескриптором объекта.

  • 'Property1',value1,'Property2',value2,... - список пар свойство/значение.

Например, следующий код создает объект коаксиальной линии передачи по умолчанию и изменяет его на последовательный шлейф с открытым окончанием.

t1 = rfckt.coaxial;
set(t1,'StubMode','series','Termination','open')

Примечание

Вы можете использовать set без указания пар свойства/значения для отображения списка всех свойств, которые можно задать для определенного объекта. В этом примере перечислены свойства, которые можно задать для коаксиальной линии передачи. t1:

set(t1)

ans = 
     LineLength: {}
       StubMode: {}
    Termination: {}
    OuterRadius: {}
    InnerRadius: {}
            MuR: {}
       EpsilonR: {}
      LossTangent: {}
      SigmaCond: {}

Импорт значений свойств из файлов данных

Программное обеспечение RF Toolbox™ позволяет импортировать стандартные для отрасли файлы данных, файлы MathWorks ® AMP и Agilent ® P2D и S2D в определенные объекты. Эта возможность импорта позволяет моделировать поведение измеряемых компонентов.

Можно импортировать следующие форматы файлов:

  • Стандартные форматы файлов - форматы Touchstone SNP, YNP, ZNP, HNP и GNP определяют параметры сети и информацию о шуме для измеряемых и моделируемых данных.

    Дополнительные сведения о файлах Touchstone см. в разделе https://ibis.org/connector/touchstone_spec11.pdf.

  • Формат файла Agilent P2D - определяет усилители и смесители с большим сигналом, параметры сети, зависящие от мощности, шумовые данные и таблицы интермодуляций для нескольких рабочих условий, таких как температура и значения смещения.

    Формат файла P2D позволяет импортировать модели проверки на уровне системы усилителей и смесителей.

  • Формат файла Agilent S2D - определяет параметры сети усилителя и смесителя со сжатием коэффициента усиления, зависящие от мощности параметры S21, шумовые данные и таблицы интермодуляции для нескольких рабочих условий.

    Формат файла S2D позволяет импортировать модели проверки на уровне системы усилителей и смесителей.

  • Формат файла усилителя MathWorks (AMP) - определяет параметры сети усилителя, выходную мощность в зависимости от входной мощности, шумовые данные и точку перехвата третьего порядка.

    Для получения дополнительной информации о .amp см. разделы «Данные AMP-файла».

Этот раздел содержит следующие разделы:

Объекты, используемые для импорта данных из файла

Один объект данных и три объекта цепи принимают данные из файла. В следующей таблице перечислены объекты и любой соответствующий формат данных, поддерживаемый каждым из них.

ОбъектОписаниеПоддерживаемые форматы
rfdata.dataОбъект данных, содержащий данные параметров сети, показатель шума и точку перехвата третьего порядкаСенсорный камень, AMP, P2D, S2D
rfckt.amplifierУсилительСенсорный камень, AMP, P2D, S2D
rfckt.mixerМиксерСенсорный камень, AMP, P2D, S2D
rfckt.passiveОбщий пассивный компонентПробный камень

Импорт файлов данных

Для импорта файловых данных в цепь или объект данных при построении используйте read команда формы:

obj = read(obj_type,'filename');

где

Например,

ckt_obj=read(rfckt.amplifier, 'default.amp');

импортирует данные из файла default.amp в rfckt.amplifier объект.

Можно также импортировать данные файла в существующий объект цепи. Следующие команды эквивалентны предыдущей команде:

ckt_obj=rfckt.amplifier;
read(ckt_obj, 'default.amp');

Примечание

При импорте данных компонента из .p2d или .s2d , свойства определяются для нескольких рабочих условий. Необходимо выбрать рабочее условие, чтобы задать поведение объекта, как описано в разделе Указание рабочих условий.

Использование объектов данных для задания свойств цепи

Чтобы задать свойство объекта цепи с помощью объекта данных, используйте команду set с именем объекта данных в качестве значения в паре свойство/значение.

Например, предположим, что имеется следующее: rfckt.amplifier и rfdata.nf объекты:

amp = rfckt.amplifier
f = 2.0e9;
nf = 13.3244;
nfdata = rfdata.nf('Freq',f,'Data',nf)

Следующая команда использует rfdata.nf объект данных для указания rfckt.amplifier NoiseData свойство:

set(amp,'NoiseData',nfdata)

Задание свойств объекта цепи с помощью объектов данных

В этом примере создается объект цепи. Затем создаются три объекта данных, которые используются для обновления свойств объекта цепи.

  1. Создайте объект усилителя. Этот объект цепи, rfckt.amplifier, имеет сетевой параметр, шумовые данные и нелинейные свойства данных. Эти свойства управляют частотной характеристикой усилителя, который хранится в AnalyzedResult собственность. По умолчанию все свойства усилителя содержат значения из default.amp файл. NetworkData свойство является rfdata.network объект, содержащий S-параметры 50 Ом. NoiseData свойство является rfdata.noise объект, содержащий частотно-зависимые данные точечного шума. NonlinearData свойство является rfdata.power объект, содержащий выходную мощность и фазовую информацию.

    amp = rfckt.amplifier
    

    На панели инструментов отображаются следующие выходные данные:

    amp =
     
                  Name: 'Amplifier'
                 nPort: 2
        AnalyzedResult: [1x1 rfdata.data]
              IntpType: 'Linear'
           NetworkData: [1x1 rfdata.network]
             NoiseData: [1x1 rfdata.noise]
         NonlinearData: [1x1 rfdata.power]
    
  2. Создайте объект данных, хранящий сетевые данные. Введите следующий набор команд в подсказке MATLAB ® для создания rfdata.network объект, хранящий 2-портовые Y-параметры с частотой 2,08 ГГц, 2,10 ГГц и 2,15 ГГц. Далее в этом примере этот объект данных используется для обновления NetworkData имущества rfckt.amplifier объект.

    f = [2.08 2.10 2.15]*1.0e9;
    y(:,:,1) = [-.0090-.0104i, .0013+.0018i; ...
                              -.2947+.2961i, .0252+.0075i];
    y(:,:,2) = [-.0086-.0047i, .0014+.0019i; ...
                              -.3047+.3083i, .0251+.0086i];
    y(:,:,3) = [-.0051+.0130i, .0017+.0020i; ...
                              -.3335+.3861i, .0282+.0110i];
    
    netdata = rfdata.network('Type','Y_PARAMETERS',...
                             'Freq',f,'Data',y)
    

    На панели инструментов отображаются следующие выходные данные:

    netdata =
     
        Name: 'Network parameters'
        Type: 'Y_PARAMETERS'
        Freq: [3x1 double]
        Data: [2x2x3 double]
          Z0: 50
    
  3. Создайте объект данных, в котором хранятся значения шумовых фигур. Введите следующий набор команд в подсказке MATLAB для создания rfdata.nf объект, содержащий значения шумовых фигур, в дБ, на семи различных частотах. Далее в этом примере этот объект данных используется для обновления NoiseData имущества rfckt.amplifier объект.

    f = [1.93 2.06 2.08 2.10 2.15 2.30 2.40]*1.0e9;
    nf=[12.4521 13.2466 13.6853 14.0612 13.4111 12.9499 13.3244];
    
    nfdata = rfdata.nf('Freq',f,'Data',nf)
    

    На панели инструментов отображаются следующие выходные данные:

    nfdata =
     
        Name: 'Noise figure'
        Freq: [7x1 double]
        Data: [7x1 double]
    
  4. Создайте объект данных, в котором хранятся выходные точки перехвата третьего порядка. Введите следующую команду в подсказке MATLAB для создания rfdata.ip3 объект, содержащий выходную точку перехвата третьего порядка 8,45 Вт при 2,1 ГГц. Далее в этом примере этот объект данных используется для обновления NonlinearData имущества rfckt.amplifier объект.

    ip3data = rfdata.ip3('Type','OIP3','Freq',2.1e9,'Data',8.45)
    

    На панели инструментов отображаются следующие выходные данные:

    ip3data =
     
        Name: '3rd order intercept'
        Type: 'OIP3'
        Freq: 2.1000e+009
        Data: 8.4500
    
  5. Обновите свойства объекта усилителя. Введите следующий набор команд в подсказке MATLAB для обновления NetworkData, NoiseData, и NonlinearData свойства объекта усилителя с объектами данных, созданными на предыдущих шагах:

    amp.NetworkData = netdata;
    amp.NoiseData = nfdata;
    amp.NonlinearData = ip3data;
    

Получение значений свойств

Можно получить одно или несколько значений свойств существующего объекта с помощью get команда.

Этот раздел содержит следующие разделы:

Получение значений указанного свойства

Чтобы получить определенные значения свойств для объекта, используйте get со следующим синтаксисом:

PropertyValue = get(h,PropertyName)

где

  • PropertyValue - значение, назначенное свойству.

  • h является дескриптором объекта.

  • PropertyName является вектором символов, указывающим имя свойства.

Например, предположим, что имеется следующая коаксиальная линия передачи:

h2 = rfckt.coaxial;

Следующий код извлекает значение внутреннего радиуса и внешнего радиуса для коаксиальной линии передачи:

ir = get(h2,'InnerRadius')
or = get(h2,'OuterRadius')

ir =
  7.2500e-004

or =
    0.0026

Получение всех значений свойств

Чтобы отобразить список свойств, связанных с определенным объектом, а также их текущие значения, используйте get без указания имени свойства.

Например:

get(h2)
              Name: 'Coaxial Transmission Line'
             nPort: 2
    AnalyzedResult: []
        LineLength: 0.0100
          StubMode: 'NotAStub'
       Termination: 'NotApplicable'
       OuterRadius: 0.0026
       InnerRadius: 7.2500e-004
               MuR: 1
          EpsilonR: 2.3000
       LossTangent: 0
         SigmaCond: Inf

Примечание

Этот список включает свойства, доступные только для чтения, которые не отображаются при вводе set(h2). Для коаксиального объекта линии передачи свойства только для чтения: Name, nPort, и AnalyzedResult. Name и nPort свойства фиксируются панелью инструментов. AnalyzedResult вычисляется и задается панелью инструментов при анализе компонента на заданных частотах.

Свойства привязки непосредственно с помощью точечной нотации

Альтернативным способом запроса или изменения значений свойств является структурная ссылка. Имена полей для РЧ-объектов являются именами свойств, поэтому можно извлекать или изменять значения свойств с помощью структурного синтаксиса.

  • PropertyValue = rfobj.PropertyName сохраняет значение PropertyName имущества rfobj объект в PropertyValue переменная. Эта команда эквивалентна PropertyValue = get(rfobj,'PropertyName').

  • rfobj.PropertyName = PropertyValue устанавливает значение PropertyName свойство для PropertyValue для rfobj объект. Эта команда эквивалентна set(rfobj,'PropertyName',PropertyValue).

Например, ввод

ckt = rfckt.amplifier('IntpType','cubic');
ckt.IntpType

возвращает значение свойства IntpType для объекта цепи ckt.

ans =
		Cubic

Аналогично,

ckt.IntpType = 'linear';

сбрасывает метод интерполяции на линейный.

Нет необходимости вводить все имя поля или использовать символы верхнего регистра. Необходимо только ввести минимальное количество символов, достаточное для однозначной идентификации имени свойства. Таким образом, ввод команд

ckt = rfckt.amplifier('IntpType','cubic');
ckt.in

также производит

ans =
		Cubic

Связанные темы