MSLine
rfnetwork.elements.MSLine
- class rfnetwork.elements.MSLine(h, er, w=None, z0=0, t=0.0013, df=0, loss=0, frequency=0, length=None, shunt=False)
Bases:
LineMicrostrip Line
Parameters
- hfloat
Substrate thickness in inches
- erfloat | list
Dielectric constant of substrate.
- wfloat, optional
Width of microstrip trace in inches. Specify w or z0, not both.
- z0float, optional
Target characteristic impedance of line. Width will be set automatically if provided.
- tfloat, optional
Copper thickness in inches, defaults to 1oz copper (1.3 mils). Does not affect loss.
- dffloat | list, optional
Dissipation factor of substrate material, or dielectric loss tangent.
- lossfloat | list, optional
Total loss, (dielectric + conductor) losses, in dB per inch. Ignored if df is provided.
- frequencylist, optional
Array of frequencies in Hz for er, df, and loss if they are provided as lists.
- lengthfloat, optional
Length of line segment in inches.
- shuntbool, default: False
if True, port 2 is connected to ground and port 1 is transformed into a 2-port component that can be cascaded with other components.
Examples
To create multiple instances of this line with different lengths,
>>> import rfnetwork as rfn >>> ms = rfn.elements.MSLine( ... w=0.020, ... h=0.010, ... t=0.0013, ... er=3.0, ... loss=0.5, ... )
>>> # create 0.5in segment >>> ms1 = ms(0.5) >>> # create 1.0in segment >>> ms2 = ms(1.0) >>> ms1.state {'length': 0.5, ...
If f0 is provided, the length is interpreted as the electrical length in degrees.
>>> ms1 = ms(90, f0=10e9) # create a 0.5in segment >>> ms1.state["length"] # state holds the length in degrees 0.2950...
Methods
MSLine.get_properties(frequency)Returns characteristic impedance and effective dielectric constant over frequency.
Attributes