mutualInductor
Creates a mutual inductance element.
| Library |
|
Syntax
Function call
-
mi = mutualInductor()— creates a mutual inductance element, the properties of which are set by default.
-
mi = mutualInductor(Name=Value)— sets properties specified by one or more arguments of the type «name-value». Unspecified properties retain their default values.
Arguments
Input arguments «name-value»
Specify optional argument pairs as Name=Value, where Name — the name of the argument, and Value — the appropriate value.
Example: mi = mutualInductor(CouplingCoefficient = 0.65) creates a mutual inductance element with a coupling coefficient between two coils 0.65. You can specify multiple pairs «name-value».
# Name — the name of the mutual inductance element
+
"MutualInductor" (by default) | line
Details
The name of the mutual inductance element, specified as a string.
| Типы данных |
|
# Inductance1 — the inductance of the primary winding of the mutual inductance element
+
1e−6 (default) | scalar
Details
The inductance of the primary winding of the mutual inductance element, set as a positive scalar in Gn.
| Типы данных |
|
# Inductance2 — the inductance of the secondary winding of the mutual inductance element
+
1e−6 (by default) | scalar
Details
The inductance of the secondary winding of the mutual inductance element, set as a positive scalar in Gn.
| Типы данных |
|
# CouplingCoefficient is the coupling coefficient of the mutual inductance element
+
0.9 (by default) | scalar
Details
The coupling coefficient of the mutual inductance element or the mutual coupling between the primary and secondary windings, set as a positive scalar between 0 and 1.
| Типы данных |
|
# NumPorts — number of input and output ports
+
2 (default) | scalar
Details
The number of input and output ports, set as a positive scalar.
| This argument is read-only. |
| Типы данных |
|
# Terminals — terminals of the mutual inductance element
+
("p1+", "p2+", "p1−", "p2−") (by default) | tuple of strings
Details
Terminals of the mutual inductance element, specified as a tuple of strings from 4 elements.
| This argument is read-only. |
Output arguments
# mi — transmission line object
+
object
Details
A transmission line object containing the following properties:
-
Name— the name of the mutual inductance element in the form of a string, for example"MutualInductor"; -
Inductance1— the inductance of the primary winding; -
Inductance2— the inductance of the secondary winding; -
CouplingCoefficient— communication coefficient; -
NumPorts— number of ports; -
Terminals— terminal names in the form of a tuple of strings; -
Parent— the parent schema that the chain object belongs to; -
ParentNodes— nodes of the parent schema in the form of an array of integers, displayed only after adding the child schema to the parent schema; -
ParentPath— the full path to the parent schema as a string, displayed only after adding the child schema to the parent schema.
Examples
Adding a mutual inductance element to a circuit object
Details
Let’s create an element of mutual inductance with the inductance of the primary winding 33 nGn, the inductance of the secondary winding 26 nGn and the coupling coefficient 0.55.
using EngeeRF
mi = mutualInductor(Inductance1 = 33e-9, Inductance2 = 26e-9, CouplingCoefficient = 0.55)
Creating an amplifier object with a gain factor 10 dB and noise ratio 2 dB.
a = amplifier(Gain = 10, NF = 2)
Creating an attenuator object with default properties.
att = attenuator()
Creating an object circuit And we’ll give him a name.
ckt = circuit("adding_mutual_inductor_to_circuit")
Adding to the object circuit elements of the amplifier, mutual inductance and attenuator.
add(ckt, [1 2], a)
add(ckt, [2 3], mi)
add(ckt, [3 4], att)
setports(ckt, [1 0], [4 0])
Let’s display the object 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]
Calculate the S-parameters of the circuit at the frequency 2.1 GHz.
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]