mirror of
https://github.com/romanz/amodem.git
synced 2026-04-28 03:56:44 +08:00
levinson: reuse previous vectors
This commit is contained in:
@@ -16,8 +16,8 @@ def solver(t, y):
|
|||||||
prev_b = b[-1]
|
prev_b = b[-1]
|
||||||
ef = sum(t[n-i] * prev_f[i] for i in range(n))
|
ef = sum(t[n-i] * prev_f[i] for i in range(n))
|
||||||
eb = sum(t[i+1] * prev_b[i] for i in range(n))
|
eb = sum(t[i+1] * prev_b[i] for i in range(n))
|
||||||
f_ = np.concatenate([f[-1], [0]])
|
f_ = np.concatenate([prev_f, [0]])
|
||||||
b_ = np.concatenate([[0], b[-1]])
|
b_ = np.concatenate([[0], prev_b])
|
||||||
det = 1.0 - ef * eb
|
det = 1.0 - ef * eb
|
||||||
f.append((f_ - ef * b_) / det)
|
f.append((f_ - ef * b_) / det)
|
||||||
b.append((b_ - eb * f_) / det)
|
b.append((b_ - eb * f_) / det)
|
||||||
|
|||||||
Reference in New Issue
Block a user