1. 自适应陷波器原理
陷波器也是一种滤波器,其主要特点在于对输入信号的某些已知频率信号进行滤除。这里所说的已知频率信号,是指已知干扰信号的频率,不知信号的相位和幅度信息。
例如,由于我国采用的是50Hz的交流电,所以在需要对信号进行采集处理和分析时,经常会存在50Hz工频信号,对有用信号的处理造成很大的干扰,因此很有必要设计50Hz的陷波器,对这个已知频率信号进行滤除。所谓自适应陷波器,就是可以根据干扰信号频率的相位和幅度,自适应地调整滤波器系数,跟踪其参数变化,保持对干扰信号的有效滤除。
陷波器的设计方法较多,除了本文所讲之外,还可以直接设计一个带阻滤波器,使干扰信号的频率无法通过。显然,由于硬件电路的滤波器无法做到很窄的过渡带,因此会对有用信号造成损失。
本文所讲的自适应陷波器,其目的是采用LMS算法,在保证其他有用信号不损失的情况下,有效抑制输入信号中某一频率的干扰(如果需要滤除多个频率,只需增加相应的运算资源)。下图为同时滤除两个干扰频率( ω 1 、 ω 2 \omega _{1}、\omega _{2} ω1、ω2)信号的自适应陷波器原理图。

图中, x ( t ) x(t) x(t)是叠加有两个干扰频率的输入信号,自适应陷波器就是要滤出 ω 1 、 ω 2 \omega _{1}、\omega _{2} ω1、ω2这两个频率的干扰信号, s ( t ) s(t) s(t)是需要保留的有用信号,可以是任意形式的信号。需要说明的是,在输入信号中,我们仅知道干扰信号的频率是 ω 1 、 ω 2 \omega _{1}、\omega _{2} ω1、ω2,不知道其具体幅度 A 1 、 A 2 A_{1}、A_{2} A1、A2及相位值 θ 1 、 θ 2 \theta_{1}、\theta_{2} θ1、θ2,自适应算法(LMS)的目的就是要估计两个未知的幅度值及相位值。为了估计出单个频率的幅度值和相位值,我们需要用两路相互正交的单频信号,如 c o s ( ω 1 t ) 、 s i n ( ω 2 t ) cos(\omega_{1}t)、sin(\omega_{2}t)

本文介绍自适应陷波器的工作原理及其在MATLAB中的仿真过程。该陷波器能有效滤除已知频率的干扰信号,特别适用于50Hz工频信号的消除。文中详细阐述了利用LMS算法实现对单频或多频干扰信号的估计与滤除,并给出MATLAB仿真代码及结果。
最低0.47元/天 解锁文章
1092

被折叠的 条评论
为什么被折叠?



