Thanks for you fast response.
I want to do LPC filtering. Both inverse and reconstruction.
Based on your example this would look something like this.
u = randn(1000)
x = filt(, [0.9, 0.7, 0.5, 0.2], u)
a, e = DSP.LPC.lpc(u, 10, LPCLevinson())
b = 
df = PolynomialRatio([1; a], b)
f = DF2TFilter(df)
# apply the filter all in one go
y1 = filt([1; a], b, x)
# apply the filter in chunks
y2 = reduce(vcat, [filt(f, x[(1:250).+os]) for os in [0,250,500,750]])
@assert y1 ≈ y2
Unfortunately, when creating the DFT2Filter object, I get the following error:
ArgumentError: length of state vector must match filter order
Shouldn’t the state vector be set to zeros at the first call. Even, when I manually set the state vector to
si = zeros(T, max(length([1; a]), length())-1))
f = DF2TFilter(df, si)
I still get the same error. What am I getting wrong?