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

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

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

Примечание

Объекты Схемы РФ, Объекты данных РФ, разделы Объектов модели РФ перечисляют доступные типы объектов и обеспечивают ссылки на их страницы с описанием.

Установите значения свойств

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

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

Задайте значения свойств при конструкции

Чтобы установить свойство, когда вы создадите объект, включайте список, разделенный запятыми одной или нескольких пар свойства/значения в списке аргументов объектной команды конструкции. Пара свойства/значения состоит из аргументов '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

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

В этом разделе рассматриваются право преимущественной покупки. Для получения дополнительной информации на второй опции, смотрите Reference Properties Непосредственно Используя Запись через точку.

Чтобы изменить свойства существующего объекта, используйте команду 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 в конкретные объекты. Эта возможность импорта позволяет вам моделировать поведение измеренных компонентов.

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

  • Форматы файлов промышленного стандарта — SNP Пробного камня, YNP, ZNP, HNP и форматы GNP задают сетевые параметры и шумовую информацию для измеренных и моделируемых данных.

    Для получения дополнительной информации о файлах Пробного камня смотрите 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');

где

  • obj является указателем схемы или объекта данных.

  • 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, который хранит Y-параметры с 2 портами на уровне 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