浅谈自适应滤波器---(自适应陷波器)

本文介绍了自适应陷波器在处理心电信号中的优势,对比了LMS和RLS算法的仿真效果,并展示了在滤除50Hz、100Hz和150Hz工频干扰的实际应用,强调了自适应滤波器在去除噪声和静电影响后的信号改善。
摘要由CSDN通过智能技术生成

          陷波器顾名思义就是对特定频率的信号有着很强的衰减的滤波器,也即阻带带宽极窄的带阻滤波器。在传统的数字陷波器设计中,为了能使某一频率信号得到足够大的衰减,通常的做法就是把阶数选的足够高来达到很大的衰减;但同时计算量也变得更大了。而且设计的过程复杂,不利于动态的调整。为了解决上述存在的问题自适应陷波器孕育而生。博主在一次心电信号(ECG)工频干扰滤除的项目中就使用了自适应陷波器,其效果要远远好于传统的陷波器,它能在信干比-100dB的时候依然能够很好的将有用的信号提取出来。

       当我们知道原始信号里的干扰信号频率是多少时(例如最常见的50Hz工频干扰),这时我们只需要知道这个干扰信号的相位和幅度,然后就可以完全的“再现”这个干扰信号,然后我们就可以直接的从原始信号中将其减去,从而就得到了我们想要的信号成分。这一过程实际上就是自适应陷波器的基本工作原理。关于自适应实现算法的具体原理可以参考博主之前写过的博客文章《浅谈自适应滤波器》,下面给出的是今天要介绍的自适应陷波器的结构图:


       其中x(k)是带有特定频率干扰的信号,也即输入的原始信号,可见它是从自适应滤波器的期望信号端输入的;而sin(2π f0/fs k)和cos(2π f0/fs k),是我们已知的频率为f0的干扰信号(其中fs是采样率),将它们分别乘以W1和W2进行适当的线性组合,就可以使其输出y(k)接近实际的干扰,最后输出的误差e(k)就是我们感兴趣的信号。如何进行W1和W2的选择这其实是自适应算法需要完成的工作,具体来说就是采用某种准则来构建一个关于误差e(k)的函数,通过是误差e(k)最小化来求得W1和W2,最常用的准则就是使误差的均方和最小。这也是本次博主要和大家分享的具体的自适应陷波器。

Matlab仿真

首先给出的是基于LMS的瞬时梯度估计算法的仿真代码:

clc;
clear all;
close all;
%%
%************************生成仿真信号**************
评论 33
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_IRONMAN_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值