fpga低通数字滤波器代码(基于FPGA的LMS自适应滤波器设计)
fpga低通数字滤波器代码(基于FPGA的LMS自适应滤波器设计)英文引用格式:Chen Mingxia,Zou Wenbin,Liu Yuxian. Design of LMS adaptive filter based on FPGA[J].Application of Electronic Technique,2017,43(9):111-113,118.中文引用格式:陈明霞,邹文斌,刘玉县. 基于FPGA的LMS自适应滤波器设计[J].电子技术应用,2017,43(9):111-113,118.中图分类号:TN911.72;TP319文献标识码:ADOI:10.16157/j.issn.0258-7998.166527
陈明霞1,邹文斌1,刘玉县2
(1.桂林理工大学 机械与控制工程学院,广西 桂林541004;2.广东顺德创新设计研究院,广东 佛山528300)
提出一种基于LMS(Least Mean Square)自适应算法的滤波方法,介绍该方法在低频信号滤波上的应用及在FPGA平台上实现。传统数字滤波器FIR、IIR滤波器针对不同的系统和干扰信号,其滤波参数不固定。因此,在窄带信号的滤波处理中,传统滤波器对信号滤波降噪的效果往往受到衰减增益限制。提出的方法先以CORDIC(Coordinate Rotation Digital Computer)算法产生的正弦信号来调制采样信号,根据采样信号与基准信号误差使其权向量沿负梯度方向终止于维纳解。该方法在类直流输入及带宽窄的情况下仍能有效过滤高频噪声,读取低检测信号幅值。理论分析和实验结果表明 与传统滤波方法对比,该滤波方法在处理窄带信号的滤波上更具有优势。
LMS;自适应;数字滤波器;FPGA
中图分类号:TN911.72;TP319
文献标识码:A
DOI:10.16157/j.issn.0258-7998.166527
中文引用格式:陈明霞,邹文斌,刘玉县. 基于FPGA的LMS自适应滤波器设计[J].电子技术应用,2017,43(9):111-113,118.
英文引用格式:Chen Mingxia,Zou Wenbin,Liu Yuxian. Design of LMS adaptive filter based on FPGA[J].Application of Electronic Technique,2017,43(9):111-113,118.
0 引言
在实际的信号传输过程中,原始信号受噪声的影响,噪声源特性未能在不同的环境中提前预测。传统的滤波器系数在设计的阶段已被固定,不可再根据应用调整。为了自动消除非目标带系统的谐波,自适应滤波器根据随机信号的统计描述和模型来预测信号趋势[1]。LMS算法基于闭环反馈系统来输出捕获系统的误差和期望。该滤波器的特性跟随噪声信号而改变。本文提出的滤波器针对的是以低频变化的类直流信号。当频率小于5 kHz时,该滤波器可在一定信噪比下还原直流幅度。该方法是基于最小均方误差法调整标准基函数的系数,使其接近目标调解信号的幅度和相位。该方法曾在电力系统谐波检测中被提出[2],解决的对象是相位和幅度基本不变化的稳态正弦信号。为了将该方法适用于如超声波测、工业温度检测等工程领域。本文选取FPGA作数字控制芯片[3],构造正交低通滤波器,实现目标信号的跟踪和还原。
1 低通自适应滤波算法原理
如图1所示,正弦和余弦序列用作系统的标准基函数的输入,系统选择适当的权重系数和初始频率以调理[4]采样信号。在该方法中,系统误差函数基于最小均方差准则沿函数的负梯度方向收敛。当误差函数收敛到最小值时,重构输出信号的幅度接近采样信号的幅度。
2 基于LMS算法的数学推导
通过输入信号傅里叶展开可知,所有形式的输入信号可以表示为一系列谐波叠加。当直流输入信号D(t)混叠了高斯白噪声源N(t)时,输入函数X(t)可以表示为:
由于LMS算法容易在各平台上设计和实现,鲁棒性好,对信号的估计可满足各种应用场合,相对于RLS算法,降低了计算的复杂度,增加了计算的稳定性。使得误差函数保持在一个较低的稳定裕度。
自适应方程:
式中,X(i)为输入,Y(i)为期望输出,E(i)为参考信号,W(i)为滤波器权系数矩阵,i为采样变量。
自适应算法包括两个基本步骤[1]:调整过程和自适应过程。通过这两个过程形成反馈回路,根据在迭代过程中计算的权重误差ΔW(i)来调整滤波器系数。当平均方差函数达到其最小值时,输出信号Y(i)是期望信号D(i)的最佳估计函数。
3 自适应低通滤波器的MATLAB实现
为了证明方法的可行性,在MATLAB搭建了该方法的数学模型。如图2所示,构建的基函数Bsin(w0t)、Ccos(w0t)经过400次迭代后,实际输出接近样本函数的幅值及频率。实验结果表明,基于LMS的低通正交滤波方法可以有效地去除较高次谐波,并将滤波后的信号保持在SNR=70.478 8 dB的范围内。
4 自适应低通滤波器的FPGA实现
4.1 程序框图
如图3所示,噪声输入信号首先由18位ADC模块采样,产生离散噪声序列。当采样结束时,标准正弦序列由Cordic_Sin模块输出。CORDIC算法适用于不支持浮点运算的处理器产生正弦波,该方法基于向量选择法,使给定角度产生偏移。在该模块和延迟模块的作用下,正交三角函数系将用作正低通滤波方法的基函数。FPGA控制器根据自适应算法调整重构信号和调节信号的误差。在给出权重矩阵之后,随着迭代次数的增加,维纳霍夫方程的最优解将得到改进。当迭代次数足够时,成本函数值最小,权重矩阵是最小均方方程的最优解。根据式(6)、式(7),权重通过计算系数可以转为采样信号幅度和延迟相位。
4.2 ModelSim仿真结果
当输入以一定周期变化时,滤波器可在200 μs内实现信号幅度的跟踪,如图4。实验和数据表明,在10 dB高斯噪声干扰下,滤波器输出信号信噪比为33.550 5 dB。在这一点上,信噪比的主要影响因素是步长因子μ。这是由于μ决定了误差的收敛速度,当收敛速度小于输入信号变化的频率时,就会使输出与输入存在一定的迟滞性。
4.3 LMS滤波器影响因素分析
4.3.1 步长因子
式中,γmax表示权系数矩阵W(i)的最大特征值。在实际的工程应用中,由于权系数矩阵是时变的,无法在实际的数字滤波器中求其相关矩阵系数。因此,只可在一定范围内试探性地选择其大小。如图5、图6,若μ非常小,虽然可以保证误差收敛,但会影响输出信号的跟踪效果,当输入信号以较快频率改变时,无法及时输出相应的直流信号。反之,当μ取得过大,虽然能提高收敛速度,但是却是以噪声和震荡收敛为代价 会相应地减小输出信号信噪比和平滑度。综上所述,在该环境下,当步长因子μ∈[0,0.3]时,对信噪比影响较小。当其超过上述区间时,SNR与μ取值呈负相关。
4.3.2 相位偏移
由于滤波器的固有相位失真[5],调制信号在被处理的过程中会发生相位偏移。如图7所示,为了消除这种移相引起的误差,增加滤波器的抽头数可使得输出信号跟踪调制信号的相位,根据式(7)可实现相位的自纠正,提高重构信号的信噪比。
5 结论
本文提出一种基于正三角基函数的低通滤波器,并应用于FPGA控制器。区别于传统自适应的去噪方法,该方法则是基于最速下降法来调整正交序列的幅度以达到降噪效果。此方法解决了两个问题,首先其可以在较短的频率[6]过渡带内去噪,第二其比基于LMS的FIR滤波器[7]有更简单的构造。因此,该方法可被应用于工程中的低频信号检测,仅需按照实际需求调整滤波器抽头数和迭代步长即可获得可观的去噪效果。
参考文献
[1] 张爱丽,李志勇,刘乃安.自适应滤波器的收敛性研究[J].计算机与网络,2007,17(12):44-45.
[2] 赵彤,梁家碧,夏天翔,等.基于LMS自适应滤波算法的电力变压器有源降噪系统[J].高电压技术,2016(7):2299-2300.
[3] 袁小刚,黄国策,许彬.一种改进的LMS/F组合算法及其在同址干扰抵消中的应用[J].电子技术应用,2009,35(1):121-124.
[4] 杨阳,李锦明,唐博.二频机抖激光陀螺高精度低延时信号解调电路设计[J].计算机测量与控制,2015,8(3):2779-2781.
[5] 杨辉跃,涂亚庆,张海涛,等.一种基于LMS的振动信号相位差自适应无偏估计方法及应用[J].振动与冲击,2016,10(7):55-59.
[6] 王雯婷,葛海波,王艳艳.变步长LMS算法抑制窄带干扰技术研究[J].电子技术应用,2015,41(2):89-92.
[7] 杨跃忠,阙沛文,李亮.自适应LMS滤波器在FPGA中的实现[J].微计算机信息,2006,36(11):158-160.