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

mutualInductor

Создает элемент взаимной индуктивности.

Библиотека

EngeeRF

Описание

Используйте функцию mutualInductor для создания элемента взаимной индуктивности. Можно добавить элемент взаимной индуктивности в объект rfbudget или circuit, а затем экспортировать этот элемент в библиотеку EngeeRF для анализа огибающей цепи.

Синтаксис

Вызов функции

  • mi = mutualInductor() — создает элемент взаимной индуктивности, свойства которого заданы по умолчанию.

  • mi = mutualInductor(Name=Value) — устанавливает свойства, заданные одним или несколькими аргументами типа «имя-значение». Неуказанные свойства сохраняют свои значения по умолчанию.

Аргументы

Входные аргументы «имя-значение»

Укажите необязательные пары аргументов в виде Name=Value, где Name — имя аргумента, а Value — соответствующее значение.

Пример: mi = mutualInductor(CouplingCoefficient = 0.65) создает элемент взаимной индуктивности с коэффициентом связи между двумя катушками 0.65. Можно указать несколько пар «имя-значение».

# Name — имя элемента взаимной индуктивности
"MutualInductor" (по умолчанию) | строка

Details

Имя элемента взаимной индуктивности, заданное как строка.

Типы данных

String

# Inductance1 — индуктивность первичной обмотки элемента взаимной индуктивности
1e−6 (по умолчанию) | скаляр

Details

Индуктивность первичной обмотки элемента взаимной индуктивности, заданная как положительный скаляр в Гн.

Типы данных

Float64

# Inductance2 — индуктивность вторичной обмотки элемента взаимной индуктивности
1e−6 (по умолчанию) | скаляр

Details

Индуктивность вторичной обмотки элемента взаимной индуктивности, заданная как положительный скаляр в Гн.

Типы данных

Float64

# CouplingCoefficient — коэффициент связи элемента взаимной индуктивности
0.9 (по умолчанию) | скаляр

Details

Коэффициент связи элемента взаимной индуктивности или взаимной связи между первичной и вторичной обмотками, заданный как положительный скаляр между 0 и 1.

Типы данных

Float64

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

Details

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

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

Int64

# Terminals — клеммы элемента взаимной индуктивности
("p1+", "p2+", "p1−", "p2−") (по умолчанию) | кортеж строк

Details

Клеммы элемента взаимной индуктивности, заданные как кортеж строк из 4 элементов.

Этот аргумент доступен только для чтения.

Выходные аргументы

# mi — объект линии передачи
объект

Details

Объект линии передачи, содержащий следующие свойства:

  • Name — название элемента взаимной индуктивности в виде строки, например "MutualInductor";

  • Inductance1 — индуктивность первичной обмотки;

  • Inductance2 — индуктивность вторичной обмотки;

  • CouplingCoefficient — коэффициент связи;

  • NumPorts — количество портов;

  • Terminals — имена клемм в виде кортежа строк;

  • Parent — родительская схема, которой принадлежит объект цепи;

  • ParentNodes — узлы родительской схемы в виде массива целых чисел, отображаемые только после добавления дочерней схемы к родительской схеме;

  • ParentPath — полный путь к родительской схеме в виде строки, отображаемый только после добавления дочерней схемы к родительской схеме.

Примеры

Добавление элемента взаимной индуктивности в объект цепи

Details

Создадим элемент взаимной индуктивности с индуктивностью первичной обмотки 33 нГн, индуктивностью вторичной обмотки 26 нГн и коэффициентом связи 0.55.

using EngeeRF

mi = mutualInductor(Inductance1 = 33e-9, Inductance2 = 26e-9, CouplingCoefficient = 0.55)

Создадим объект усилителя с коэффициентом усиления 10 дБ и коэффициентом шума 2 дБ.

a = amplifier(Gain = 10, NF = 2)

Создадим объект аттенюатора со свойствами по умолчанию.

att = attenuator()

Создадим объект circuit и дадим ему имя.

ckt = circuit("adding_mutual_inductor_to_circuit")

Добавим в объект circuit элементы усилителя, взаимной индуктивности и аттенюатора.

add(ckt, [1 2], a)
add(ckt, [2 3], mi)
add(ckt, [3 4], att)
setports(ckt, [1 0], [4 0])

Отобразим объект circuit.

println("ElementNames: ", ckt.ElementNames,
        "\nElements: ", ckt.Elements,
        "\nName: ", ckt.Name,
        "\nNodes: ", ckt.Nodes)
ElementNames: ("Amplifier", "MutualInductor", "Attenuator")
Elements: EngeeRF.DomainRF.DomainObjectRF[amplifier(Model = "cubic", Name = "Amplifier", ParentNodes = [1, 2, 0, 0], ParentPath = "adding_mutual_inductor_to_circuit", Gain = 10.0, NF = 2.0, OIP2 = Inf, OIP3 = Inf, Zin = 50.0 + 0.0im, Zout = 50.0 + 0.0im), mutualInductor(Name = "MutualInductor", Inductance1 = 3.3e-8, Inductance2 = 2.6e-8, CouplingCoefficient = 0.55, NumPorts = 2, Terminals = ("p1+", "p2+", "p1-", "p2-")), attenuator(Terminals = ("p1+", "p2+", "p1-", "p2-"), Name = "Attenuator", Budget = nothing, Listener = nothing, Ports = ("p1", "p2"), Parent = circuit, ParentNodes = [3, 4, 0, 0], ParentPath = "adding_mutual_inductor_to_circuit", NumPorts = 2, Attenuation = 3.0, Zin = 50.0, Zout = 50.0, Name = "Attenuator")]
Name: adding_mutual_inductor_to_circuit
Nodes: [0, 1, 2, 3, 4]

Рассчитаем S-параметры цепи на частоте 2.1 ГГц.

s = sparameters(ckt, 2.1e9)

println("Impedance: ", s.Impedance,
        "\nNumPorts: ", s.NumPorts,
        "\nParameters: ", s.Parameters,
        "\nFrequencies: ", s.Frequencies)
Impedance: 50.0
NumPorts: 2
Parameters: ComplexF64[-5.662137425588298e-15 + 1.4043333874306804e-16im 1.3385052598948672e-16 + 1.7554167342883506e-17im; 0.156236746796798 - 0.40817287150293746im 0.4510349985251114 + 0.19540379885651096im;;;]
Frequencies: [2.1e9]