我在当前的项目中遇到了一个问题,我需要同时测量不同的生物信号(如 ECG)。
由于仪器硬件是由不同的人随着时间的推移而开发的,因此它们彼此并不相同。在它们的最终放大阶段之前,它们都具有不同阶的低通和高通滤波器。这些滤波器大多集中在 [0.5-35] Hz 的通带附近。我想通过设计自己的数字滤波器来补偿那些模拟滤波器引起的相位色散。我已经使用啁啾信号测量了这些通道的传递函数,为了了解一下,请查看下图。传递函数的计算可能存在小的数值误差。
不仅消除各个通道中的相位色散,而且补偿这些通道的不同延迟量也很重要,这样我就可以分析完全“同步”的信号。到目前为止,我一直在尝试使用iirgrpdelay函数在 Matlab 中设计一个全通滤波器。但是,创建的补偿过滤器并不令人满意。其原因可能是 [1 15] Hz 之间的群延迟(见第一个图)的巨大变化,这是我想要补偿的区域。增加过滤器的顺序并没有帮助,因为我主要从 Matlab 得到以下错误:
条件较差的 Hessian 矩阵。无法准确计算优化,因为逼近误差非常小(尝试减少极点或零点的数量)或滤波器规格产生巨大的幅度变化,例如 mag=[1 1e9 0 0]。
我不想让这个问题变得这么宽泛,但我想征求在数字领域设计此类补偿滤波器的建议,以便我可以中和模拟仪器中的这种相位色散和延迟。