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