Are there available rational transfer functions, possibly equivalent to MATLAB’s functions filter(b,1,x)
and filter(b,a,x,zi)
where zi
are initial conditions for filter delays. Thanks in advance!
I haven’t used filter
in MATLAB, but isn’t this simply defining a system:
where n_a \ge n_b (assuming a proper system) and n_d a possible delay? And then using x
as input (u) and computing the resulting output y?
If so, this can be handled with relative ease by defining a transfer function using the ControlSystems.jl package and simulating the resulting dynamic system with x
as input.
The ControlSystems.jl package has built-in set-ups for the case that x
(or: u) is a step input or an impulse input.
But there is also a function lsim
for simulating the system with a specified input.
Note: I haven’t tested ControlSystems.jl for this particular case, though.
DSP.jl has your requested filter methods. Controlsystems.jl does have a more general support for transfer functions as they are commonly used in control, but for filtering, DSP.jl is what you want.
Ah. DSP.filt(b,a,x,[si])
, etc. seems to be what is asked for.
Thank you very much to both!