Bode plotting a damped LC filter

You have forgotten to connect several components to ground. Here’s an example that works

using ModelingToolkitStandardLibrary.Electrical
using ModelingToolkitStandardLibrary.Blocks
using ModelingToolkit, Plots
using ControlSystemsBase
using ModelingToolkit: t_nounits as t

R = 1.0
C = 1.0
V = 1.0
@named resistor = Resistor(R = R)
@named capacitor = Capacitor(C = C, v = 0.0)
@named ground = Ground()
@named filter_input = Voltage()
@named filter_output = VoltageSensor()

#= input ---- [resistor] -----|---------- output
                            _________
                            capacitor
                            ---------
                              |
                            ground

=#


filt_ckt = [connect(filter_input.p,  resistor.p)
            connect(resistor.n, capacitor.p, filter_output.p)
            connect(filter_input.n, capacitor.n, ground.g, filter_output.n)
]

@named filt_ckt = ODESystem(filt_ckt, t,
    systems = [resistor, capacitor, filter_input, filter_output, ground])



op = Dict(
    filter_input.V.u => 0,
)
matrices, simplified_sys = linearize(filt_ckt, [filter_input.V.u],[filter_output.v]; op)

using ControlSystemsMTK

lsys = named_ss(filt_ckt, [filter_input.V.u],[filter_output.v]; op)
bodeplot(lsys)

image

I load ControlSystemsMTK here to make interfacing CS and MTK smoother.

1 Like