有没有人熟悉 Gustafson 的算法,用于最小化前向反向滤波中的瞬态 [1]?我正在尝试实现它,我的第一个猜测是检查 Matlab 的 filtfilt.m,因为他们引用了这篇论文。在 Matlab 函数中,还求解了一个线性方程组,以找到最小化启动瞬态的初始条件 zi,但参考和代码之间的关系对我来说并不明显。关于最小化的唯一代码行是(nfilt 是系数向量的长度):
zi = ( eye(nfilt-1) - [-a(2:nfilt), [eye(nfilt-2); zeros(1,nfilt-2)]] ) \...
( b(2:nfilt) - b(1)*a(2:nfilt) );
谁能指出我正确的方向,这些线与古斯塔夫森文章中描述的算法有何关系?
[1] Gustafsson, F.“确定前向后向过滤的初始状态”。IEEE® 信号处理汇刊。卷。44,1996 年 4 月,第 988-992 页。