LumpedElementFilter

rfnetwork.elements.LumpedElementFilter

class rfnetwork.elements.LumpedElementFilter(shunt=False, passive=False, state={})

Bases: Network

Parameters

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.

passivebool, default: True

if True, evaluate calls evaluate_sdata instead of evaluate_data and noise correlation matrix is computed passively.

statedict, optional

dictionary of state variables specific to each component. Keys must be component designators. The state values can be read with the state property and changed later with set_state(). Attempting to set the state of variables that were not included in the initial dictionary will raise an error.

Examples

>>> import rfnetwork as rfn
>>> class Wilkinson(rfn.Network):
...    
...     upper = rfn.elements.Line(z0=70.7, length=0.4)
...     lower = rfn.elements.Line(z0=70.7, length=0.4)
... 
...     r1 = rfn.elements.Resistor(100)
... 
...     nodes = [
...         ("P1", upper|1, lower|1), # port 1 node
...         (upper|2, r1|1, "P2"),  # port 2 node
...         (lower|2, r1|2, "P3")  # port 3 noode
...     ]
>>> w = Wilkinson()

Methods

LumpedElementFilter.from_butterworth(fc, ...)

Parameters fc1 float Lower 3 dB cutoff frequency [Hz] fc2 float Upper 3 db cutoff frequency [Hz] n int Filter order (1-10). Odd n will be matched to 50 ohms, while even n requires an impedance match.

LumpedElementFilter.from_chebyshev(fc, btype, n)

Parameters fc1 float Lower 3 dB cutoff frequency [Hz] fc2 float Upper 3 db cutoff frequency [Hz] n int Filter order (1-10). Odd n will be matched to 50 ohms, while even n requires an impedance match. ripple float, default: 0.5 Passband ripple in dB

LumpedElementFilter.from_prototype(fc, ...)

Attributes

LumpedElementFilter.cls_components

LumpedElementFilter.netlist

LumpedElementFilter.ports

LumpedElementFilter.probe_names

LumpedElementFilter.probe_netlist

LumpedElementFilter.probes