Документация Engee

EngeeRF.rfdivider

Создает элемент трехпортового делителя мощности Уилкинсона для объекта circuit.

Библиотека

EngeeRF

Описание

Используйте системный объект 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

Характеристический импеданс элемента делителя мощности Уилкинсона в Ом, заданный как положительный скаляр.

Типы данных

Float64

# Name — имя элемента делителя мощности Уилкинсона
"Divider" (по умолчанию) | строка

Details

Имя элемента делителя мощности Уилкинсона, заданное как строка.

Типы данных

String

# Terminals — имена клемм элемента делителя мощности Уилкинсона
("p1+", "p2+", "p3+", "p1−", "p2−", "p3−") (по умолчанию) | кортеж строк

Details

Имена клемм элемента делителя мощности Уилкинсона, заданные как кортеж строк.

Это свойство доступно только для чтения.

# NumPorts — количество входных и выходных портов
3 (по умолчанию) | скаляр

Details

Количество входных и выходных портов, заданное как положительный скаляр.

Это свойство доступно только для чтения.
Типы данных

Int64

Методы

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)

rfdivider