EngeeRF.rfdivider
Создает элемент трехпортового делителя мощности Уилкинсона для объекта circuit.
| Библиотека |
|
Описание
Используйте системный объект EngeeRF.rfdivider для создания элемента трехпортового делителя мощности Уилкинсона. Можно добавить этот элемент к объекту circuit для создания радиочастотной (РЧ) цепи.
Синтаксис
Создание
-
rfpd = EngeeRF.rfdivider()— создает объект трехпортового делителя мощности Уилкинсона, свойства которого заданы по умолчанию.
-
rfpd = EngeeRF.rfdivider(Name=Value)— создает системный объект трехпортового делителя мощности Уилкинсонаrfpdсо свойствами, заданными в виде парыName=Value, гдеName— имя свойства, аValue— соответствующее значение. Можно указать несколько пар «имя-значение», порядок пар не имеет значения. Неуказанные свойства сохраняют свои значения по умолчанию.Пример:
rfpd = EngeeRF.rfdivider(Impedance = 75)создает объект трехпортового делителя мощности Уилкинсона с импедансом75Ом.
Аргументы
Выходные аргументы
#
rfpd —
объект делителя мощности Уилкинсона
объект
Details
Объект делителя мощности Уилкинсона, содержащий следующие свойства:
-
Impedance— характеристический импеданс; -
Name— название объекта в виде строки, например"Divider"; -
Ports— имена портов в виде кортежа строк:("p1", "p2", "p3"); -
Terminals— имена клемм в виде кортежа строк; -
ParentNodes— узлы родительской схемы в виде вектора целых чисел, отображаемые только после добавления дочерней схемы к родительской схеме; -
ParentPath— полный путь к родительской схеме в виде строки, отображаемый только после добавления дочерней схемы к родительской схеме; -
NumPorts— количество портов; -
Parent— родительская схема, которой принадлежит объект цепи.
Свойства
#
Impedance —
характеристический импеданс элемента делителя мощности Уилкинсона, Ом
50.0 (по умолчанию) | скаляр
Details
Характеристический импеданс элемента делителя мощности Уилкинсона в Ом, заданный как положительный скаляр.
| Типы данных |
|
#
Name —
имя элемента делителя мощности Уилкинсона
"Divider" (по умолчанию) | строка
Details
Имя элемента делителя мощности Уилкинсона, заданное как строка.
| Типы данных |
|
#
Terminals —
имена клемм элемента делителя мощности Уилкинсона
("p1+", "p2+", "p3+", "p1−", "p2−", "p3−") (по умолчанию) | кортеж строк
Details
Имена клемм элемента делителя мощности Уилкинсона, заданные как кортеж строк.
| Это свойство доступно только для чтения. |
#
NumPorts —
количество входных и выходных портов
3 (по умолчанию) | скаляр
Details
Количество входных и выходных портов, заданное как положительный скаляр.
| Это свойство доступно только для чтения. |
| Типы данных |
|
Методы
sparameters
|
Вычисление S-параметров для радиочастотных данных, сетей, схем и соответствующих объектов |
circuit
|
Создание объекта схемы электрической цепи |
clone
|
Создание копии существующего элемента схемы или объекта схемы |
Примеры
Добавление элемента делителя мощности Уилкинсона к объекту схемы
Details
Создадим элемент делителя мощности Уилкинсона с тремя портами со свойствами по умолчанию.
import EngeeRF: rfdivider
pd = rfdivider(Name = "rfdivider1")
Создадим копию элемента трехпортового делителя мощности Уилкинсона.
import EngeeRF: clone
pd2 = clone(pd)
pd2.Name = "rfdivider2"
Создадим элемент усилителя с коэффициентом усиления 12 дБ.
import EngeeRF: amplifier
amp = amplifier(Name = "amplifier1", Gain = 12)
Создадим копию элемента усилителя.
amp2 = clone(amp)
amp2.Name = "amplifier2"
Создадим объект circuit.
import EngeeRF: circuit
ckt = circuit()
Добавим делитель с именем rfdivider1 к объекту circuit.
import EngeeRF: add
add(ckt, [1 2 3], pd)
Добавим усилитель с именем amplifier1 к объекту circuit.
add(ckt, [2 4], amp)
Добавим усилитель с именем amplifier2 к объекту circuit.
add(ckt, [3 5], amp2)
Добавим делитель с именем rfdivider2 к объекту circuit.
add(ckt, [6 4 5], pd2)
Используем функцию setports для настройки портов объекта circuit.
import EngeeRF: setports
setports(ckt, [1 0], [6 0], ("in", "out"))
Выведем свойства объекта circuit.
println("ElementNames: ", ckt.ElementNames,
"\nElements: ", ckt.Elements,
"\nName: ", ckt.Name,
"\nNodes: ", ckt.Nodes,
"\nNumPorts: ", ckt.NumPorts,
"\nPorts: ", ckt.Ports,
"\nTerminalNodes: ", ckt.TerminalNodes,
"\nTerminals: ", ckt.Terminals)
ElementNames: ("rfdivider1", "amplifier1", "amplifier2", "rfdivider2")
Elements: EngeeRF.DomainRF.DomainObjectRF[rfdivider(Impedance = 50.0, Name = "rfdivider1", Ports = ("p1", "p2", "p3"), Terminals = ("p1+", "p2+", "p3+", "p1-", "p2-", "p3-"), ParentNodes = [1, 2, 3, 0, 0, 0], ParentPath = "unnamed", NumPorts = 3), amplifier(Model = "cubic", Name = "amplifier1", ParentNodes = [2, 4, 0, 0], ParentPath = "unnamed", Gain = 12.0, NF = 0.0, OIP2 = Inf, OIP3 = Inf, Zin = 50.0 + 0.0im, Zout = 50.0 + 0.0im), amplifier(Model = "cubic", Name = "amplifier2", ParentNodes = [3, 5, 0, 0], ParentPath = "unnamed", Gain = 12.0, NF = 0.0, OIP2 = Inf, OIP3 = Inf, Zin = 50.0 + 0.0im, Zout = 50.0 + 0.0im), rfdivider(Impedance = 50.0, Name = "rfdivider2", Ports = ("p1", "p2", "p3"), Terminals = ("p1+", "p2+", "p3+", "p1-", "p2-", "p3-"), ParentNodes = [6, 4, 5, 0, 0, 0], ParentPath = "unnamed", NumPorts = 3)]
Name: unnamed
Nodes: [0, 1, 2, 3, 4, 5, 6]
NumPorts: 2
Ports: ("in", "out")
TerminalNodes: [1, 6, 0, 0]
Terminals: ("in+", "out+", "in-", "out-")
Построим график S-параметров схемы для диапазона частот 0.51–2 ГГц.
import EngeeRF: sparameters, rfplot
freq = range(0.51e9, 2e9, length=11)
sparam = sparameters(ckt, freq)
rfplot(sparam)