【卡尔曼+参数寻优】基于过程噪声自适应标量卡尔曼滤波的ECG信号工频干扰抑制和质量增强(MATLAB)

作品简介

心电信号作为反映心脏电活动的关键生理指标,在采集过程中很容易受到50 Hz工频干扰以及高斯白噪声的污染,严重影响后续临床诊断的可靠性。卡尔曼滤波是一种基于状态空间模型的最优递归估计算法,通过预测与更新2步迭代,在最小均方误差准则下实现对含噪观测信号的最优估计。在标量形式下,这个算法将纯净心电信号看作一维状态变量,利用过程噪声协方差和测量噪声协方差动态调整卡尔曼增益,从而在抑制噪声的同时尽可能保留信号细节。本算法基于标量卡尔曼滤波对含噪心电信号进行去噪,并通过遍历过程噪声协方差在设定区间内的取值,以滤波后信号与理想信号的均方误差为优化目标,自动寻优获得最佳滤波参数。功率谱密度分析进一步验证了算法在抑制工频干扰及宽带噪声方面的有效性。

算法步骤

第一步,数据加载与预处理。加载理想心电信号,确定采样频率并生成时间向量。

第二步,含噪信号合成。生成50 Hz工频干扰信号,并向理想信号添加指定信噪比的高斯白噪声,再将两者叠加得到含噪心电信号。

第三步,噪声水平初评估。计算含噪信号与理想信号的标准差,以及剔除工频干扰后的标准差,用于初步量化噪声成分。

第四步,标量卡尔曼滤波核心流程。设定状态转移矩阵与观测矩阵,固定测量噪声协方差,在预设范围内对过程噪声协方差进行遍历采样。对每一个候选参数,初始化状态估计值与估计协方差,然后逐样本点执行预测、卡尔曼增益计算、状态更新与协方差更新,并将滤波后的估计值存入结果向量。

第五步,最优参数选择。计算每个候选参数下滤波信号与理想信号的均方误差,选取使均方误差最小的过程噪声协方差作为最优参数。

第六步,最优滤波与结果输出。使用最优参数再次运行卡尔曼滤波,得到最终去噪后的心电信号,并绘制含噪信号与滤波后信号的时域对比波形。

第七步,功率谱密度分析。利用周期图法计算理想信号、含噪信号与滤波后信号的功率谱密度,在频域对比滤波前后的噪声抑制效果,并保存相关图像。






创作时间: