基于ZYNQ-7010的自适应滤波器
2018-11-14东北大学徐怡阳屈喜铭
东北大学 徐怡阳 屈喜铭
论文详细描述了在黑金的ZYNQ-7010型号开发板上,结合AD9226、高速AD/DA模块实现基于FPGA的自适应滤波器的全过程。从Vivado集成开发环境的使用开始,介绍了线性自适应滤波器的基本原理、算法及设计方法,讲解了如何通过Verilog语言把AD模块、DA模块以及开发板上的自适应滤波器模块连接起来。并对已知噪声和已知信号源两种类型的干扰消除自适应滤波器分别进行了实现,最终基于LMS算法设计实现了在25MHz频率以内的条件下的五级流水线自适应滤波器。
1 绪论
1.1 数字滤波器
数字滤波技术是数字信号处理的重要分支,无论是信号的获取、传输都离不开滤波技术,它对信号的有效性和安全性是至关重要的。FPGA芯片不仅包含查找表、寄存器、多路复用器和分布式块结构,还嵌入了专用的DSP模块,结合VHDL、Verilog等硬件描述语言,可以突破许多模拟器件所达不到的限制,非常适合做数字滤波器的设计。
1.2 自适应技术
自适应信号处理是信息科学中信号与信息处理的一个重要分支学科,它的研究正从一维到多维,从线性到非线性,从一般自适应系统到神经智能化自适应系统,所要研究的内容极为丰富。随着数字超大规模集成(Very Large ScaleIntegration,VLSI)电路技术的发展,自适应信号处理技术在许多领域(如回波消除、色散信道的均衡、系统辨识、信号增强、自适应波束成形、噪声消除及控制领域等)获得了广泛应用。高速有效的自适应滤波算法和可编程数字信号处理器的结合推动着自适应信号处理领域向纵深方向迅速发展。
图1 系统实现框图
2 系统框架设计
2.1 系统原理框图
设计的系统框架如图1所示,将AD通道1采集的信号作为干扰信号,将AD通道2采集的信号作为被传输的有用信号,将两通道采集的数据进行移位,送至加法器,输出混合信号,并将AD通道2采集的信号作为参考信号,送至自适应滤波器模块,最后将自适应滤波模块的输出交给DA进行数模转换输出。
在实物连接方面,AD和DA模块都是黑金的配套模块,可以直接安装在板子两侧的扩展接口上,模块与示波器和信号发生器的连接采用BNC线。
2.2 FIR滤波器与LMS模块
设计滤波器模块之前,首先比较FIR滤波器和IIR滤波器。对于FIR滤波器,直接型结构很有利,所有的系数可以同时更新。而对于IIR滤波器,网格结构似乎很有利,因为网格滤波器具有较低的定点计算舍入误差灵敏度和简化的系数稳定性控制能力。
针对两种滤波器结构,分别进行了仿真测试,对比设计效果。
输出始终为不确定态,验证了IIR型滤波器确实有不确定性,不适合用作自适应滤波器的自适应部分。
使用FIR滤波器仿真结果正常。
本滤波器设计方案采用已知信号源,未知噪声源,把期望信号即已知信号当作参考信号。算法总体由三个部分组成,FIR滤波器,比较器,自适应权值控制器。FIR滤波器工作在输入向量x[n]上,用于生成期望响应的估计值y[n];比较器加在FIR滤波器的输出端,将期望响应d[n]减去其估计值,结果为误差信号e[n];自适应权值控制器通过包含在误差信号中的信息来控制加到FIR滤波器上各抽头权值增量的调整。框图如图2所示。
图2 已知信号源框图
3 Verilog编程
3.1 硬件模块编程
原本想尽可能地提升系统的工作频率,采购了采样频率达65MHz的AD9226模块,但是由于DA输出的局限与信号发生器的最高频率25MHz的限制无法达到更高的频率。最终仍在设计中运用了AD9226模块。
由于AD9226的采样方式与AN108的AD模块不一样,它采用的是12位有符号数采集,而本系统的变量均设置为8位,需进行转换再赋值给主程序进行运算。
3.2 自适应模块的实现
硬件描述代码根据框图编写,使用乘法器IP核构建乘法器方式,延时单元采用移位方式,在代码中设置的变量位数可随时调整,由于硬件设备DA输出的位数固定位8位无符号数,代码中是有符号数的变量,采取把代码中位数的设置扩展成10位来处理8位无符号数避免符号位的影响。
4 实现效果及性能提升
4.1 自适应滤波效果
实际波形如图3所示:
图3 实际波形如图
左侧图为加法器输出的混合信号,右侧图为滤波后信号(示波器右下角频率与实测频率有一定差异)
源信号:100KHz正弦波 噪声:高斯白噪声
4.2 流水线改善频率特性
在未作任何改善时,系统的工作频率若大于10MHz,波形会发生严重抖动和失真,尝试采用添加流水线对系数进行缓存的方式来改善系统的频率特性。
增加完流水线之后,系统可以稳定地工作在25MHz频率下。
引文:Meyer-Baese.Digital Signal Processing with Field Programmable Gate Arrays Third Edition,数字信号处理的FPGA实现:刘凌等译,清华大学出版社,2011;Simon Haykin.Adaptive Filter Theory Fifth Edition 自适应滤波器原(第5版):郑宝玉等译,电子工业出版社,2016;何宾,张艳辉,Xilinx Zynq-7000嵌入式系统设计与实现:电子工业出版社,2016;何宾,Xilinx FPGA权威设计指南:电子工业出版社;2015;夏宇闻,Verilog数字系统设计教程(第3版):北京航空航天出版社,2017。