Skip to content

Commit e89c702

Browse files
committed
Avoid matrix math in computing initial step state for SOS
1 parent 01c3655 commit e89c702

File tree

1 file changed

+4
-5
lines changed

1 file changed

+4
-5
lines changed

src/Filters/filt.jl

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -363,11 +363,10 @@ function filt_stepstate{T}(f::SecondOrderSections{T})
363363
si = Array(T, 2, length(biquads))
364364
for i = 1:length(biquads)
365365
biquad = biquads[i]
366-
A = [one(T)+biquad.a1 -one(T)
367-
+biquad.a2 one(T)]
368-
B = [biquad.b1 - biquad.a1*biquad.b0,
369-
biquad.b2 - biquad.a2*biquad.b0]
370-
si[:, i] = A \ B
366+
si[1, i] = (-(biquad.a1 + biquad.a2)*biquad.b0 + biquad.b1 + biquad.b2)/
367+
(biquad.a1 + biquad.a2 + 1)
368+
si[2, i] = (biquad.a1*biquad.b2 - biquad.a2*(biquad.b0 + biquad.b1) + biquad.b2)/
369+
(biquad.a1 + biquad.a2 + 1)
371370
end
372371
si[1, 1] *= f.g
373372
si[2, 1] *= f.g

0 commit comments

Comments
 (0)