1 / 7
文档名称:

自适应滤波器FPGA的实现.doc

格式:doc   大小:88KB   页数:7页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

自适应滤波器FPGA的实现.doc

上传人:小枷 2019/2/11 文件大小:88 KB

下载得到文件列表

自适应滤波器FPGA的实现.doc

文档介绍

文档介绍:综合资讯在线阅读原文阅读在线商城下载专区DATASHEET技术论坛商务频道自适应LMS滤波器在FPGA中的实现发布日期:2006-07-29 作者:杨跃忠阙沛文李亮来源:微计算机信息摘要:本文介绍了自适应滤波器的实现方法,给出了基于LMS算法自适应滤波器在FPGA中的实现,简单介绍了这种实现方法的各个功能模块,主要包括输入信号的延时输出模块、控制模块、误差计算模块、权值计算和存储模块。并通过在ALTERA公司提供的QUARTUS II平台上采用VHDL语言编程,利用MATLAB和QUARTUS II相结合进行了硬件仿真,结果表明了采用FPGA实现自适应滤波器是有效的。关键词:自适应滤波,FPGA,LMS,VHDL语言引言对于自适应滤波器,IIR和FIR两种形式都可以考虑,而FIR滤波器是实际应用较广泛的。FIR滤波器只有可调的零点,因此它没有IIR因兼有可调的零点和极点而带来的不稳定问题,另外,LMS计算量小,比较容易进行硬件实现,所以本文所设计的自适应滤波器是在FIR的基础上构建的LMS自适应滤波器。。图1 LMS算法实现的原理框图根据LMS算法的计算过程完成的功能,在FPGA设计实现时,可以主要分为FIR滤波器模块、误差计算模块、权值更新模块、权值存储模块和控制模块。其模块框图如图2所示。LMS自适应滤波器的算法中,主要是小数的加法和乘法运算,要把所有小数化为16进制数。例如,N阶FIR滤波器的系数中,我们规定最高位是符号位,其次是3为整数位,最后12位小数。比如,-1400H,-C00H。运算中,所有权值系数均按此方法处理。图2 自适应滤波器FPGA实现模块框图                                                                       ,它的输出y(n)可以用式(1)表示:差分方程:                         (1)其中:N是FIR滤波器的抽头系数;x(i)表示第i时刻的输入样本;h(i)是FIR滤波器的第i级抽头系数。FIR滤波器的单位脉冲响应h(n)是一个有限长序列,因此系统函数为:       (2)为了节约FPGA资源,提高利用率,这里主要介绍采用串行乘加的实现方法。,程序框图如图3所示。FIR滤波器的输入主要分为权值系数输入和数据输入。Din是A/D转换后的输出信号,字宽为12位,其中1位符号位,10位精度位,将这个信号存储在深度为N的SRAM中作为N阶FIR滤波器的输入;,字宽为16位,其中最高1位为符号位。通过使用状态机输出地址信号控制读SRAM中的Xn和ROM中的系数Wn,复用12×16的乘法器和加法器来实现乘加运算。当N阶乘加运算做完后,输出一个数据输出有效信号yvalid。Newt信号来自于A/D,表示新一个数据转换好,可以进行下一次运算。在该设计中,FIR滤波器的文件可以采用原理框图形式设计,结构简单