Public Functions for Marconi
Index
Marconi.ArrayFactor
Marconi.DataNetwork
Marconi.EquationNetwork
Marconi.RadiationPattern
Marconi.RadiationPattern
Base.:+
Marconi.applyAF
Marconi.cascade
Marconi.cascade
Marconi.cascade
Marconi.equationToDataNetwork
Marconi.generateCircularAF
Marconi.generateRectangularAF
Marconi.inputZ
Marconi.inputZ
Marconi.interpolate
Marconi.phaseLocations
Marconi.plotLStabCircle!
Marconi.plotPattern2D
Marconi.plotPattern3D
Marconi.plotSStabCircle!
Marconi.plotSmithCircle!
Marconi.plotSmithData
Marconi.plotSmithData!
Marconi.plotVSWR!
Marconi.processTouchstoneLine
Marconi.readHFSSPattern
Marconi.readTouchstone
Marconi.s2t
Marconi.s2y
Marconi.s2z
Marconi.t2s
Marconi.testDelta
Marconi.testK
Marconi.testMAG
Marconi.testMSG
Marconi.testMUG
Marconi.testMagDelta
Marconi.testμ
Marconi.writeTouchstone
Marconi.y2s
Marconi.y2t
Marconi.y2z
Marconi.z2s
Marconi.z2t
Marconi.z2y
Marconi.Γ
Marconi.∠
Public Interface
Marconi.ArrayFactor
— Type.ArrayFactor
Stores the array factor due to N isotropic radiators located at locations
with phasor excitations excitations
. Calling an ArrayFactor
object with the arguments ϕ,θ,and frequency will return in dB the value of the AF at that location in spherical coordinates.
Marconi.DataNetwork
— Type.The base Network type for representing n-port linear networks with characteristic impedance Z0. By default, the network is stored as S-Parameters with the corresponding frequency list.
Marconi.EquationNetwork
— Type.The base Network type for representing n-port linear networks with characteristic impedance Z0. The S-Parameters for an EquationNetwork are defined by a function that returns a ports
-square matrix and accepts kwargs Z0
and freq
. Please provide default arguments for any input parameters.
Marconi.RadiationPattern
— Type.RadiationPattern
Stores a 3D antenna radiation pattern in spherical coordinates. Φ and Θ are in degrees, pattern is in dBi
Marconi.RadiationPattern
— Method. RadiationPattern(AF,ϕ,θ,freq)
Constructs a RadiationPattern
from an ArrayFactor
sampled in ϕ
and θ
at freq
Base.:+
— Method. +(Pattern1,Pattern2)
Adds two patterns of equal size together. Useful for arrays
Marconi.applyAF
— Method. applyAF(pattern,AF,freq)
Applys an ArrayFactor
to a RadiationPattern
.
Marconi.cascade
— Method.cascade(net1,net2,net3,...,netN)
Returns a new DataNetwork
that is the cascaded result of net1,net2,net3,...netN where the nets
are a mixture of 2-Port DataNetwork
objects and 2-Port EquaionNetwork
object. Optionally takes kwarg numpoints
for how many points in the result.
See the docs for details of dealing with equation-driven networks
Marconi.cascade
— Method.cascade(net1,net2,net3,...,netN)
Returns a new DataNetwork
that is the cascaded result of net1,net2,net3,...netN where the nets
are 2-Port DataNetwork
objects. Optionally takes kwarg numpoints
for how many points in the result.
Marconi.cascade
— Method.cascade(net1,net2,net3,...,netN)
Returns a new EquationNetwork
that is the cascaded result of net1,net2,net3,...netN where the nets
are 2-Port EquationNetwork
objects.
See the docs for details of dealing with equation-driven networks
Marconi.equationToDataNetwork
— Method.equationToDataNetwork(equationNet,args=(arg1,arg2),freqs=[1,2,3])
Utility function to convert an equation network to a data network by evaluating it at every frequency in the list or range freqs
.
Marconi.generateCircularAF
— Method. generateCircularAF(N,R,ϕ,θ,freq)
Creates an ArrayFactor
object from a circular array with N
excitations in a circle with radius R
. The excitations are phased such that the main beam is in the ϕ
, θ
, direction at frequency freq
.
Marconi.generateRectangularAF
— Method. generateRectangularAF(Nx,Ny,Spacingx,Spacingy,ϕ,θ,freq)
Creates an ArrayFactor
object from a rectangular array that is Nx
X Ny
big with spacing Spacingx
and Spacingy
. The excitations are phased such that the main beam is in the ϕ
, θ
, direction at frequency freq
.
Marconi.inputZ
— Method.inputZ(Zr,Θ,Z0)
Calculates the input impedance of a lossless transmission line of length θ
in degrees terminated with Zr
. Z0 is optional and defaults to 50.
Marconi.inputZ
— Method.inputZ(Γ,Z0)
Calculates the input impedace from complex reflection coefficient Γ
. Z0 is optional and defaults to 50.
Marconi.interpolate
— Method.interpolate(network,frequencies)
Returns a new network object that contains data from network
reinterpolated to fit frequencies
.
Marconi.phaseLocations
— Method. phaseLocations(Locations,ϕ,θ,freq)
Given antennas at locations Locations
which is a vector of 3-Tuples of cartesian coordinates, calculate the corresponding phases to steer the beam in ϕ
and θ
at frequency freq
Marconi.plotLStabCircle!
— Method.plotLStabCircle!(sc,network,freq)
Plots the the load stability circle on Smith Chart sc
from network
at frequency freq
.
Marconi.plotPattern2D
— Method. plotPattern2D(pattern,ϕ)
Plots the 2D Radiation Pattern of pattern
at the phi cut ϕ
. Optionally can set the minimum and maximum gain with kwargs gainMin
and gainMax
.
Marconi.plotPattern3D
— Method. plotPattern3D(pattern,ϕ)
Plots the 3D Radiation Pattern of pattern
. Optionally can set the minimum and maximum gain with kwargs gainMin
and gainMax
.
Marconi.plotSStabCircle!
— Method.plotSStabCircle!(sc,network,freq)
Plots the the source stability circle on Smith Chart sc
from network
at frequency freq
.
Marconi.plotSmithCircle!
— Method.plotSmithCircle!(sc, xc, yc, rad)
Plots a cricle with center coordinates (xc,yc)
on the $\Gamma$ plane with radius rad on an existing Smith Chart object.
Returns the sc
object
Marconi.plotSmithData!
— Method.plotSmithData!(sc, network,(1,1))
Plots the S(1,1) parameter from network
on an existing Smith Chart sc
Returns the sc
object
Marconi.plotSmithData
— Method.plotSmithData(network,(1,1))
Plots the S(1,1) parameter from network
on a Smith Chart.
Returns a PGFPlotsX.SmithChart
object.
Marconi.plotVSWR!
— Method.plotVSWR!(sc,VSWR)
Plots the circle that represents a VSWR of VSWR
onto an existing Smith Chart.
Marconi.readHFSSPattern
— Method. readHFSSPattern("myAntenna.csv")
Reads the exported fields from HFSS into a Marconi RadiationPattern
object.
Marconi.readTouchstone
— Method.readTouchstone("myFile.sNp")
Reads the contents of myFile.sNp
into a Network object. This will convert all file types to S-Parameters, Real/Imaginary
Currently does not support reference lines (Different port impedances) or noise parameters
Marconi.s2t
— Method. s2t(s)
Converts S-Parameters s
to T-Parameters.
Marconi.s2y
— Method. s2y(s)
Converts S-Parameters s
to Y-Parameters. Optionally include reference impedance with kwarg Z0
with s2z(s,Z0=50)
.
Marconi.s2z
— Method. s2z(s)
Converts S-Parameters s
to Z-Parameters. Optionally include reference impedance with kwarg Z0
with s2z(s,Z0=50)
.
Marconi.t2s
— Method. t2s(t)
Converts T-Parameters t
to S-Parameters.
Marconi.testDelta
— Method.testDelta(network)
Returns a vector of Δ
, the determinant of the scattering matrix. Optionally, returns Δ
for S-Parameters at position pos
.
Marconi.testK
— Method.testK(network)
Returns a vector of the magnitude of K
, the Rollet stability factor.
Marconi.testMAG
— Method.testMAG(network)
Returns a vector of the maximum available gain of a network.
Marconi.testMSG
— Method.testMSG(network)
Returns a vector of the maximum stable gain of a network.
Marconi.testMUG
— Method.testMUG(network)
Returns a vector of the maximum unilateral gain of a network.
Marconi.testMagDelta
— Method.testMagDelta(network)
Returns a vector of |Δ|
, the magnitude of the determinant of the scattering matrix. Optionally, returns |Δ|
for S-Parameters at position pos
.
Marconi.testμ
— Method.testμ(network)
Returns a vector of the magnitude of μ
, the μ stability factor[1].
Definition
The network is unconditionally stable if μ > 1, for μ defined as:
[1]: M. L. Edwards and J. H. Sinsky, "A new criterion for linear 2-port stability using a single geometrically derived parameter," in IEEE Transactions on Microwave Theory and Techniques, vol. 40, no. 12, pp. 2303-2311, Dec. 1992. doi: 10.1109/22.179894
Marconi.writeTouchstone
— Method.writeTouchstone(network,filename)
Writes a Touchstone file from a Marconi network.
Marconi.y2s
— Method. y2s(y)
Converts Y-Parameters y
to S-Parameters. Optionally include reference impedance with kwarg Z0
with y2s(y,Z0=50)
.
Marconi.y2t
— Method. y2t(y)
Converts Y-Parameters y
to T-Parameters. Optionally include reference impedance with kwarg Z0
with y2s(y,Z0=50)
.
Marconi.y2z
— Method. y2z(y)
Converts Y-Parameters y
to Z-Parameters.
Marconi.z2s
— Method. z2s(z)
Converts Z-Parameters z
to S-Parameters. Optionally include reference impedance with kwarg Z0
with z2s(z,Z0=50)
.
Marconi.z2t
— Method. z2t(z)
Converts Z-Parameters z
to T-Parameters. Optionally include reference impedance with kwarg Z0
with z2s(z,Z0=50)
.
Marconi.z2y
— Method. z2y(z)
Converts Z-Parameters z
to Y-Parameters.
Marconi.Γ
— Method.Γ(Z,Z0)
Calculates the complex reflection coefficient Γ
from impedance Z
. Z0 is optional and defaults to 50.
Marconi.∠
— Method.∠(mag,angle)
A nice compact way of representing phasors. Angle is in degrees.
Marconi.processTouchstoneLine
— Method.Internal function to process touchstone lines