【发布时间】:2014-01-25 07:49:08
【问题描述】:
当我们想在 MATLAB 中使用 IIR 滤波器对信号进行滤波时,我们可以简单地将 IIR 滤波器结构与我们的信号一起传递给 filter 命令,以获得滤波后的信号,如下所示:
filteredSig = filter(iirFilterStruct, signal);
假设我们想先过滤一半信号,然后再过滤另一半,在这种情况下,我们打开 iirFilterStruct 的“持久内存”标志,并可以执行以下操作:
iirFilterStruct.PersistentMemory = 1;
filteredSigFirstHalf = filter(iirFilterStruct, signal(1:Nsignal/2))
filteredSigSecondHalf = filter(iirFilterStruct, signal((Nsignal/2)+1:end)
这会给我们同样的结果。
我的问题:我希望能够在过滤操作期间的某个任意位置提取过滤器状态。例如,假设我们正在过滤完整的信号。在位置,比如 Nsignal/3,我想保存 IIR 滤波器状态,然后再使用该状态。
我该怎么做?
【问题讨论】:
标签: matlab signals filtering signal-processing