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!