Свойства объекта определяют поведение объекта. Можно задать свойства объекта или импортировать их из файла данных. Чтобы узнать о свойствах, характерных для определенного типа схемы, данных или объекта модели, смотрите страницу с описанием для этого типа объекта.
Примечание
Разделы 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');
где
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)
В этом примере вы создаете объект схемы. Затем вы создаете три объекта данных и используете их для обновления свойств объекта схемы.
Создайте объект усилителя. Этот объект схемы, 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]
Создайте объект данных, который хранит сетевые данные. Введите следующий набор команд в 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
Создайте объект данных, который хранит значения шумовых рисунков. Введите следующий набор команд в подсказке 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]
Создайте объект данных, который хранит выходные точки точки пересечения третьего порядка. Введите следующую команду в подсказке 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
Обновите свойства объекта усилителя. Введите следующий набор команд в подсказке 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