Задайте или импортируйте данные компонента

Свойства объекта RF

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

Примечание

Разделы 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

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

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

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.

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

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

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

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

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

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

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

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

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

ОбъектОписаниеПоддерживаемые форматы (Форматы )
rfdata.dataОбъект данных, содержащий данные сетевых параметров, рисунок шума и точку точки пересечения третьего порядкаTouchstone, AMP, P2D, S2D
rfckt.amplifierУсилительTouchstone, AMP, P2D, S2D
rfckt.mixerМиксерTouchstone, 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 файл. The NetworkData свойство является rfdata.network объект, который содержит S-параметры 50 Ом. The NoiseData свойство является rfdata.noise объект, который содержит частотно-зависимые данные точечного шума. The 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. The Name и nPort свойства фиксируются тулбоксом. The AnalyzedResult значение свойства вычисляется и устанавливается тулбоксом при анализе компонента на заданных частотах.

Ссылочные свойства непосредственно с использованием записи через точку

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

  • 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

Похожие темы