APP下载

用FPGA和改进的LMS算法实现自适应滤波器

2018-03-01,,,

单片机与嵌入式系统应用 2018年2期
关键词:移相移相器步长

,,,

(兰州大学 信息科学与工程学院,兰州 730000)

引 言

本文需要设计并制作一个自适应滤波器,用来滤除特定的干扰信号。自适应滤波器工作频率为 10~100 kHz。系统主要由电源模块、加法器模块、移相器模块和自适应滤波器模块4部分组成。

1 方案分析

1.1 移相器模块的比较与选择

采用RC阻容网络一般是将RC运算放大器(以下简称运放)联系起来组成有源的移相电路。优点是电路调节方便,细节清晰,可以实现相位连续可调。

1.2 自适应算法的论证与选择

自适应算法主要有两类思路,分别是递推最小二乘法(Recursive Least Square,RLS)和最小均方算法(Least mean square,LMS),近几年也有许多基于这两类算法的优化方法被提出。

方案一:RLS算法

RLS算法是基于最小二乘准则的精确方法,它的收敛速度快,稳定性强, 因此常被应用于实时系统识别和快速启动的信道均衡,但其算法复杂度较高,算法结构较为复杂。

方案二:LMS算法

LMS算法优点是结构简单,算法复杂度低,易于实现,稳定性好,便于硬件实现。当今,在FPGA上的实现算法已经趋于成熟,而且修改方便灵活,同时具备良好的性能。

综合考虑以上两种方案,本文选择方案二。

2 系统理论分析与计算

2.1 LMS滤波算法简介

自适应滤波器在时刻n的向量如下:

抽头权向量:

W(n)=[b0(n),b1(n),…,bM-1(n)]T

参考输入向量:

X(n)=[x(n),x(n-1),…,x(n-M+1)]T

LMS算法可以用下面一组递推公式来表示,即

y(n)=WH(n)X(n)

e(n)=d(n)-y(n)

W(n+1)=W(n)+2μX(n)e(n)

y(n)是输出信号,d(n)是期望输出值,e(n)是误差信号,也是系统输出值,μ是权矢量更新时的步长因子,μ值越大,则算法收敛越快。由维纳-霍夫方程可知,最小均方误差为:

通过梯度下降法:

Wj+1=Wj+2μejXj

算法步骤如下:

① 迭代计算:n=1,2,3,…;

图4 移相器电路图

② 滤波输出:y(n)=WT(n)X(n);

③ 误差估计:e(n)=d(n)-y(n);

④ 权向量自适应:W(n+1)=W(n)+2μe*(n)X(n)。

其中μ是用来控制稳定性和收敛速度的步长参数,μ(μ<1)为2的整数次幂分之一。

2.2 移相器的分析

一般将RC与运放联系起来组成有源的移相电路。移相电路如图1所示。

图1 RC移相电路

图1电路调节的范围局限在90°以内,要使其调节的范围增大,可以采用多个移相电路级联的方案。理论上单个移相电路能移相的范围为0°~90°,所以为确保移相的连续性和较好的电压传输特性,采用三级RC网络级联的方法实现0°~180°移相。

3 电路与程序设计

3.1 电路的设计

系统总体框图如图2所示。

图2 系统总体框图

加法器电路采用运算放大器,电路结构如图3所示。

图3 加法器电路图

3.2 移相器电路

通过前面的分析,移相电路如图4所示。

3.3 电 源

电源为整个系统提供±5 V电压,确保电路的正常稳定工作。这部分电路比较简单,采用市售开关电源模块实现。

3.4 基于FPGA的LMS算法实现

在QuartusII下设计的电路如图5所示。

(1)LMS算法模块内部信号

系统时钟:10 MHz(50 MHz FPGA系统时钟经PLL模块5分频得到)。

输入位宽:12位(适配参数为12位65 MSPS的A/D模块,芯片为AD926)。

输出位宽:14位(适配参数为14位125 MSPS的A/D模块,芯片为AD9767)。

滤波器阶数:7阶(受芯片内部集成乘法器数量的限制无法做到更多阶数,经验证,在收敛结果上4阶以上的滤波效果改进相比投入的逻辑资源收效甚微,理论上4阶就已足够)。

(2)逻辑资源消耗分析

每阶滤波器消耗的乘法器为4个,而EP4CE6芯片内部集成的乘法器只有30个,这是制约无法做出更多阶数滤波器的原因。而该芯片共有6 272个LE,此7阶滤波器只使用了337个LE。

3.5 算法仿真结果

用MATLAB仿真结果如图6所示,很好地恢复出了原始信号。

图5 QuartusII下系统整体原理图

图6 MATLAB仿真结果

结 语

[1] Thomas D,Moorby P.The Verilog Hardware Description Language[M].New York:Springer Science&Business Media,2008.

[2] Meyer-Baese U,Meyer-Baese U.Digital signal processing with field programmable gate arrays[M].Berlin:springer,2007.

[3] Widrow B,McCool J M,Larimore M G,et al.Stationary and nonstationary learning characteristics of the LMS adaptive filter[J].Proceedings of the IEEE,1976,64(8):1151-1162.

[4] Haykin S S.Adaptive filter theory[M].New York:Pearson Education,2008.

[5] Kwong R H,Johnston E W.A variable step size LMS algorithm[J].IEEE Transactions on signal processing,1992,40(7):1633-1642.

[6] Chou C J,Mohanakrishnan S,Evans J B.FPGA implementation of digital filters[C]//Proc.Icspat,1993.

[7] 高鹰,谢胜利.一种变步长LMS自适应滤波算法及分析[J].电子学报,2001,29(8):1094-1097.

[8] 胡广书.数字信号处理:理论,算法与实现[M].北京:清华大学出版社,2003.

[9] 赵文兵,杨建宁.FIR 滤波器的FPGA实现及其仿真研究[J].微计算机信息,2005,21(6Z):108-109.

[10] 夏宇闻.Verilog 数字系统设计教程[J].单片机与嵌入式系统应用,2003(6):51.

汤书森(高级实验师),研究方向为嵌入式系统及其应用。

猜你喜欢

移相移相器步长
基于优化移相的双有源串联谐振变换器前馈控制策略
基于Armijo搜索步长的BFGS与DFP拟牛顿法的比较研究
光量子芯片中级联移相器的快速标定方法*
基于变容二极管的紧凑型反射移相器
零电压开关移相全桥的死区时间计算与分析
基于STC89C52的程控移相器的设计
计及可控移相器的电力系统潮流优化
3kW电压控制型移相全桥DC-DC变换器研究与设计
基于逐维改进的自适应步长布谷鸟搜索算法
基于计数延时法的移相全桥变换器PWM控制设计